Hypervisor là 1 ứng dụng chịu trách nhiệm chạy nhiều máy ảo trên 1 hệ thống . Nó chịu trách nhiệm tạo, duy trì, truy cập hệ thống . Có loại hypervisor thì chạy trên hệ điều hành (HDH), có hypervisor thì chạy bên dưới HDH và trực tiếp tương tác với tài nguyên phần cứng ( processor, RAM, hay NIC ).
Hypervisor Type 1 (Bare Metal Hypervisor)

Bare metal chạy trên phần cứng máy chủ (server), nó có nhiều quyền điều khiển phần cứng hơn ( host hardware), do đó cung cấp hiệu suất và khả năng bảo mật tốt hơn . Những hypervisor thuộc họ Type 1 là : VMware vSphere, Microsoft Hyper-V, Citrix XenServer v.v.
Quá trình máy ảo liên lạc với tài nguyên phần cứng
1/ 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)
2/ 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).
3/ 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ý .
Hypervisor Type 2 (Hosted Hypervisor)

Loại hypervisor này chạy trên hệ điều hành (HDH) như 1 ứng dụng được cài đặt trên Server ( đó là tại sao nó được gọi là Hosted hypervisor) . Trên môi trường hypervisor type 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à guest virtual machine ) chạy trên lớp Hypervisor .
Loại này lấy tài nguyên do HDH Host cung cấp rồi quản lý, phân chia các tài nguyên này.
Ưu điểm: cài đặt dễ dàng (vì chỉ là 1 ứng dụng trên HDH).
Ta có thể nhận thấy khuyết điểm của Hypervisor Type 2 là:
+ Ít quyền điều khiển hơn so với Type 1 (vì phải phụ thuộc vào kernel)
+ Không có khả năng truy cập trực tiếp vào tài nguyên phần cứng như Type 1 nên làm tăng phí tổn cho Hypervisor ( Type 1 tận dụng tối đa tài nguyên có trên Server hơn Type 2)
+ Hypervisor Type 2 chạy như 1 dịch vụ trên Windows, nếu dịch vụ này bị “chết” thì nền tảng ảo hóa ( virtualization flatform) sẽ không còn tồn tại .Sản phẩm tiêu biểu cho Hypervisor Type 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:
1/ 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
2/ Hypervisor xây dựng mối liên lạc giữa HDH 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 HDH Host để yêu cầu thực hiện.
3/ Khi HDH Host nhận được yêu cầu từ hypervisor. Nó sẽ liên lạc với Drivers.
4/ Drivers sẽ liên lạc với lớp phần cứng vật lý
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 HDH Host.

Hybrid Hypervisor

Là dạng Hypervisor lai. nó chạy chung cấp độ với HDH (kernel mode). Nó là 1 module trong Kernel do đó nó đòi hỏi phải có quyền đặc biệt trong kernel.
Tuy nhiên, trong cấu hình này máy ảo vẫn phải đi qua HDH host để truy cập phần cứng nhưng khác biệt ở chỗ cả HDH host và máy ảo đều chạy trong chế độ kernel. Khi một trong : HDH hoặc máy ảo cần xử lý tác vụ thì CPU sẽ phục vụ nhu cầu cho HDH hoặc máy ảo tương ứng. Lý do khiến Hybrid nhanh hơn là máy ảo chạy trong Kernel Mode trái với Type 2 nơi máy ảo chạy trong trong User Mode. Hiệu năng của hypervisor này có thể đạt như hypervisor Type 1.
Hypervisor thuộc họ Hybrid tiêu biểu là KVM (Kernel-Based Virtual Machine).
Trong Hypervisor Type1 còn chia thành 2 loại: Mololithic Hypervisor và Microkernelized Hypervisor.
Mololithic Hypervisor
Mololithic Hypervisor là Hypervisor Type 1, loại này nắm giữ driver device cho Guest-operating system ( HDH của máy ảo ). Nhìn hình, ta có thể thấy Mololithic nắm giữ tất cả

