Chương 1 - TỔNG QUAN VỀ MÔI TRƯỜNG ẢO HÓA VÀ ĐIỆN TOÁN ĐÁM MÂY 1. KHÁI NIỆM VÀ ĐẶC TRƯNG ẢO HÓA 1. Định nghĩa Ảo hóa Định nghĩa Ảo hóa: Ảo hóa là 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 độ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 hóa lưu trữ và các ứng dụng riêng. Ảo hóa có liên quan tới việc tạo ra các máy ảo (Virtual Machine) độc lập về hệ điều hành và các ứng dụng. Hơn nữa, Ả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. Hình 01 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.
Hình 01: Mô hình Ảo hóa Điểm khác biệt cốt lõi giữa bên trái và bên phải trong hình 4 chính là tầng Hypervisor. 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. Hypervisor là một phần mềm 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 nó 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 và vv. Phân loại nền tảng Ảo hóa 1.
Kiểu 1: Bare Metal Hypervisor Hình 02: hypervisor kiểu 1-Hệ thống Xen 13 Kiểu 1: Lớp phần mềm lõi 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. Mỗi phân vùng được cung cấp tập hợp các tài nguyên phần cứng riêng của nó chẳng hạn như bộ nhớ, các bộ vi xử lý CPU và thiết bị mạng. Hypervisor có trách nhiệm điều khiển và phân kênh truy cập đến các nền tảng phần cứng.
Những hypervisor thuộc kiểu 1 là: VMware vSphere, Microsoft Hyper-V, Citrix Xen Server…v. Quá trình máy ảo thuộc kiểu 1 liên lạc với tài nguyên phần cứng: Hypervisor mô phỏng phần cứng, điều này làm cho máy ảo tưởng rằng nó đang truy cập vào phần cứng thật. Hypervisor liên lạc với trình điều khiển thiết bị phần cứng (hay còn gọi là 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ý.
Kiểu 2: Hosted Hypervisor Hình 03: hypervisor kiểu 2-Hệ thống KVM Loại nền tảng Ảo hóa số hai 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ủ. Trên môi trường hypervisor kiểu 2, các máy ảo khách (những máy ảo được cài đặt trên máy thật thì gọi là máy ảo khách-guest virtual machine) chạy trên lớp Hypervisor. Điển hình của Hypervisor loại 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ủ Host 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 14 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. Ảo hóa kiến trúc vi xử lý x86 Hình 04: mức đặc quyền vi xử lý x86 Chìa khóa để hiểu biết rõ lớp hypervisor và các vấn đề an ninh thông tin chính là hiểu rõ mức đặc quyền trong kiến trúc vi xử lý x86. Để cung cấp một môi trường hoạt động an toàn, kiến trúc vi xử lý x86 cung cấp một cơ chế đặc biệt để cách ly ứng dụng người dùng và hệ điều hành bằng cách sử dụng các mức đặc quyền khác nhau. Mức đặc quyền trong hình 04 đượ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 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. Để hiểu Hypervisor hoạt động như thế nào đầu tiên chúng ta cần hiểu thêm mô hình làm việc của hệ điều hành.
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. Chế độ này chỉ dành cho hệ điều hành chạy.
Hypervisor loại 1 được đề cập trong phần 1.1 được tích hợp với nền tảng hệ điều hành do vậy nó chạy ở mức 0, 1 hoặc/và 2. Còn hệ điều hành máy ảo chạy mức 3 [2]. Hypervisor loại 2 được đề cập trong phần 1.2 cả lớp hypervisor và hệ điều hành máy ảo khách đều hoạt động ở mức 3 như các ứng dụng riêng biệt, mục tiêu của mô hình là để 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, mức mà có thể ảnh hưởng đến các nền tảng máy chủ cơ bản và các máy chủ khách khác, để thực hiện điều này các nền tảng Ảo hóa tạo ra một lớp đệm giữa mức 0 và hệ điều hành. Nó gọi là mức đặc quyền 0 ảo.
Lớp Ảo hóa này cho phép nhiều máy ảo chạy nhiều hệ điều hành khác nhau trên 15 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. KHÁI NIỆM ĐIỆN TOÁN ĐÁM MÂY Trong đề tài xem xét định nghĩa được đưa ra bởi Viện nghiên cứu tiêu chuẩn và công nghệ quốc gia Hoa Kỳ (NIST) [3]: Đ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 (ví dụ: mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ) cung cấp dịch vụ một cách nhanh chóng, thuận tiện. Có thể truy cập đến bất kỳ tài nguyên nào tồn tại trong "điện toán đám mây” tại bất kỳ thời điểm nào và từ bất kỳ đâu 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”.
Lớp Các thành phần Điện toán đám mây Cung cấp khả năng truy Tài nguyên tính toán Sử dụng dịch vụ theo cập dịch vụ qua mạng động, phục vụ nhiều yêu cầu rộng rãi người cùng lúc Năm đặc trưng Năng lực tính toán mềm Đảm bảo việc sử dụng các dẻo, đáp ứng nhanh với mọi tài nguyên luôn được cân nhu cầu từ thấp tới cao đo Dịch vụ Phần Ba mô hình dịch vụ Dịch vụ hạ tầng Dịch vụ nền tảng mềm Đám mây công Đám mây "cộng Đám mây riêng cộng đồng" Bốn mô hình triển khai Đám mây lai Hình 05: Tổng quan điện toán đám mây Một số nhà cung cấp dịch vụ điện toán đám mây tiên phong, dẫn đầu về công nghệ và mức độ phổ biến cũng như số lượng người dùng đông đảo như: Amazon Web Services bao gồm Elastic Compute Cloud (EC2), Amazon Simple Storage Service (S3). Dịch vụ EC2 giúp cho việc tạo ra, khởi động và dự phòng các ứng dụng ảo cho cá nhân hay doanh nghiệp một cách đơn giản và bất cứ khi nào. Dịch vụ Google App Engine hỗ trợ các giao diện lập trình ứng dụng cho khách hàng, xử lý ảnh, các tài khoản Google và các dịch vụ e-mail. Nhà cung cấp Microsoft cung cấp nền tảng 16 Windows Azure.
Nền tảng Windows Azure là một nhóm các công nghệ đám mây cung cấp một tập hợp cụ thể của các dịch vụ cho các nhà phát triển ứng dụng. ĐẶ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: đặc trưng thứ nhất là cho phép sử dụng dịch vụ theo yêu cầu. Đặc trưng thứ hai là cung cấp khả năng truy cập dịch vụ qua mạng rộng rãi từ máy tính để bàn, máy tính xách tay tới thiết bị di động. Đặc trưng thứ ba là tài nguyên tính toán động, phục vụ nhiều người cùng lúc.
Đặc trưng tiếp theo là năng lực tính toán mềm dẻo, đáp ứng nhanh với mọi nhu cầu từ thấp tới cao. Đặc trưng thứ năm là đảm bảo việc sử dụng các tài nguyên luôn được “cân đo” để nhà cung cấp dịch vụ quản trị và tối ưu hóa được tài nguyên, đồng thời người dùng chỉ phải trả chi phí cho phần tài nguyên sử dụng thực sự. 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ụ Phần mềm Dịch vụ Nền tảng Dịch vụ Hạ Tầng Hình 06: Mô hình ba dịch vụ điện toán đám mây 1. Hạ tầng hướng dịch vụ 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ụ 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ệ thống. 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. 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 và nhà cung cấp Google Compute Engine, HP Coud, Rackspace Cloud.Một số nhà cung cấp dịch vụ hạ tầng tại Việt Nam: Viettel IDC, Viễn Thông FPT, VNPT IDC. Tại Viêt Nam mô hình hạ tầng hướng dịch vụ là loại dịch phổ biến nhất vì dịch vụ hạ tầng hướng dịch vụ là dịch vụ cơ bản nhất, dễ triển khai và cung cấp cho khách hàng.