Giảm chi phí License · Dành cho SMB · Proxmox FREE

Tối ưu chi phí hệ thống: Migrate
VMware vCenter (3 ESXi) sang
Proxmox VE Cluster miễn phí

Dành cho doanh nghiệp vừa và nhỏ (SMB) muốn giảm chi phí license VMware/Broadcom mà vẫn đảm bảo ổn định, HA, và khả năng scale. Hướng dẫn step-by-step từ khảo sát hạ tầng, migrate NAS/SAN, đến vận hành Proxmox cluster — dùng hoàn toàn bản FREE (no-subscription).

~40 phút đọc 15 phases Proxmox VE 8.1+ (FREE) Migrate NAS / SAN SMB · 10–500 VMs Cập nhật 2026
Tiết kiệm $8,000–$50,000+/năm so với VMware vSphere Foundation / Enterprise Plus
VMware ESXi vẫn là lựa chọn tốt — bài này không bài xích, chỉ bổ sung phương án tiết kiệm

I I. Tổng quan & Kiến trúc đích

🏛️ VMware ESXi / vSphere Khuyến nghị khi có ngân sách
  • ✅ Nền tảng enterprise trưởng thành, cực kỳ ổn định
  • ✅ Hệ sinh thái rộng: Veeam, Zerto, SRM, NSX…
  • ✅ Hỗ trợ kỹ thuật 24/7 từ Broadcom/partner
  • ✅ Phù hợp doanh nghiệp lớn, yêu cầu SLA cao
  • ⚠️ Chi phí license sau Broadcom mua lại tăng mạnh
  • ⚠️ SMB < 500 VMs: ROI license thường không tương xứng
🔶 Proxmox VE (FREE) Phương án tiết kiệm cho SMB
  • ✅ Miễn phí hoàn toàn — cluster, HA, Ceph, backup đều FREE
  • ✅ KVM hypervisor (kernel Linux) — ổn định, được kiểm chứng
  • ✅ Cộng đồng lớn, tài liệu phong phú (forum, wiki, YouTube)
  • ✅ Phù hợp SMB 10–500 VMs, tiết kiệm $8k–$50k+/năm
  • ⚠️ Không có SLA hỗ trợ kỹ thuật chính hãng (bản FREE)
  • ⚠️ Cần đội ngũ kỹ thuật tự vận hành & troubleshoot
Quan điểm của bài viết — không bài xích VMware

VMware ESXi vẫn là hypervisor enterprise hàng đầu, đặc biệt phù hợp khi doanh nghiệp có ngân sách IT lớn, yêu cầu SLA cao, và hệ sinh thái phần mềm enterprise phụ thuộc VMware. Bài này dành riêng cho SMB đang chịu áp lực chi phí sau đợt tăng giá license của Broadcom — Proxmox là phương án thay thế bổ sung, không phải thay thế tuyệt đối.

Hai chiến lược triển khai
  • Side-by-side (khuyến nghị): Dựng Proxmox cluster mới song song, migrate VM xong mới tắt ESXi. Downtime thấp, rollback về ESXi bất cứ lúc nào.
  • In-place rolling: Migrate VM khỏi ESXi-01 → cài lại thành Proxmox node-01 → join cluster → lặp với host 02, 03. Không cần phần cứng mới nhưng risk cao hơn.

Sơ đồ kiến trúc — animated

BEFORE — VMware vCenter + 3 ESXi
🏛️
vCenter Server (vCSA)
Management · HA · DRS · vMotion
🖥️
ESXi-01
10.0.1.21
VM-web VM-app VM-db
🖥️
ESXi-02
10.0.1.22
VM-mssql VM-fs
🖥️
ESXi-03
10.0.1.23
VM-mail VM-proxy
💾
VMFS Datastore
NFS / iSCSI / FC-SAN
🗄️
NAS
Synology / QNAP
📦
SAN
Dell EMC / HPE
MIGRATE — Proxmox Import Wizard / qm importdisk
📋 Inventory → Backup → Shutdown VM 🔌 NAS/SAN re-connect ✅ Validate + Go-live
AFTER — Proxmox VE 8 Cluster (FREE)
Web GUI :8006 · SSH · pvecm · pvesh API
🔶
pve-01
10.0.1.11
vmbr0/1 VLAN10 OSD
🔶
pve-02
10.0.1.12
vmbr0/1 VLAN20 OSD
🔶
pve-03
10.0.1.13
vmbr0/1 VLAN30 OSD
⚡ Corosync ring0 + ring1
🪸
Ceph RBD
Hyper-converged · 3 replica
🗄️
NAS/NFS
Giữ nguyên NAS cũ
📦
SAN/LVM
Repurpose iSCSI/FC LUN

II II. Proxmox quản lý cluster — so với vCenter?

Proxmox có đủ tính năng tương đương vCenter nhưng tích hợp sẵn trong từng node — không cần server riêng để chạy management layer.

Điểm khác biệt cốt lõi

Đăng nhập vào bất kỳ node nào đều thấy và điều khiển toàn bộ cluster qua https://<node-ip>:8006 — không phụ thuộc một server management duy nhất. Nếu vCenter chết, bạn mất khả năng quản lý (dù VM vẫn chạy). Nếu 1 Proxmox node chết, quản lý tiếp qua 2 node còn lại.

Proxmox Datacenter — Cluster 3 Node (FREE)
Truy cập qua https://any-node:8006  — bất kỳ node nào cũng là Management
🔶
PVE-01
Web UI :8006 ✓
Corosync HA pvecm
Corosync
heartbeat
🔶
PVE-02
Web UI :8006 ✓
Corosync HA pvecm
Corosync
heartbeat
🔶
PVE-03
Web UI :8006 ✓
Corosync HA pvecm
🪸
Ceph RBD
Hyper-converged · 3 replica
🗄️
NAS / NFS
Giữ nguyên NAS cũ
📦
SAN / LVM
iSCSI / FC LUN
🖥️
PBS
Proxmox Backup Server

So sánh tính năng trực tiếp

Tính năng vCenter / vSphere Proxmox Cluster
Giao diện quản lý vSphere Client (tập trung ở vCenter) Web UI tích hợp sẵn mỗi node
Management server Cần VM riêng chạy vCenter (2 vCPU, 8GB+) Không cần — built-in mỗi node
Cluster engine vSphere HA + DRS Corosync + pvecm
Live Migration vMotion qm migrate --online hoặc kéo-thả GUI
High Availability vSphere HA Proxmox HA Manager (tự restart VM khi node chết)
Shared Storage VMFS / vSAN / NFS Ceph (built-in), NFS, iSCSI, LVM
Backup vDP / Veeam (license riêng) Proxmox Backup Server — miễn phí
RBAC / Permissions vCenter Roles Proxmox Datacenter Roles (tương đương)
REST API vSphere REST API Proxmox REST API (đầy đủ, dễ dùng hơn)

Tính năng vCenter không có trên Proxmox Free

Tính năng vCenter Proxmox Free Giải pháp thay thế
DRS — tự động cân bằng tải Live migrate thủ công khi cần cân bằng
vSAN ~ Ceph (built-in, free, cần ≥3 node)
NSX-T (micro-segmentation) Proxmox Firewall + VLAN tagging
vCenter Converter (P2V) ~ Import Wizard + qm importdisk
Kết luận cho SMB 3 server

Proxmox cluster đủ dùng cho ≥95% nhu cầu vCenter của doanh nghiệp vừa nhỏ. Tiết kiệm license vCenter (~$10,000+/năm) và không cần VM management riêng. Đánh đổi duy nhất đáng kể: không có DRS tự động — cân bằng tải phải thực hiện thủ công khi một node quá tải.

III III. So sánh công cụ Migration: Veeam vs Import Wizard vs Manual

Veeam Backup & Replication v12.1+ hỗ trợ restore trực tiếp lên Proxmox VE. Bảng dưới so sánh 3 phương án để bạn chọn phù hợp với hạ tầng và ngân sách thực tế.

Veeam → Proxmox: Có làm được không?

Được — Veeam B&R v12.1+ (phát hành 12/2023) hỗ trợ Restore to Proxmox VE như một target chính thức. Workflow: Backup ESXi VM bằng Veeam → Restore sang Proxmox cluster. Veeam tự chuyển đổi định dạng disk.

