CHƯƠNG 1 TỔNG QUAN VỀ MÔI TRƯỜNG ẢO HÓA VÀ ĐIỆN TOÁN ĐÁM MÂY 1.1 Khái niệm và đặc trưng ảo hóa 1.1 Định nghĩa ảo hóa Định nghĩa Ảo hóa: Ảo hóa là một công nghệ được thiết kế tạo ra tầng trung gian giữa hệ thống phần cứng máy tính và phần mềm chạy trên nó. Từ một máy vật lý có thể tạo ra nhiều máy ảo (Virtual Machine) độc lập. Mỗi máy ảo đều được thiết lập một hệ thống riêng rẽ với hệ điều hành, ảo hóa mạng, ảo hóa lưu trữ và các ứng dụng riêng. Bên cạnh đó, ảo hóa cho phép nhiều hệ điều hành và các ứng dụng khác nhau chia sẻ cùng một phần cứng.1 cho thấy ban đầu hệ điều hành và các ứng dụng được chạy trên phần cứng chuyên dụng, có thể được đặt trong một máy ảo và chia sẻ cùng một tài nguyên vật lý với các máy ảo khác.1: Mô hình Ảo hóa Điểm khác biệt giữa bên trái và bên phải trong hình 1.1 chính là tầng Hypervisor (phần mềm giám sát máy ảo).
Hypervisor là phần mềm lõi của nền tảng ảo hóa, là tầng phần mềm thấp nhất có trách nhiệm tạo mới và duy trì các máy ảo, nó nằm ngay trên phần cứng và bên dưới một hoặc nhiều hệ điều hành, có nhiệm vụ quản lý các tiến trình, bộ nhớ, thiết bị vào ra (I/O), mạng .2 Phân loại nền tảng Ảo hóa 1.1 Kiểu 1: Bare Metal Hypervisor Hình 1.2: Hypervisor kiểu 1- Hệ thống Xen Kiểu 1: Hypervisor tương tác trực tiếp với phần cứng của máy chủ để quản lý, phân phối và cấp phát tài nguyên. Mục đích chính của nó là cung cấp các môi trường thực thi tách biệt được gọi là các partition (phân vùng) trong đó các máy ảo chứa các hệ điều hành (OS guest) có thể chạy. Hypervisor cho phép mỗi máy ảo hoặc guest truy cập vào lớp tài nguyên phần cứng vật lý bên dưới như CPU, RAM và lưu trữ. Những hypervisor thuộc kiểu 1 là: VMware vSphere, Microsoft Hyper-V, Citrix Xen Server… Hypervisor liên lạc với trình điều khiển thiết bị phần cứng (hay Drivers).
Trình điều khiển thiết bị phần cứng liên lạc trực tiếp đến phần cứng vật lý.2 Kiểu 2: Hosted Hypervisor Hình 1.3: Hypervisor kiểu 2 - Hệ thống KVM 5 Loại nền tảng ảo hóa kiểu 2 này chạy trên hệ điều hành như một ứng dụng được cài đặt trên máy chủ (Host). Trên môi trường Hosted Hypervisor, các máy ảo khách (guest virtual machine) chạy trên lớp Hypervisor. Những hypervisor thuộc kiểu 2 là: Microsoft Virtual PC, Vmware Workstation, VMware Server. Quá trình máy ảo liên lạc với tài nguyên phần cứng như sau: mô phỏng phần cứng Hypervisor sẽ tạo ra một phân vùng trên ổ đĩa cho các máy ảo.
Hypervisor xây dựng mối liên lạc giữa hệ điều hành máy chủ và lớp ảo hóa bên trên. Khi một máy ảo truy xuất tài nguyên thì Hypervisor sẽ thay thế máy ảo đó gửi yêu cầu tới Hệ điều hành Host để thực hiện yêu cầu. Hệ điều hành liên lạc với trình điều khiển thiết bị phần cứng. Các trình điều khiển thiết bị phần cứng liên lạc đến các phần cứng trên máy thực.
Quá trình này sẽ xảy ra ngược lại khi có trả lời từ phần cứng vật lý đến hệ điều hành máy chủ Host.3 Ảo hóa kiến trúc vi xử lý x86 Hình 1.4: Các mức đặc quyền vi xử lý x86 Cần hiểu rõ mức đặc quyền trong kiến trúc vi xử lý x86 khi nghiên cứu về Hypervisor và các vấn đề an ninh thông tin. Bằng cách sử dụng các mức đặc quyền khác nhau, kiến trúc vi xử lý x86 sẽ cung cấp một môi trường hoạt động an toàn để cách ly ứng dụng người dùng và hệ điều hành. Mức đặc quyền trong hình 1.4 được mô tả bởi các vòng tròn đồng tâm nơi bắt đầu từ 0 đến 3. Mức 0 là là mức đặc quyền nhất, phần 6 mềm chạy ở cấp độ này có toàn quyền kiểm soát các phần cứng cơ bản của máy chủ.
Mức 3 là vòng có quyền ít nhất dùng cho phần mềm và phần ứng dụng hay thường gọi là chế độ người dùng. Mức 1 và 2 có thêm một số quyền sử dụng cho middleware. Hầu hết mô hình hoạt động của hệ điều hành đều làm việc với 2 chế độ: Chế độ người dùng: chỉ cho phép những lệnh cần thiết để tính toán và xử lý dữ liệu. Các ứng dụng chạy ở mode này và chỉ sử dụng phần cứng bằng cách thông qua kernel bằng lời gọi hệ thống.
Chế độ nhân: cho phép chạy đầy đủ tập lệnh CPU, bao gồm cả các lệnh đặc quyền. Cả 2 loại Hypervisor đều hoạt động ở mức 3 như các ứng dụng riêng biệt, cho phép tạo ra ngưỡng an toàn cho phép máy ảo khách chạy mà không ảnh hưởng đến mức đặc quyền 0. Về bản chất, ảo hóa cho phép nhiều máy ảo chạy nhiều hệ điều hành khác nhau trên một máy chủ vật lý, cho phép thực hiện các cuộc gọi chuẩn đến phần cứng khi có yêu cầu bộ nhớ, đĩa và mạng hoặc các tài nguyên khác.2 Khái niệm điện toán đám mây Theo viện nghiên cứu tiêu chuẩn và công nghệ quốc gia Hoa Kỳ (NIST) [3]: Lớp Các thành phần Điện toán đám mây cập dịch vụ người cùng qua mạng rộng rãi lúc Hình 1.5: Tổng quan điện toán đám mây Điện toán đám mây là mô hình điện toán sử dụng tài nguyên tính toán có khả năng thay đổi theo nhu cầu để lựa chọn và chia sẻ các tài nguyên tính toán dưới dạng 7 dịch vụ một cách nhanh chóng, thuận tiện. Tài nguyên trong điện toán đám mây có thể được truy cập mọi lúc, mọi nơi thông qua hệ thống Internet.
Đồng thời cho phép kết thúc sử dụng dịch vụ, giải phóng tài nguyên dễ dàng, quản trị đơn giản, giảm thiểu các giao tiếp với nhà cung cấp 1.3 Đặc trưng điện toán đám mây Điện toán đám mây có các đặc trưng chính như sau: Cho phép sử dụng dịch vụ theo yêu cầu Cung cấp khả năng truy cập dịch vụ qua mạng rộng rãi từ nhiều loại thiết bị, bao gồm cả thiết bị di động. Tài nguyên tính toán động, phục vụ nhiều người cùng lúc. Khả năng tính toán mềm dẻo, đáp ứng nhanh với mọi nhu cầu. Tối ưu hóa tài nguyên, người dùng chỉ phải trả chi phí cho phần tài nguyên sử dụng thực sự.4 Mô hình lớp dịch vụ của điện toán đám mây Mô hình dịch vụ điện toán đám mây được chia thành ba dịch vụ chính: Dịch vụ Nền tảng Dịch vụ Hạ tầng Hình 1.6: Mô hình ba lớp của điện toán đám mây 1.1 Hạ tầng hướng dịch vụ (IaaS) Mô hình hạ tầng hướng dịch vụ là dịch vụ cung cấp cơ sở hạ tầng cơ bản cho một hệ thống thông tin bao gồm: tài nguyên máy chủ ảo, máy tính ảo hóa, hệ thống lưu trữ, thiết bị mạng, thiết bị an ninh thông tin.
Khách hàng sử dụng dịch vụ tự cài đặt và triển khai các phần mềm, ứng dụng của mình trên cơ sở hạ tầng đám mây, không phải đầu tư mua sắm thiết bị hạ tầng vật lý và không phải bỏ thêm chi phí bảo trì và sao lưu hệ 8 thống. Một số nhà cung cấp dịch vụ trên thế giới như Amazon với dịch vụ EC2, Microsoft với dịch vụ hạ tầng Azure.2 Dịch vụ nền tảng (PaaS) Dịch vụ nền tảng được cung cấp dưới một số dạng phổ biến như: công cụ lập trình, ngôn ngữ lập trình, cơ sở dữ liệu. Dịch vụ nền tảng còn có thể được xây dựng riêng và cung cấp cho khách hàng thông qua một giao diện lập trình riêng được gọi là các API. Khách hàng xây dựng ứng dụng và tương tác với hạ tầng điện toán đám mây thông qua API.
Một số nhà cung cấp dịch vụ nền tảng như: Amazon AWS, Foundy, Saleforce Force.com và OrangeScape.3 Dịch vụ phần mềm (SaaS) Cung cấp các ứng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiều khách hàng. Khách hàng không cần quan tâm tới hay bỏ công sức triển khai phần mềm, quản lý tài nguyên tính toán. Họ có thể sử dụng phần mềm từ xa, mọi lúc mọi nơi bằng trình duyệt Web hoặc các thiết bị di động. Mô hình dịch vụ phần mềm ngày càng trở nên phổ biến bởi tính thuận tiện và hiệu quả chi phí cao.5 Mô hình triển khai điện toán đám mây 1.1 Đám mây công cộng (Public Cloud) Mô hình đám mây công cộng là mô hình điện toán đám mây (dịch vụ hạ tầng, dịch vụ nền tảng, phần mềm hoặc hạ tầng ứng dụng) được một tổ chức cung cấp dưới dạng dịch vụ rộng rãi cho tất cả các khách hàng thông qua hạ tầng mạng Internet.
Các ứng dụng khác nhau chia sẻ chung tài nguyên tính toán, mạng và lưu trữ. Do vậy, hạ tầng điện toán đám mây công cộng được thiết kế để đảm bảo cô lập về dữ liệu giữa các khách hàng và tách biệt về truy cập. Khách hàng sử dụng dịch vụ trên đám mây công cộng chủ yếu là khách hàng cá nhân và doanh nghiệp nhỏ, họ có được lợi ích trong việc dễ dàng tiếp cận các ứng dụng công nghệ cao, chất lượng mà không phải đầu tư ban đầu, chi phí sử dụng thấp, linh hoạt.2 Đám mây riêng (Private Cloud) Đây là mô hình được tập trung nghiên cứu trong phạm vi đề tài này.( Điện toán đám mây riêng là mô hình mà hạ tầng đám mây được sở hữu bởi một tổ chức, doanh nghiệp và chỉ phục vụ cho người dùng của tổ chức, doanh nghiệp đó. Tổ chức, doanh nghiệp có trách nhiệm tự thiết lập và bảo trì đám mây riêng của mình hoặc có thể thuê 9 vận hành bởi một bên thứ ba.) Đám mây riêng được các tổ chức, doanh nghiệp lớn xây dựng cho mình nhằm khai thác ưu điểm về công nghệ và khả năng quản trị của điện toán đám mây mà vẫn giữ được sự an tâm về vấn đề an ninh dữ liệu và chủ động trong công tác quản lý.3 Đám mây cộng đồng (Community Cloud) Đám mây cộng đồng là mô hình trong đó hạ tầng đám mây được chia sẻ bởi một số tổ chức cho cộng đồng người dùng trong các tổ chức đó.
Các tổ chức này do đặc thù không tiếp cận tới các dịch vụ đám mây công cộng và chia sẻ chung một hạ tầng công cộng để nâng cao hiệu quả đầu tư và sử dụng.4 Đám mây lai (Hybrid Cloud) Mô hình đám mây lai là mô hình kết hợp của các đám mây công cộng và đám mây riêng. Đám mây này thường do các doanh nghiệp tạo ra và trách nhiệm quản lý bảo trì sẽ được phân chia rõ giữa doanh nghiệp và nhà cung cấp đám mây công cộng.