Các loại ảo hóa

Ảo hóa được xây dựng dựa trên giải pháp chia một máy vật lý thành nhiều máy con. Giải pháp này được biết đến với cái tên là Virtual Machine Monitor (VMM) sau này được gọi là hypervisor. VMM cho phép tạo tách rời các máy ảo và điều phối truy cập của các máy ảo này đến tài nguyên phần cứng. Mặc dù cho phép sử dụng các hệ điều hành bất kì trên các máy ảo nhưng trong thực tế để đạt một kết quả và hiệu suất cao nhất thì các nhà sản xuất  vẫn giới hạn và khuyến cáo rằng nên sử dụng một số hệ điều hành nào đó. Đó là vì các vấn đề tương thích giữa hệ điều hành máy ảo với hệ điều hành máy chủ và hệ điều hành máy chủ với phần cứng. Dựa vào đặc điểm cấu trúc thì có thể phân loại ảo hóa thành những dạng sau:

VMM – Hypervisor:

Công nghệ VMM-Hypervisor là một dạng ảo hóa cơ bản. Nó hoạt động như  là một lớp phần mềm nằm ngay trên phần cứng hoặc bên dưới một hoặc nhiều hệ điều hành khách. Mục đích chính của nó là cung cấp các môi trường  làm việc cho các máy ảo. Cho phép các máy ảo hoạt động trên một phần của phần cứng được gọi là phân vùng (partition). Các hệ điều hành của máy ảo được cài đặt trên phân vùng này. Mỗi phân vùng sẽ đượ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 chu kỳ CPU và thiết bị. Hypervisor có trách nhiệm điều khiển và phân phối các luồng truy cập đến các tài nguyên phần cứng

Khi một hệ điều hành thực hiện truy xuất hoặc tương tác tài nguyên phần cứng trên hệ điều hành chủ thì công việc của một Hypervisor sẽ là:

  • Hypervisor mô phỏng phần cứng, nó làm cho các hệ điều hành tưởng rằng mình đang sử dụng tài nguyên vật lý của hệ thống thật.
  • Hypervisor liên lạc với các trình điều khiển thiết bị.
  • Các 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ý.

cac loai ao hoa 1  Cấu trúc của kiểu ảo hóa Vmm Hypervisor.

Trong mô hình này trình điều khiển phần cứng liên lạc trực tiếp với các thiết bị phần cứng mà không phải qua bất kì trung gian nào nên nó mang lại một hiệu suất cao nhất về sử dụng tài nguyên phần cứng. Một vài sản phẩm đang sử dụng dạng này là Microsoft Hyper-V, Citrix Xenserver, Vmware ESX server.

Virtual Machine Monitor(VMM):

VMM là một loại ảo hóa hoạt động như một phần mềm chạy trên một hệ điều hành chủ khác. Nghĩa là để tương tác với tài nguyên phần cứng nó phải liên lạc thông qua hệ điều hành chủ. Các sản phẩm điển hình cho kiểu ảo hóa này là  VMware Server, Microsoft Virtual PC, máy ảo Java.

Mối liên lạc giữa phần cứng và trình điều khiển thiết bị trên hệ điều hành trong kiểu ảo hóa VMM được mô tả như sau:

  • Bước đầu tiên mô phỏng phần cứng. Lớp ảo hóa hypervisor sẽ tạo ra một phân vùng trên ổ đĩa cho các máy ảo. Phân vùng này bao gồm các phần cứng ảo như ổ đĩa, bộ nhớ….
  • Hypervisor xây dựng mối liên lạc giữa lớp ảo hóa với hệ điều hành. Khi một máy ảo truy xuất tài nguyên thì lớp hypervisor sẽ thay thế máy ảo đó gởi các yêu cầu tới hệ điều hành máy chủ để yêu cầu thực hiện.
  • Khi Hệ điều hành nhận được các yêu cầu này. Nó 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ó các trả lời từ các phần cứng đến hệ điều hành chủ.