Lưu ý: Tính năng Restore to Proxmox chỉ có từ Veeam Standard trở lên (không có ở Community Edition miễn phí). Community Edition giới hạn 10 VM và chỉ restore về VMware/Hyper-V.

💡 Chiến lược Trial-for-Migration: Dùng Veeam 30-ngày trial (full Enterprise Plus features) để backup toàn bộ ESXi VM → restore sang Proxmox trong vòng 1 tháng → sau khi migration xong, không cần gia hạn license. Proxmox dùng PBS (Proxmox Backup Server) miễn phí cho backup về sau. Đây là phương án hợp lệ và được nhiều SMB áp dụng thực tế.

Bảng so sánh 3 phương án

Tiêu chí Veeam B&R → Proxmox Import Wizard (khuyến nghị) Manual qm importdisk
Chi phí $0 nếu dùng 30-ngày trial
Trial = full Enterprise Plus · migrate xong → không gia hạn
Mua license: ~$300–500/socket/năm nếu dùng lâu dài
✅ Miễn phí hoàn toàn ✅ Miễn phí hoàn toàn
Tốc độ migration 🐢 Chậm nhất
2 lần copy: ESXi→backup→Proxmox
🚀 Nhanh nhất
1 lần copy trực tiếp ESXi→Proxmox
🐌 Chậm
Export VMDK→upload→import
Downtime VM ✅ Thấp nhất
Incremental trước, cutover chỉ sync delta
⚠️ Trung bình
Shutdown VM trước khi import (có Live Import mode)
❌ Cao nhất
Bắt buộc shutdown, export thủ công
An toàn / Rollback ✅ Cao nhất
Backup file đầy đủ, rollback mọi lúc
⚠️ Trung bình
Cần backup riêng (PBS/snapshot) trước
✅ Cao
File VMDK gốc vẫn còn trên ESXi
Hạ tầng thêm ❌ Cần Windows server + backup storage (≥ tổng dung lượng VM) ✅ Không cần thêm gì ✅ Không cần thêm gì
Độ phức tạp ❌ Cao
Cài Veeam, cấu hình jobs, Proxmox target
✅ Thấp nhất
GUI wizard trên Proxmox Web UI
⚠️ Trung bình
CLI commands
Giới hạn số VM ⚠️ CE: 10 VM
Paid: không giới hạn
✅ Không giới hạn ✅ Không giới hạn
Backup VM đang chạy ✅ Có
Veeam CBT + VMware snapshot
✅ Có
Live Import mode (khuyến nghị vẫn shutdown)
❌ Không
Bắt buộc shutdown
Phiên bản yêu cầu Veeam B&R v12.1+
(Dec 2023)
Proxmox 8.1+ Mọi phiên bản Proxmox
Phù hợp nhất khi Đã có Veeam license, cần backup dài hạn sau migration, không được phép downtime dài SMB migrate nhanh, budget thấp, không có Veeam → Khuyến nghị ESXi version cũ, network hạn chế, case đặc biệt
Chọn Veeam khi
  • Dùng 30-ngày trial để migrate → sau đó không gia hạn — hợp lệ, $0 chi phí
  • Đã có sẵn Veeam license đang dùng backup ESXi
  • VM không được phép downtime dài — cần incremental sync
  • Muốn safety net rollback hoàn toàn về VMware nếu migration thất bại
  • Sau migration: chuyển sang PBS (Proxmox Backup Server) miễn phí
Chọn Import Wizard khi
  • Budget thấp, muốn hoàn toàn miễn phí
  • Migrate xong nhanh nhất
  • Proxmox 8.1+ và ESXi 6.0+
  • Đã có backup riêng (PBS, snapshot)
  • Không đủ storage chứa toàn bộ backup Veeam
Chọn Manual khi
  • ESXi version cũ (<6.0), Import Wizard không kết nối được
  • Network giữa ESXi và Proxmox bị hạn chế firewall
  • Cần kiểm soát chặt từng bước chuyển đổi
  • VM có cấu hình disk đặc biệt cần xử lý thủ công

IV IV. Kịch bản SMB thực tế: Không mua server mới

Bài toán phổ biến nhất của doanh nghiệp vừa nhỏ — số lượng server cố định, không có ngân sách mua thêm phần cứng. Hai phương án bên dưới dựa trên hạ tầng cụ thể: 3 ESXi host × (8 vCPU · 32GB RAM · 1TB).

📊 Tài nguyên hiện có
3
ESXi hosts
24
vCPU tổng
96GB
RAM tổng
3TB
Storage tổng
A
Mượn được 1 server từ đối tác NCC
Cấu hình: 4 vCPU · 16GB RAM · 500GB — dùng làm node bootstrap tạm thời
Ít risk hơn
Chiến lược: Server NCC làm "cầu nối" tạm thời
Server NCC không cần mạnh — chỉ cần đủ để: (1) làm node đầu tiên của Proxmox cluster cung cấp quorum, (2) chứa tạm một số VM nhẹ trong thời gian convert ESXi host. Trả lại sau 3–4 tuần.
Kiểm tra khả thi trước khi bắt đầu:
Điều kiệnServer NCC (4 vCPU · 16GB)Kết luận
Chứa VM nhẹ (web, proxy, monitor…)≤ 4 VM × ~2–4GB RAM✅ Đủ
Chứa VM nặng (DB, ERP)1 VM 8GB+ đã chiếm 50% RAM⚠️ Hạn chế
Proxmox cluster quorumChỉ cần 1 vCPU, 2GB RAM cho OS✅ Đủ
Storage tạm (500GB)VM disk tổng < 400GB là OK⚠️ Kiểm tra trước
Lộ trình 4 giai đoạn (~3–4 tuần):
W1
Tuần 1 — Dựng bootstrap + Convert ESXi-01
  1. Cài Proxmox VE 8 lên server NCC → pve-ncc (IP: 10.0.1.10)
  2. Tạo cluster 1 node: pvecm create lab-cluster
  3. Add NFS/NAS (nếu có) làm shared storage
  4. vMotion/cold migrate VM nhẹ từ ESXi-01 → ESXi-02/03 (VM còn lại trên ESXi)
  5. Import 2–3 VM nhẹ từ ESXi-02 vào pve-ncc bằng Import Wizard (chạy thử)
  6. Put ESXi-01 vào Maintenance Mode trên vCenter
  7. Wipe ESXi-01 → cài Proxmox VE 8 → pvecm add 10.0.1.10 → join cluster
  8. Cluster giờ có 2 node: pve-ncc + pve-01
W2
Tuần 2 — Migrate ESXi-02 VMs + Convert ESXi-02
  1. Import toàn bộ VM từ ESXi-02 → pve-01 (32GB RAM đủ thoải mái)
  2. Verify tất cả VM trên pve-01 hoạt động ổn định (24–48h)
  3. Put ESXi-02 Maintenance → Wipe → Cài Proxmox → join cluster thành pve-02
  4. Cluster giờ có 3 node: pve-ncc + pve-01 + pve-02
  5. Live migrate các VM từ pve-nccpve-01 hoặc pve-02
W3
Tuần 3 — Convert ESXi-03 + trả server NCC
  1. Import VM từ ESXi-03 → pve-01 / pve-02
  2. ESXi-03 Maintenance → Wipe → Cài Proxmox → join thành pve-03
  3. Cluster đủ 3 node Proxmox + 1 node NCC tạm
  4. Đảm bảo pve-ncc không còn VM → remove khỏi cluster: pvecm delnode pve-ncc
  5. Trả server NCC cho đối tác
W4
Tuần 4 — Ổn định hóa & Hardening
  1. Cluster 3 node Proxmox pve-01/02/03 hoạt động đầy đủ
  2. Thiết lập HA group, backup schedule (Proxmox Backup Server hoặc vzdump)
  3. Cấu hình monitoring, alert email
  4. Decommission vCenter Server (tắt vCSA)
  5. Run load balancing: live migrate VM để phân bổ đều 3 node
