Membawa NetBSD ke dunia virtualisasi: memahami hypervisor NVMM dan integrasinya dengan QEMU, peran Xen sebagai dom0/domU, serta persiapan image cloud untuk Vagrant dan AMI.

Di episode 17 sebelumnya kita telah mengeksplorasi keunikan rump kernels. Kini kita menaiki satu level lagi — bukan sekadar menjalankan kernel di userspace, tetapi menjalankan sistem operasi utuh sebagai tamu. Pada episode ini kita akan membahas virtualization dan cloud di NetBSD — memahami hypervisor NVMM dan integrasinya dengan QEMU, peran Xen sebagai dom0/domU, serta persiapan image cloud untuk Vagrant dan AMI.
Sebagian besar server modern berjalan di atas virtualisasi. Memahami bagaimana NetBSD bertindak baik sebagai host (hypervisor) maupun guest (tamu) adalah keterampilan yang langsung berguna di dunia cloud dan homelab.
NVMM (NetBSD Virtual Machine Monitor) adalah hypervisor milik NetBSD sendiri — berjalan sebagai kernel module (nvmm(4)) yang memanfaatkan akselerasi hardware (Intel VT-x / AMD-V). Ia bukan pengganti QEMU; ia adalah mesin di bawahnya — QEMU memakai NVMM sebagai backend akselerasi, mirip seperti QEMU memakai KVM di Linux.
modload nvmmmodstat | grep nvmm
nvmm misc - 0 48Untuk otomatis saat boot, tambahkan ke /etc/modules.conf:
nvmmWarning
NVMM membutuhkan dukungan virtualisasi hardware. Di mesin fisik, pastikan VT-x/AMD-V aktif di BIOS. Di dalam VM (nested virtualization), pastikan hypervisor host mengaktifkan expose hardware virtualization.
Install QEMU dari pkgsrc:
cd /usr/pkgsrc/emulators/qemu
make install cleanJalankan sebuah VM dengan akselerasi NVMM — flag -accel nvmm memberi kecepatan yang mendekati native:
qemu-system-x86_64 \
-accel nvmm \
-m 1024 \
-drive file=netbsd.qcow2,format=qcow2 \
-netdev user,id=n1 \
-device virtio-net-pci,netdev=n1qemu-system-x86_64: warning: Host doesn't support requested features...
VNC server running on 127.0.0.1:5900Dengan -accel nvmm, guest berjalan dengan akselerasi penuh. Tanpa itu, QEMU jatuh ke mode emulasi murni — jauh lebih lambat.
Persiapkan disk image lalu boot installer NetBSD sebagai guest:
qemu-img create -f qcow2 netbsd.qcow2 10GFormatting 'netbsd.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=offqemu-system-x86_64 -accel nvmm -m 1024 \
-cdrom NetBSD-11.0-amd64.iso \
-drive file=netbsd.qcow2,format=qcow2 \
-boot dInstal NetBSD di dalam guest persis seperti di episode 3 — dan kalian sedang menjalankan NetBSD di dalam NetBSD.
Xen adalah hypervisor tipe-1 (bare-metal) yang dimiliki komunitas, dan NetBSD adalah salah satu sistem dengan dukungan Xen terbaik di antara BSD. Arsitekturnya:
| Peran | Arti |
|---|---|
| dom0 | Domain kontrol — domU pertama, punya akses penuh ke hardware |
| domU | Domain tamu — sistem operasi yang berjalan di atas Xen |
NetBSD bisa bertindak sebagai dom0 yang menjalankan guest Xen — termasuk guest NetBSD, Linux, dan FreeBSD. Ini membuat NetBSD pilihan menarik sebagai dasar virtualisasi server kecil.
Sebaliknya, NetBSD bisa berjalan sebagai domU di atas Xen yang dikelola host lain. Untuk menjalankan NetBSD sebagai domU, boot dengan kernel Xen yang sesuai:
kernel = "/boot/xen/vmlinuz-3.14-x86_64"
ramdisk = "/boot/xen/initramfs-3.14-x86_64"
memory = 1024
vcpus = 2
disk = ['phy:/dev/vg0/nbsd-domu,xvda,w']Xen cocok untuk lingkungan yang sudah memakai infrastruktur Xen, atau ketika butuh isolasi yang sangat ketat antar domain.
| Aspek | NVMM + QEMU | Xen |
|---|---|---|
| Jenis | Type-2 (via QEMU) | Type-1 (bare-metal) |
| Kompleksitas | Rendah — pakai langsung | Tinggi — butuh boot Xen |
| Use case | Desktop VM, homelab, testing | Data center, banyak guest berat |
| Integrasi NetBSD | Native, modern | Tradisional, matang |
Untuk kebutuhan umum — menjalankan beberapa VM di homelab atau server kecil — NVMM + QEMU adalah pilihan yang paling praktis.
NetBSD menyediakan image cloud yang siap pakai untuk platform modern.
Install plugin yang menyediakan box NetBSD, atau gunakan box yang tersedia:
vagrant init generic/netbsd11
vagrant upBringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'generic/netbsd11'...NetBSD juga diterbitkan sebagai AMI (Amazon Machine Image) untuk AWS — tersedia di marketplace dan berbayar kecil. Setelah instance berjalan, NetBSD di AWS memakai driver virtio (episode 8: interface virtio0) dan bisa dikelola seperti server NetBSD biasa:
dmesg | grep -i virtiovirtio0 at pci0 dev 4 function 0: Virtio network deviceKehadiran NetBSD di cloud mainstream membuktikan bahwa sistem ini hidup — bukan hanya untuk enthusiast.
Pada episode 18 ini, kalian telah membawa NetBSD ke dunia virtualisasi: memahami hypervisor NVMM dan integrasinya dengan QEMU, menjalankan guest dengan akselerasi -accel nvmm, mengenal peran Xen sebagai dom0/domU, serta menyiapkan image cloud untuk Vagrant dan AWS AMI.
Inti yang harus dibawa pulang:
modload nvmm, lalu pakai QEMU dengan -accel nvmm.Di episode 19 selanjutnya kita akan memeras performa: performance dan optimization — tuning sysctl untuk kernel, VM, dan network, memantau sistem dengan systat dan top, serta membandingkan FFS dengan ZFS untuk storage. Sampai jumpa di episode 19!