Giải thích về ảo hóa lồng nhau trong Hyper-V
Ảo hóa lồng nhau (nested virtualization) của Hyper-V là một tính năng lần đầu tiên được ra mắt cùng với Windows Server 2016 và Windows 10, và có sẵn trên cả máy trạm lẫn máy chủ. Với sự ra đời của tính năng này, phạm vi ứng dụng của trình ảo hóa Microsoft Hyper-V đã được mở rộng. Bài viết trên blog này giải thích ảo hóa lồng nhau là gì, cũng như các trường hợp sử dụng, yêu cầu và hạn chế của ảo hóa lồng nhau trong Microsoft Hyper-V.
Ảo hóa lồng nhau là gì?
Ảo hóa lồng nhau trong Microsoft Hyper-V là một tính năng cho phép bạn tạo các máy ảo (VM) bên trong các máy ảo Hyper-V khác đang chạy trên một máy chủ Hyper-V. Các máy ảo chạy bên trong các máy ảo khác này được gọi là máy ảo lồng nhau. Lưu ý rằng Công nghệ ảo hóa lồng nhau cũng có thể được cấu hình trong VMware các môi trường.
Các trường hợp sử dụng
Dưới đây là một số trường hợp sử dụng cho ảo hóa lồng nhau trong môi trường ảo:
Creating isolated environments. Bạn có thể sử dụng tính năng này để tạo các máy ảo lồng nhau được kết nối với nhau qua một mạng ảo cách ly. Nhờ đó, bạn có thể tạo ra một môi trường hoàn toàn cách ly, không ảnh hưởng đến các máy ảo và mạng thông thường của bạn.Training/testing/development. Việc đào tạo rất hữu ích để giúp người dùng hoặc quản trị viên mới làm quen với phần mềm (hoặc giúp người dùng hoặc quản trị viên hiện tại làm quen với phần mềm mới). Tuy nhiên, việc đào tạo trong môi trường sản xuất có thể dẫn đến sự không ổn định hoặc thậm chí là sự cố. Với ảo hóa lồng nhau, bạn có thể mô phỏng môi trường sản xuất trên các máy ảo lồng nhau mà không ảnh hưởng gì đến môi trường sản xuất thực tế.Ngoài việc đào tạo cho quản trị viên, các chuyên gia kiểm thử chất lượng (QA) và nhà phát triển cũng có thể cần loại môi trường này cho mục đích kiểm thử hoặc phát triển. Lợi ích là bạn có thể sử dụng các máy ảo lồng nhau trong các môi trường ảo hiện có cho các mục đích này mà không cần phải mua thêm phần cứng chuyên dụng.
Building a private cloud. Việc triển khai một đám mây riêng thực sự với cổng thông tin tự phục vụ cho người dùng có thể tốn kém và tốn nhiều công sức. Với ảo hóa lồng nhau, bạn có thể triển khai một đám mây riêng ảo với chức năng tương tự như loại đám mây đó. Ví dụ: bạn có thể tạo một máy ảo (VM) đã cài đặt Hyper-V Server và phân bổ 256 GB RAM.Người dùng có thể tạo và cấu hình các máy ảo lồng nhau bên trong máy ảo đã cài đặt Hyper-V tùy theo nhu cầu của họ, nhưng không được vượt quá giới hạn bộ nhớ và tiêu thụ quá 256 GB RAM. Bạn có thể thêm bộ nhớ và bộ điều hợp mạng ảo vào các máy ảo đã cài đặt Hyper-V bằng tính năng hot-add mà không gây gián đoạn hoạt động.
Yêu cầu và giới hạn
Bạn cần đáp ứng các yêu cầu sau để triển khai ảo hóa lồng nhau trong Hyper-V:
- Hệ điều hành máy chủ phải là Windows Server 2016 hoặc Windows 10 (bản cập nhật Anniversary) trở lên.
- Máy ảo Hyper-V phải là phiên bản 8 trở lên.
- Máy chủ vật lý phải có CPU tương thích hỗ trợ các tính năng ảo hóa phù hợp.
- Chỉ các bộ xử lý Intel được trang bị công nghệ VT-x và EPT mới hỗ trợ ảo hóa lồng nhau trên Windows Server 2016, Windows Server 2019 và Windows 10.
- Nếu bạn sử dụng bộ xử lý AMD có tính năng ảo hóa AMD-V, bạn phải sử dụng Windows Server 2022 hoặc Windows 11 để được hỗ trợ ảo hóa lồng nhau trên Hyper-V.
- Các phiên bản Windows mới nhất hỗ trợ cả bộ xử lý AMD và Intel.
- Phải có đủ bộ nhớ vật lý để chạy các máy ảo (VM).
- Máy ảo không nên Sử dụng bộ nhớ động.
- Mặc dù không phải là yêu cầu bắt buộc, nhưng khuyến nghị bạn nên sử dụng ổ SSD để Nâng cao hiệu suất của máy ảo, vì tốc độ ổ đĩa thấp sẽ làm giảm đáng kể hiệu suất.
Một số hạn chế áp dụng cho các máy ảo (VM) đang lưu trữ các máy ảo lồng nhau (các máy ảo lồng nhau có thể được gọi là “khách trong cùng”):
- Các trạm kiểm soát không thể áp dụng cho một máy ảo đang chạy.
- Quá trình di chuyển trực tiếp (Live migration) không thành công đối với máy ảo.
- Chức năng điều chỉnh dung lượng bộ nhớ trong thời gian chạy không hoạt động.
Lưu ý: Các tính năng liên quan đến ba hạn chế nêu trên có thể được sử dụng cho các máy ảo bên trong cùng.
VT-x/AMD-V lồng nhau là gì?
Intel VT-x và AMD-V là các bộ lệnh dành cho bộ xử lý, cho phép ảo hóa phần cứng. Khi sử dụng ảo hóa lồng nhau, bạn cần kích hoạt một trong các tính năng này cho máy ảo được dùng để lồng nhau. Chỉ khi đó, máy ảo mới có thể sử dụng các tính năng ảo hóa phần cứng của bộ xử lý để chạy các máy ảo lồng nhau.
Cách kích hoạt ảo hóa lồng nhau Hyper-V và tạo máy ảo lồng nhau
Phần này hướng dẫn các bước cấu hình ảo hóa lồng nhau Hyper-V trên Windows Server 2019. Quy trình cấu hình này cũng áp dụng cho Windows Server 2016 và Windows Server 2022.
Cấu hình máy chủ Hyper-V
Trước tiên, bạn cần cấu hình máy chủ Hyper-V:
- Chuẩn bị một máy chủ vật lý có CPU tương thích, đủ bộ nhớ và dung lượng lưu trữ phù hợp.
- Kiểm tra xem các tính năng ảo hóa CPU như Intel VT-x đã được bật trong BIOS hay chưa.
- Cài đặt Hyper-V Server 2019, Windows Server 2019 hoặc hệ điều hành Windows 10.
- Thêm vai trò máy chủ Hyper-V nếu bạn đang sử dụng hệ điều hành Windows đầy đủ tính năng (hoặc Kích hoạt Hyper-V trong Windows 10). Bạn cũng có thể sử dụng giao diện người dùng đồ họa (GUI) và Server Manager.
Triển khai máy ảo khách
Tiếp theo, bạn cần tạo một máy ảo và cài đặt hệ điều hành khách:
- Tạo máy ảo Hyper-V trong Windows Server hoặc Tạo một máy ảo trên Windows 10.
- Cài đặt hệ điều hành hỗ trợ ảo hóa lồng nhau cho Hyper-V trên máy ảo khách, tức là cài đặt Windows 10 Anniversary Update trở lên hoặc Windows Server 2016 trở lên.
Trong hướng dẫn này, chúng tôi sử dụng Windows Server 2016. Bạn có thể sử dụng các phiên bản Windows mới hơn.
Cấu hình máy ảo khách
Theo mặc định, tính năng ảo hóa phần cứng bị tắt trên máy ảo khách. Hệ điều hành sẽ hiển thị thông báo lỗi nếu bạn cố gắng thêm vai trò Hyper-V cho máy ảo.
Bạn chỉ có thể bật tính năng ảo hóa phần cứng cho hypervisor khách thông qua PowerShell. Lưu ý rằng máy ảo khách phải được tắt nguồn để thực thi các lệnh sau.
- Trước tiên, hãy kiểm tra xem tính năng ảo hóa phần cứng đã được bật cho máy ảo khách chưa. Thực thi lệnh sau trên hệ điều hành máy chủ (được cài đặt trên máy vật lý):
Get-VMProcessor -VMName vm_name | fl *Thay thế vm_name bằng tên máy ảo của bạn. Trong ví dụ này, tên máy ảo là Server2016. WIN2018 là tên máy tính đại diện cho máy vật lý nơi Windows được cài đặt cùng với vai trò Hyper-V.
- Để kích hoạt ảo hóa phần cứng bên trong máy ảo khách, hãy dừng máy ảo trước và thực thi lệnh sau:
Set-VMProcessor -VMName vm_name -ExposeVirtualizationExtensions $trueNếu mọi thứ diễn ra bình thường, sẽ không có thông báo nào hiển thị sau khi nhập lệnh. Nếu máy ảo đang chạy, thông báo lỗi sau sẽ xuất hiện:
Kết nối mạng của máy ảo
Bây giờ, bạn cần cấu hình cài đặt mạng cho máy ảo của mình. Có hai cách để kết nối các máy ảo lồng nhau với mạng: MAC spoofing và NAT.
- Nếu mạng cho các máy ảo lồng nhau được cấu hình bằng cách cung cấp quyền truy cập vào Mạng cục bộ (LAN) thực, thì một bộ điều hợp mạng trên máy chủ sẽ mang nhiều địa chỉ MAC – điều này có thể gây ra các sự cố mạng. Đó là lý do tại sao tùy chọn
MAC address spoofingphải được kích hoạt (tùy chọn này bị tắt theo mặc định). - Nếu triển khai đám mây riêng ảo (pseudo-private cloud), không thể sử dụng tính năng giả mạo địa chỉ MAC cho mạng máy ảo, và trong trường hợp này, bạn nên cấu hình
NAT.
Lưu ý: Cả hai phương pháp đều được đề cập bên dưới, nhưng chúng ta sẽ sử dụng phương pháp NAT để cấu hình máy ảo sử dụng ảo hóa lồng nhau của Hyper-V.
Cấu hình tính năng giả mạo địa chỉ MAC
Nếu sử dụng tính năng giả mạo địa chỉ MAC, hãy kích hoạt tính năng này trên bộ điều hợp mạng của máy chủ ảo Hyper-V:
- Trên máy vật lý đã cài đặt Hyper-V Server, hãy nhập lệnh sau để kích hoạt tính năng giả mạo địa chỉ MAC: `
Get-VMNetworkAdapter -VMname vm_name | Set-VMNetworkAdapter -MacAddressSpoofing On`. Thay thế `
vm_name` bằng tên máy ảo của bạn. Trong trường hợp của chúng ta, đó là `Server2016`, như đã đề cập ở trên. `
- `. Nếu bạn thích sử dụng giao diện đồ họa (GUI), hãy truy cập `
VM Settings>Network adapter>Advanced features`, chọn hộp kiểm `Enable MAC address spoofing` và nhấp vào OK. `
` Cấu hình NAT
Chỉ có thể kích hoạt NAT thông qua PowerShell. Trong khi các lệnh trước đó được thực thi trên hệ điều hành chủ, các lệnh sau đây phải được thực thi trên hệ điều hành khách.
Để kích hoạt NAT cho kết nối mạng của máy ảo:
- Đầu tiên, tạo một công tắc ảo mới.
New-VMSwitch -Name "SwitchName" -SwitchType InternalSử dụng tên bộ chuyển mạch của bạn thay vì
SwitchName. Trong hướng dẫn này, chúng tôi sử dụngNAT-Switch.
- Xác định mạng con phía sau NAT và kích hoạt NAT. Địa chỉ mạng không được trùng lặp với các địa chỉ IP trong mạng hiện có của bạn. Trong ví dụ này, tên mạng là
NAT-netvà địa chỉ mạng là192.168.2.0/24New-NetNat -Name "network_name" -InternalIPInterfaceAddressPrefix 'ip-address/netmask'
- Sau đó, gán địa chỉ IP cho giao diện mà trên đó NAT đã được kích hoạt.
Tạo danh sách các bộ điều hợp có sẵn để kiểm tra tên của chúng bằng lệnh sau:
Get-NetAdapter | ft -AutosizeTrong ví dụ này, tên của bộ điều hợp mạng ảo được kết nối với bộ chuyển mạch ảo đã tạo trước đó là
vEthernet (NAT-Switch).
- Bây giờ, bạn cần định nghĩa địa chỉ IP cho bộ điều hợp mạng ảo này, địa chỉ này phải thuộc về mạng đã tạo. Các máy ảo lồng nhau (Nested VMs) sẽ sử dụng địa chỉ IP của giao diện mạng này làm cổng (gateway). Trong ví dụ của chúng ta, địa chỉ IP này là 192.168.2.1 – nó thuộc mạng 192.168.2.0/24
Get-NetAdapter "adapter_name" | New-NetIPAddress -IPAddress ip_address -AddressFamily IPv4 -PrefixLength mask_number
Cấu hình máy ảo lồng nhau (Nested VM)
Bây giờ bạn có thể tạo và cấu hình một máy ảo lồng nhau. Trong hướng dẫn này, một máy ảo chạy Windows Server 2016 được sử dụng làm máy ảo lồng nhau.
- Chọn bộ chuyển mạch ảo (mà bạn vừa tạo) trong cài đặt mạng của máy ảo tại Trình quản lý Hyper-V.
- Cấu hình các thiết lập TCP/IP trong
Network Adapter Propertiescủa máy ảo lồng nhau. Nếu không có máy chủ DHCP trong mạng ảo, hãy gán địa chỉ IP, mặt nạ mạng con, cổng mặc định và máy chủ DNS theo cách thủ công.
Lưu ý: Kiểm tra cài đặt tường lửa của bạn, vì tường lửa có thể chặn các kết nối mạng.
Máy ảo lồng nhau của bạn hiện đã được cấu hình mạng và sẵn sàng để chạy. 
Bảo vệ máy ảo (VM) bằng NAKIVO Backup & Replication
Tất cả các máy ảo, bao gồm cả máy ảo lồng nhau, đều cần được sao lưu để đảm bảo độ tin cậy của môi trường ảo Hyper-V của bạn. NAKIVO Backup & Replication cung cấp Sao lưu Hyper-V đáng tin cậy các bản sao lưu gia tăng dựa trên hình ảnh với tốc độ cao, tận dụng công nghệ theo dõi thay đổi linh hoạt (Resilient Change Tracking – RCT) gốc của Hyper-V. Thông qua các bản sao lưu này, bạn có thể khôi phục các đối tượng/tệp ứng dụng, khởi động máy ảo ngay lập tức hoặc khôi phục máy ảo Hyper-V dưới dạng máy ảo VMware vSphere, cùng nhiều tùy chọn khôi phục khác.