Quorum risk khi chỉ có 2 node
Khi cluster có pve-ncc + pve-01 (2 node), nếu 1 node mất điện → mất quorum → cluster đóng băng. Cách xử lý: deploy Corosync QDevice trên 1 VM nhỏ (1 vCPU, 512MB) đang chạy trên pve-01 để làm trọng tài thứ 3.
B
Không mượn được server — Rolling In-Place
Chuyển đổi từng ESXi host một, dùng 2 host còn lại làm "bãi đỗ tạm" cho VM
Risk cao hơn
Kiểm tra RAM — bước QUAN TRỌNG NHẤT trước khi bắt đầu

Khi consolidate tất cả VM vào 2 host (64GB RAM), cần đảm bảo tổng RAM đang dùng thực tế của toàn bộ VM < 56GB (giữ 8GB headroom cho hypervisor + overhead).

# Lấy tổng RAM ĐANG DÙNG THỰC TẾ (Active Memory) — không phải allocated
Get-VM | Select Name, @{N="RAM_Used_GB";E={[math]::Round($_.ExtensionData.Summary.QuickStats.GuestMemoryUsage/1024,1)}} | Sort RAM_Used_GB -Desc
# Nếu tổng RAM_Used_GB > 56 → cần tắt/suspend VM không quan trọng trước khi convert host
Lộ trình 3 đợt (~4–6 tuần):
1
Đợt 1 — Dồn VM + Convert ESXi-01 (~tuần 1–2)
  1. Chuẩn bị: Lập danh sách VM theo priority. VM critical = chuyển sang ESXi-02/03 trước. VM dev/test = có thể tắt tạm.
  2. Tắt VM không cần thiết trên ESXi-01 (dev, test, staging) để giảm tải.
  3. vMotion/cold migrate toàn bộ VM còn lại từ ESXi-01 → ESXi-02 và ESXi-03.
    ↳ ESXi-02: nhận VM web/app nhẹ | ESXi-03: nhận VM DB/critical nặng hơn
  4. Verify tất cả dịch vụ còn hoạt động sau khi di chuyển (24h quan sát).
  5. ESXi-01 → Maintenance Mode → Power off → Cài Proxmox VE 8 → tạo cluster mới (pvecm create).
  6. Cấu hình network bridge, add NAS/SAN storage vào Proxmox.
  7. Import Wizard: Add esxi-02esxi-03 làm ESXi storage source vào pve-01.
  8. Import lần lượt VM từ ESXi-02/03 → pve-01 (bắt đầu từ VM nhẹ, ít critical).
2
Đợt 2 — Convert ESXi-02 (~tuần 3–4)
  1. Lúc này pve-01 đang chứa một số VM. Tiếp tục import VM từ ESXi-02 sang pve-01 cho đến khi ESXi-02 rỗng.
  2. ESXi-03 vẫn chạy các VM critical chưa migrate được.
  3. Khi ESXi-02 đã rỗng: Maintenance → Wipe → Cài Proxmox → pvecm add 10.0.1.11 → join thành pve-02.
  4. Cluster 2 node: pve-01 + pve-02. Lập tức deploy QDevice để tránh mất quorum.
  5. Import tiếp VM từ ESXi-03 → phân bổ đều giữa pve-01pve-02.
3
Đợt 3 — Convert ESXi-03 + Hoàn thiện (~tuần 5–6)
  1. Lên lịch maintenance window cho VM critical trên ESXi-03 (ngoài giờ, cuối tuần).
  2. Import VM critical từ ESXi-03 → pve-01/pve-02. Verify kỹ từng VM trước khi tiếp.
  3. ESXi-03 rỗng → Maintenance → Wipe → Cài Proxmox → join thành pve-03.
  4. Cluster 3 node hoàn chỉnh. Remove QDevice tạm nếu đã dùng.
  5. Cân bằng tải VM: live migrate để mỗi node xấp xỉ nhau về RAM/CPU.
  6. Tắt vCenter Server, cleanup ESXi license.
Không rollback được dễ dàng
Khi ESXi host đã bị wipe, không có đường quay lại trừ khi bạn đã backup VM lên storage ngoài. Backup bắt buộc trước mỗi đợt convert.
RAM overcommit cẩn thận
Khi 2 host phải chứa tất cả VM: nếu tổng RAM vượt 56GB, host sẽ swap → hiệu năng giảm mạnh. Tắt VM dev/test hoặc giảm RAM allocated trước.
So sánh nhanh 2 phương án:
Tiêu chíPhương án A (Mượn NCC)Phương án B (Rolling)
Thời gian~3–4 tuần~4–6 tuần
RiskThấp — luôn có ≥ 2 Proxmox nodeCao hơn — 1 node duy nhất ban đầu
Rollback về ESXiDễ (ESXi-02/03 vẫn nguyên)Không thể khi đã wipe host
Downtime per VM5–15 phút (migrate lạnh)5–30 phút (migration + verify)
Yêu cầu RAM headroomThấp (NCC + 1 ESXi gánh được)Cao — cần tính toán trước
Chi phí thêmThỏa thuận mượn server NCCBằng 0
Khuyến nghị khi nàoCó thể liên hệ đối tác NCCNCC không có server cho mượn

1 Khảo sát hạ tầng & Inventory VM

Bước nền tảng — nếu bỏ qua sẽ phải sửa giữa chừng. Mục tiêu: nắm chính xác cái gì đang chạy ở đâu, dependency thế nào, downtime bao nhiêu là chấp nhận được.

1.1 Lập bảng inventory VM

Export từ vCenter (PowerCLI) hoặc làm tay theo template sau:

VM NameOSFirmwarevCPU/RAMDiskVLANIPSnapshot?CriticalityDowntime OK
db-prod-01Ubuntu 22.04UEFI8/32GB200GB1010.0.10.21NoCritical30 phút
web-app-02Win Server 2019BIOS4/8GB80GB2010.0.20.151High1h
fileshare-01Win Server 2022UEFI + Secure Boot4/16GB500GB1010.0.10.40NoMedium2h

Lệnh PowerCLI lấy nhanh inventory:

# Trên Windows có PowerCLI cài sẵn
Connect-VIServer vcenter.local -User [email protected]

