3.2.1. Hypervisor
Với vai trò tham gia là một phần tử trong Hyper-V, Hypervisor cung cấp các chức năng cần thiết sau tham gia vào quá trình ảo hóa máy chủ vật lý:
- Quản lý công việc lên kế hoạch cho bộ nhớ và bộ xử lý cho các máy ảo.
- Cung cấp các cơ chế sắp xếp các luồng thông tin vào ra và liên lạc giữa các phân vùng của hệ thống.
- Thi hành các quy tắc truy cập bộ nhớ.
- Thi hành chính sách sử dụng tài nguyên CPU.
- Đưa ra một giao diện chương trình đơn giản được gọi là hypercalls.
Do sử dụng mô hình Microkernelized như một kiến trúc chính nên Windows Hypervisor tương đối khá nhỏ trên thực tế là dưới 1MB về độ lớn vì thế vấn đề về lỗi
là khá hiếm và cũng dễ dàng hơn trong xử lý khi xuất hiện điểm yếu từ đó phần nào nâng cao vấn đề an toàn cho hệ thống.
Một trong các yêu cầu như đã biết để có thể vận hành một hệ thống Hyper-V thì phải có một hệ thống 64bit có sử dụng phần cứng công nghệ Intel VT và AMD-V. Do dựa vào công nghệ 64-bit sẽ cho phép truy cập quản lý không gian bộ nhớ lớn hơn nhiều so với 32-bit các máy chủ sẽ được hỗ trợ lượng bộ nhớ lớn hơn và cho phép nhiều máy ảo hơn trên một máy. Intel-VT và AMD-V là hai giải pháp phần cứng hỗ trợ cho các công nghệ ảo hóa. Nó cho cung cấp một lớp siêu đặc quyền trong mô hình ring nhờ đó giúp duy trì được một môi trường thực thi cho Hypervisor tách rời hoàn toàn với các phần còn lại trong hệ thống.
3.2.2. Parent Partition
Trong kiến trúc chính của Hyper-V, “parent” sỡ hữu một số các thành phần không có trong “con”. Hình sau đây sẽ cho thấy rõ các thành phần chính của một partition giữ vai trò là “parent” (duy nhất).
Hình 3.1. Parent Partition
Partition “parent” này được định nghĩa là partition được tạo đầu tiên trên hệ thống khi mà hypervisor được kích hoạt hay đơn giản là khi Hyper-V Role được cài đặt. Và partition này cũng chính là hệ điều hành chính (Windows Server 2008) đang có vai trò là Hyper-V server. Sau đây là mục đích chính của khái niệm “parent partition”:
- Đây là phân vùng giữ nhiệm vụ tạo và quản lý các phân vùng con trên hệ thống và bao gồm khả năng dùng WMI cho việc quản lý từ xa.
- Phân vùng này ngoài ra còn phải quản lý và phân bố thiết bị phần cứng, thời biểu cho bộ xử lý và cấp phát bộ nhớ, tất cả điều hoạt động thông qua lớp hypervisor.
- Tài nguyên phần cứng của phân vùng cha sẽ được chia sẻ và cấp phát sử dụng bởi các phân vùng con.
- Bên cạnh đó còn mang nhiệm vụ quản lý điện năng, tình trạng hoạt động và ghi nhận các sự cố lỗi khi xảy ra.
Như đã từng đề cập thành phần chính góp phần làm nên Hyper-V chính là ngăn ảo hóa nó là tập hợp các chức năng chính trong hoạt động của Hyper-V và nó chỉ có ở phân vùng cha.
Sau đây là chi tiết thành phần chức năng có trong ngăn ảo hóa:
• Virtual Machine Management Service (VMM service):
Chịu trách nhiệm quản lý trạng thái của máy ảo đang hoạt động trong các phân vùng con (active, offline, stopped…) và điều khiển các tác vụ có thể ảnh hưởng đến trạng thái máy ảo hiện tại điển hành là hành động tạo snapshot. Ngoài ra còn có vai trò trong việc bỏ sung hoặc loại bỏ các thiết bị. Khi một máy ảo được khởi động VMM service sẽ tạo riêng một Virtual Machine Worker Process cho mỗi máy ảo được khởi động.
Hành động tạo snapshot. Ngoài ra còn có vai trò trong việc bỏ sung hoặc loại bỏ các thiết bị. Khi một máy ảo được khởi động VMM service sẽ tạo riêng một Virtual Machine Worker Process cho mỗi máy ảo được khởi động.
• Virtual Machine Worker Process
Thành phần này được khởi tạo bởi VMM service khi máy ảo được khởi động. Một Virtual Machine Worker Process sẽ được tạo riêng cho mỗi máy ảo Hyper-V và chịu trách nhiệm quản lý các mức độ tương tác giữa phân vùng cha chay hệ điều hành Windows Server 2008 với phân vùng con đang chạy hệ điều hành máy khách. Nhiệm vụ của nó bao gồm: Creating, configuring, running, pausing, resuming, saving, restoring và snapshotting máy ảo mà nó đang liên kết và chịu trách nhiệm quản lý. Nó
cũng xử lý vấn đề IRQs, bộ nhớ, và port nhập xuất thông qua Virtual Motherboard (VMB).
• Virtual Devices
Được quản lý bởi Virtual Motherboard (VMB). VMB thì lại được chứa trong Virtual Machine Worker cái mà được cấp phát riêng cho từng máy ảo. Virtual Devices có 2 loại Core Vdevs và plugin Vdevs trong đó Core Vdevs có 2 mục con là thiết bị mô phỏng (Emulated Devices) là những thiết bị mô phỏng phần cứng thiết bị cụ thể như Vesa Video card, floopy, bios… và thiết bị tổng hợp (Synthetic Devices) nó không dựa vào thiết bị phần cứng cụ thể như card mang, ổ cứng… và chỉ có trên máy khách hỗ trợ Integration Services.
• Virtual Infrastructure Driver
Hoạt động trong Kernel Mode, cung cấp việc quản lý phân vùng, bộ nhớ, bộ xử lý cho máy ảo đang hoạt động trong phân vùng con. Virtual Infrastrusture Driver ngoài ra còn chịu trách nhiệm các thành phần chức năng cao hơn Virtual Stack liên kết với Hypervisor.
• Windows Hypervisor Interface Library
Là một thư viện DLL chứa trong phân vùng cha đang chạy Windows server 2008 và bất kỳ hệ điều hành máy khách nào được chứng nhận là hoạt động tốt trên phân vùng con (nằm trong danh sách hệ điều hành hỗ trợ) của Hyper-V.
• VMBus
Là một thành phần của Integration Services trong Hyper-V, chịu trách nhiệm tối ưu hóa quá trình liên lạc giữa phần vùng cha và phân vùng con.
• Virtualization Service Providers
Chỉ có trong phân vùng cha và giữ nhiệm vụ cung cấp việc hỗ trợ thiết bị tổng hợp thông qua VMBus đến Virtual Service Clients (VSCs) đang chạy trong phân vùng con.
• Virtualization Service Clients
Là các trường hợp thiết bị tổng hợp đang trú trong các phân vùng con. Chúng liên lạc với các VSPs trong phân vùng cha thông qua VMBus để thực thi các truy xuất thiết bị của các phân vùng con.
3.2.3. Child Partition
Phân vùng con là một phân vùng phần cứng về mặt logic đang chạy một hệ điều hành độc lập trong môi trường Hyper-V.
Phần vùng con là một trong 3 khái niệm chính trong môi trường Hyper-V. Hai cái còn lại chính là phân vùng chính (root partition) và phân vùng cha (Parent Partition). Tuy nhiên đó là trước đây kể từ phiên bản Hyper-V version 1.0 phân vùng chính và phân vùng cha là tương đương không còn sự phân biệt. Tất nhiên là chỉ có một phân vùng cha trên một máy vật lý chạy Hyper-V và số lượng phân vùng con là tùy thuộc vào lượng tài nguyên đang có và gần như là không giới hạn.
Mỗi phân vùng sỡ hữu nguồn tài nguyên về bộ nhớ cũng như bộ xử lý độc lập và duy trì các thông tin chính sách về thiết bị sử dụng. Phân vùng cha có toàn quyền truy cập bộ nhớ và thiết bị vật lý một cách trực tiếp, kích hoạt lớp hypervisor. Cũng như việc có trách nhiệm trong việc tạo và quản lý các phân vùng con. Mỗi phân vùng con có thể chạy một hệ điều hành riêng biệt thường được gọi là hệ điều hành máy khách (Guest OS).
3.2.4. Phân loại hệ điều hành máy khách
Nói đơn giản hơn trong mục này sẽ tìm hiểu việc phân loại hệ điều hành máy khách trên Hyper-V như thế nào. Theo Microsoft sản phẩm Hyper-V của họ với ưu điểm tương thích cao với mọi hệ điều hành trên thị trường và cả những hệ điều hành được “chế biến” từ đó phân ra chủng loại:
Hyper-V Aware Windows Operrating Systems tạm hiểu là những hệ điều hành thuộc gia đình Windows tương thích Hyper-V cho phép đạt được hiệu suất cao nhất trong triển khai. Có khả năng dùng Integration Services để khởi tạo Virtual Service Clients trong việc liên lạc với Virtual Service Providers (VSPs) đang chạy trên phân vùng chính thông qua VMBus.
Hyper-V Aware Non Windows Operating Systems tạm hiểu là những hệ điều hành không thuộc họ Windows nhưng tương thích với Hyper-V và hoàn toàn giống Hyper-V Aware Windows Operating Systems ở các mặt.
Non Hyper-V Aware Operating Systems cũng chính là loại đặc biệt nhất là những hệ
điều hành chưa qua kiểm duyệt cũng như thẫm định về khả năng thích, nhưng vẫn có khả năng hoạt động trên lớp Hypervisor nhưng sẽ mất đi tính năng Integaration Services lúc này để hỗ trợ quá trình hoạt động của nó lớp Hypervisor sẽ sử dụng chức năng mô phỏng thiết bị để cung cấp khả năng truy xuất thiết bị và bộ xử lý. Do đó các khả năng trong quá trình họat động của loại này là thấp nhất cùng với nhiều hạn chế.
3.3. Các tính năng trong Hyper-V
3.3.1. Các tính năng trong Hyper-V (version 1)
•Broad operating system support: Khả năng hỗ trợ đa dạng hệ điều hành máy
khách bao gồm cả 32bit lẫn 64bit và đa dạng về nền tảng máy chủ như Windows, Linux và những hệ điều hành khác.
•Extensibility: Được hỗ trợ với khả năng mở rộng đang kể nhờ việc xây dựng
interfaces (APIs) cho phép các nhà sản xuất phản mềm và các nhà phát triển có thể xây dựng nên những công cụ hỗ trợ, các tiện ích và cải tiến cho nền tảng áo hóa này.
•Netwok Load Balancing: Được trang bị các khả năng cho phép chuyển mạch
ảo từ đó cung cấp các tính năng Windows Network Load Balancing (NLB) cho các máy ảo đang chạy trên các máy chủ vật lý khác nhau.
•Microkernelized architecture: Hyper-V được thiết kế dựa trên kiến trúc
microkernwlized hypervisor 64bit cho phép cung cấp một chuỗi các thiết bị hỗ trợ các phương thức cải tiến hiệu suất cũng như vấn đề bảo mật.
•Hardware assisted virtualization: Hyper-V đòi hỏi cao về vấn đề hệ thống
phải có hỗ trợ nền tảng Intel VT hoặc AMD-V khi triển khai.
•Hardware sharing architecture: Hyper-V bao gồm kiến trúc Virtualization
Service Provider (VSP) và Virtualization Service Client (VSC) cung cấp việc cải tiến quá trình truy xuất và sử dụng tài nguyên phần cứng như đĩa cứng, mạng, video.
•Quick migration: Hyper-V cũng cung cấp Quick Migration, khả năng di
chuyển một máy qua đi qua các cluster nodes mà không làm mất dữ liệu với sự gián đoạn dịch vụ ít nhất. Để thực hiện điều này, một máy ảo được đặt trong chế độ save, tình trạng bộ nhớ active và bộ xử lý được capture đến đĩa, và tư cách tài nguyên lưu trữ được chuyển đến một node khác trên cluster. Trên một node mới, tình trạng bộ nhớ active máy ảo và bộ xử lý được reload và quá trình xử lý được resume. Tuỳ vào lưu trữ cơ bản và kích thước của dữ liệu, cả quá trình có có thể mất vài giây hay vài phút.
•Kiểm soát truy cập sử dụng Authorization Manager: Hyper-V nâng cấp
Authorization Manager (AzMan) để cung cấp kiểm soát truy cập role-based đến Hyper-V và các máy ảo. Điều này cho phép tạo các định nghĩa công việc và translate chúng vào một role với một set hạn chế các hoạt động và nhiệm vụ. Có thể gán cho những người dùng hay những nhóm đơn lẻ những role phù hợp, cho phép chúng hoàn
thành trách nhiệm công việc của mình trong khi chỉ hạn chế các truy cập của chúng đến các tài nguyên Hyper-V, các hoạt động và nhiệm vụ.
Hỗ trợ Volume Shadow Copy Service (VSS) trong Hyper-V cung cấp các backup tình trạng, host-sie, bỏ nhu cầu load một agent trong mỗi máy ảo riêng biệt. Bất kì ứng dụng VSS-aware nào, như System Center Data Protection Manager (DPM) 2007 SP1, có thể nâng cấp chức năng nàu để cung cấp các dịch vụ backup snapshot VSS nếu nó dùng giao diện tác giả VSS thực hiện trong Hyper-V. Bất kì máy ảo nào chạy một hệ điều hành guest Windows (Windows Server 2003 và sau đó nữa) có thể được backup trong trạng thái live. Các hệ điều hành guest khác (Windows 2000, Linux,...) cần được lưu trong trạng thái trước snapshot VSS. Bởi vì các snapshot VSS được thực thi thông qua một quá trình khá nhanh (chỉ vài giây), thời gian dừng của các máy ảo là nhỏ nhất. Ngoài ra, với hỗ trợ VSS, số các bước cần trong hoạt động archive và restore được giảm xuống và sự thống nhất của dữ liệu được đảm bảo.
Hyper-V hỗ trợ Windows Failover Clustering để thực thi một chiến lược có tính sẵn sàng cao mà có thể quản lý cả thời gian dừng unplan và plan. Có hai mức độ có thể thực thi một failover cluster với Hyper-V: ở mức độ hệ điều hành guest, và ở mức độ host ảo hoá. Failover cluster một hệ điều hành guest yêu cầu các ứng dụng cluster- aware chạy trong các máy ảo. Cũng phải chạy một hệ điều hành trong máy ảo hỗ trợ failover clustering, như Windows Server 2003 (lên đến 8-node cluster) hay Windows Server 2008 Enterprise hay Datacenter edition (lên đến 16-node cluster). Mục failover cluster thứ hai chứa hai hay nhiều hơn nữa các server Windows Server 2008, mỗi cái được cấu hình làm một cluster node. Dạng cấu hình này cho phép cung cấp một giải pháp có tính sẵn có cao cho cả các hệ điều hành guest non-cluster-aware và các ứng dụng chạy trong các máy ảo.
•Scalability: Hyper-V với khả năng hỗ trợ nhiều bộ vi xử lý và nhân cũng như
trường ảo hóa với tính năng mở rộng số lượng lớn máy ảo trên một máy vật lý kết hợp với tính năng Quick Migration mở rộng trên nhiều máy vật lý.
Hyper-V với sự hỗ trợ đa dạng về bộ xử lý, nhân điều hành cũng như kiến trúc cải tiến truy cập bộ nhớ trong các máy ảo đã đem lại một máy chủ với khả năng mở rộng nhiều máy ảo hơn trên một máy chủ đồng thời kết hợp với tính năng Quick Migration chắp cánh thêm cho vấn đề mở rộng áo hóa ra các host trong hạ tầng.
•Symmetric multiproccessor (SMP) suppor: Với khả năng hỗ trợ 4 bộ vi xử lý
cho một môi trường máy ảo từ đó tận dụng được lợi thế nhiều lường ứng dụng được xử lý trên một máy ảo.
•Virtual machine snapshots: Chức năng snapshot Hyper-V cho phép capture
cấu hình và tình trạng của một máy ảo ở bất kì thời điểm xác định nào, và cũng cung cấp khả năng reload lại bất kì snapshot hiện hành nào chỉ trong có vài giây. Các snapshot Hyper-V có thể rất hữu ích trong bối cảnh cần thực hiện những thay đổi gia tăng đến một máy ảo với khả năng quay ngược lại tình trạng trước đó. Chức năng snapshot Hyper-V được thiết kế đặc biệt để dùng cho việc kiểm tra và phát triển các môi trường, không phải trong cấu trúc làm việc.
3.3.2. Các tính năng mới trong phiên bản R2
•Live Migration: Công nghệ này cho phép di chuyển các server ảo hóa từ server
vật lý này sang server vật lý khác, nhưng vẫn đảm bảo không có bất kì sự gián đoạn nào hay cảm nhận thời gian downtime trong những phiên kết nối truy cập.
Windows Server 2008 R2 đều cung cấp 2 cách thức di chuyển tự động là: Quick Migration và Live Migration. Mặc dù cả 2 cách thức này đều nhằm mục đích là chuyển dời server ảo hóa giữa các server Hyper-V(vật lý) nhưng phương pháp và cách thức hoàn thành công việc là khác nhau. Cách thực hiện của Quick Migration là sẽ lưu lại, di dời VMs đến vị trí khác sau đó khôi phục sự hoạt động VMs này, có nghĩa theo cách này cần một chút thời gian downtime của hệ thống cho việc di dời server ảo hóa. Trong
khi đó Live Migration thì sử dụng cơ chế khác và cách thức Live Migration xử lý như sau: Giả sử ta có 2 node trên cùng 1 cluster sẽ dùng thực hiện Live Migration. Node 1 chứa VMs sẽ dời đi, node 2 là mục tiêu mà VMs sẽ dời đến và người dùng đang truy cập kết nối với node1.
1. Bước đầu tiên của quá trình live migration 1 ảnh chụp ban đầu của VMs trên node1 được chuyển sang node2.
2. Trong trường hợp người dùng đang truy cập tại node1 thì những sự thay đổi và