Knowledge BaseConceptsVirtualizationVMware ESXi → Proxmox VE Migration — Step-by-Step

VMware ESXi → Proxmox VE Migration — Step-by-Step

คู่มือย้าย VM จาก VMware ESXi ไป Proxmox VE หลังยุค Broadcom ครอบคลุม GUI Wizard, OVA/OVF และ live-import พร้อม post-migration tuning

A
Apinan
C9NETWORK Editor
17 พฤษภาคม 2569
10 นาที
0esximigrationproxmoxvirtualizationvmware

1. ทำไมองค์กรเริ่มย้ายจาก VMware ไป Proxmox VE#

หลังจาก Broadcom ปิดดีลซื้อ VMware ปลายปี 2023 โครงสร้าง SKU ของ vSphere ถูกรื้อใหม่ยกชุด perpetual license ถูกตัดทิ้ง เหลือเฉพาะ subscription แบบ bundle ขนาดใหญ่ (VVF / VCF) ที่บังคับขั้นต่ำหลายสิบ core ต่อ socket ผลคือองค์กรไทยขนาดกลางที่เคยอยู่กับ ESXi Standard หรือ Essentials Plus ต้องแบกค่า renewal ที่ขยับขึ้นหลายเท่าตั้งแต่ปี 2024 เป็นต้นมา

Proxmox VE จึงถูกหยิบขึ้นมาเป็นปลายทางหลัก ด้วยจุดแข็งคือ open-source ที่รัน KVM + LXC, มี enterprise support คิดตามจำนวน CPU socket, รองรับ HA cluster, Ceph storage และ ZFS แบบ native ในตัว และตั้งแต่ Proxmox VE 8.2 เป็นต้นไป มี ESXi Import Wizard built-in ที่ตัดความจำเป็นต้องเรียก ovftool แยกออกไปทั้งหมด

บทความนี้เรียบเรียงขั้นตอน migrate จากมุมมอง virtualization engineer ที่ดูแล workload จริงในศูนย์ข้อมูล ครอบคลุมการเตรียมความพร้อม สามวิธี migrate หลัก การ tuning หลังย้าย และ checklist สำหรับ rollout จริง

2. เตรียมความพร้อมก่อน Migrate#

ก่อนแตะ VM ตัวแรก ทีม infrastructure ควรเคลียร์งานต่อไปนี้ให้จบ:

  • Network design — Proxmox VE ใช้ Linux bridge (vmbr0, vmbr1, ...) แทน vSwitch ของ VMware ถ้าระบบเดิมเดิน VLAN tagging ต้องเปิด bridge-vlan-aware yes และ map port group เดิมเข้ากับ bridge ใหม่ให้ครบ
  • Storage layout — ตัดสินใจระหว่าง ZFS local, Ceph RBD หรือ NFS/iSCSI shared ความเร็ว read/write ระหว่าง import จะถูกจำกัดด้วย datastore ปลายทาง ถ้าเป็น HDD ล้วน ควรเสริม NVMe cache หรือเปลี่ยนไปใช้ live-import แทน
  • Downtime budget — VM ขนาด 500 GB ผ่าน 1 GbE ใช้เวลา import ราว 1.5-2 ชั่วโมง ถ้า window สั้นกว่านั้นต้องวางเป็น live-import หรือทยอย batch migrate ทีละกลุ่ม
  • ถอน VMware Tools / open-vm-tools ออกจาก guest OS ก่อน shutdown และจดค่า IP, hostname, MAC address ของทุก VM ไว้ให้ครบ
  • ปลด vTPM encryption ถ้ามี เพราะ encrypted disk import เข้า Proxmox ตรง ๆ ไม่ได้
  • Snapshot cleanup — VM ที่มี snapshot chain ยาวจะ import ช้ามาก ควร consolidate ให้เหลือ base disk เดี่ยวก่อน

3. สามวิธี Migrate หลัก#

3.1 GUI ESXi Import Wizard (แนะนำสำหรับงานทั่วไป)#

ตั้งแต่ Proxmox VE 8.2 สามารถเพิ่ม ESXi เป็น storage source ได้ตรง ๆ จาก Datacenter → Storage → Add → ESXi

