Tips & Tricks HPE DL380 · ESXi → Proxmox
Virtualization · Migration · Storage · Lab thực chiến

Migrate VMware ESXi → Proxmox VE

Hướng dẫn toàn trình trên HPE ProLiant DL380 Gen10 Plus — xóa RAID cũ, cấu hình lại RAID 10 cho 2 cụm SSD & HDD, cài Proxmox VE 8, backup toàn bộ VM với Veeam Backup & Replication v13 và restore cross-hypervisor (VMware ESXi → Proxmox VE) với tự động inject VirtIO drivers.

HPE DL380 Gen10 Plus RAID 10 · SSD + HDD Proxmox VE 8.x Veeam B&R v13 ~8 giờ thực hiện
Thiết kế RAID sau migration
Cụm Slot Ổ đĩa RAID Dung lượng sử dụng Mục đích
SSD 1 – 4 4 × 960GB SSD RAID 10 ~1.87 TB VM hiệu năng cao (I/O nặng)
HDD 5 – 8 4 × 2.4TB HDD RAID 10 ~4.68 TB OS Proxmox + ISO + VM capacity
00

Chuẩn bị & Kiểm kê hiện trạng

Lên lịch thực hiện · Kiểm kê VM · Chuẩn bị storage ngoài

Khung thời gian: Thực hiện từ Thứ 6, 20:00 → Thứ 2, 08:00 (60 giờ). Tránh tuần có lịch họp giao ban. Gửi thông báo tạm dừng dịch vụ tới tất cả bộ phận liên quan trước ít nhất 2 tuần.

0.1 Kiểm kê VM hiện có trên ESXi

Ghi lại đầy đủ thông tin trước khi thao tác. Đây là tài liệu phục hồi nếu có sự cố.

Checklist kiểm kê VM
Danh sách VM: tên, trạng thái, OS
CPU/RAM cấp phát từng VM
Kích thước disk và datastore hiện tại
IP, VLAN, cấu hình network adapter
Các VM có snapshot chưa commit
Tổng dung lượng cần backup (GB/TB)

0.2 Chuẩn bị storage ngoài để backup

Yêu cầu bắt buộc: Storage ngoài phải đủ dung lượng chứa toàn bộ VM (tổng dung lượng thực tế — không phải thin-provisioned). Kết nối qua NAS (NFS/SMB), iSCSI, hoặc external HDD USB 3.0+. Test throughput trước: cần ≥ 200 MB/s để backup xong trong 12 giờ.

0.3 Kế hoạch thời gian (60 giờ)

Thời gian Công việc Ước tính
T6 20:00–03:00Backup toàn bộ VM (Bước 1)~7h (tùy dung lượng)
T7 03:00–07:00Xóa RAID cũ + Tạo RAID 10 (Bước 2 & 3)~4h
T7 07:00–10:00Cài Proxmox VE + cấu hình storage (Bước 4 & 5)~3h
T7 10:00–CNRestore VM từ backup (Bước 6)~12h+ (tùy VM)
CN–T2 08:00Kiểm tra, nghiệm thu, bàn giao (Bước 7)~8h
01

Backup toàn bộ VM với Veeam B&R v13

VADP · CBT · Application-Aware VSS · Verify

CRITICAL: Đây là bước quan trọng nhất. Chỉ chuyển sang Bước 2 khi Veeam báo Success cho tất cả VM và đã xác minh 100% — mount hoặc boot thử ít nhất 1 VM quan trọng từ repository trước khi xóa RAID.

1.1 Điều kiện tiên quyết