cac loai ao hoa 2 Cấu trúc của kiểu ảo hóa Vmm.

Hybrid:

Hybrid là một kiểu ảo hóa mới hơn và có nhiều ưu điểm. Trong đó lớp ảo hóa hypervisor chạy song song với hệ điều hành máy chủ. Tuy nhiên trong cấu trúc ảo hóa này các máy chủ ảo vẫn phải đi qua hệ điều hành máy chủ để truy cập phần cứng nhưng khác biệt ở chỗ cả hệ điều hành máy chủ và các máy chủ ảo đều chạy trong chế độ hạt nhân. Khi một trong hệ điều hành máy chủ hoặc một máy chủ ảo cần xử lý tác vụ thì CPU sẽ phục vụ nhu cầu cho hệ điều hành máy chủ hoặc máy chủ ảo tương ứng. Lý do khiến Hyrbird nhanh hơn là lớp ảo hóa chạy trong chế độ hạt nhân (chạy song song với hệ điều hành) trái với Virtual Machine Monitor với lớp ảo hóa chạy trong chế độ người dùng (chạy như một ứng dụng cài trên hệ điều hành).

Phương pháp ảo hóa Hybrid được sử dụng trong hai sản phẩm ảo hóa phổ biến là Microsoft Virtual PC 2007 và Microsoft Virtual Server 2005 R2 .

cac loai ao hoa

Kiến trúc ảo hóa Hybrid.

Monolithic Hypervisor:

Monolithic Hypervisor là một hệ điều hành máy chủ. Nó chứa những trình điều khiển (Driver) hoạt động phần cứng trong lớp Hypervisor để truy cập tài nguyên phần cứng bên dưới. Khi các hệ điều hành chạy trên các máy ảo truy cập phần cứng thì sẽ thông qua lớp trình điều khiển thiết bị của lớp hypervisor.

Mô hình này mang lại hiệu cao, nhưng cũng giống như bất kì các giải pháp khác bên mặt ưu điểm thì nó cũng còn có nhiều điểm yếu.Vì nếu lớp trình điều khiển thiết bị phần cứng của nó bị hư hỏng hay xuất hiện lỗi thì các máy ảo cài trên nó đều bị ảnh hưởng và nguy hại. Thêm vào đó là thị trường phần cứng ngày nay rất đa dạng, nhiều loại và do nhiều nhà cung cấp khác nhau nên trình điều khiển của Hypervisor trong loại ảo hóa này có thể sẽ không thể hỗ trợ điều khiển hoạt động của phần cứng này một cách đúng đắn và hiệu suất chắc chắn cũng sẽ không được như mong đợi. Một trình điều khiển không thể nào có thể điều khiển tốt hoạt động của tất cả các thiết bị nên nó cũng có những thiết bị phần cứng không hỗ trợ. Những điều này cho thấy rằng việc phụ thuộc quá nhiều vào các loại thiết bị dẫn tới sự hạn chế việc phát triển công nghệ này.

cac loai ao hoa 
Kiến trúc Monolithic Hypervisor.

Microkernelized Hypervisor:

Microkernelized Hypervisor là một kiểu ảo hóa giống như Monolithic Hyperviso. Điểm khác biệt giữa hai loại này là trong Microkernelized trình điều khiển thiết bị phần cứng bên dưới được cài trên một máy ảo và được gọi là trình điều khiển chính,trình điều khiển chính này tạo và quản lý các trình điều khiển con cho các máy ảo. Khi máy ảo có nhu cầu liên lạc với phần cứng thì trình điều khiển con sẽ liên lạc với trình điều khiển chính và trình điều khiển chính này sẽ chuyển yêu cầu xuốn lớp Hypervisor để liên lạc với phần cứng. Tiêu biểu cho ứng dụng loại ảo hóa này là Windows Server 2008 Hyper-V.

cac loai ao hoa  

Kiến trúc Microkernelized Hypervisor