Hướng dẫn Migrate VM từ VMware sang Proxmox đầy đủ nhất
Hướng dẫn Migrate VM từ VMware sang Proxmox đầy đủ nhất — Việc di chuyển (migrate) máy ảo từ VMware sang Proxmox là một nhu cầu ngày càng phổ biến khi nhiều tổ chức tìm kiếm giải pháp ảo hóa tiết kiệm chi phí hơn. May mắn là cả hai nền tảng đều hỗ trợ các định dạng disk image phổ biến, giúp quá trình migration tương đối thuận tiện. Trong bài viết này, chúng ta sẽ đi qua chi tiết từng bước để migrate VM thành công.
Chuẩn bị trước khi Migration
- Backup VM gốc trước khi migrate
- Kiểm tra phiên bản ESXi và Proxmox
- Chuẩn bị storage đủ chỗ trên Proxmox
- Tải công cụ qemu-img hoặc vmdk2img
- Kiểm tra network connectivity giữa 2 hosts
Phương pháp 1: Sử dụng VMDK và QEMU-Img
Hướng dẫn Migrate VM từ VMware sang Proxmox đầy đủ nhất
# Trên ESXi host, stop VM trước vmware-cmd /path/to/VM.vmx stop # Clone disk sang thin/thick provisioned VMDK vmkfstools -i /path/to/source.vmdk -a e1000e /path/to/output.vmdk # Hoặc sử dụng OVF tool để export ovftool vi://root@esxi-host/VM-name /tmp/vm-export/
Bước 2: Convert VMDK sang QCOW2
# Cài đặt qemu-utils apt install qemu-utils -y # Debian/Ubuntu yum install qemu-img -y # CentOS/RHEL # Convert VMDK (single) sang QCOW2 qemu-img convert -p -O qcow2 source.vmdk output.qcow2 # Convert VMDK (split) sang QCOW2 qemu-img convert -p -O qcow2 source-flat.vmdk output.qcow2 # Convert VMDK (with snap) sang QCOW2 qemu-img convert -p -O qcow2 source.vmdk output.qcow2
Bước 3: Upload lên Proxmox
# Tạo thư mục storage
mkdir -p /var/lib/vz/images/{vm-id}
# Upload qua scp/rsync
scp output.qcow2 root@proxmox:/var/lib/vz/images/{vm-id}/
# Hoặc qua web UI (Datacenter > Storage > Upload)
Bước 4: Tạo VM trên Proxmox và attach disk
# Tạo VM mới (không attach disk)
qm create {vm-id} --name "migrated-vm" --memory 4096 --cores 4 --net0 virtio,bridge=vmbr0
# Attach disk đã convert
qm importdisk {vm-id} /var/lib/vz/images/{vm-id}/output.qcow2 local-lvm
# Set bootdisk và bios
qm set {vm-id} --boot order=scsi0 --scsi0 local-lvm:vm-{vm-id}/disk-0.raw
Phương pháp 2: Sử dụng vmdk2img
# Clone vmdk2img repository git clone https://github.com/gnif/vmdk2img.git cd vmdk2img # Build make # Convert VMDK sang raw image (sau đó convert sang qcow2) ./vmdk2img source.vmdk output.img # Convert img sang qcow2 qemu-img convert -p -O qcow2 output.img output.qcow2
Phương pháp 3: Clone trực tiếp qua Network
# Trên Proxmox - nhận disk từ VMware # Tạo VM placeholder qm create 999 --name "temp-vm" --memory 4096 --cores 4 # Tạo disk target qm importdisk 999 /tmp/empty.raw local-lvm # Trên ESXi - convert và stream qua ssh ssh root@esxi "vmkfstools -i /path/to/source.vmdk -a e1000e /tmp/output.vmdk" && \ ssh root@esxi "cat /tmp/output-flat.vmdk" | \ qemu-img convert -p -O qcow2 - /var/lib/vz/images/999/output.qcow2
Cấu hình sau Migration
Hardware Configuration
# Thay đổi network adapter sang virtio (performance tốt hơn)
qm set {vm-id} --net0 virtio,bridge=vmbr0
# Thay đổi disk controller sang virtio-scsi
qm set {vm-id} --scsi0 virtio-scsi-pci
# Tăng memory nếu cần
qm set {vm-id} --memory 8192
# Enable QEMU agent (quan trọng cho Proxmox integration)
qm set {vm-id} --agent 1
Cài đặt VirtIO Drivers (Windows)
Windows VM cần cài VirtIO drivers để hoạt động đúng trên KVM/Proxmox.
# Download VirtIO drivers ISO
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
# Mount ISO vào VM
qm set {vm-id} --ide2 local:iso/virtio-win.iso,media=cdrom
# Trong Windows: Install driver từ Device Manager > Update Driver
# Chọn virtio-win-iso/virtio-win/virtio-serial
Các vấn đề thường gặp và cách xử lý
| Vấn đề | Nguyên nhân | Cách xử lý |
|---|---|---|
| VM không boot | Disk format không đúng | Kiểm tra lại disk controller (IDE/SCSI/VirtIO) |
| Network không hoạt động | Thiếu driver | Cài đặt drivers hoặc đổi sang E1000 |
| Disk không mount được | File system không recognized | Check filesystem, convert đúng format |
| Performance chậm | Chưa dùng VirtIO | Enable virtio-scsi và virtio-net |
| Boot loop | UEFI/BIOS mismatch | Change BIOS boot order trong VM settings |
Script tự động hóa Migration
#!/bin/bash
# migrate-vmware-to-proxmox.sh
ESXI_HOST="192.168.1.100"
ESXI_USER="root"
VM_NAME="your-vm-name"
TARGET_VMID="100"
PROXMOX_HOST="192.168.1.50"
# 1. Export VMDK
echo "Exporting VMDK from VMware..."
ssh ${ESXI_USER}@${ESXI_HOST} "vmkfstools -i /vmfs/volumes/datastore1/${VM_NAME}/${VM_NAME}.vmdk -a e1000e /tmp/${VM_NAME}.vmdk"
# 2. Download và convert
echo "Downloading and converting..."
ssh ${ESXI_USER}@${ESXI_HOST} "cat /tmp/${VM_NAME}-flat.vmdk" | qemu-img convert -p -O qcow2 - /var/lib/vz/images/${TARGET_VMID}/disk.qcow2
# 3. Create VM
echo "Creating Proxmox VM..."
qm create ${TARGET_VMID} --name ${VM_NAME} --memory 4096 --cores 4
qm importdisk ${TARGET_VMID} /var/lib/vz/images/${TARGET_VMID}/disk.qcow2 local-lvm
qm set ${TARGET_VMID} --boot order=scsi0 --scsi0 local-lvm:vm-${TARGET_VMID}/disk-0.raw
echo "Migration complete!"
Kết luận
Migration từ VMware sang Proxmox hoàn toàn khả thi và không quá phức tạp.Khi tìm hiểu Hướng dẫn Migrate VM từ VMware sang Proxmox đầy đủ nhất, quan trọng nhất là backup đầy đủ, chọn đúng phương pháp phù hợp với loại VM (Windows/Linux), và cài đặt driver cần thiết sau migration.Sau khi migrate thành công, bạn sẽ được hưởng lợi từ chi phí 0 của Proxmox VE và các tính năng tích hợp sẵn như backup, clustering, storage management.
FAQ – Câu hỏi thường gặp
- Có cần shutdown VM để migrate không? Nên shutdown để đảm bảo data integrity, nhưng cold migration cũng hỗ trợ.
- VM có mất performance sau khi migrate? Không đáng kể. Với đúng VirtIO drivers, performance tương đương hoặc tốt hơn.
- Snapshots có migrate được không? Khuyến nghị flatten snapshots trước khi migrate.
- Thời gian migrate phụ thuộc vào đâu? Dung lượng VM và bandwidth network. 100GB thường mất 15-30 phút.
- Liệu có cần cài lại Windows không? Thường không, chỉ cần cài thêm VirtIO drivers.