ขั้นตอน:

  1. ใส่ ESXi host IP หรือ vCenter FQDN พร้อม root credential
  2. ติ๊ก Skip Certificate Verification ถ้าเป็น self-signed cert (สำหรับ production ควรติดตั้ง CA จริง)
  3. เลือก VM จาก browse tree แล้วกด Import
  4. กำหนด target storage, bridge และ disk format (raw สำหรับ block, qcow2 สำหรับ file-based)
  5. ใช้แท็บ Advanced เพื่อปรับ disk/NIC/CD-ROM แยกชิ้น
  6. ตรวจแท็บ Resulting Config ให้ตรง spec ที่ออกแบบไว้
  7. Shutdown VM ฝั่ง ESXi ให้เรียบร้อยก่อนกด Start Import
  8. เมื่อ import เสร็จ ให้ boot VM แล้วทำ post-migration tuning (ดูหัวข้อ 4)
หน้าจอ ESXi Import Wizard ของ Proxmox VE 8.2 ตอนเลือก target storage และ bridge

ภาพประกอบ: Proxmox VE Wiki (CC BY-SA 3.0)

ข้อจำกัด: ไม่รองรับ VM ที่ disk วางอยู่บน vSAN และ datastore name ที่มีอักขระพิเศษ (+, #) อาจ parse ไม่ผ่าน

3.2 OVA / OVF Export + Import (แนะนำสำหรับ air-gap)#

เป็นวิธีคลาสสิกที่ใช้ได้ทุก version ของ ESXi เหมาะกับเคสที่ Proxmox host มองไม่เห็น ESXi network โดยตรง

Export จากฝั่ง ESXi ด้วย ovftool:

bashbash
# export ผ่าน ESXi host ตรง
./ovftool vi://root@10.10.1.10/SRV-FILE01 /export/path/

# export ผ่าน vCenter
./ovftool vi://admin@vsphere.local:Pass@vcenter.local/DC01/vm/SRV-FILE01 /export/path/

Import เข้า Proxmox VE:

bashbash
# จะได้ไฟล์ .ovf + .vmdk หลังจาก ovftool export
qm importovf 200 /export/path/SRV-FILE01.ovf local-zfs

# ปรับ CPU type และ SCSI controller ให้เหมาะกับ KVM
qm set 200 --cpu x86-64-v2-AES --scsihw virtio-scsi-single

# ถ้าต้อง import แค่ disk ดิบ
qm disk import 200 SRV-FILE01.vmdk local-zfs

หลัง import disk จะโผล่มาเป็น unused0 ต้อง attach เข้า controller แล้วตั้ง boot order ใหม่ผ่าน GUI หรือสั่ง qm set 200 --boot order=scsi0

สำหรับเทคนิค Attach & Move Disk (วิธี advanced ที่ใช้ shared NFS storage ระหว่าง ESXi กับ Proxmox เพื่อบีบ downtime) flow จะเริ่มจาก VM ต้นทางบน ESXi shared datastore:

จุดเริ่มต้น: VM อยู่บน VMware ESXi โดยใช้ NFS shared storage

จากนั้นสร้าง target VM บน Proxmox โดยให้ virtual disk วางอยู่ใน shared storage เดียวกัน:

สร้าง target VM บน Proxmox VE พร้อม virtual disk บน NFS share เดิม

copy ไฟล์ .vmdk จากตำแหน่ง ESXi ไปยังตำแหน่งที่ Proxmox จะใช้:

copy ไฟล์ .vmdk จาก datastore ESXi ไปยัง path ของ Proxmox

แล้วแก้ไฟล์ .vmdk ปลายทางให้ชี้กลับไปอ่าน flat disk ต้นทางก่อนสลับ workload ข้ามฝั่ง:

แก้ descriptor .vmdk ปลายทางให้ reference flat file ต้นทาง

ภาพประกอบ: Proxmox VE Wiki (CC BY-SA 3.0)

3.3 Live-Import (Minimal Downtime)#

Live-import คือฟีเจอร์ใหม่ของ ESXi Import Wizard ที่บูต VM ฝั่ง Proxmox ขึ้นทันทีโดยใช้ disk stream จาก ESXi เป็น backing store แล้ว sync block ตามหลังแบบ background

เหมาะกับ VM ขนาดใหญ่ (1 TB+) ที่ต้องบีบ downtime ให้สั้นที่สุด เพียงติ๊ก checkbox Live Import ใน Wizard ก่อนกด Start

⚠️ ข้อควรระวัง

หาก import ล้มกลางทาง VM ปลายทางจะ data loss ทันที เพราะ block ที่ยัง sync ไม่ครบจะหายไปทั้งหมด ควรทดสอบกับ workload ที่ recreate ใหม่ได้ก่อนแตะ production database

4. Post-Migration Tuning#

เมื่อ VM boot ขึ้นมาครั้งแรกบน Proxmox สิ่งที่ควรจัดการทันที:

  1. เปลี่ยน disk bus เป็น VirtIO SCSI — ค่า default หลัง import คือ IDE/SATA ซึ่งช้ามาก ให้สั่ง qm set <vmid> --scsihw virtio-scsi-single แล้ว detach + reattach disk เป็น scsi0
  2. เปิด discard + iothread บน disk เพื่อให้ TRIM ส่งต่อลงไปถึง ZFS/Ceph layer
  3. CPU type — ถ้า cluster ใช้ CPU รุ่นเดียวกันทั้งหมด เลือก host จะได้ performance ดีที่สุด แต่ถ้าเป็น mixed generation ให้ใช้ x86-64-v2-AES เพื่อให้ live-migrate ข้าม node ได้
  4. MAC address — Wizard จะ generate MAC ใหม่ ทำให้ Windows มองเป็น NIC ใหม่และเสีย static IP config ควร set MAC เดิมกลับมาผ่าน GUI หรือคำสั่ง qm set <vmid> --net0 virtio=AA:BB:CC:DD:EE:FF,bridge=vmbr0
  5. เปิด memory ballooning พร้อมติดตั้ง qemu-guest-agent ใน guest เพื่อให้ Proxmox อ่าน IP ของ VM และ freeze filesystem ตอน backup ได้

5. Callout สำคัญ#

⚠️ ข้อควรระวัง

Windows VM ต้องติดตั้ง VirtIO driver ก่อน boot ครั้งแรกบน Proxmox ไม่อย่างนั้นจะเจอ BSOD INACCESSIBLE_BOOT_DEVICE ทันที วิธีที่ปลอดภัยที่สุดคือติดตั้ง virtio-win ISO ตั้งแต่ยังอยู่ฝั่ง ESXi ก่อน shutdown เพื่อ migrate หากลืม ให้ boot รอบแรกด้วย disk bus เป็น SATA → mount virtio-win.iso → ติดตั้ง driver → shutdown → สลับ bus เป็น VirtIO SCSI แล้ว boot ใหม่

Tip

ทดสอบ migration กับ VM ที่ไม่ critical ก่อนเสมอ เลือก VM ประเภท staging web server, jump host หรือ utility VM มาวิ่ง end-to-end flow รวมถึง backup/restore บน PBS (Proxmox Backup Server) ก่อนแตะ database production ทีมควรจับเวลา import จริงเพื่อนำมาประเมิน downtime window ของรอบ production migration

6. สรุป + Migration Checklist#

การย้ายจาก VMware ESXi ไป Proxmox VE หลังยุค Broadcom ไม่ใช่แค่เรื่อง cost saving แต่เป็นการ redesign virtualization stack ใหม่ทั้ง storage, network และ operation model ถ้าวาง network bridge, storage layout และ VirtIO driver ไว้ครบ ขั้นตอน import เองจะค่อนข้างราบรื่นด้วย GUI Wizard ของ PVE 8.2+

Checklist ก่อน migrate:

  • ทำ inventory VM ทั้งหมด พร้อม spec, IP, MAC, dependency
  • เตรียม Proxmox cluster + shared storage (Ceph / NFS / iSCSI)
  • ติดตั้ง virtio-win driver บน Windows VM ทุกตัวก่อน shutdown
  • ถอน VMware Tools, ปลด vTPM และ consolidate snapshot ให้เรียบ
  • ทดสอบ migrate VM non-critical 2-3 ตัว พร้อมวัด throughput จริง
  • กำหนด maintenance window พร้อม rollback plan (ห้ามลบ VM ฝั่ง ESXi จนกว่าจะ verify ครบ 1-2 สัปดาห์)

Checklist หลัง migrate:

  • เปลี่ยน disk bus เป็น virtio-scsi-single และเปิด discard + iothread
  • ตั้งค่า CPU type, MAC address และ boot order ให้ครบ
  • ติดตั้ง qemu-guest-agent ใน guest
  • สร้าง backup job บน PBS แล้วทดสอบ restore
  • อัปเดต monitoring (Zabbix / PRTG / Grafana) ให้ชี้ไปที่ Proxmox API แทน vCenter

เมื่อเดินตาม flow นี้ครบ ทีม infrastructure จะได้ virtualization platform ที่คุมต้นทุนได้ในระยะยาว และยังคง availability ระดับ enterprise ไว้ได้ครบทุก feature ที่เคยมีบน vSphere