Yêu cầu Veeam Backup Server
Thành phần Yêu cầu tối thiểu Ghi chú
OSWindows Server 2019/2022VM hoặc physical — cùng mạng với ESXi
CPU / RAM4 vCPU · 8 GB+16 GB nếu backup song song nhiều VM
Disk hệ thống100 GB SSDCatalog + temp staging area
LicenseVeeam B&R v13 Standard+Community Edition: free tới 10 workloads
NetworkLAN 1 Gbps+Cùng VLAN hoặc routed tới ESXi host
Network ports cần mở (firewall)
Nguồn → Đích Port Mục đích
Veeam Server → ESXi443, 902VMware management API + NFC data transfer
Veeam Server → ESXi2500–3300Veeam transport data channel (VDDK)
VM Guest → Veeam6160, 6162App-Aware Processing — VSS coordination

1.2 Thêm VMware ESXi vào Veeam Infrastructure

Veeam giao tiếp với ESXi qua VMware VDDK (Virtual Disk Development Kit) — không cần cài agent trong VM. Với standalone ESXi không có vCenter, chọn type vSphere host. Veeam tự kích hoạt CBT (Changed Block Tracking) trên các VM nếu chưa bật.
Veeam Console — Add VMware Host
1
InventoryVirtual Infrastructure → chuột phải → Add Server
2
Server type: VMware vSphere → tiếp theo chọn vSphere host (không phải vCenter)
3
DNS Name or IP: <esxi-ip> — Port: 443 → Next
4
Credentials: Add → Username: root · Password: <esxi-password> → OK
5
Veeam tự test kết nối → hộp thoại xác nhận certificate fingerprint → ContinueApply & Finish
ESXi host xuất hiện trong tree với danh sách tất cả VM. Veeam bắt đầu đọc metadata VM từ ESXi.
# Xác nhận ESXi đã add thành công qua Veeam PowerShell
Add-PSSnapin VeeamPSSnapIn -ErrorAction SilentlyContinue
Connect-VBRServer -Server localhost

# Liệt kê VMware hosts đã thêm
Get-VBRServer | Where-Object {$_.Type -eq "ESXi"} | `
    Select-Object Name, Port, IsAvailable

# Xem danh sách VM mà Veeam nhìn thấy
Find-VBRViEntity -Name "*" | Where-Object {$_.Type -eq "Vm"} | `
    Select-Object Name, Path | Format-Table -AutoSize

1.3 Cấu hình Backup Repository

Repository là nơi Veeam lưu file .vbk (full) và .vib (incremental). Dung lượng cần: ≥ tổng dung lượng thực tế các VM (không phải thin-provisioned). Nên dùng NAS riêng biệt (NFS/SMB) để backup tách biệt khỏi server — an toàn hơn khi rebuild.
Backup Infrastructure → Backup Repositories → Add Repository
1
Type: Network attached storage → chọn NFS share (hoặc Shared folder cho SMB)
2
Shared folder path: nas-ip:/backup/esxi-migration hoặc \\nas-ip\backup\esxi-migration
3
Max concurrent tasks: 4 (tăng nếu server mạnh và NAS hỗ trợ I/O cao)
4
Advanced → Decompress backup data blocks before storing: tắt nếu NAS thường; bật nếu NAS có hardware dedup (ZFS/ONTAP)
Apply & Finish — Veeam deploy Veeam Data Mover service trên repository server (nếu Windows) hoặc kết nối trực tiếp (NFS/SMB)

1.4 Tạo VMware Backup Job & Chạy

