Episode ini membahas virtualisasi di DragonFlyBSD: hypervisor tipe-2 nvmm(4), integrasi dengan QEMU, pengelolaan VM, networking dengan tap dan bridge, serta praktik instalasi dan snapshot VM.

Di episode 17 sebelumnya kalian sudah mengendalikan scheduler dan men-tune kinerja kernel. Sekarang kita memanfaatkan semua kekuatan itu untuk satu tujuan besar: menjalankan sistem operasi lain di dalam DragonFlyBSD. Episode 18 membahas virtualisasi dengan NVMM — hypervisor tipe-2 bawaan yang menjadi pembeda DragonFlyBSD di antara BSD modern.
Ingat dari episode 0: cara paling aman belajar adalah di VM. Sekarang posisi kalian berbalik — bukan tamu, tapi tuan rumah. Kalian akan menyediakan rumah virtual bagi OS lain, memberi mereka jaringan, dan membuat snapshot untuk perlindungan mereka.
NVMM adalah hypervisor tipe-2 yang terintegrasi di kernel DragonFlyBSD. Ia menyediakan primitif virtualisasi CPU dan memori yang dipakai oleh emulator seperti QEMU. Keuntungannya: virtualisasi hardware-assisted dengan overhead rendah, tanpa bergantung pada modul pihak ketiga seperti KVM atau bhyve.
Memeriksa apakah nvmm tersedia dan dimuat:
kldstat | grep nvmm
sysctl kern.nvmmJika belum dimuat, muat module-nya:
kldload nvmm
echo 'nvmm_load="YES"' >> /boot/loader.confnvmm_load di loader.conf memuat module otomatis di setiap boot.
QEMU adalah emulator yang memanfaatkan NVMM sebagai akselerator. Install QEMU dari pkg:
pkg install qemuQEMU yang dibuild dengan dukungan NVMM akan memakai akselerator saat variabel -accel ditentukan.
Contoh menjalankan image Linux dengan akselerasi NVMM:
qemu-system-x86_64 -accel nvmm \
-m 1024 -smp 2 \
-drive file=/vm/debian.qcow2,format=qcow2 \
-netdev user,id=net0 -device virtio-net-pci,netdev=net0-accel nvmm mengaktifkan akselerasi; -m 1024 -smp 2 memberi 1 GB RAM dan 2 vCPU; disk menggunakan format qcow2; jaringan memakai mode user (NAT internal QEMU).
Info
Gunakan perangkat virtio untuk disk dan NIC di dalam VM — overheadnya paling rendah. Untuk penyimpanan berkinerja tinggi, letakkan file qcow2 di atas filesystem HAMMER2: snapshot HAMMER2 dan deduplication akan melindungi dan menghemat ruang untuk seluruh VM image.
Mode user praktis untuk percobaan, tapi untuk VM yang harus tampil sebagai host normal di jaringan, pakai tap + bridge:
ifconfig tap0 create
ifconfig bridge0 add em0 add tap0 up
qemu-system-x86_64 -accel nvmm \
-netdev tap,id=net0,ifname=tap0,script=no,downscript=no \
-device virtio-net-pci,netdev=net0 \
-drive file=/vm/debian.qcow2,format=qcow2Tap interface bertindak seperti kabel virtual yang dicolok ke bridge, sehingga VM mendapat alamat langsung dari jaringan fisik — pola standard untuk server VM di data center.
VM QEMU dikelola lewat monitor. Jalankan dengan monitor aktif:
qemu-system-x86_64 -accel nvmm -monitor stdio \
-drive file=/vm/debian.qcow2,format=qcow2Di dalam monitor, perintah seperti info status, system_reset, dan quit memberi kendali penuh atas VM tanpa menutup host.
Sama seperti HAMMER2, VM juga bisa di-snapshot. Ada dua level:
savevm snap-2026-08-03
loadvm snap-2026-08-03hammer2 snapshot /vmKombinasi keduanya memberi proteksi berlapis: snapshot qcow2 untuk state VM (termasuk memory), snapshot HAMMER2 untuk seluruh direktori.
Warning
Snapshot HAMMER2 dari file qcow2 yang sedang dibuka VM bisa saja tidak konsisten secara aplikasi. Untuk hasil terbaik, matikan VM (atau minimal flush) sebelum snapshot filesystem-level, atau andalkan savevm di level QEMU yang memahami state internal.
Di episode 18 ini kalian telah menjalankan virtualisasi di DragonFlyBSD: memahami hypervisor tipe-2 nvmm(4) dan cara memuatnya, mengintegrasikan QEMU dengan -accel nvmm, mengelola VM dengan monitor, mengatur networking via tap dan bridge, serta membuat snapshot di level QEMU dan HAMMER2.
Inti yang harus dibawa pulang:
kldload nvmm dan persist di loader.conf.-accel nvmm; install dengan pkg install qemu.savevm/loadvm untuk state VM, hammer2 snapshot untuk direktori.Di episode 19 selanjutnya kita menggabungkan semua ilmu storage: storage engineering: HAMMER2 production. Kalian akan merancang NAS/storage server dengan multi-volume HAMMER2, mengelola dedup dan encryption, menjadwalkan snapshot dengan cron, memantau dengan hammer2 status, dan memanfaatkan growfs untuk resize di 6.2+.