Migrasi VM dari VMware ESXi ke Proxmox VE via CLI

Hai semuanya, apa kabar? Kali ini kita lanjut lagi per-testing-an migrasi ke Proxmox VE. Kita akan coba migrasikan VM yang ada di VMware ke Proxmox VE namun bukan pakai native tool yang ada di PVE, melainkan pakai CLI. Nantinya kita akan gunakan perintah qm importdisk untuk mengimpor disk dari VM.

Untuk pengujian kali ini, kita pastikan terlebih dahulu kita ada akses SSH ke server VMware maupun PVE. Dan juga pastikan storage di PVE mencukupi untuk menampung VM hasil migrasi.

Langkah di VMware

  • Masuk ke server VMware menggunakan SSH (pastikan aksesnya ada): ssh root@IP-VMware.
  • Cek daftar VM untuk melihat ID dari VM dan di mana VM tersebut disimpan: vim-cmd vmsvc/getallvms.
Vmid    Name                   File                    Guest OS       Version   Annotation
1      CentOS7   [localstore] CentOS7/CentOS7.vmx   centos7_64Guest   vmx-21
  • Cek apakah VM hidup atau tidak. Apabila masih hidup (Powered on), matikan VM terlebih dahulu.
    [root@esxifree:~] vim-cmd vmsvc/power.getstate 1
    Retrieved runtime info
    Powered on
    [root@esxifree:~] vim-cmd vmsvc/poweroff 1
    Invalid command 'vmsvc/poweroff'.
    [root@esxifree:~] vim-cmd vmsvc/power.off 1
    Powering off VM:
    
  • Untuk cek volume penyimpanan yang digunakan oleh VM, gunakan perintah ls -lh /vmfs/volumes. Lalu masuk ke direktori tempat VM berada: cd /vmfs/volumes/<nama_datastore>/<nama_folder_vm>/
    Contoh: cd /vmfs/volumes/localstore/CentOS7/
  • File yang digunakan untuk migrasi ada dua buah, yaitu .vmdk (descriptor – yang menunjuk ke file utama/data mentah) dan -flat.vmdk (raw/data mentah). Simpan/salin path ke direktori file tersebut. Nantinya file tersebut akan disalin ke PVE.

Langkah di PVE

  • Masuk ke PVE (SSH) dan copy file VM yang ada di VMware: scp root@<IP_ESXi>:/vmfs/volumes/localstore/CentOS7/CentOS7*.vmdk /var/lib/vz/dump/
  • Cek terlebih dahulu storage apa saja yang tersedia di PVE: pvesm status.
  • Buat VM kosongan tanpa disk: qm create 105 --name CentOS7-Migrated --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0 --ostype l26
  • Lakukan import disk dari file VMDK yang sudah disalin. Arahkan perintah qm importdisk ke berkas descriptor .vmdk. Proxmox otomatis mengonversi dan memasukkan data dari berkas -flat.vmdk: qm importdisk 105 /var/lib/vz/dump/CentOS7.vmdk Ceph-SSD (nama storage-nya disesuaikan. pada pengujian kali ini pakai Ceph).

Kendala yang sempat dialami adalah OS tidak load dan ada pesan dracut:

 

Gangguan ini dapat disebabkan karena controller yang digunakan pada VM tersebut (di PVE) adalah VirtIO SCSI. VM yang dimigrasikan dari VMware tekadang “nyangkut” dan tidak mau load karena hal ini. Solusi yang dapat dicoba adalah ubah bus controller dari SCSI ke SATA. Atur juga boot order-nya.

qm set 105 --delete scsi0
qm set 105 --sata0 Ceph-SSD:vm-105-disk-0
qm set 105 --boot order=sata0

Selanjutnya, jalankan VM: qm start 105.

VM pun berhasil dijalankan di PVE.

 

Penutup

Import atau migrasi VM dari VMware ke Proxmox VE bisa dilakukan dengan berbagai cara. Paling mudah memang menggunakan import tool yang ada di PVE (native). Namun ada kemungkinan kita tidak punya akses ke GUI dan cara migrasi VM melalui CLI dan perintah importdisk bisa jadi solusi.

Tulisan kali ini ampai di sini dulu ya. Sampai jumpa. Bye.

By Zaidan

Leave a Reply

Your email address will not be published. Required fields are marked *