Home → Jobs → Backup → Virtual machine
1
Job Name: ESXi-Pre-Migration-Full — Description ghi ngày & mục đích
2
Virtual Machines: Add → chọn ESXi host → tick toàn bộ VM → OK. Hoặc chọn từng VM theo thứ tự ưu tiên (infrastructure VMs lên trước)
3
Storage: Backup repository = repository đã tạo. Restore points to keep: 3
4
Guest Processing → Enable application-aware processing: BẬT → thêm credentials Windows (local admin) và Linux (root/sudo) per-VM
5
Schedule: "Do not schedule, run the job manually" — đây là backup one-time trước migration
Finish → tick "Run the job when I click Finish"Finish
Advanced Job Settings — Storage tab (quan trọng)
Setting Giá trị Lý do
Backup modeIncremental (Forever forward)Full lần đầu, sau chỉ backup block thay đổi via CBT
Compression levelOptimalCân bằng tốt giữa tốc độ và tỷ lệ nén
Storage optimizationLocal target (16 TB+)Tối ưu block size cho NAS/local storage lớn
Enable deduplicationBậtGiảm dung lượng với VM cùng template/OS
Changed Block TrackingTự động bậtVeeam enable CBT trên VM — backup incremental nhanh hơn 10×
App-Aware Processing (VSS)BậtĐảm bảo consistent backup cho Exchange, SQL Server, AD DS
Monitor tiến trình: Veeam Console → Home → Last 24 Hours → double-click job để xem per-VM progress, data rate, compression ratio theo real-time. Log từng bước: Creating snapshot → Reading CBT → Backing up → Removing snapshot → Indexing.
# Chạy backup job qua PowerShell (thay cho GUI)
Add-PSSnapin VeeamPSSnapIn -ErrorAction SilentlyContinue
Connect-VBRServer -Server localhost

$job = Get-VBRJob -Name "ESXi-Pre-Migration-Full"

# Chạy full backup (bỏ qua incremental logic)
Start-VBRJob -Job $job -FullBackup

# Theo dõi trạng thái job session
do {
    Start-Sleep -Seconds 30
    $session = Get-VBRJobSession -Job $job | Sort-Object CreationTime | Select-Object -Last 1
    Write-Host "[$($session.State)] Progress: $($session.Progress)%"
} while ($session.State -eq "Working")

Write-Host "=== Job completed: $($session.Result) ==="

1.5 Xác minh Backup — Bắt buộc trước khi xóa RAID

Veeam job báo Success ≠ dữ liệu chắc chắn đọc được. Phải thực hiện ít nhất một trong hai phương pháp xác minh dưới đây trước khi tiến hành xóa RAID.
Phương pháp A — Instant Disk Recovery (nhanh)
  1. Home → Backups → chuột phải VM quan trọng nhất
  2. Restore → Instant Disk Recovery
  3. Veeam mount disk backup dưới dạng iSCSI target
  4. Connect từ Windows Explorer → kiểm tra files đọc được
  5. Stop publishing sau khi xác nhận xong
Phương pháp B — Veeam SureBackup (toàn diện)
  1. Configuration → SureBackup → tạo Virtual Lab
  2. Tạo SureBackup Job → Add Application Group
  3. Veeam tự boot VM từ backup trong môi trường isolated
  4. Kiểm tra: ping, services, Heartbeat, custom test scripts
  5. Report per-VM: Success / Warning / Failed
# Xuất backup report chi tiết qua PowerShell
$job     = Get-VBRJob -Name "ESXi-Pre-Migration-Full"
$session = Get-VBRJobSession -Job $job | Sort-Object CreationTime | Select-Object -Last 1

Write-Host "Result     : $($session.Result)"
Write-Host "Start      : $($session.CreationTime)"
Write-Host "End        : $($session.EndTime)"
Write-Host "Data size  : $([math]::Round($session.BackupStats.DataSize/1GB,1)) GB"
Write-Host "Backup size: $([math]::Round($session.BackupStats.BackupSize/1GB,1)) GB"

# Per-VM status
$session.GetTaskSessions() | Select-Object Name, Status, Progress | Format-Table -AutoSize

# Lưu báo cáo làm bằng chứng trước khi xóa RAID
$session.GetTaskSessions() | Export-Csv -Path "C:\backup-report-$(Get-Date -f yyyyMMdd).csv" -NoTypeInformation
Write-Host "Report saved."
Checklist xác nhận trước khi sang Bước 2
Tất cả VM trong job có trạng thái Success (không có Warning hoặc Failed)
File .vbk tồn tại trên repository với dung lượng hợp lý
Đã mount hoặc boot thử ít nhất 1 VM quan trọng nhất từ backup
Dữ liệu đọc được trong guest OS (files, database, services)
Đã export backup report CSV lưu làm bằng chứng
02

