Hướng dẫn chạy VMware Nested ESXi 8.0 trên Proxmox VE: Dựng Lab vSphere không lo rào cản HCL

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

1. Bối cảnh & Tại sao nên chạy Nested ESXi trên Proxmox?

Khi chuẩn bị kịch bản nâng cấp cụm vSphere 7.0 lên 8.0 cho production, nhiều anh em sysadmin gặp ngay rào cản: dàn server lab cũ bị VMware loại khỏi danh sách hỗ trợ phần cứng (Hardware Compatibility List – HCL). ESXi 8.0 từ chối nhận card Realtek RTL8111, bỏ rơi chip Intel Xeon E5 v3/v4 và dừng ngay ở màn hình boot.

Đầu tư thêm server đạt chuẩn enterprise chỉ để test tính năng mới thường tốn từ 1.500$ đến 3.000$ — con số quá lãng phí cho môi trường lab. Lúc này, tận dụng node Proxmox VE sẵn có để dựng Nested ESXi 8.0 là giải pháp tối ưu.

KVM trên Proxmox đóng vai trò lớp đệm phần cứng (hardware abstraction layer). Nó ảo hóa toàn bộ CPU với đầy đủ cờ lệnh, cấp card mạng VMXNET3/E1000e chuẩn enterprise và controller SCSI/NVMe mà bộ cài ESXi 8.0 nhận diện mượt mà.

2. Chuẩn bị & Cài đặt máy ảo ESXi 8.0 trên Proxmox VE

Bước đầu tiên, bạn cần đảm bảo kernel KVM trên Proxmox host đã bật tính năng lồng cờ ảo hóa (Intel VT-x hoặc AMD-V).

Kích hoạt Nested Virtualization trên Proxmox host

Mở terminal SSH vào Proxmox node và kiểm tra trạng thái module kernel:

# Kiểm tra đối với CPU Intel (kết quả Y hoặc 1 là đã bật)
cat /sys/module/kvm_intel/parameters/nested

# Kiểm tra đối với CPU AMD
cat /sys/module/kvm_amd/parameters/nested

Nếu màn hình trả về N hoặc 0, hãy cấu hình file modprobe để bật vĩnh viễn:

# Với CPU Intel
echo "options kvm_intel nested=1" > /etc/modprobe.d/kvm-nested.conf

# Với CPU AMD
echo "options kvm_amd nested=1" > /etc/modprobe.d/kvm-nested.conf

# Nạp lại module (lưu ý: đảm bảo không có VM nào đang chạy)
modprobe -r kvm_intel && modprobe kvm_intel || reboot

Tạo máy ảo ESXi 8.0 chuẩn bằng CLI

Upload file ISO VMware-VMvisor-Installer-8.0U2.iso vào storage local. Sau đó, chạy lệnh tạo VM với cấu hình chuẩn để tránh lỗi tím màn hình (PSOD):

qm create 900 --name nested-esxi-01 \
  --memory 16384 --balloon 0 \
  --cores 4 --sockets 1 --cpu host \
  --ostype other --bios ovmf \
  --scsihw virtio-scsi-single \
  --scsi0 local-lvm:60,format=raw,cache=writeback \
  --net0 vmxnet3,bridge=vmbr0,firewall=0 \
  --cdrom local:iso/VMware-VMvisor-Installer-8.0U2.iso \
  --boot order=cdrom;scsi0

3. Cấu hình chi tiết: CPU Type, Storage & Promiscuous Network

Nếu tạo VM qua giao diện web Proxmox, bạn cần lưu ý 3 thiết lập bắt buộc sau:

Cấu hình CPU Type = Host

Đây là thông số quan trọng nhất. Nếu giữ mặc định kvm64, installer của VMware sẽ báo lỗi thiếu cờ phần cứng và dừng cài đặt. Chọn host sẽ chuyển trực tiếp toàn bộ tập lệnh (VT-x/AMD-V, SSE4.2, AES-NI) từ CPU vật lý vào trong máy ảo ESXi.

Cấu hình Promiscuous Network cho Linux Bridge

Mỗi máy ảo con chạy bên trong Nested ESXi sẽ mang một địa chỉ MAC riêng. Theo mặc định, Linux Bridge (vmbr0) trên Proxmox sẽ lọc và drop các gói tin có MAC lạ, khiến VM con không nhận được IP DHCP.

Cách xử lý nhanh: tắt MAC learning trên bridge để gói tin được forward tự do. Mở file /etc/network/interfaces trên Proxmox host:

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0
    bridge-ageing 0

Thuộc tính bridge-ageing 0 đưa bridge về chế độ forward broadcast/unicast tự do. Sau khi sửa, chạy ifreload -a để áp dụng cấu hình.

Bypass kiểm tra CPU cũ khi boot installer

Với các dòng CPU Intel Xeon đời Haswell/Broadwell hoặc Core i thế hệ 4-6, trình cài đặt ESXi 8.0 có thể hiện cảnh báo CPU không được hỗ trợ. Tại màn hình bootloader đếm ngược 5 giây, hãy nhấn tổ hợp phím Shift + O, thêm tham số sau vào cuối dòng lệnh rồi nhấn Enter:

allowLegacyCPU=true

4. Kiểm tra, Cài đặt VM con & Giám sát tài nguyên

Sau khi hoàn tất cài đặt, khởi động lại VM 900 và truy cập ESXi Host Client qua trình duyệt tại địa chỉ hiển thị trên màn hình console (ví dụ: https://192.168.1.50).

Tạo máy ảo con thử nghiệm kết nối mạng

Upload file ISO nhẹ (như Alpine Linux ~50MB hoặc Ubuntu Server 24.04) lên datastore của ESXi. Tạo một VM thử nghiệm và bật nguồn. Đăng nhập vào VM con để kiểm tra routing:

# Kiểm tra IP nhận được từ DHCP của mạng LAN
ip a

# Ping gateway và DNS công cộng
ping -c 4 192.168.1.1
ping -c 4 1.1.1.1

Nếu ping trả lời ổn định với latency dưới 1ms, đường truyền nested network đã thông suốt hoàn toàn.

Giám sát tải hệ thống trên Proxmox Host

Mô hình nested virtualization luôn tốn thêm 5-10% overhead tài nguyên. Lưu ý quan trọng: Tuyệt đối không bật Memory Ballooning cho VM ESXi. Kernel của ESXi yêu cầu RAM tĩnh và sẽ crash ngay lập tức nếu bị co giãn bộ nhớ đột ngột.

Kiểm tra tải thực tế của VM từ Proxmox CLI:

# Xem trạng thái và thông số cấp phát của VM 900
qm status 900 -v

# Giám sát tải CPU và RAM tổng thể toàn server
pvetop

Chỉ với một máy chủ Proxmox vật lý có 64GB RAM và 8 core CPU, bạn đã có thể dựng gọn 2 node Nested ESXi kèm 1 VM vCenter Server Appliance (VCSA 8.0). Đây là nền tảng hoàn hảo để test vMotion, HA, DRS và vSAN mà không tốn ngân sách cho phần cứng chuyên dụng.

Share: