- Khái quát về công nghệ ảo hóa của Microsoft
Công nghệ máy ảo áp dụng cho cả phần cứng máy chủ và máy trạm. Công nghệ máy ảo cho phép nhiều hệ điều hành chạy đồng thời trên một máy tính duy nhất. Công nghệ này cho phép hợp nhất phần cứng bởi vì nhiều hệ điều hành có thể cùng chạy trên một máy tính. Những ứng dụng then chốt của công nghệ máy ảo bao gồm khả năng tích hợp chéo giữa các nền tảng và các khả năng dưới đây:
- Hợp nhất máy chủ: nếu nhiều máy chủ vận hành ứng dụng mà chỉ tiêu thụ một phần nhỏ tài nguyên sẵn có thì công nghệ máy ảo có thể được sử dụng để cho phép nhiều ứng dụng chạy song song trên một máy chủ duy nhất ngay cả khi các ứng dụng này cần tới những phiên bản hệ điều hành hay Middleware khác nhau.
- Hợp nhất cho các môi trường triển khai và thử nghiệm: mỗi máy ảo đóng vai trò như một môi trường riêng điều này sẽ giảm bớt rủi ro và tạo điều kiện để các chuyên gia phát triển nhanh chóng tái xây dựng các cấu hình hệ điều hành khác nhau hoặc so sánh các phiên bản ứng dụng được thiết kế cho các hệ điều hành khác nhau. Ngoài ra, cũng có thể kiểm tra các phiên bản phát triển sớm của một ứng dụng trong một máy ảo mà không sợ làm mất đi tính ổn định của hệ thống đối với những người dùng khác.
- Re-hosting ứng dụng riêng: các hệ điều hành và ứng dụng riêng có thể chạy trên phần cứng mới cùng với những hệ điều hành và ứng dụng được đưa ra gần đây hơn.
- Đơn giản hóa kế hoạch phòng chống và khôi phục sự cố: công nghệ máy ảo có thể được sử dụng như một phần quan trong để khắc phục sự cố.
- Chuyển tới một trung tâm dữ liệu động: Hyper- Vcùng với những giải pháp quản lý hệ thống giúp bạn tạo ra một môi trường CNTT năng động. Môi trường này không chỉ cho phép bạn phản ứng lại các sự cố một cách hiệu quả hơn mà còn xây dựng một giải pháp quản lý CNTT có khả năng tự quản lý và có tính chất phòng trừ.
Công nghệ ảo hóa của Microsoft phân ra nhiều thành phần trong đó có năm thành phần chính đại điện theo năm hướng ảo hóa theo nhu cầu của các doanh nghiệp:
- Server Virtualization.
- Application Virtualization.
- Desktop Virtualization.
- Presentation Virtualization
- User State Virtualization.
Hình 1. Mô hình giải pháp ảo hóa của Microsoft
Hyper-V là mộ thành phần trọng tâm của chiến lược mô hình ảo hóa của Microsoft từ Datacenter đến Desktop.
- Ảo hóa Hyper-v
Hyper-V là gì ? Hyper-V trước đây là Viridian, là một công nghệ dựa trên hypervisor và là một đặc tính then chốt của Windows Server 2008 và được các bản windows sau này kế thừa. Công nghệ này đem tới một nền tảng ảo hóa có khả năng mở rộng, tin cậy và tính sẵn sàng cao. Đó là một phần trong nỗ lực liên tục của Microsoft nhằm cung cấp cho khách hàng và đối tác một nền tảng hệ điều hành tốt nhất cho ảo hóa.
Hyper-V là thành phần trong chiến lược ảo hóa của Microsoft, các tính năng ảo hóa server của Hyper-V có thể giúp ích không chỉ cho server ở qui mô công ty với hàng trăm hay hàng ngàn máy trạm, mà còn cả server trong các văn phòng nhỏ. Hyper-V cho phép tạo ra các máy ảo với dung lượng bộ nhớ lớn và sử dụng được CPU đa nhân ảo, có các giải pháp lưu trữ động, và thế hệ mạng mới tốc độ cao.
Mô hình Hyper-V áp dụng trên windows server 2016 chạy trên nền server HP 380 G10
2.1 Lợi ích của Hyper-V
Các lợi ích của Hyper-V mang lại như:
- Độ tin cậy:
Hyper-V cung cấp độ tin cậy tốt hơn và khả năng mở rộng lớn hơn cho ảo hóa cơ sở hạ tầng. Hypervisor không phụ thuộc vào bất kì trình điều khiển thiết bị nào của hãng thứ ba. Nó thúc đẩy phần lớn các trình điều khiển thiết bị đã được xây dựng cho Windows. Điểm nổi bật là bạn có thể quản lý các dịch vụ trên Server Core bằng giao diện dòng lệnh (CLI) hoặc quản lý từ xa bằng công cụ MMC và công cụ Remote Server Administration Tools được tích hợp sẵn trong hệ điều hành Windows
- Máy chủ ảo hóa mạnh:
Ảo hóa cho phép khả năng sử dụng, quản lý các tài nguyên, các ứng dụng hiệu quả trên một máy chủ. Các máy chủ ảo hóa có khả năng làm công việc của mình với sự linh hoạt cao, tận dụng khả năng phần cứng tối đa, mà không có xung đột với các máy chủ ảo hóa khác. Hyper-V kiểm soát chặt chẽ các nguồn tài nguyên phần cứng có sẵn cho mỗi máy ảo.
- Bảo mật:
An ninh bảo mật là một thách thức chính trong mọi giải pháp máy chủ. Các máy chủ ảo hóa ít tiếp xúc với các chức năng máy chủ khác trên cùng một hệ thống chính. Khi triển khai nhiều chức năng máy chủ trên một máy tính, mỗi máy chủ ảo hóa đảm nhận một chức năng, khi đó nếu một máy chủ ảo hóa bị mất quyền kiểm soát, thì vẫn đảm bao kẻ tấn công khó có thể thể tiếp xúc với các máy ảo hóa khác trên cùng một máy chủ vật lý. Ảo hóa cung cấp cơ hội để tăng cường an ninh cho tất cả các nền tảng máy chủ
- Hiệu suất:
Hyper-V có thể giải quyết khối lượng công việc đòi hỏi nhiều hơn các giải pháp ảo hóa trước đây và cung cấp khả năng phát triển trong hệ thống. Hiệu suất bao gồm:
- Tốc độ cải tiến thông qua kiến trúc ảo hóa cốt lõi hypervisor.
- Hỗ trợ đa luồng tăng đến bốn bộ vi xử lý trên mảy chủ ảo hóa.
- Tăng cường hỗ trợ 64-bit, cho phép máy chủ ảo hóa chạy các hệ điều hành bit-64 và truy cập số lượng lớn bộ nhớ (lên đến 64 GB mỗi VM), cho phép sử lý khối lượng công việc chuyên sâu cao hơn.
- Kiến trúc hypervisor cho phép chia cắt ra các lớp thực thi và các trình điều khiển, làm việc chặt chẽ hơn với ảo hóa kiến trúc phần cứng.
- Nâng cao hiệu suất phần cứng. Chia sẻ, tối ưu hóa truyền dữ liệu giữa các phần cứng vật lý và máy ảo.
2.2 Kiến trúc của Hyper-V
Kiến trúc Hyper-V gồm 3 thành phần chính:
- Hypervisor ngăn ảo hóa (Virtual stack)
- Parent Partition
- Child Partitions
Hình 2 Mô hình kiến trúc Hyper-V
Hypervisor
Hypervisor đảm bảo tạo ra một hệ thống tách rời thực sự mạnh mẽ hỗ trợ trên đó
nhiều hệ điều hành khác nhau bằng cách tạo ra các bộ vi xử lý ảo bộ nhờ Timer và các bộ điều khiển ngắt. Qua đó các hệ điều hành này dựa trên việc sử dụng các tài nguyên ảo hóa này như một hệ thống phần cứng thật sự.
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ý:
- Tạo ra các phân vùng về mặt logic.
- 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.
- 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.
- 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
- Đưa ra một giao diện chương trình đơn giản được gọi là Hypercalls.
2.2.2 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 đồng thời hiển thị 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.
Hình 3 Mô hình Parent partition
- 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ụ ảnh hưởng đến trạng thái máy ảo hiện tại là hành động tạo Snapshot. 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 chạy 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.
- Virtual Devices: được quản lý bởi Virtual Motherboard (VMB). VMB thì lại được chứa trong Virtual Machine Worker, nơi được cấp phát riêng cho từng máy ảo. Virtual Devices có hai loại Core Vdevs và plugin Vdevs. Trong đó, Core Vdevs có hai loại là thiết bị mô phỏng (Emulated Devices) phần cứng thiết bị cụ thể như Vesa Video Card, floppy Disk, 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 mạng, ổ 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 Infrastrucsture Driver còn chịu trách nhiệm các thành phần chức năng cao hơn Virtualization Stack liên kết với Hypervisor.
- Windows Hypervisor Interface Library : Là một thư viện DLL chứa trong Parent Partition đang chạy hệ điều hành 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 Child Partition (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.
2.2.3 Child Partition
Child Partition 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 ba khái niệm chính trong môi trường Hyper-V. Hai thành phần 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).
- Phân vùng con chứa hệ điều hành Windows hướng Hyper-V: là những hệ điều hành thuộc Windows tương thích với Hyper-V cho phép đạt hiểu suất cao nhất trong quá trình triển khai. Có thể dùng Integration Service để 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.
- Phân vùng con chứa hệ điều hành khác Windows hướng Hyper-V: là những hệ điều hành không thuộc họ Windows nhưng tương thích với Hyper-V.
- Phân vùng con chứa hệ điều hành khác Windows không hướng Hyper-V: là loại đặc biệt, chưa qua kiểm duyệt cũng như thẩm định về khả năng tươ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 Integration Services. Hypervisor 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ý vật lý.
2.3 Những điểm nổi bật của Hyper-V
- Broad Operating System Support : khả năng hỗ trợ đa dạng các hệ điều hành của máy trạm khác nhau bao gồm cả 32 bit lẫn 64 bit và đa dạng về nền tảng máy chủ như Windows, Linux…
- Hardware Assisted Virtualization: yêu cầu cao về hệ thống phải có hỗ trợ Intel-VT hoặc AMD-V khi triển khai.
- Symmetric Multiproccessor (SMP) Support: 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 luồng ứng dụng được xử lý trên một máy ảo.
- Virtual Machine Snapshots: cho phép chụp lại cấu hình và tình trạng của một máy ảo ở bất kỳ thời điểm nào, cung cấp khả năng khôi phục lại các Snapshot hiện hành nào đó chỉ vài giây.Giúp cho việc khôi phục lại hiện trạng ban đầu của các máy trạm khi bị lỗi một cách nhanh chóng, không tốn nhiều thời gian. Chức năng Snapshot Hyper-V được thiết kế đặc biệt để kiểm tra và phát triển môi trường, không phải trong cấu trúc làm việc.
- Hot Adding And Hot Removal Of Storage: với tính năng này thì có thể tách riêng phần mềm chạy trên một phần cứng, dễ dàng triển khai và quản lý. Với sự linh hoạt này thì khả năng mở rộng cũng như giảm bớt được việc lưu trữ tách biệt các máy ảo. Với Windows Server 2008 R2 Hyper-V, đã thêm khả năng thêm và xóa các đĩa cứng ảo từ một máy ảo khi nó vẫn trong tình trạng hoạt động.
- Dynamic Memory: cho phép quản lý tự động các yêu cầu về bộ nhớ ảo trong Hyper-V Server.
- Cluster Share Volumes (CSV): được thực hiện cho độ sẵn sàn cao trong giải pháp Failover Clustering.
2.4 Các thành phần chính của Hyper-V
Hyper-V có 2 dạng chính
- Dạng thứ nhất: Hyper-V là một Role trong Windows Server 2008, 2008 R2, 2012, 2012 R2, 2016, 2019, windows 8.1, windows 10 như DNS role, DHCP Role…và chỉ có trong phiên bản Standard, Enterprise và DataCenter.
- Dạng thứ hai: Microsoft Hyper-V Server Core là một sản phẩm độc lập dựa trên cùng cấu trúc ảo hóa có sẵn trong Windows Server Hyper-V. Hoạt động như Server Core, dùng giao diện dòng lệnh để cấu hình hoặc các cộng cụ như Hyper-V, RSAT…
2.4.1 Lưu trữ trong Hyper-V
Hyper-V hỗ trợ một số tùy chọn lưu trữ khác nhau, bao gồm cả các thiết bị lưu trữ trực tiếp như SATA hoặc SAS và lưu trữ SAN, như FC, iSCSI. Sau khi các máy chủ Hyper-V đã được kết nối để lưu trữ, có thể được cung cấp cho máy ảo theo nhiều cách khác nhau.
Sau khi lưu trữ đã được kết nối với máy chủ Hyper-V, việc lưu trữ hệ điều hành client có thể được thực hiện như sau:
- Tạo một đĩa cứng ảo (VHD) trên một ổ đĩa của máy chủ Hyper-V, các đĩa cứng đơn giản là một tập tin được lưu trữ trên một ổ đĩa lưu trữ của máy chủ Hyper-V. Có hai loại đĩa cứng ảo là Dynamic và Fixed. Kích thước tối đa của một tập tin VHD là 2048 GB.
- Sử dụng đĩa Passthrough cho phép truy cập vào ổ đĩa trực tiếp. Trước khi cấu hình máy ảo với đĩa Passthrough, đĩa phải được đặt ở trạng thái Offline để không bị tranh chấp giữa các máy ảo và máy chủ Hyper-V.
Có 3 loại kết nối đến các ổ đĩa đến các máy ảo, dựa vào các trình điều khiển sau:
- IDE: cho phép các ổ đĩa lên đến 2048 GB, cung cấp hiệu suất cao ngang với SCSI. Bộ điều khiển IDE hỗ trợ một trong hai đĩa cứng ảo hoặc đĩa Passthrough. Các máy ảo có thể được tối đa bốn đĩa IDE (2 bộ điều khiển với 2 đĩa). Trong Hyper-V, có thể khởi động một máy ảo bằng từ một đĩa ảo được kết nối thông qua giao diện IDE. Khởi động từ SCSI ảo thì không được hỗ trợ.
- SCSI: là một thiết bị tổng hợp. Có thể có đến bốn bộ điều khiển SCSI cho mỗi máy ảo. Mỗi bộ điều khiển hỗ trợ 64 đĩa, tổng cộng thì có 256 đĩa cho mỗi máy ảo. Mỗi máy ảo không được cấu hình để khởi động từ một bộ điều khiển SCSI.
- iSCSI: máy ảo kết nối với một mạng vật lý có thể tận dụng lợi thế của lưu trữ iSCSI. Máy ảo kết nối trực tiếp đến thiết bị lưu trữ iSCSI qua mạng iSCSI, bỏ qua việc kết nối đến máy chủ Hyper-V. Tất cả những gì cần thiết là cấu hình thích hợp trong các máy ảo và iSCSI chạy một nơi nào đó trên mạng và có thể truy cập máy ảo. Không có giới hạn số lượng đĩa iSCSI được hỗ trợ trên máy ảo.
2.4.2 Network trong Hyper-V
Với Hyper-V, các hệ điều hành client sẽ không bao giờ truy cập trực tiếp vào phần cứng, các giao diện quản lý của Hyper-V có thể điều khiển lưu lượng qua lại thông qua các giao diện ảo và giao diện vật lý.
Hyper-V có Virtual Network Manager dùng để tạo và điều khiển các switch ảo. Không có sự hạn chế về số lượng các Switch ảo có thể tạo – phụ thuộc vào kiểu mạng ảo sẽ làm việc chung. Ví dụ các mạng ảo ngoài về cơ bản đều nằm trên các NIC vật lý, vì vậy chỉ có thể có được số lượng mạng ngoài bằng số lượng NIC vật lý.
Tất cả các máy ảo kết nối đến cùng một Switch của mạng ảo sẽ đều được kết nối đến
cùng một Switch. Mỗi một Switch ảo sẽ được cách ly về mặt logic với tất cả các Switch ảo khác. Nếu muốn các Host kết nối với một Switch ảo nào đó làm nhiệm vụ truyền thông với các Host nằm trên một switch ảo khác khi đó phải tạo Router ảo, máy chủ VPN, tường lửa hoặc thiết bị tương tự như những thiết bị có trên mạng vật lý.
Có ba kiểu Card mạng ảo có thể kết nối trong Hyper-V:
- Private Virtual Network: là một Switch ảo mà chỉ có các máy ảo mới có thể kết nối đến nó. Các hệ điều hành khách được kết nối với cùng một Private Virtual Network có thể truyền thông với nhau. Card mạng này thì không thể giao tiếp với các hệ điều hành Host được.
- Internal Virtual Network: là một switch ảo được tách biệt giống như Private Virtual Network nhưng trong trường hợp Internal Virtual Network hệ điều hành Host có thể truy cập vào các máy ảo khách thông qua Internal Virtual Network Virtual Switch.
- External Virtual Network: kết nối với các adapter mạng vật lý. Card mạng này có nhiệm vụ kết nối với máy vật lý để kết nối ra mạng ngoài. Sau khi cài đặt Hyper-V xong và cấu hình địa chỉ IP cho card mạng thật thì tất cả IP này sẽ được chuyển qua External.
Hyper-V hỗ trợ hai kiểu NIC ảo Legacy NIC và High Speed NIC. Mỗi một máy ảo có thể có đến 12 NIC ảo gắn với nó, đặc biệt hơn là có tới 8 NIC tốc độ cao High Speed NIC và 4 Legacy NIC.
2.4.3 Công cụ quản lý
Hình 4 Công cụ quản lý Hyper-V
Dùng công cụ Hyper-V Manager để quản lý các máy ảo, công cụ này được tạo ra khicài đặt xong Hyper-V.
Hyper-V Manager có một số tính năng như:
- New virtual machine: Tạo ra các máy ảo cho hệ thống.
- Export và Import: dùng cho việc muốn di trú các máy ảo giữa các Host
- Virtual Machine Manager: quản lý các card mạng ảo trong Hyper-V.
- Edit Disk: quản lý các ổ đĩa cho các máy ảo trong hệ thống.
- Snapshot: dung để chụp lại các quá trình làm việc của máy ảo,khi có máy ảo nào bị hư thì có thể khôi phục lại nhanh chóng mà không cần phải tạo mới lại từ đầu.