Belajar Rocky Linux - Virtualization dengan KVM/libvirt
Episode 19 of 23

Belajar Rocky Linux - Virtualization dengan KVM/libvirt

Episode ini membahas virtualisasi KVM di Rocky Linux: instalasi KVM/QEMU dan libvirt, provisioning VM dengan virt-install, manajemen dengan virsh dan virt-manager, storage pool dan volume, jaringan default versus bridged, serta snapshot.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Di episode 18 sebelumnya kalian sudah belajar mengemas OS sebagai image. Sekarang giliran kemampuan yang menjadi fondasi data center modern: virtualisasi — menjalankan banyak sistem operasi di atas satu hardware fisik dengan isolasi penuh. Rocky Linux memakai KVM (Kernel-based Virtual Machine) sebagai hypervisor, dengan QEMU sebagai emulator dan libvirt sebagai lapisan manajemen. KVM memanfaatkan ekstensi virtualisasi CPU, QEMU menyediakan emulasi perangkat, dan libvirt memberi API dan alat untuk mengelola semuanya.

Instalasi KVM dan Libvirt

Menginstal Group Virtualization

Menginstal grup virt
dnf5 group install "Virtualization Host"
Memeriksa dukungan KVM
grep -cE 'vmx|svm' /proc/cpuinfo

Output yang lebih besar dari nol berarti CPU mendukung virtualisasi (Intel VT-x vmx atau AMD-V svm). Tanpa ini, KVM tidak bisa bekerja.

Mengaktifkan Layanan

Aktifkan libvirtd
systemctl enable --now libvirtd
Verifikasi hypervisor
virsh version
virsh list --all

Menambahkan User ke Group Libvirt

Menambahkan user ke group libvirt
usermod -aG libvirt arman

Provisioning dengan Virt-Install

Membuat VM Pertama

Membuat VM dari ISO
virt-install \
  --name rocky10-vm \
  --memory 2048 \
  --vcpus 2 \
  --disk size=20 \
  --os-variant rocky10.0 \
  --network default \
  --cdrom /iso/Rocky-10.2.iso \
  --graphics none \
  --console pty,target_type=serial
Melihat VM yang ada
virsh list --all

Setiap opsi bermakna: --memory dan --vcpus menentukan resource, --disk size=20 membuat disk 20 GB (dari storage pool yang kita bahas sebentar lagi), dan --network default menyambungkan VM ke jaringan default libvirt.

Variabel dan Hostname

Provisioning dengan kickstart
virt-install \
  --name web01 \
  --memory 2048 --vcpus 2 \
  --disk size=20 \
  --os-variant rocky10.0 \
  --network default \
  --extra-args "inst.ks=http://192.168.1.10/rocky.ks"

Manajemen dengan Virsh dan Virt-Manager

Operasi Dasar Virsh

Mengontrol VM
virsh start rocky10-vm
virsh shutdown rocky10-vm
virsh destroy rocky10-vm
virsh reboot rocky10-vm
Info dan autostart
virsh dominfo rocky10-vm
virsh autostart rocky10-vm

virsh destroy mematikan paksa (seperti mencabut daya), sedangkan shutdown melakukan shutdown yang bersih. autostart membuat VM otomatis jalan saat host boot.

Virt-Manager untuk GUI

Menginstal virt-manager
dnf5 install virt-manager
Membuka konsol
virt-manager

Storage Pools dan Volume

Konsep Pool

Storage pool adalah lokasi terpusat tempat disk VM (volume) disimpan. Libvirt menyediakan pool default di /var/lib/libvirt/images:

Melihat pool
virsh pool-list
virsh vol-list default

Membuat Pool dan Volume

Membuat pool dari partisi
virsh pool-define-as vmpool fs - - /data/vms /dev/vgdata
virsh pool-build vmpool
virsh pool-start vmpool
virsh pool-autostart vmpool
Membuat volume
virsh vol-create-as vmpool web02.qcow2 30G --format qcow2

Jaringan Virtual

Default Network vs Bridge

Libvirt menyediakan default network yang memberi VM NAT ke jaringan luar. Untuk akses langsung ke jaringan fisik — pola yang dibahas di episode 9 — gunakan bridged networking:

Melihat jaringan virtual
virsh net-list
virsh net-dumpxml default
Menambahkan VM ke bridge br0
virsh attach-interface --domain rocky10-vm \
  --type bridge --source br0 --persistent

Membuat Jaringan Kustom

Definisi jaringan kustom
cat > /tmp/net-isolated.xml <<'EOF'
<network>
  <name>isolated</name>
  <forward mode='isolated'/>
</network>
EOF
Aktifkan jaringan
virsh net-define /tmp/net-isolated.xml
virsh net-start isolated
virsh net-autostart isolated

Jaringan isolated menghubungkan VM satu sama lain tetapi tidak memberi akses keluar — ideal untuk segmen keamanan internal.

Snapshot

Membuat dan Mengembalikan Snapshot

Membuat snapshot
virsh snapshot-create-as rocky10-vm clean-install
Melihat snapshot
virsh snapshot-list rocky10-vm
Kembali ke snapshot
virsh snapshot-revert rocky10-vm clean-install
Menghapus snapshot
virsh snapshot-delete rocky10-vm clean-install

Success

Kombinasi storage pool yang terkelola, jaringan bridge yang benar, dan snapshot rutin sebelum perubahan besar adalah pola operasional yang menjaga virtualisasi tetap aman dan dapat dipulihkan.

Penutup

Di episode 19 ini kalian sudah menguasai virtualisasi KVM di Rocky Linux: instalasi group Virtualization Host dan libvirtd, provisioning VM dengan virt-install (termasuk integrasi Kickstart), manajemen dengan virsh dan virt-manager, storage pool dan volume qcow2, jaringan default versus bridged dan kustom, serta snapshot untuk rollback cepat.

Inti yang harus dibawa pulang:

  • Pastikan CPU mendukung virtualisasi (vmx/svm) sebelum menginstal KVM.
  • Provisioning dengan virt-install dan Kickstart membuat VM sepenuhnya otomatis.
  • virsh adalah kendali utama; autostart membuat VM jalan saat host boot.
  • Kelola storage lewat pool dan volume; qcow2 mendukung snapshot dan hemat ruang.
  • Pilih NAT untuk isolasi dan bridge untuk akses jaringan langsung.
  • Snapshot sebelum perubahan besar — tombol undo untuk seluruh VM.

Di episode 20 selanjutnya kita akan membahas containerization dengan Podman, Buildah, dan Skopeo — engine container daemonless, rootless container, membangun image dengan Buildah, inspeksi dengan Skopeo, serta integrasi systemd melalui Quadlet. Virtualisasi sudah dikuasai; sekarang giliran format workload yang lebih ringan dan cepat!

Belajar Rocky Linux - Virtualization dengan KVM/libvirt | Belajar Rocky Linux