Quick start: Bật nhanh trong 5 phút
Để dựng một máy ảo ESXi bên trong máy chủ ESXi vật lý (Nested ESXi), bạn chỉ cần xử lý đúng 2 thiết lập sau:
Bước 1: Bật Hardware Virtualization cho VM
Mặc định ESXi chặn máy ảo con dùng tập lệnh ảo hóa của CPU. Hãy bật lại cờ này trước khi cài OS:
- Truy cập vào giao diện web ESXi Host Client.
- Tắt nguồn (Power Off) máy ảo định dùng làm ESXi con.
- Click chuột phải vào VM > Edit settings.
- Mục CPU, tick chọn Hardware virtualization: Expose hardware assisted virtualization to the guest OS.
- Lưu lại bằng nút Save.
Nếu thao tác qua SSH, bạn chỉ cần chèn thẳng tham số này vào file .vmx:
echo 'vhv.enable = "TRUE"' >> /vmfs/volumes/datastore1/Nested-ESXi-01/Nested-ESXi-01.vmx
Bước 2: Mở cờ bảo mật mạng trên Port Group
Không mở 3 tùy chọn sau, VM bên trong ESXi con sẽ mất mạng hoàn toàn. Chúng không thể nhận DHCP lẫn ping ra gateway:
- Mở menu Networking > chọn thẻ Port groups.
- Chọn đúng Port Group cấp mạng cho máy ảo Nested (ví dụ:
VM Network) > bấm Edit settings. - Mở rộng mục Security và chuyển cả 3 dòng sau sang Accept:
- Promiscuous mode: Accept
- MAC address changes: Accept
- Forged transmits: Accept
- Bấm Save. Lúc này bạn đã có thể bật nguồn VM và cài ESXi bình thường.
Nested Virtualization hoạt động ra sao?
Hiểu đơn giản, đây là mô hình “ảo hóa lồng trong ảo hóa”. Bạn cài hypervisor ESXi con lên một máy ảo, rồi lại tạo tiếp máy ảo chạy bên trong con ESXi đó.
Tại sao phải làm vậy? Khi cần test tính năng vSphere HA, DRS hay vSAN, VMware bắt buộc bạn phải có tối thiểu 3 host ESXi. Đi xin sếp 3 con server vật lý chỉ để vọc tính năng là điều bất khả thi. Chi phí phần cứng quá đắt đỏ. Với Nested ESXi, bạn gom cả cụm cluster đó vào một server vật lý duy nhất. Thậm chí một máy bàn cấu hình đủ khỏe cũng gánh tốt.
Về cơ chế xử lý, tính năng Hardware Assisted Virtualization (VHV) sẽ can thiệp vào tầng chip (Intel VT-x hoặc AMD-V). Hypervisor cha không xử lý giả lập nữa. Nó chuyển tiếp trực tiếp chỉ thị CPU xuống hypervisor con, giúp hypervisor con tương tác với phần cứng gần như máy thật.
Tối ưu mạng và tự động hóa khi lab mở rộng
Tạo từ 3 đến 4 host con bằng tay rất mất thời gian. Bạn nên dùng PowerCLI để gán cờ ảo hóa hàng loạt bằng một lệnh ngắn:
# Bật Nested Virtualization cho toàn bộ VM lab có tên bắt đầu bằng Nested-ESXi
Get-VM -Name "Nested-ESXi*" | Get-VMResourceConfiguration | Set-VMResourceConfiguration -NestedHVEnabled $true
Về hạ tầng mạng, bật Promiscuous mode trên Standard vSwitch chỉ là giải pháp tạm thời. Chế độ này ép card mạng ảo hứng mọi gói tin rác, làm CPU host mẹ tăng tải. Khi dùng Distributed Switch (VDS), bạn nên chuyển sang MAC Learning:
# Bật MAC Learning cho port group lab trên vSphere Distributed Switch qua esxcli
esxcli network vswitch dvs vmware mac-learning set -v "DVSwitch-Lab" -p "Nested-PG" -e true
Cơ chế này ghi nhớ địa chỉ MAC động như switch cứng ngoài đời. Mạng thông suốt mà CPU không bị nghẽn vì broadcast storm.
Kinh nghiệm thực chiến khi dựng lab ESXi lồng nhau
Dưới đây là một số lưu ý mình rút ra sau nhiều lần dựng môi trường test staging:
- RAM vật lý tối thiểu 64GB: Mỗi ESXi con cần tối thiểu 8GB RAM để chạy mượt. Con vCenter (VCSA 8.0) bản Tiny ngốn đứt 14GB RAM. Đừng lạm dụng Memory Ballooning cho VM làm host. ESXi con mà bị ép swap bộ nhớ xuống đĩa thì toàn bộ VM bên trong sẽ đơ cứng.
- Cấu hình Disk UUID cho lab vSAN: Muốn dựng cụm vSAN trên ESXi ảo, bạn buộc phải mở cờ nhận diện đĩa. Thêm dòng này vào file
.vmxcủa từng host con, nếu không vSAN sẽ từ chối nhận ổ:
disk.EnableUUID = "TRUE"
- Nói không với HDD truyền thống: Chạy 3 host lồng nhau sinh ra lượng I/O ngẫu nhiên cực lớn. Dùng HDD chạy lab sẽ khiến disk latency vọt lên 2.000ms – 5.000ms, hệ thống treo ngay lúc boot. Hãy dùng tối thiểu SSD SATA III, khuyến khích lắp SSD NVMe để test vSAN.
- Tránh tạo vòng lặp mạng (Loop): Khi bật Promiscuous Mode, tuyệt đối không nối bridge hai vSwitch mẹ – con với nhau nếu chưa bật BPDU Guard hay STP. Một vòng lặp broadcast duy nhất có thể làm sập luôn switch mạng của cả văn phòng trong vài giây.