Xóa cấu hình RAID hiện hữu

HPE SSA · Xóa RAID 1 (SSD) & RAID 5 (HDD) · Sắp xếp ổ đĩa

ĐIỂM KHÔNG THỂ QUAY LẠI: Xóa RAID array sẽ xóa toàn bộ dữ liệu vật lý trên tất cả ổ trong array đó.
✅ Chỉ thực hiện bước này sau khi đã xác nhận: backup thành công · checksum khớp · đọc được ít nhất 1 VM từ storage ngoài.

2.1 Vào HPE SSA (Smart Storage Administrator)

Phương pháp Cách truy cập Ghi chú
HPE Intelligent Provisioning Nhấn F10 khi boot Khuyến nghị — GUI đầy đủ
HPE SPP ISO Boot từ USB SPP, chọn Smart Storage Administrator Cần tải HPE SPP từ HPE Support
SSACLI (CLI) Từ ESXi Shell hoặc Linux LiveUSB Nhanh nhất nếu đã cài sẵn

2.2 Xóa RAID bằng SSACLI

# ---- SSACLI commands ----

# Xem tổng quan controller và arrays
ssacli ctrl all show config

# Xem chi tiết controller slot (thường slot 0)
ssacli ctrl slot=0 show config detail

# Liệt kê các logical drive
ssacli ctrl slot=0 ld all show

# --- XÓA RAID 5 (cụm HDD) ---
# Xem array nào chứa HDD (ví dụ: Array B)
ssacli ctrl slot=0 array B show

# Xóa logical drive của Array B (HDD)
ssacli ctrl slot=0 ld 2 delete forced

# Xóa array B
ssacli ctrl slot=0 array B delete forced

# --- XÓA RAID 1 (cụm SSD) ---
# Xóa logical drive của Array A (SSD)
ssacli ctrl slot=0 ld 1 delete forced

# Xóa array A
ssacli ctrl slot=0 array A delete forced

# Xác nhận: tất cả ổ ở trạng thái "unassigned"
ssacli ctrl slot=0 pd all show

2.3 Sắp xếp vật lý ổ đĩa (nếu cần)

Trước khi di chuyển ổ, ghi lại serial number từng ổ và slot vị trí hiện tại. Tắt server hoàn toàn, rút dây nguồn trước khi thao tác vật lý.
Bố cục slot mục tiêu
Slot 1 – 4
4 × 960GB SSD
→ RAID 10 SSD pool
Slot 5 – 8
4 × 2.4TB HDD
→ RAID 10 HDD pool
03

Tạo RAID 10 mới

RAID 10 cụm SSD · RAID 10 cụm HDD · Rapid Initialize

Tại sao RAID 10 thay vì RAID 5? RAID 10 có write penalty thấp hơn nhiều (không tính parity), rebuild time nhanh hơn 3–5× khi 1 ổ hỏng, và hiệu năng I/O random tốt hơn cho VM workloads.

3.1 Tạo RAID 10 — cụm SSD (Slot 1–4)

# Xem danh sách physical drives unassigned
ssacli ctrl slot=0 pd all show

# Tạo RAID 10 cho 4 SSD (thay 1I:1:1,1I:1:2,1I:1:3,1I:1:4 theo port thực tế)
# Dùng lệnh: ssacli ctrl slot=0 pd 1I:1:1 show để xem port ID của từng ổ

ssacli ctrl slot=0 create type=ld \
  drives=1I:1:1,1I:1:2,1I:1:3,1I:1:4 \
  raid=10 \
  stripesize=256 \
  label="SSD-RAID10"

# Rapid initialize (không cần background init hoàn tất)
ssacli ctrl slot=0 ld 1 modify reenable forced

# Kiểm tra trạng thái
ssacli ctrl slot=0 ld 1 show detail

