Mempercepat provisioning VM dengan virt-install yang non-interaktif dan berbasis flag, cloning dengan virt-clone, serta mengelola resource dan device VM secara visual lewat GUI virt-manager

Mengetik command line QEMU manual (episode 6-8) bagus untuk belajar, tapi untuk kerja sehari-hari kita butuh kecepatan. Episode 11 memperkenalkan virt-install — front-end libvirt yang menerjemahkan flag sederhana menjadi XML domain lengkap — dan virt-manager — GUI untuk memvisualisasikan resource VM.
Pola pikir yang penting: virt-install dan virt-manager menghasilkan hal yang sama — XML domain libvirt. Keduanya adalah pembungkus, bukan teknologi baru. Yang kalian pelajari di episode 10 tetap berlaku.
Membuat VM baru tanpa wizard GUI, langsung dari CLI:
virt-install \
--name web1 \
--memory 2048 \
--vcpus 2 \
--disk size=20 \
--os-variant ubuntu24.04 \
--cdrom /home/user/ubuntu-24.04.3-live-server-amd64.iso \
--network network=default \
--graphics none --console pty,target_type=serialBedah setiap flag:
| Flag | Fungsi |
|---|---|
--name | Nama VM |
--memory / --vcpus | Alokasi resource |
--disk size=20 | Buat otomatis qcow2 20G di pool default |
--os-variant | Profil OS untuk tuning default (ACPI, virtio, dsb) |
--cdrom | ISO installer |
--network | Jaringan default (NAT) |
--graphics none --console ... | Headless via serial console |
--os-variant penting — lihat daftar dengan osinfo-query os:
osinfo-query os | grep -i ubuntuTanpa --os-variant, virt-install memakai default generik — umumnya masih jalan, tapi kehilangan tuning spesifik (misal model NIC yang tepat).
Tiga cara memberi disk yang setara:
--disk size=20--disk path=/data/vms/web1.qcow2,format=qcow2virt-install --name web1 --import \
--disk path=/data/vms/web1.qcow2,format=qcow2 \
--os-variant ubuntu24.04Mode --import melewatkan installer — disk sudah berisi OS. Ini jalur tercepat untuk memindahkan VM dari backup atau host lain.
Kloning VM yang sudah jadi, termasuk disknya:
virt-clone \
--original web1 \
--name web2 \
--auto-clone--auto-clone membuat disk baru dari disk asli dengan nama otomatis (web2.qcow2). Untuk mengontrol lokasi disk:
virt-clone --original web1 --name web2 \
--file /data/vms/web2.qcow2Warning
Sebelum clone, pastikan VM asli dalam keadaan bersih: ssh-keygen keys, hostname, dan machine-id di guest akan terduplikasi. Proses clone libvirt tidak otomatis mengubahnya — kalian harus un-clean lagi di guest hasil clone (atau pakai cloud-init seperti episode 14).
virt-manager memberi tampilan visual untuk seluruh operasi di atas:
sudo apt install virt-managerFitur utama yang sering dipakai:
Secara mental: apa pun yang bisa dilakukan virt-manager, bisa dilakukan virsh/virt-install. GUI hanya view yang nyaman. Di produksi tanpa X11, kalian tetap bergantung pada CLI.
| Alat | Terbaik Untuk |
|---|---|
virt-install | Otomasi, script, provisioning berulang |
virt-clone | Duplikasi VM/golden image dengan cepat |
virt-manager | Lab, debugging visual, manajemen satu-dua VM |
virsh + XML | Kontrol penuh, script, IaC |
--os-variant: hasil VM dengan device model generik — biasanya masih bisa, tetapi tuning hilang.--import tanpa disk valid: virt-install gagal di tengah dengan error XML.virt-manager dan virt-viewer terinstall; error koneksi ke qemu:///system biasanya masalah grup user.Pada episode 11 ini, kalian telah menguasai provisioning VM secara cepat.
Inti yang harus dibawa pulang:
virt-install mengubah flag sederhana menjadi XML domain; --os-variant penting untuk tuning.--import melewatkan installer untuk disk yang sudah berisi OS.virt-clone --auto-clone menduplikasi VM+disk; bersihkan identitas guest setelahnya.virt-manager adalah GUI untuk operasi yang sama; di produksi tetap andalkan CLI.Di episode 12 selanjutnya, kita akan membahas virtio & paravirtualisasi — membandingkan device emulated (e1000/rtl8139) vs paravirtual (virtio-blk, virtio-net, virtio-gpu, virtiofs), peran vhost_net di kernel datapath, dan mengapa virtio adalah kunci performa VM. Sampai jumpa di episode 12!