v2v: VMware-to-Cockpit (VM Migration Tools)
v2v adalah utilitas yang dirancang untuk memigrasikan virtual machine dari VMware vCenter/ESXi secara langsung ke virtual machine Libvirt yang persisten pada host lokal (virtualisasi platform Vapor) menggunakan virt-v2v.
Tool ini secara otomatis menginstal seluruh paket yang dibutuhkan untuk proses migrasi (termasuk virt-v2v, libguestfs, qemu-utils, dan image kernel kompatibel) di dalam Docker container yang bersifat mandiri.
Proses migrasi VM dilakukan melalui Vapor. Setelah migrasi berhasil, VM akan muncul di Cockpit dan dapat dikelola melalui Cockpit.
Pre-flight Requirements
Anda perlu menginstal Docker untuk menjalankan proses migrasi.
Agar proses migrasi dapat berjalan dengan baik, host system dan Docker container memerlukan:
- Privileged Mode: Diperlukan untuk mengakses virtualisasi host, akselerasi perangkat keras
/dev/kvm, dan system socket. - Libvirt Socket Access: Mount
/var/run/libvirtke dalam container. - Storage Pool Access: Mount folder storage pool (seperti
/var/lib/libvirt/imagesatau/home/awanio/data/virtualcompute). - KVM Device Mount: Akses ke
/dev/kvmuntuk virtualisasi applianceguestfsyang lebih cepat.
Running Migration via Vapor terminal
Proses 1 dan 2 di bawah ini hanya dilakukan satu kali untuk menginstal Docker container. Jika Docker container sudah tersedia, Anda hanya perlu menjalankan proses 3.
1. Download Image
Untuk mengunduh image:
docker run --rm r.awan.app/library/tools/v2v:v1.0.4 bootstrap > v2v-install.sh2. Install/run the image as a container
sudo sh v2v-install.sh3. Migrate VM
A. Execute via Vapor terminal
Anda dapat menjalankan tool migrasi secara Interaktif (disarankan) atau menggunakan CLI Arguments.
Interactively
Mode ini akan meminta Anda memasukkan pengaturan koneksi dan konfigurasi target, melakukan validasi input secara dinamis, serta menampilkan daftar koneksi yang telah disimpan.
sudo docker exec -it v2v migrate-v2v -iWalkthrough:
- Credentials Selection: Jika terdapat kredensial yang telah disimpan, pilih salah satu koneksi atau masukkan kredensial baru.
- Connection Type: Pilih
vpx(vCenter/vSphere) ataussh(ESXi langsung). - VMware Details: Masukkan Host/IP, Username, Password, serta informasi koneksi sesuai jenis koneksi:
- Untuk
vpx: Path Datacenter (misalnya/Datacenter/Cluster/Host) dan opsi untuk melewati verifikasi sertifikat SSL. - Untuk
ssh: Path file guest.vmxpada ESXi.
- Untuk
- Credentials Storage: Pilih apakah kredensial akan disimpan ke
credentials.json(disimpan dengan permission terbatas0600). - Source VM: Nama VM yang akan dimigrasikan.
- Target Config: Nama VM tujuan di Vapor, Target Storage Pool, serta konfigurasi antarmuka jaringan (mapping Network atau Bridge).
- Execution: Menampilkan proses konversi
virt-v2vsecara real-time melalui console.
Standard CLI Mode
Anda juga dapat menjalankan tool secara non-interaktif dengan menentukan parameter melalui command-line.
# vCenter Example:
sudo docker exec -it v2v migrate-v2v \
--type vpx \
--host vcenter.example.com \
--username administrator@vsphere.local \
--datacenter-path /Datacenter/Cluster/Host \
--source-vm my-vcenter-vm \
--target-name my-vapor-vm \
--storage-pool virtualcompute \
--network-name default
# Direct ESXi/VMX Example:
sudo docker exec -it v2v migrate-v2v \
--type ssh \
--host esxi.example.com \
--username root \
--vmx-path /vmfs/volumes/datastore1/my-vm/my-vm.vmx \
--source-vm my-vm \
--target-name my-vapor-vm \
--storage-pool defaultCLI Options:
--interactive,-i: Menjalankan mode interaktif.--type: Jenis koneksi (vpxataussh).--host: Host VMware atau alamat IP.--username: Username koneksi VMware.--password: Password VMware (jika tidak diisi, sistem akan memintanya secara aman).--datacenter-path: Path Datacenter pada vCenter.--vmx-path: Path file guest.vmxpada ESXi.--source-vm: Nama VM sumber.--target-name: Nama VM hasil migrasi pada Vapor.--storage-pool: Target storage pool (default:default).--network-type: Mode jaringan tujuan (networkataubridge, default:network).--network-name: Nama target network/bridge (default:default).
B. Execute Migration from container terminal
Setelah status container menjadi running:
Klik menu aksi pada container, kemudian pilih Terminal.
Terminal container akan terbuka. Sebuah banner akan menampilkan perintah migrasi:
bashmigrate-v2v -iJalankan
migrate-v2v -idi dalam terminal untuk memulai wizard interaktif, atau jalankan langsung menggunakan parameter CLI yang diperlukan.