Thứ Hai, 1 tháng 6, 2015

Các kiến trúc ảo hóa.


 Kiến trúc ảo hóa Hosted-based.

Còn gọi là kiến trúc hosted hypervisor, kiến trúc này sử dụng một lớp hypervisor chạy trên nền tảng hệ điều hành, sử dụng các dịch vụ được hệ điều hành cung cấp để phân chia tài nguyên tới các máy ảo. Nếu ta xem hypervisor này là một lớp phần mềm riêng biệt, thì các hệ điều hành khách của máy ảo sẽ nằm trên lớp thứ 3 so với phần cứng máy chủ.




Ta có thể thấy, một hệ thống ảo hóa sử dụng Mô hình Hosted-based được chia làm 4 lớp hoạt động như sau:

Nền tảng phần cứng: Bao gồm các thiết bị nhập xuất, thiết bị lưu trữ (Hdd, Ram), bộ vi xử lý CPU, và các thiết bị khác (các thiết bị mạng, vi xử lý đồ họa, âm thanh…)
Hệ điều hành Host: Hệ điều hành này thực hiện việc liên lạc trực tiếp với phần cứng, qua đó cung cấp các dịch vụ và chức năng thông qua hệ điều hành này.
Hệ thống virtual machine monitor (hypervisor) : Chạy trên nền tảng hệ điều hành Host, các hệ thống này lấy tài nguyên và dịch vụ do hệ điều hành host cung cấp, thực hiện việc quản lý, phân chia trên các tài nguyên này.
Các ứng dụng máy ảo: Sử dụng tài nguyên do hypervisor quản lý.
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ủ.
Một số hệ thống hypervisor dạng Hosted-base có thể kể đến như Vmware Server,Microsoft Virtual PC, máy ảo Java ..

Còn gọi là kiến trúc bare-metal hypervisor. Trong mô hình này, lớp phần mềm hypervisor chạy trực tiếp trên nền tảng phần cứng của máy chủ, không thông qua bất kì một hệ điều hành hay một nền tảng nào khác. Qua đó, các hypervisor này có khả năng điều khiển, kiểm soát phần cứng của máy chủ. Đồng thời, nó cũng có khả năng quản lý các hệ điều hành chạy trên nó. Nói cách khác, các hệ điều hành sẽ chạy trên một lớp nằm phía trên các hypervisor dạng bare-metal. Hình vẽ sau sẽ minh họa cụ thể hơn cho vấn đề này:

Ta có thể thấy, một hệ thống ảo hóa máy chủ sử dụng nền tảng Bare-metal hypervisor bao gồm 3 lớp chính:

Nền tảng phần cứng: Bao gồm các thiết bị nhập xuất, thiết bị lưu trữ (Hdd, Ram), bộ vi xử lý CPU, và các thiết bị khác (các thiết bị mạng, vi xử lý đồ họa, âm thanh…)
Lớp nền tảng ảo hóa Virtual Machine Monitor (còn gọi là hypervisor), thực hiện việc liên lạc trực tiếp với nền tảng phần cứng phía dưới, quản lý và phân phối tài nguyên cho các hệ điều hành khác nằm trên nó.
Các ứng dụng máy ảo: Các máy ảo này sẽ lấy tài nguyên từ phần cứng, thông qua sự cấp phát và quản lý của hypervisor.
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ý.
Mô hình Hypervisor - Base có 2 dạng là Monothic Hypervisor và Microkernel Hypervisor.

Một số ví dụ về các hệ thống Bare-metal hypervisor như là: Oracle VM, Vmware ESX Server, IBM's POWER Hypervisor (PowerVM), Microsoft's Hyper-V (xuất xưởng tháng 6 năm 2008), Citrix XenServer…

a. 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 quả cao, nhưng cũng giống như bất kì các giải pháp khác, bên cạnh mặt ưu điểm thì nó cũng còn có những nhược điểm. Vì trong quá trình hoạt động, 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 chủng 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 đ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.


b. Microkernelized Hypervisor.

Microkernelized Hypervisor là một kiểu ảo hóa giống như Monolithic Hypervisor. Đ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ống lớp Hypervisor để liên lạc với phần cứng.

1.4.3. Kiến trúc ảo hóa 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 lớp ảo hóa chạy trong trong chế độ người dùng (chạy như một ứng dụng cài trên hệ điều hành).

0 nhận xét:

Đăng nhận xét