Ưu điểm: Không cần hệ điều hành để điều khiển tất cả các thành phần của ảo hóa (virtualization product), nó có thể trực tiếp truy cập đến phần cứng, mang lại hiệu suất cao
Khuyết điểm:
Hypervisor loại này không hoạt động trên các phần cứng mà nó không hỗ trợ (không phải tất cả các hãng đều có device drivers cho loại này) .
Để xem thiết bị nào mà Vsphere hỗ trợ http://www.vmware.com/resources/compatibility/search.php
Cần nhiều thời gian khởi động (Thời gian khởi động phụ thuộc vào kích thước Device drivers chứa trong Hypervisor)
Do việc các driver chạy trong hypervisor nên ảnh hưởng đến tính bảo mật và tính ổn định:
– Tính bảo mật: Ví dụ khi hệ thống đã bị malware cài đặt một keylogger thì nó có thể giả dạng một driver thiết bị trong hypervisor. Nếu điều đó xảy ra thì mọi máy ảo trên hệ thống sẽ bị tổn hại.
– Tính ổn định: nếu một driver đã được cập nhật trong hypervisor và driver mới có lỗi thì toàn bộ hệ thống có thể bị ảnh hưởng kế cả tất cả máy ảo của nó
Microkernelized Hypervisor
Ưu điểm:
Không cần hệ điều hành để điều khiển tất cả các thành phần của ảo hóa (virtualization product), nó có thể trực tiếp truy cập đến phần cứng, mang lại hiệu suất cao
Khuyết điểm:
Hypervisor loại này không hoạt động trên các phần cứng mà nó không hỗ trợ (không phải tất cả các hãng đều có device drivers cho loại này).
Để xem thiết bị nào mà Vsphere hỗ trợ http://www.vmware.com/resources/compatibility/search.php
Cần nhiều thời gian khởi động (Thời gian khởi động phụ thuộc vào kích thước Device drivers chứa trong Hypervisor)
Do việc các driver chạy trong hypervisor nên ảnh hưởng đến tính bảo mật và tính ổn định:
– Tính bảo mật: Ví dụ khi hệ thống đã bị malware cài đặt một keylogger thì nó có thể giả dạng một driver thiết bị trong hypervisor. Nếu điều đó xảy ra thì mọi máy ảo trên hệ thống sẽ bị tổn hại.
– Tính ổn định: nếu một driver đã được cập nhật trong hypervisor và driver mới có lỗi thì toàn bộ hệ thống có thể bị ảnh hưởng kế cả tất cả máy ảo của nó
Microkernelized Hypervisor