3.2 Tạo RAID 10 — cụm HDD (Slot 5–8)

# Tạo RAID 10 cho 4 HDD
ssacli ctrl slot=0 create type=ld \
  drives=2I:1:5,2I:1:6,2I:1:7,2I:1:8 \
  raid=10 \
  stripesize=256 \
  label="HDD-RAID10"

# Kiểm tra toàn bộ config
ssacli ctrl slot=0 show config

# Kết quả mong đợi:
# Logical Drive 1 (SSD-RAID10): 1.87 TB, RAID 10, OK
# Logical Drive 2 (HDD-RAID10): 4.68 TB, RAID 10, OK
Background initialization sẽ chạy ở nền — không cần chờ hoàn tất 100% mới cài Proxmox. Tuy nhiên performance sẽ thấp hơn trong thời gian init (~2–4 giờ với HDD). Kiểm tra tiến độ: ssacli ctrl slot=0 ld all show status
04

Cài đặt Proxmox VE

Boot USB · Cài trên HDD RAID 10 · Cấu hình mạng · Post-install

4.1 Tạo USB boot Proxmox VE

Download Proxmox VE ISO từ proxmox.com/downloads (phiên bản 8.x LTS). Tạo USB bootable bằng Rufus (Windows) hoặc Balena Etcher (cross-platform). Chọn mode DD write trong Rufus.

4.2 Cài đặt Proxmox VE (GUI Installer)

1
Boot từ USB & chọn Install Proxmox VE
Nhấn F11 để vào Boot Menu, chọn USB. Chọn Install Proxmox VE (Graphical)
2
Chọn Target Disk
Chọn HDD-RAID10 (~4.68 TB). Không chọn SSD-RAID10 — để dành cho VM storage. Filesystem: ext4 (hoặc ZFS nếu muốn snapshot nội bộ Proxmox).
3
Cấu hình mạng quản trị
Management Interface: eno1 (hoặc NIC vật lý đầu tiên)
IP/Subnet: địa chỉ quản trị tĩnh theo hạ tầng
Gateway: gateway LAN
DNS: DNS nội bộ hoặc 8.8.8.8
Hostname: pve01.domain.local
4
Hoàn tất & Reboot
Rút USB sau khi cài xong. Server sẽ boot vào Proxmox VE. Truy cập Web UI: https://<IP>:8006

4.3 Cấu hình post-install

# ---- SSH vào Proxmox hoặc dùng Console trên Web UI ----

# 1. Chuyển sang no-subscription repo (tránh lỗi apt update)
sed -i 's|enterprise.proxmox.com/debian/pve|download.proxmox.com/debian/pve|g' \
    /etc/apt/sources.list.d/pve-enterprise.list
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
    > /etc/apt/sources.list.d/pve-no-subscription.list

# 2. Tắt Ceph repo (không dùng)
sed -i 's|^deb|#deb|' /etc/apt/sources.list.d/ceph.list 2>/dev/null || true

# 3. Update và upgrade
apt update && apt dist-upgrade -y

# 4. Cài công cụ hỗ trợ migration
apt install -y virt-v2v ovmf libguestfs-tools

# 5. Tắt popup "no valid subscription" trong Web UI
sed -i.bak "s/data.status !== 'Active'/false/" \
    /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
05

Cấu hình Storage Pools

Phân vùng SSD · LVM-thin pools · Upload ISO · Cấu hình Web UI

Proxmox đã cài trên toàn bộ HDD logical drive. Bây giờ cần thêm SSD RAID 10 làm storage pool riêng để VM có thể chọn lưu trên SSD hoặc HDD tùy nhu cầu.

5.1 Tạo LVM-thin pool trên SSD RAID

# Xem thiết bị block — SSD RAID thường là /dev/sdb
lsblk
ls -la /dev/sd*

# Khởi tạo PV trên SSD RAID logical drive
pvcreate /dev/sdb