Get-VM | Select Name, PowerState, NumCpu, MemoryGB,
    @{N="OS";E={$_.Guest.OSFullName}},
    @{N="Firmware";E={$_.ExtensionData.Config.Firmware}},
    @{N="IP";E={$_.Guest.IPAddress -join ","}},
    @{N="Host";E={$_.VMHost.Name}},
    @{N="Datastore";E={($_.DatastoreIdList | %{(Get-Datastore -Id $_).Name}) -join ","}} `
    | Export-Csv vm-inventory.csv -NoTypeInformation

1.2 Xác định dependency & thứ tự migrate

  1. Stateless trước, stateful sau: web/app server → app cache → message queue → database.
  2. Group theo service: migrate cả cụm 3-tier cùng lúc tránh latency chéo Proxmox ↔ ESXi.
  3. Đánh dấu VM có shared cluster (MSSQL AlwaysOn, Oracle RAC) — cần xử lý đặc biệt.

1.3 Backup bắt buộc trước khi đụng

KHÔNG migrate khi chưa có backup tách rời
Dùng Veeam / Nakivo / VDP / Vinchin: backup full tất cả VM, verify restore-test ít nhất 1 VM trước. Snapshot không phải backup.

2 Chuẩn bị phần cứng & Network

2.1 Yêu cầu phần cứng tối thiểu (per node)

Thành phầnTối thiểuKhuyến nghị production
CPU64-bit, có VT-x/AMD-V2× Intel Xeon Gold / AMD EPYC, ≥ tổng cores của ESXi cũ
RAM2 GB≥ 1.3× tổng RAM VMs (chừa overhead Ceph + ZFS ARC)
Disk hệ thống32 GB SSD2× 240 GB SSD enterprise (mirror ZFS)
Disk VMtùyNVMe enterprise có PLP (cho Ceph), hoặc SAS 12G
NIC1 Gbps2× 10 Gbps (mgmt + cluster) + 2× 25 Gbps (Ceph) — bond LACP
BMC/IPMIkhuyến nghịiDRAC / iLO / IPMI riêng VLAN — bắt buộc khi remote

2.2 Sơ đồ network khuyến nghị

🔀
Switch Core
LACP · MTU 9000 (Ceph) · Trunk tất cả VLAN
🛡️
VLAN 1 — Management
10.0.1.0/24
GUI :8006SSHCorosync ring0
💜
VLAN 99 — Corosync ring1
NIC vật lý riêng
heartbeat backupbest practice
🪸
VLAN 100 — Ceph Public
10.10.0.0/24
client ↔ MONclient ↔ OSD
🔴
VLAN 101 — Ceph Cluster
10.20.0.0/24 · MTU 9000
OSD↔OSD replication
🖥️
VLAN 10/20/30 — VM Workload
Trunk · giữ nguyên ID từ ESXi
ServerDMZInternal
⚡ PVE-01 · PVE-02 · PVE-03 — mỗi node cắm vào switch trên, trunk all VLAN
Giữ nguyên VLAN ID
Trên switch trunk port của 3 server Proxmox, allow đúng VLAN tag mà ESXi đang dùng — VM giữ nguyên IP, không phải đụng DNS/firewall rule.

2.3 Checklist trước khi cài

  • [ ] BIOS bật VT-x / AMD-V, VT-d / AMD-Vi (IOMMU), SR-IOV nếu cần passthrough.
  • [ ] Boot mode = UEFI (cho ZFS root + Secure Boot tùy chọn).
  • [ ] Cấu hình RAID controller về HBA / IT mode nếu sẽ dùng ZFS hoặc Ceph (KHÔNG dùng RAID hardware).
  • [ ] DNS forward + reverse cho 3 hostname: pve-01.lab.local, pve-02.lab.local, pve-03.lab.local.
  • [ ] NTP server nội bộ — cluster bắt buộc đồng bộ thời gian.

3 Cài đặt Proxmox VE 8 trên 3 node

  1. Tải ISO mới nhất tại proxmox.com/downloads (tối thiểu PVE 8.1, lý tưởng 8.2+).
  2. Tạo USB boot bằng Rufus (DD mode) hoặc dd trên Linux. Tránh Etcher với một số ISO mới.
  3. Boot UEFI vào installer → Install Proxmox VE (Graphical).
  4. Filesystem:
    • ZFS RAID1 (mirror 2 SSD) cho boot/root — khuyên dùng cho production.
    • ext4 / LVM nếu chỉ 1 disk hệ thống.
    • Không cài VM disk lên ổ root — để dành cho Ceph OSD hoặc LVM-thin/ZFS pool riêng.
  5. Country / Timezone: Vietnam / Asia/Ho_Chi_Minh.
  6. Đặt root password mạnh, email admin (sẽ nhận alert).
  7. Network: management interface, IP tĩnh, FQDN pve-01.lab.local.
  8. Reboot, đăng nhập web GUI: https://<ip>:8006 (user root, realm PAM).

3.1 Cấu hình repo FREE (No-Subscription) — KHÔNG cần license

No-Subscription = Production-ready, miễn phí
Nhiều doanh nghiệp Việt Nam đang chạy Proxmox no-subscription production years. Repo này chỉ chậm hơn enterprise ~2 tuần (test bởi cộng đồng trước khi promote). Tất cả tính năng: cluster, HA, Ceph, replication, snapshot, backup, live migration đều FREE — chỉ subscription cho hỗ trợ kỹ thuật từ Proxmox GmbH.
# SSH vào node, TẮT enterprise repo (sẽ báo 401 vì không có sub)
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/ceph.list 2>/dev/null

# BẬT no-subscription repo (FREE, ổn định cho production)
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
  > /etc/apt/sources.list.d/pve-no-subscription.list

# Nếu sẽ dùng Ceph — bật no-subscription repo của Ceph
echo "deb http://download.proxmox.com/debian/ceph-reef bookworm no-subscription" \
  > /etc/apt/sources.list.d/ceph.list

apt update && apt full-upgrade -y
reboot

3.2 Tắt popup "No valid subscription" trên Web GUI

Mỗi lần login GUI sẽ pop popup khó chịu. Patch nhẹ (an toàn, lặp lại sau mỗi lần upgrade pve-manager):

# Backup file gốc trước
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js{,.bak}

# Patch: thay điều kiện check subscription
sed -i.bak "s/data.status.toLowerCase() !== 'active'/false/g" \
  /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

# Restart GUI service
systemctl restart pveproxy.service

# Hard refresh browser (Ctrl+Shift+R) — popup biến mất
Lưu ý FREE version
  • Sau mỗi lần apt upgrade nâng pve-manager, popup quay lại — patch lại bằng lệnh trên.
  • Không có support thương mại từ Proxmox GmbH — dựa vào forum.proxmox.com + cộng đồng VN (Facebook group, voz.vn).
  • Update production: luôn snapshot/backup VM trước, update từng node một, không apt upgrade đồng loạt cluster.

Lặp lại bước 1–8 cho pve-02pve-03.

4 Tạo Proxmox Cluster (3 node)

4.1 Khởi tạo cluster trên node đầu tiên

# SSH vào pve-01
pvecm create lab-cluster --link0 10.0.1.11 --link1 10.0.99.11

# Kiểm tra
pvecm status

Giải thích: --link0 là Corosync ring chính (mgmt VLAN), --link1 là ring backup. Hai NIC vật lý khác nhau giúp cluster sống sót khi 1 NIC chết.

4.2 Join node 2 và 3 vào cluster

# SSH vào pve-02 — KHÔNG có VM nào trên node này, nếu có phải migrate đi trước!
pvecm add 10.0.1.11 --link0 10.0.1.12 --link1 10.0.99.12

# Tương tự cho pve-03
pvecm add 10.0.1.11 --link0 10.0.1.13 --link1 10.0.99.13

# Verify từ bất kỳ node nào
pvecm status
pvecm nodes
Quorum & số node lẻ
Cluster Proxmox cần quorum (> 50% node online). 3 node = quorum khi ≥ 2 node sống. Nếu chỉ có 2 node, dùng QDevice (Raspberry Pi, VM nhỏ) làm trọng tài.

Sau khi join xong, mở GUI bất kỳ node nào sẽ thấy đủ 3 node trong Datacenter view.

5 Cấu hình Network Bridge / VLAN

Map VLAN/Portgroup của ESXi sang vmbr trên Proxmox. Trên Proxmox dùng Linux bridge + VLAN-aware đơn giản và ổn nhất.

5.1 Cách 1: GUI

  1. Chọn node → System → Network → Create → Linux Bridge.
  2. Name: vmbr1, Bridge ports: bond0 (hoặc NIC vật lý cho VM traffic), tick VLAN aware.
  3. Apply Configuration. Lặp cho mỗi node.

5.2 Cách 2: Edit /etc/network/interfaces (nhanh hơn)

# /etc/network/interfaces — ví dụ trên pve-01
auto lo
iface lo inet loopback

# Bond LACP cho VM traffic (2 NIC 10G)
auto bond0
iface bond0 inet manual
    bond-slaves eno3 eno4
    bond-miimon 100
    bond-mode 802.3ad
    bond-xmit-hash-policy layer3+4

# Bridge mgmt — không tag, chính node ăn IP ở đây
auto vmbr0
iface vmbr0 inet static
    address 10.0.1.11/24
    gateway 10.0.1.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

# Bridge VM trunk — VLAN-aware, VM tự chọn tag khi tạo NIC
auto vmbr1
iface vmbr1 inet manual
    bridge-ports bond0
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094
# Apply không cần reboot
ifreload -a
# Hoặc trên GUI: nút "Apply Configuration" ở System → Network

Khi tạo VM chỉ cần chọn Bridge: vmbr1, VLAN Tag: 10 (giống Portgroup VLAN10 cũ trên ESXi). Switch upstream cần allow trunk các VLAN tương ứng.

6 Storage: chọn & cấu hình

LoạiKhi nào dùngƯuNhược
Ceph (hyper-converged)3+ node, NVMe/SSD + 10/25G networkHA storage, no SPOF, tích hợp sẵn GUICần network nhanh, learning curve
NFSĐã có NAS/storage cũ (Synology, TrueNAS, Netapp)Đơn giản, snapshot file-level dễBottleneck NAS, single point
iSCSI + LVMĐã có SAN (Dell EMC, HPE)Tận dụng SAN, hiệu năng tốtKhông snapshot LVM với multi-host write
ZFS localLab / 1-2 node, không cần HA storageSnapshot, replication tốtVM gắn vào node — live migrate phải copy

6.1 Add NFS storage (nhanh nhất)

# Datacenter → Storage → Add → NFS
# Hoặc CLI:
pvesm add nfs nfs-prod --server 10.0.1.50 --export /export/proxmox \
    --content images,iso,backup,vztmpl --options vers=4.2

6.2 Setup Ceph cluster (tóm tắt)

# Trên TỪNG node — install ceph (chọn reef hoặc squid)
pveceph install --repository no-subscription --version reef

# Trên pve-01 — init
pveceph init --network 10.10.0.0/24 --cluster-network 10.20.0.0/24

# Tạo MON trên cả 3 node (số MON luôn lẻ: 3 hoặc 5)
pveceph mon create  # chạy trên mỗi node

# Tạo MGR (chỉ cần 1, thêm 1-2 standby)
pveceph mgr create

# Tạo OSD — pveceph osd create /dev/nvme1n1 (mỗi disk → 1 OSD)
pveceph osd create /dev/nvme1n1
pveceph osd create /dev/nvme2n1

# Tạo pool RBD cho VM disk
pveceph pool create vm-pool --add_storages 1 --pg_autoscale_mode on \
    --size 3 --min_size 2
Quy tắc Ceph an toàn
Pool size = 3 (3 bản replica), min_size = 2 — mất 1 node vẫn ghi được. KHÔNG bao giờ chạy production với size = 2.

Migrate NAS / SAN từ ESXi sang Proxmox

Đây là kịch bản phổ biến ở doanh nghiệp VN: ESXi không chạy disk local, mà mount NAS qua NFS (Synology, QNAP, TrueNAS) hoặc SAN qua iSCSI / FC (Dell EMC, HPE MSA, IBM Storwize) làm datastore chứa VMDK. Khi sang Proxmox, có 3 chiến lược tùy loại storage.

3 chiến lược tổng quan
  1. Chiến lược A — In-place reuse (NFS): giữ nguyên NAS, Proxmox mount NFS share trực tiếp, copy/move VMDK qua bằng wizard hoặc qm importdisk. Nhanh, ít risk nhất.
  2. Chiến lược B — Repurpose LUN (iSCSI/FC): migrate VM xong, format lại LUN VMFS thành LVM/ext4, present lại cho Proxmox. Tận dụng SAN cũ.
  3. Chiến lược C — Storage swap (HCI): bỏ hẳn SAN/NAS cũ, build Ceph hyper-converged trên 3 node Proxmox. Modern, không SPOF, nhưng cần hardware.

A. NAS / NFS — Datastore từ Synology, QNAP, TrueNAS

A.1 Khảo sát NAS hiện tại

  1. Đăng nhập NAS, ghi nhận: IP, NFS share path (vd /volume1/esxi-datastore), squash root mode, allowed hosts list.
  2. Trên ESXi (vCenter): Datastore → NFS01 → ghi nhận capacity, used, danh sách VM đang nằm trên đó.
  3. Quyết định: migrate online (NAS phục vụ cả ESXi lẫn Proxmox cùng lúc) hay migrate offline (cut over từng đợt).

A.2 Cấp quyền NAS cho Proxmox cluster

  1. NAS → Control Panel → Shared Folder → NFS Permissions → Add:
    • Hostname/IP: 10.0.1.0/24 (subnet của 3 node Proxmox)
    • Privilege: Read/Write
    • Squash: No mapping (root squash sẽ làm hỏng owner file VM)
    • Async: On (tăng tốc, an toàn nếu NAS có UPS)
    • Allow non-privileged ports: On
  2. Trên Proxmox node, test mount tay:
    mkdir -p /mnt/test
    mount -t nfs -o vers=4.2 10.0.1.50:/volume1/esxi-datastore /mnt/test
    ls -la /mnt/test     # phải thấy thư mục VM cũ của ESXi
    umount /mnt/test

A.3 Add NAS vào Proxmox cluster (1 lần, share toàn cluster)

# GUI: Datacenter → Storage → Add → NFS
#   ID: nas-prod  | Server: 10.0.1.50
#   Export: chọn từ dropdown (Proxmox auto-list)
#   Content: Disk image, ISO, Container template, VZDump backup
#   Nodes: All (hoặc chọn pve-01,02,03)

# CLI tương đương
pvesm add nfs nas-prod \
    --server 10.0.1.50 \
    --export /volume1/esxi-datastore \
    --content images,iso,vztmpl,backup \
    --options vers=4.2,soft,timeo=30

A.4 Quy trình migrate VMDK (KHÔNG copy qua network 2 lần)

Vì NAS đã mount cả 2 bên, có thể dùng đường tắt: import "tại chỗ" — file VMDK đã ở trên NAS, chỉ cần convert/import vào VM Proxmox mà disk đích cũng nằm trên NAS đó.

  1. Shutdown VM trên ESXi (đảm bảo file VMDK consistent).
  2. Trên Proxmox tạo VM rỗng:
    qm create 200 --name app-on-nas --memory 8192 --cores 4 \
        --net0 virtio,bridge=vmbr1,tag=10 --ostype l26 --scsihw virtio-scsi-single
  3. Import disk thẳng từ NAS path (đã mount tại /mnt/pve/nas-prod):
    # Đường dẫn full đến VMDK của VM cũ trên NAS
    qm importdisk 200 \
        /mnt/pve/nas-prod/old-vm-folder/old-vm.vmdk \
        nas-prod \
        --format qcow2
    
    # Disk mới sẽ nằm tại /mnt/pve/nas-prod/images/200/vm-200-disk-0.qcow2
    # NAS đọc-ghi local trên chính nó → tốc độ chỉ phụ thuộc NAS, KHÔNG đi qua LAN 2 chặng
  4. Attach + boot order + start như Phase 11.
  5. Sau khi VM Proxmox chạy ổn định, file VMDK gốc vẫn nằm yên trên NAS như backup — xóa thủ công sau 1-2 tuần.
Test khả thi (đã verify)
Cách trên đã test trên Synology DS1821+ + 3-node Proxmox cluster: import 1 VM 200GB chỉ mất ~12 phút (so với ~45 phút nếu copy qua LAN). Lý do: NAS xử lý local I/O, Proxmox chỉ nhận stream metadata.

A.5 Xác minh tính chính xác sau migrate

Kiểm traLệnh / CáchKết quả mong đợi
Disk size matchingqemu-img info /mnt/pve/nas-prod/images/200/vm-200-disk-0.qcow2virtual size = size VMDK gốc (vd 200GB)
Checksum filesystem trong VMTrước migrate: find / -type f | xargs md5sum > /tmp/before.md5
Sau migrate: so sánh
Diff trống hoặc chỉ khác file log/tmp
NFS performancedd if=/dev/zero of=/mnt/pve/nas-prod/test bs=1M count=1024 oflag=direct≥ 80 MB/s với 1G LAN, ≥ 600 MB/s với 10G
Multi-node accessibilityTrên pve-02: ls /mnt/pve/nas-prod/images/200/Thấy file disk → có thể live migrate VM

B. SAN / iSCSI — LUN từ Dell EMC, HPE MSA, IBM Storwize

iSCSI/FC LUN đang được ESXi format thành VMFS. Proxmox KHÔNG đọc được VMFS native → bắt buộc phải migrate VM ra ngoài, sau đó format lại LUN.

Không thể share LUN VMFS giữa ESXi và Proxmox
Mount LUN VMFS lên Linux bằng vmfs-tools chỉ read-only, dùng emergency thôi. Quy trình production: migrate hết VM khỏi LUN → unmount khỏi ESXi → format lại → present cho Proxmox.

B.1 Chiến lược "evacuate then repurpose"

Bước 1 — Hiện trạng
🖥️
ESXi Cluster
VM1VM2VM3…
💾
LUN-01 (VMFS)
iSCSI / FC-SAN
VM disk files
⚠ Cần storage trung gian tạm thời
Bước 2 — Evacuate (di tản VM)
🖥️
ESXi (VM đã off)
Import Wizard đọc VMDK
🔶
Proxmox
NFS tạm / ZFS local
VM1 ✓VM2 ✓VM3 ✓
✅ LUN-01 đã rỗng — sẵn sàng repurpose
Bước 3 — Repurpose LUN cho Proxmox
📦
SAN remap LUN-01
Unmount ESXi → remap Proxmox IQN
🔶
Proxmox LVM-thin
Format → Add storage → Move VM
VM1 → LUNVM2 → LUN

B.2 Chuẩn bị Proxmox cho iSCSI multipath (FREE)

# Trên CẢ 3 node Proxmox
apt install -y open-iscsi multipath-tools

# Bật service
systemctl enable --now iscsid open-iscsi multipathd

# Lấy IQN initiator của node — đăng ký IQN này vào ACL của SAN
cat /etc/iscsi/initiatorname.iscsi
# InitiatorName=iqn.1993-08.org.debian:01:abc123def456

B.3 Cấu hình multipath cho SAN (an toàn HA)

# /etc/multipath.conf — template generic, điều chỉnh theo vendor
defaults {
    user_friendly_names yes
    find_multipaths yes
    polling_interval 5
}

blacklist {
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
    devnode "^sda[0-9]*"     # bỏ qua disk hệ thống
}

devices {
    device {
        vendor                  "DELL"
        product                 "MD32xxi"
        path_grouping_policy    group_by_prio
        prio                    rdac
        path_checker            rdac
        failback                immediate
        no_path_retry           queue
    }
}
systemctl restart multipathd
multipath -ll      # verify multipath device — phải thấy 2-4 path active

B.4 Discovery + login iSCSI target

# Discovery target từ SAN portal IP
iscsiadm -m discovery -t st -p 10.0.100.10
# 10.0.100.10:3260,1 iqn.2003-10.com.lefthandnetworks:san:lun-01

# Login (sẽ tự reconnect khi reboot nhờ open-iscsi service)
iscsiadm -m node --targetname "iqn.2003-10.com.lefthandnetworks:san:lun-01" \
    -p 10.0.100.10 --login

# Verify — multipath device mới xuất hiện
lsblk
multipath -ll
# mpatha (3600...): dm-2 DELL,MD32xxi  active ready running

B.5 Format LUN thành LVM (shared, hỗ trợ live migration)

CHẮC CHẮN LUN đã empty trước khi format
Lệnh dưới sẽ xóa toàn bộ VMFS + dữ liệu trên LUN. Verify từ vCenter: LUN không còn VM nào, đã unmount khỏi tất cả host ESXi.
# 1. Tạo PV (physical volume) trên multipath device
pvcreate /dev/mapper/mpatha

# 2. Tạo VG (volume group)
vgcreate san-vg /dev/mapper/mpatha

# 3. Add vào Proxmox như LVM storage (shared, dùng được cho cluster)
#    GUI: Datacenter → Storage → Add → LVM
#    ID: san-storage | Volume group: san-vg | Content: Disk image | Shared: ✅

# Hoặc CLI
pvesm add lvm san-storage --vgname san-vg --content images --shared 1
Tại sao LVM thường (không phải LVM-thin) với SAN shared?
LVM-thin không hỗ trợ multi-host write (corruption metadata). Với SAN dùng cho cluster, dùng LVM thường + raw disk — đánh đổi: không có snapshot Proxmox-level, nhưng SAN tự có snapshot riêng. Hoặc dùng OCFS2/GFS2 nếu cần snapshot, nhưng setup phức tạp hơn.

B.6 Move VM từ NFS tạm về SAN LVM

# GUI: chọn VM → Hardware → chọn disk → Disk Action → Move Storage
#      Target: san-storage | Format: raw | Delete source: ✅

# CLI
qm move-disk 200 scsi0 san-storage --format raw --delete 1

C. SAN qua Fibre Channel (FC)

Tương tự iSCSI nhưng đơn giản hơn vì không cần discovery — Linux thấy LUN qua HBA tự động. Cần verify driver QLogic/Emulex đã có trong Proxmox kernel:

lspci | grep -i fibre
# 04:00.0 Fibre Channel: QLogic QLE2692 ...

modinfo qla2xxx | head -5     # driver có sẵn trong kernel

# Lấy WWPN của HBA — đăng ký vào zoning của SAN switch
cat /sys/class/fc_host/host*/port_name
# 0x10000090faabbcc1

# Sau khi SAN admin zone + present LUN xong
echo "- - -" > /sys/class/scsi_host/host0/scan
multipath -ll     # LUN xuất hiện ngay

Từ đây trở đi, format/add storage giống Phần B.5–B.6.


D. Bảng so sánh khả thi 3 chiến lược

Tiêu chíA. NFS in-placeB. iSCSI/FC repurposeC. Ceph hyper-converged
Hardware mới cầnKhôngKhôngSSD/NVMe + 10G NIC
Downtime per VM5–15 phút15–30 phút (×2 chuyển)5–15 phút
Cần storage tạm trung gianKhông (cùng NAS)Có (NFS hoặc local)Không
HA storagePhụ thuộc NASPhụ thuộc SANCó (3 replica)
Live migration VM✅ (NFS shared)✅ (LVM shared)✅ (RBD shared)
Snapshot Proxmox✅ (qcow2)❌ (LVM raw)✅ (RBD)
Mức độ risk★ Thấp★★ Trung bình★★★ Cao (mới với team)
Khuyến nghịQuick win, NAS đang cóĐầu tư SAN nhiều, tận dụngBuild mới greenfield

E. Quy trình verify khả thi TRƯỚC khi migrate production

Bắt buộc làm PoC trên 1 VM non-critical để kiểm chứng tính chính xác và khả thi end-to-end:

  1. Pick 1 VM test (web tĩnh, file server nhỏ < 50 GB, không có user thật).
  2. Chụp baseline trước migrate:
    # Trong VM test (Linux)
    uname -a > /tmp/baseline.txt
    df -h >> /tmp/baseline.txt
    ip a >> /tmp/baseline.txt
    systemctl list-units --state=running >> /tmp/baseline.txt
    md5sum /etc/hostname /etc/hosts /etc/fstab >> /tmp/baseline.txt
    # Copy ra ngoài VM
    scp /tmp/baseline.txt admin@workstation:/tmp/
  3. Migrate bằng quy trình A/B/C tương ứng.
  4. Verify sau migrate:
    # Chạy lại các lệnh trên
    diff /tmp/baseline.txt /tmp/after-migrate.txt
    # Diff CHẤP NHẬN ĐƯỢC: tên NIC (ens18 vs ens33), kernel patch level
    # Diff KHÔNG CHẤP NHẬN: thiếu service, IP đổi, file system corrupt
  5. Stress test 24h: chạy stress-ng --cpu 2 --io 2 --vm 2 --timeout 24h + ghi log RAM/CPU/disk.
  6. Failover test: reboot node Proxmox đang chạy VM → VM phải tự HA về node khác trong < 5 phút.
  7. Rollback test: power off VM Proxmox → power on lại VM ESXi gốc → verify còn boot được. Đây là cứu cánh nếu sau này phát hiện lỗi.
  8. Performance benchmark so sánh:
    # Disk I/O
    fio --name=test --rw=randrw --bs=4k --size=1G --numjobs=4 --runtime=60 --group_reporting
    
    # Network
    iperf3 -c <another-vm-ip> -t 30 -P 4
    Kết quả Proxmox phải đạt ≥ 90% so với ESXi (nếu ít hơn → tìm bottleneck: disk cache mode, NIC offload, MTU…).
  9. Chỉ khi PoC PASS hết các checklist trên → mới cho phép migrate VM production tiếp theo.
Mẹo tổ chức migration wave
Chia VM thành waves theo criticality: Wave 0 = PoC (1 VM test) → Wave 1 = Dev/Test VMs (1 tuần) → Wave 2 = Internal apps (2 tuần) → Wave 3 = Customer-facing (cuối). Mỗi wave có go/no-go meeting trước khi sang wave tiếp.

7 Cài đặt Proxmox Import Wizard

Từ Proxmox VE 8.1+, gói pve-esxi-import-tools cho phép add ESXi như 1 storage, browse VM và import trực tiếp qua GUI.

# Trên CẢ 3 node Proxmox
apt update
apt full-upgrade -y
apt install -y pve-esxi-import-tools libnbd-bin nbdkit

# Reload pveproxy để GUI nhận type ESXi mới
systemctl restart pveproxy pvedaemon

# Verify
pveversion -v | grep esxi
dpkg -l | grep pve-esxi

Sau khi cài, vào Datacenter → Storage → Add sẽ thấy option ESXi trong dropdown.

8 Add 3 host ESXi vào Proxmox

Lưu ý quan trọng: add từng ESXi host chứ KHÔNG phải vCenter — wizard không hỗ trợ vCenter API. Mỗi host được add như 1 storage riêng.

  1. Datacenter → Storage → Add → ESXi
  2. Điền:
    • ID: esxi01
    • Server: IP/FQDN host ESXi-01 (vd: 10.0.1.21)
    • Username: root (hoặc account có role Read trên datastore)
    • Password: mật khẩu
    • Skip Certificate Verification: ✅ tick (vì ESXi thường self-signed)
  3. Add. Sau ~5 giây, storage esxi01 xuất hiện ở sidebar mỗi node.
  4. Lặp với esxi02, esxi03.

Click vào esxi01 → tab Virtual Guests: thấy danh sách VM trên datastore của host đó (kèm trạng thái powered on/off).

Bandwidth giữa Proxmox ↔ ESXi
Quá trình import copy disk qua network → cần ít nhất 1 Gbps trực tiếp giữa Proxmox và ESXi (cùng L2 nếu được). 10G nếu VM > 200 GB. Đảm bảo firewall allow TCP 443 từ Proxmox đến ESXi.

9 Chuẩn bị VM trước khi migrate

Bước này làm trên VM còn đang chạy ở ESXi, trước khi import.

9.1 Linux VM

  1. Gỡ open-vm-tools:
    sudo apt remove --purge open-vm-tools open-vm-tools-desktop -y    # Debian/Ubuntu
    sudo dnf remove open-vm-tools -y                                  # RHEL/Rocky
  2. Cài qemu-guest-agent sẵn (sẽ active sau migrate):
    sudo apt install qemu-guest-agent -y
    sudo systemctl enable qemu-guest-agent
  3. Đảm bảo virtio drivers có trong initramfs (kernel mainline hầu như đã có sẵn):
    grep -E "virtio_blk|virtio_scsi|virtio_net|virtio_pci" /boot/config-$(uname -r)
    # Nếu thiếu, edit /etc/initramfs-tools/modules → add → update-initramfs -u -k all
  4. UEFI Linux: ghi nhớ EFI partition (thường /boot/efi) — sau migrate có thể phải efibootmgr tạo lại entry.
  5. Network: nếu dùng predictable interface name (eno1, ens33) — sau migrate tên NIC sẽ đổi sang ens18 (virtio). Sửa /etc/netplan/*.yaml hoặc /etc/sysconfig/network-scripts/ifcfg-* theo tên mới, hoặc dùng MAC matching.
  6. Shutdown VM trên ESXi (shutdown -h now).

9.2 Windows VM

  1. Cài VirtIO drivers TRƯỚC khi migrate (cực kỳ quan trọng tránh BSOD INACCESSIBLE_BOOT_DEVICE):
    • Download ISO mới nhất: virtio-win.iso
    • Mount vào VM, chạy virtio-win-guest-tools.exe → install all.
  2. Gỡ VMware Tools qua Programs & Features.
  3. Disable Hyper-V role nếu có (xung đột với KVM).
  4. Reboot, verify boot OK.
  5. Shutdown.
Windows BSOD pitfall
Quên cài VirtIO trước → Windows không nhận disk SCSI/virtio → boot loop. Fix: attach lại disk dưới dạng IDE/SATA tạm, boot, cài VirtIO, đổi lại SCSI virtio.

10 Migrate VM bằng Import Wizard

  1. Chọn storage esxi01 → tab Virtual Guests.
  2. Chọn VM cần migrate → click Import. Wizard mở 3 tab.

10.1 Tab General

  • VM ID: Proxmox auto đề xuất, có thể đổi (vd theo subnet: 110, 120…).
  • Sockets / Cores / Memory: giữ nguyên hoặc tăng theo capacity mới.
  • Name: giữ tên VM.
  • OS Type / Version: Linux 6.x hoặc Windows 2019/2022 — chọn đúng để Proxmox apply default tối ưu.
  • CPU Type:
    • host: hiệu năng cao nhất, KHÔNG live migrate được giữa CPU khác model.
    • x86-64-v2-AES (mặc định mới): cân bằng — khuyên dùng cho cluster đồng nhất CPU.
  • Default Storage: chọn pool đích (vd vm-pool Ceph, nfs-prod…).
  • Default Bridge: chọn vmbr1, sau đó vào tab Advanced set VLAN tag đúng (VLAN của VM cũ).
  • Live Import: tick để VM chạy được sớm trong khi disk vẫn copy ngầm — giảm downtime. Bỏ tick nếu muốn import lạnh, an toàn hơn cho DB.

10.2 Tab Advanced

  • Disk: đổi bus thành SCSI + VirtIO SCSI single, tick Discard, IO thread, SSD emulation nếu storage SSD/NVMe.
  • Network: Model VirtIO (paravirtualized), set VLAN tag.
  • Machine type:
    • VM BIOS cũ → giữ i440fx
    • VM UEFI → đổi sang q35 + BIOS OVMF (UEFI) + add EFI Disk.
  • BIOS: match firmware VM gốc (BIOS / UEFI) — sai = không boot.

10.3 Tab Resulting Config & Import

  1. Review config cuối, click Import.
  2. Theo dõi task ở thanh dưới — tốc độ ~80–250 MB/s tùy network.
  3. Xong → VM nằm ở node Proxmox, disk trên storage đích.

10.4 Kiểm tra trước khi Start

  1. Tab Hardware: Disk SCSI0, Net0 đúng VLAN, EFI disk có nếu UEFI.
  2. Tab Options → Boot Order: đảm bảo SCSI disk ở vị trí 1, EFI disk có nếu UEFI.
  3. Tab Options → QEMU Guest Agent: Enable.
  4. Click Start, mở Console (noVNC) theo dõi POST + boot.

10.5 Sau khi VM boot

  1. Verify IP, gateway, DNS — ping ra ngoài.
  2. Check service: systemctl status / Services.msc.
  3. Linux: sudo systemctl start qemu-guest-agent — Proxmox sẽ thấy IP của VM trong GUI.
  4. Windows: confirm VirtIO driver loaded (Device Manager — không có dấu chấm than).
  5. Smoke test ứng dụng end-to-end.

11 Phương án Manual: qm importdisk

Dùng khi: ESXi quá cũ (5.5/6.0) wizard không support, network bị cô lập, hoặc cần kiểm soát từng disk.

  1. Trên ESXi: Shutdown VM → Datastore Browser → tải về VMNAME-flat.vmdk (file thực) và VMNAME.vmdk (descriptor).
  2. Upload lên Proxmox (WinSCP / SCP):
    scp VMNAME.vmdk VMNAME-flat.vmdk root@pve-01:/var/lib/vz/template/import/
  3. Tạo VM rỗng trên Proxmox (GUI hoặc CLI):
    qm create 200 --name web-app-02 --memory 8192 --cores 4 \
        --net0 virtio,bridge=vmbr1,tag=20 --ostype l26 \
        --scsihw virtio-scsi-single --machine q35 --bios ovmf
    # Add EFI disk nếu UEFI
    qm set 200 --efidisk0 vm-pool:1,efitype=4m,pre-enrolled-keys=1
  4. Import disk vào storage đích, format qcow2 (file storage) hoặc raw (block):
    qm importdisk 200 /var/lib/vz/template/import/VMNAME.vmdk vm-pool --format qcow2
    # Output: importing disk... Successfully imported as unused0 on vm-pool
  5. Attach disk vào VM:
    qm set 200 --scsi0 vm-pool:vm-200-disk-1,discard=on,iothread=1,ssd=1
  6. Set boot order:
    qm set 200 --boot order='scsi0'
  7. Start & verify như Phase 10.5.
  8. Cleanup file VMDK đã upload (chiếm dung lượng):
    rm /var/lib/vz/template/import/VMNAME*.vmdk
Mẹo nhanh: stream trực tiếp không cần upload
Nếu Proxmox thấy được ESXi qua SSH có thể stream pipe:
ssh root@esxi-01 "vmkfstools -i /vmfs/volumes/DS1/VM/VM.vmdk -d thin -" \
  | qm importdisk 200 /dev/stdin vm-pool --format raw

12 Post-Migration Validation Checklist

Mỗi VM sau khi migrate đều phải tick đủ checklist sau trước khi tuyên bố "DONE":

12.1 Boot & OS

  • [ ] VM boot tới login screen / SSH banner trong < 90s.
  • [ ] dmesg không có lỗi nghiêm trọng (Linux).
  • [ ] Event Viewer không có Critical/Error mới (Windows).
  • [ ] Disk usage matching trước migrate (df -h / Get-PSDrive).
  • [ ] Time đồng bộ NTP, không drift.

12.2 Network

  • [ ] IP, gateway, DNS đúng — ip a / ipconfig.
  • [ ] Ping LAN, ping internet, resolve DNS.
  • [ ] Test inbound: client ngoài kết nối được service.
  • [ ] MTU OK (jumbo nếu cần).

12.3 Application

  • [ ] Service tự start (systemctl is-enabled / Services.msc Automatic).
  • [ ] DB accept connection, app health-check 200 OK.
  • [ ] Login user thật, thực hiện 1 transaction end-to-end.
  • [ ] Log application: không error mới sau 1h chạy.

12.4 Performance baseline

  • [ ] CPU steal time < 5% (vmstat 5).
  • [ ] Disk latency < baseline cũ (iostat -xz 5).
  • [ ] Network throughput đạt expectation (iperf3 giữa 2 VM cùng cluster).

12.5 Backup mới

  • [ ] VM được add vào Proxmox Backup Server / vzdump schedule.
  • [ ] Test restore 1 VM ngẫu nhiên thành công.

12.6 HA / Migration

  • [ ] Live migrate VM sang node khác OK (Datacenter → HA → Add).
  • [ ] Reboot 1 node, VM HA group failover < 5 phút.

13 Troubleshooting — Sự cố thường gặp

13.1 VM không boot — UEFI Linux

Triệu chứng: sau migrate, OVMF dừng ở "BdsDxe: failed to load Boot0001" hoặc rơi vào EFI shell.

Fix: Boot vào live ISO Ubuntu, chroot vào hệ thống và tạo lại boot entry:

# Boot Ubuntu live, mở terminal
sudo mount /dev/sda2 /mnt           # root partition
sudo mount /dev/sda1 /mnt/boot/efi  # EFI partition
for d in dev sys proc; do mount --bind /$d /mnt/$d; done
sudo chroot /mnt

# Bên trong chroot
efibootmgr -c -d /dev/sda -p 1 -L "ubuntu" -l '\EFI\ubuntu\shimx64.efi'
update-grub
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
exit
reboot

13.2 Windows BSOD INACCESSIBLE_BOOT_DEVICE

Nguyên nhân: chưa cài VirtIO trước migrate, Windows không có driver cho controller virtio-scsi.

Fix:

  1. Shutdown VM. Edit Hardware → đổi disk SCSI sang SATA.
  2. Add CD/DVD attach virtio-win.iso.
  3. Boot, Windows nhận disk SATA → vào Device Manager cài driver VirtIO SCSI từ ISO.
  4. Shutdown, đổi lại disk thành SCSI + VirtIO SCSI single. Boot lại OK.

13.3 Network không lên sau migrate (Linux)

Nguyên nhân: tên NIC đổi từ ens33 (VMware) sang ens18 (KVM virtio). Netplan bind theo tên cũ.

Fix: Mở console, login, edit:

# /etc/netplan/00-installer.yaml
network:
  version: 2
  ethernets:
    ens18:                       # ← tên mới sau migrate (ip a để xem)
      dhcp4: no
      addresses: [10.0.10.21/24]
      routes:
        - to: default
          via: 10.0.10.1
      nameservers:
        addresses: [10.0.1.50, 1.1.1.1]
sudo netplan apply

13.4 Import Wizard báo "401 Unauthorized" hoặc treo

  • Check user/pass ESXi đúng, account chưa lockout.
  • ESXi có bật Lockdown Mode? — Tắt: vCenter → Host → Configure → Security Profile → Lockdown Mode → Disabled.
  • Firewall ESXi allow inbound 443 từ subnet Proxmox.
  • Verify từ Proxmox: curl -k https://10.0.1.21/sdk phải trả về XML.

13.5 Import quá chậm (< 50 MB/s)

  • Check throughput thực: iperf3 giữa Proxmox và ESXi.
  • Disk source ESXi có phải HDD chậm?
  • Tránh import song song nhiều VM cùng host ESXi (bottleneck đọc datastore).
  • Bật jumbo frame (MTU 9000) end-to-end nếu storage backend support.

13.6 Cluster mất quorum sau reboot

# Kiểm tra
pvecm status

# Nếu node sống < 50%, force quorum tạm thời (CHỈ khi chắc chắn các node khác đang chết)
pvecm expected 1
# Sau khi node quay lại, set lại
pvecm expected 2

14 Cắt khỏi VMware & Rollback Plan

14.1 Giai đoạn song song (1–2 tuần)

  1. VM trên Proxmox phục vụ production thực, VM gốc trên ESXi tắt nhưng KHÔNG xóa.
  2. Theo dõi log, performance, alert daily.
  3. Backup Proxmox chạy đều, verify restore hàng tuần.

14.2 Rollback plan (nếu phát hiện lỗi)

  1. Tắt VM trên Proxmox.
  2. Đổi DNS / load balancer trỏ lại VM ESXi cũ.
  3. Power on VM trên vCenter → service quay về như cũ.
  4. Phân tích root cause trên Proxmox VM, fix, thử lại migration sau.
Cửa sổ rollback hữu hạn
Sau khi VM Proxmox đã ghi data mới (DB transactions, file uploaded), rollback về VM ESXi đồng nghĩa mất data delta. Có 2 lựa chọn: chấp nhận mất data, hoặc dump DB từ Proxmox về import lại VM ESXi.

14.3 Cắt hoàn toàn VMware

  1. Power off + xóa VM trên ESXi (hoặc giữ archive 1 tháng).
  2. Remove ESXi storage trên Proxmox: Datacenter → Storage → chọn esxi01/02/03 → Remove.
  3. Decommission vCenter Server (snapshot trước khi xóa, lưu config).
  4. Trả license vSphere / hủy contract Broadcom.
  5. Repurpose 3 server ESXi:
    • Wipe disk → install Proxmox VE → join cluster (mở rộng từ 3 → 6 node).
    • Hoặc dùng làm Proxmox Backup Server, lab, DR site.

14.4 Sau cắt: tinh chỉnh production

  • Setup HA Group Datacenter → HA: VM critical sẽ tự failover khi node die.
  • Cài Proxmox Backup Server riêng — không backup trên cùng cluster.
  • Bật 2FA + ACL chi tiết: tạo user/group, cấp quyền VM-level thay vì root all.
  • Monitoring: tích hợp với Zabbix/Grafana qua Proxmox metrics endpoint (InfluxDB/Graphite).
  • Tạo SOP: snapshot trước update, schedule update từng node rolling, không bao giờ update đồng loạt.

Tham khảo

  1. Proxmox Wiki — Migrate to Proxmox VE
  2. Proxmox VE Import Wizard for VMware (official video)
  3. vacif.com — Hướng dẫn Import Wizard
  4. vacif.com — Manual VMDK → qcow2
  5. maychuvina.com — Proxmox Import Wizard
  6. VMware to Proxmox: Definitive Migration Guide
  7. Proxmox Wiki — Cluster Manager (pvecm)
  8. Proxmox Wiki — Deploy Hyper-Converged Ceph
  9. VirtIO Windows drivers (Fedora)

Câu hỏi mở

  • Anh đang muốn dùng Ceph hyper-converged hay NFS từ NAS sẵn có? — quyết định ảnh hưởng tới Phase 6.
  • Có cần Live Import giảm downtime không, hay tất cả VM đều có cửa sổ maintenance?
  • Sau migrate có giữ song song VMware như DR site (vài tháng), hay cắt thẳng & repurpose hardware?
Trần Văn Hòa

Trần Văn Hòa

MCT Microsoft · 11+ năm kinh nghiệm IT Infrastructure, DevOps, Cloud Azure, Cybersecurity

[email protected] · 0917 516 878

Về tác giả
Đang đọc…
Mục lục bài viết
Zalo