Loại này được sử dụng bởi Hyper-V, Hypervisor không chứa device drivers, device drivers hoạt động độc lập và chạy ở Controlling Layer(HDH của máy thật) ( xem hình ), còn driver chạy trong các máy ảo là driver ảo,khi các máy ảo muốn liên lạc với phần cứng thì chỉ cần liên lạc với HDH máy thật. Cách sắp xếp này giúp cho các máy ảo trở thành các partition hoàn toàn riêng biệt.
Ưu điểm:
Do device drivers không cần Hypervisor phải biết nó, nên hầu hết các thiết bị có thể sử dụng Microkernelized Hypervisor Design.
Device Drivers được cài đặt trên HDH (nằm trong Controlling Layer) và được sử dụng bởi máy ảo để truy cập vào phần cứng trong Hardware Layer.
Thời gian khởi động ngắn (do kích thước Microsoft Hypervisor code nằm trong khoảng 600kb – 1M)
Do Microkernelized Hypervisor cần HDH cài đặt trong Controlling layer nên sẽ có các khuyết điểm sau:
Nếu HDH của máy thật bị sự cố thì các máy ảo cũng chết.
Cần nhiều tài nguyên hơn để HDH trong Controlling Layer quản lý giao tiếp (communicate) giữa các máy ảo và Hypervisor.
Luôn phải update các bản vá bảo mật (khi update thì cần phải reboot, điều này làm cho các máy ảo bị tắt hoặc có thể dùng tính năng Hyper-V Live Migration để di chuyển các máy ảo tới các Node trong cluster -> tránh làm tắt máy ảo).
Lưu ý:
HDH host là HDH trên máy thật.
HDH khách là HDH trên máy ảo.
vSphere ESX có 2 phiên bản là ESX và ESXi. Mặc dù cả 2 đều là các Hypervisor của VMware nhưng chúng có những điểm khác biệt cốt lõi trong kiến trúc. ESX: gồm 1 lõi ảo hóa (vmkernel) được trang bị thêm 1 giao diện quản lý Console (Console OS-COS), các agent quản lý của VMware được thực thi trong COS. Với kiến trúc này, ESX cho phép người sử dụng có thể cài đặt các ứng dụng của các bên thứ 3.
Với ESXi: COS bị loại bỏ, các agent được chạy trực tiếp trên vmkernel. Chỉ có các module về driver và monitor thiết bị phần cứng của bên thứ 3 được VMware xác thực mới có thể hoạt động, điều này làm cho ESXi trở thành 1 kiến trúc chặt chẽ, ngăn chặn những đoạn mã độc được thực thi, nâng cao tính bảo mật toàn hệ thống. ESXi đòi hỏi ít các bản vá lỗi hơn, bên cạnh đó với kiến trúc đã được tinh giản, lượng RAM để vận hành ESXi chỉ bằng khoảng 1/15 so với ESX.
Với vSphere, ESX đã được loại bỏ, thay vào đó ESXi trở thành 1 Hypervisor chính của VMware.Loại này được sử dụng bởi Hyper-V, Hypervisor không chứa device drivers , Device drivers hoạt động độc lập và chạy ở Controlling Layer(HDH của máy thật) ( xem hình ), còn driver chạy trong các máy ảo là driver ảo,khi các máy ảo muốn liên lạc với phần cứng thì chỉ cần liên lạc với HDH máy thật. Cách sắp xếp này giúp cho các máy ảo trở thành các partition hoàn toàn riêng biệt.
Ưu điểm:
Do device drivers không cần Hypervisor phải biết nó, nên hầu hết các thiết bị có thể sử dụng Microkernelized Hypervisor Design.
Device Drivers được cài đặt trên HDH (nằm trong Controlling Layer) và được sử dụng bởi máy ảo để truy cập vào phần cứng trong Hardware Layer.
Thời gian khởi động ngắn (do kích thước Microsoft Hypervisor code nằm trong khoảng 600kb – 1M)
Do Microkernelized Hypervisor cần HDH cài đặt trong Controlling layer nên sẽ có các khuyết điểm sau:
Nếu HDH của máy thật bị sự cố thì các máy ảo cũng chết.
Cần nhiều tài nguyên hơn để HDH trong Controlling Layer quản lý giao tiếp (communicate) giữa các máy ảo và Hypervisor.
Luôn phải update các bản vá bảo mật ( khi update thì cần phải reboot, điều này làm cho các máy ảo bị tắt hoặc có thể dùng tính năng Hyper-V Live Migration để di chuyển các máy ảo tới các Node trong cluster -> tránh làm tắt máy ảo). Lưu ý:
HDH host là HDH trên máy thật.
HDH khách là HDH trên máy ảo.
vSphere ESX có 2 phiên bản là ESX và ESXi. Mặc dù cả 2 đều là các Hypervisor của VMware nhưng chúng có những điểm khác biệt cốt lõi trong kiến trúc.
ESX: gồm 1 lõi ảo hóa (vmkernel) được trang bị thêm 1 giao diện quản lý Console (Console OS-COS), các agent quản lý của VMware được thực thi trong COS. Với kiến trúc này, ESX cho phép người sử dụng có thể cài đặt các ứng dụng của các bên thứ 3.
Với ESXi: COS bị loại bỏ, các agent được chạy trực tiếp trên vmkernel. Chỉ có các module về driver và monitor thiết bị phần cứng của bên thứ 3 được VMware xác thực mới có thể hoạt động, điều này làm cho ESXi trở thành 1 kiến trúc chặt chẽ, ngăn chặn những đoạn mã độc được thực thi, nâng cao tính bảo mật toàn hệ thống. ESXi đòi hỏi ít các bản vá lỗi hơn, bên cạnh đó với kiến trúc đã được tinh giản, lượng RAM để vận hành ESXi chỉ bằng khoảng 1/15 so với ESX.
Với vSphere, ESX đã được loại bỏ, thay vào đó ESXi trở thành 1 Hypervisor chính của VMware.