# Tạo Volume Group
vgcreate vg-ssd /dev/sdb

# Tạo LVM thin pool (dùng 100% VG)
lvcreate -l 100%FREE -T vg-ssd/data-ssd

# Kiểm tra
pvs && vgs && lvs

5.2 Thêm Storage vào Proxmox Web UI

Truy cập Datacenter → Storage → Add, tạo 2 storage như bảng sau:

ID Type Volume Group / Base Content Mục đích
ssd-pool LVM-Thin vg-ssd / data-ssd Disk image, Container VM disk hiệu năng cao
local Directory /var/lib/vz (HDD) ISO, Backup, Templates ISO images, backup storage

5.3 Upload ISO

Web UI: node pve01 → local → ISO Images → Upload — upload các ISO cần dùng (Windows Server, Ubuntu Server, v.v.)

# Hoặc download ISO trực tiếp trên Proxmox server
cd /var/lib/vz/template/iso/

wget -O ubuntu-24.04-server.iso \
  https://releases.ubuntu.com/24.04/ubuntu-24.04.2-live-server-amd64.iso

# Kiểm tra ISO đã hiển thị trong storage
ls -lh /var/lib/vz/template/iso/
06

Restore VM với Veeam B&R v13 → Proxmox VE

Add Proxmox host · Instant Recovery · Full VM Restore Wizard · VirtIO injection

Thứ tự restore: Infrastructure VMs trước (DC/DNS/DHCP) → Production critical → Production thường → Dev/Test. Không boot VM phụ thuộc trước khi VM mà nó phụ thuộc vào đã online.

6.1 Thêm Proxmox VE vào Veeam Infrastructure

Veeam B&R v13 hỗ trợ native Proxmox VE như một managed hypervisor. Veeam deploy Veeam Installer ServiceVeeam Transport trên Proxmox qua SSH để thực hiện restore trực tiếp vào QCOW2/LVM-thin — không cần chuyển file thủ công.
Backup Infrastructure → Managed Servers → Add Server
1
Server type: Linux → tiếp theo chọn Proxmox VE
2
DNS Name or IP: <proxmox-ip> — Port: 22 (SSH)
3
Credentials: Add → Username: root · Password hoặc SSH Private Key → OK
4
Veeam SSH vào Proxmox, tự deploy Veeam transport components — accept fingerprint → Apply & Finish
5
Proxmox node xuất hiện trong Managed Servers với danh sách storage pools (local, local-lvm, ssd-pool, hdd-pool nếu đã tạo từ Bước 5)
# Xác nhận Veeam transport đã deploy trên Proxmox
ssh root@<proxmox-ip>

# Kiểm tra Veeam services đang chạy
systemctl status veeamtransport
ps aux | grep veeam

# Veeam tự install veeamtransport package trên Debian-based Proxmox
dpkg -l | grep veeam

6.2 Instant VM Recovery to Proxmox (tùy chọn — test nhanh)

Instant VM Recovery cho phép boot VM trực tiếp từ backup file trên Proxmox trong vài phút — Veeam mount backup qua NFS/iSCSI làm storage tạm thời. Dùng để: test nhanh VM hoạt động trước khi restore chính thức, hoặc tình huống khẩn cấp cần VM online ngay. Sau đó Migrate to Production để chuyển dữ liệu sang LVM-thin/QCOW2 thực sự.
Home → Backups → chọn VM → Restore → Instant VM Recovery
1
Chọn restore point → Target: Restore to a new location → Platform: Proxmox VE
2
Host: chọn Proxmox node — Storage: local hoặc NFS share (dùng làm staging) — VM name suffix _instant
3
Power on VM after restore: Yes → Finish → VM boot trong < 2 phút
4
Sau khi test xong: chuột phải VM trong Veeam → Migrate to Production để copy dữ liệu sang ssd-pool/hdd-pool và chuyển VM về storage thực

6.3 Full VM Restore Wizard → Proxmox VE (luồng chính)

Full VM Restore tái tạo VM hoàn chỉnh trên Proxmox — Veeam tự chuyển đổi VMDK → QCOW2, inject VirtIO drivers cho Windows, map network adapter. Đây là phương pháp chính thức cho migration.
Home → Backups → VM → Restore → Full VM Restore
1
Machines: Add → chọn các VM cần restore (theo thứ tự: DC trước)
2
Restore Point: chọn điểm backup gần nhất có trạng thái Success
3
Restore Mode: Restore to a new location, or with different settings → cho phép tùy chỉnh target
4
Host: chọn Proxmox node — Pool / Datastore: ssd-pool (VM I/O cao) hoặc hdd-pool (VM thường)
5
Disk format: QCOW2 (snapshot-capable, thin-provisioned) hoặc RAW (hiệu năng tối đa, không snapshot)
6
Network mapping: Map từng VMware portgroup → Proxmox bridge
VM Network (VMware)vmbr0 (uplink LAN)
vlan-mgmt (VMware)vmbr1 hoặc vmbr0.vlan-id
7
VirtIO drivers (Windows): Veeam v13 tự động inject VirtIO drivers trong quá trình restore — không cần cài thủ công sau boot. Checkbox: "Inject VirtIO drivers" → bật → chọn VirtIO ISO đã tải về.
8
Power on VM after restore: để tắt lần đầu — boot thủ công từng VM theo thứ tự sau khi verify cấu hình
Finish → Veeam bắt đầu restore, monitor trong job log: Extracting disks → Converting VMDK to QCOW2 → Creating VM config → Injecting drivers → Done
# Theo dõi restore progress và kiểm tra VM trên Proxmox
# --- Trên Proxmox node (SSH) ---

# Xem danh sách VM vừa được restore
qm list

# Kiểm tra cấu hình VM (VMID 100)
qm config 100

# Xác nhận disk format là qcow2
ls -lh /var/lib/pve/local-btrfs/images/100/ 2>/dev/null || \
  ls -lh /dev/pve/vm-100-disk-0 2>/dev/null || \
  pvesm list ssd-pool | grep "vm-100"

# Tải VirtIO ISO nếu Veeam inject thủ công sau restore
wget -q -O /var/lib/vz/template/iso/virtio-win.iso \
  https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

# Boot VM lần đầu (theo thứ tự: DC trước)
qm start 100   # DC / DNS
# Chờ DC online rồi mới start VM tiếp theo
qm start 101   # Web / App server
So sánh QCOW2 vs RAW trên Proxmox
Tiêu chí QCOW2 RAW
Snapshot✅ Hỗ trợ❌ Không (LVM snapshot riêng)
I/O PerformanceTốt (overhead nhỏ)✅ Tối đa
Thin provisioning✅ CóPhụ thuộc storage
Khuyến nghịVM thông thường, dev/testDB hiệu năng cao (SQL, Redis)

6.4 Post-restore — VM Windows

Veeam v13 tự inject VirtIO drivers trong quá trình restore. Tuy nhiên, cần gỡ VMware Tools và cài QEMU Guest Agent sau khi VM boot thành công — VMware Tools chạy trên Proxmox gây conflict driver và làm chậm hệ thống.
Checklist post-restore cho mỗi Windows VM
VM boot thành công, không BSOD (Veeam đã inject VirtIO storage drivers)
Device Manager: không có Unknown Device (VirtIO drivers load đúng)
Gỡ VMware Tools: Control Panel → Programs → VMware Tools → Uninstall
Cài QEMU Guest Agent từ VirtIO ISO (D:\guest-agent\qemu-ga-x86_64.msi)
Enable Guest Agent trong Proxmox VM config: qm set <VMID> --agent 1
Kiểm tra IP, DNS — update static IP nếu địa chỉ ESXi khác Proxmox segment
Ping gateway, ping các VM khác trong cùng VLAN
Kiểm tra services/ứng dụng chạy đúng (IIS, SQL Server, AD DS, Exchange…)
# --- Trên Proxmox node ---

# Enable QEMU Guest Agent cho VM (VMID 100)
qm set 100 --agent 1

# Kiểm tra guest agent status sau khi cài trong Windows
qm agent 100 ping    # Trả về {} = thành công

# Lấy IP của VM qua guest agent (không cần console)
qm agent 100 network-get-interfaces | \
  python3 -c "import sys,json; [print(i['name'],i.get('ip-addresses','')) for i in json.load(sys.stdin)['result']]"

# Kiểm tra disk I/O đang dùng VirtIO (không phải IDE/SCSI legacy)
qm config 100 | grep -E "scsi|virtio|ide"

# Tắt memory balloon nếu VM database (giữ RAM cố định)
qm set 100 --balloon 0
07

Kiểm tra & Nghiệm thu

Checklist vận hành · Test kết nối · Cấu hình backup schedule · Bàn giao

Mục tiêu: Trước 08:00 thứ 2, tất cả VM phải boot thành công, ứng dụng chạy ổn định, có thể bàn giao cho người dùng.
Checklist nghiệm thu
Proxmox Web UI truy cập được tại https://<IP>:8006
Tất cả VM boot thành công, không có BSOD/Kernel Panic
Ping nội bộ và ra internet từ mỗi VM
Các ứng dụng/service chạy đúng trên từng VM
Storage pools hiển thị đúng dung lượng (SSD ~1.87TB, HDD ~4.68TB)
RAID status: Optimal — không ổ nào degraded
Không có error/warning trong journalctl -xe
Thực hiện snapshot test 1 VM và restore thành công
Cấu hình backup schedule tự động (Proxmox built-in)
Tài liệu bàn giao: IP, credentials, cấu hình storage đã cập nhật

7.1 Cấu hình Backup Schedule tự động

# Cấu hình backup qua Proxmox CLI
# Web UI: Datacenter → Backup → Add

pvesm set local --content backup,iso,vztmpl

# Tạo backup job — tất cả VM, mỗi tuần Chủ nhật 02:00
# Giữ 2 bản backup gần nhất
vzdump --all 1 \
  --storage local \
  --mode snapshot \
  --compress zstd \
  --maxfiles 2 \
  --quiet 1 \
  --mailnotification always \
  --mailto [email protected]

7.2 Kiểm tra RAID và hệ thống

# Kiểm tra trạng thái RAID (từ Proxmox shell)
ssacli ctrl slot=0 ld all show status

# Kết quả mong đợi
# logicaldrive 1 (1.87 TB, RAID 10): OK
# logicaldrive 2 (4.68 TB, RAID 10): OK

# Kiểm tra disk SMART
ssacli ctrl slot=0 pd all show detail | grep -E "Failure|Status|Serial"

# Kiểm tra system logs
journalctl -xe --since "1 hour ago" | grep -i "error\|warn"

# Kiểm tra storage usage
df -hT
pvesm status

# Kiểm tra tất cả VM
qm list
Rủi ro & Biện pháp giảm thiểu
Rủi ro Mức độ Biện pháp giảm thiểu
Backup lỗi/không đủ trước khi xóa RAID Nghiêm trọng Xác minh checksum + test mount 2 VM quan trọng nhất trước bước 2
VM Windows không boot sau migrate Trung bình Boot với LSI SCSI trước, inject VirtIO drivers, sau đó chuyển sang VirtIO
VM mất IP/network sau restore Trung bình Ghi chép đầy đủ IP/MAC từ ESXi, set MAC tĩnh trong Proxmox VM config
Thời gian backup vượt khung giờ Thấp Test tốc độ backup trước (benchmark storage ngoài); ưu tiên VM quan trọng trước
HPE SSA không nhận RAID config mới Thấp Update HPE firmware (iLO + SmartArray) trước ngày thực hiện qua HPE SPP
Zalo