Belajar Proxmox VE - GPU Passthrough (PCIe Passthrough) & Nested Virtualization
Episode 16 of 21

Belajar Proxmox VE - GPU Passthrough (PCIe Passthrough) & Nested Virtualization

Episode ini membahas konsep PCIe passthrough, konfigurasi IOMMU Intel VT-d dan AMD-Vi, blacklist driver GPU host, meneruskan GPU ke VM untuk training dan transcoding, serta nested virtualization untuk menjalankan hypervisor di dalam VM.

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

Pendahuluan

Selama ini VM hanya melihat perangkat virtual — CPU virtual, disk virtual, NIC virtual. Tapi ada beban kerja yang menuntut perangkat fisik: training machine learning, transcoding video, atau gaming. Episode 16 membuka pintu ke dunia ini melalui PCIe passthrough.

Kita akan memahami konsep passthrough, mengaktifkan IOMMU di BIOS dan Proxmox, mem-bypass driver GPU host, lalu meneruskan GPU ke VM. Di akhir episode, kita juga membahas nested virtualization — menjalankan virtualisasi di dalam virtualisasi.

Konsep PCIe Passthrough

Akses Langsung ke Perangkat Fisik

PCIe passthrough memberikan VM akses langsung ke perangkat fisik di bus PCIe — GPU, NIC, atau storage controller. VM tidak lagi melihat perangkat virtual yang diemulasi, melainkan hardware asli. Efeknya: performa hampir sama dengan bare-metal, karena tidak ada lapisan emulasi.

Passthrough vs emulasi
Emulasi     : VM -> driver virtual -> host -> perangkat fisik
Passthrough : VM -> driver asli -> perangkat fisik (langsung)

Sisi negatifnya: perangkat yang di-passthrough tidak bisa dipakai VM lain, dan migrasi live tidak didukung karena hardware terikat pada node.

Mengidentifikasi Perangkat

Sebelum konfigurasi, kenali perangkat dan address PCI-nya:

Lihat perangkat PCI dan driver-nya
lspci -nnk | grep -A3 -i vga

Perintah lspci -nnk menampilkan semua perangkat PCI beserta driver yang sedang memakainya. Catat address seperti 01:00.0 dan ID vendor untuk GPU kalian.

Konfigurasi GPU Passthrough

Mengaktifkan IOMMU

Langkah pertama adalah IOMMU — teknologi yang memungkinkan perangkat berbagi dengan aman. Aktifkan di BIOS: Intel VT-d untuk Intel, AMD-Vi untuk AMD. Lalu beri tahu kernel:

Aktifkan IOMMU di kernel
nano /etc/default/grub

Tambahkan parameter di baris GRUB_CMDLINE_LINUX_DEFAULT. Untuk Intel: intel_iommu=on iommu=pt. Untuk AMD: amd_iommu=on iommu=pt. Simpan lalu:

Update GRUB dan reboot
update-grub
reboot

Setelah reboot, verifikasi IOMMU aktif:

Cek IOMMU aktif
dmesg | grep -e DMAR -e IOMMU

Blacklist Driver GPU Host

GPU tidak bisa di-passthrough selama driver host masih memakainya. Blacklist driver — nouveau dan nvidia untuk NVIDIA, amdgpu untuk AMD:

Blacklist driver GPU host
echo "blacklist nouveau" > /etc/modprobe.d/blacklist-gpu.conf
update-initramfs -u

Tambahkan juga module vfio-pci ke daftar module yang di-load saat boot agar GPU langsung dipegang oleh VFIO.

Meneruskan GPU ke VM

Dengan IOMMU aktif dan driver host di-bypass, tambahkan GPU sebagai perangkat di VM. Dari web UI, buka VM -> Hardware -> Add -> PCI Device, pilih GPU berdasarkan address, centang opsi seperti Primary GPU jika VM memakai GPU sebagai display utama, lalu ROM-Bar sesuai kebutuhan.

Perangkat PCI di VM
Raw Device: 01:00.0 (GPU) -> dihubungkan langsung ke VM

Install driver di dalam guest (NVIDIA atau AMD sesuai GPU), dan GPU akan terdeteksi sebagai hardware asli.

Kasus Penggunaan GPU

GPU passthrough membuka banyak skenario:

  • Machine learning: training dan inference memakai CUDA di VM.
  • Video transcoding: NVIDIA NVENC untuk encoding video.
  • Gaming VM: GPU penuh untuk game di dalam VM, dengan SPICE atau passthrough USB.

Untuk gaming, tambahkan juga passthrough USB controller atau gunakan Looking Glass untuk display berlatensi rendah.

Nested Virtualization

Virtualisasi di Dalam VM

Nested virtualization memungkinkan VM menjalankan hypervisor lagi di dalamnya — Docker, Kubernetes, bahkan ESXi atau Proxmox di dalam VM Proxmox. Aktifkan dengan satu pengaturan:

Aktifkan nested virtualization
qm set 100 --args "-cpu host,+vmx"

Perintah qm set 100 --args "-cpu host,+vmx" menambahkan flag +vmx (atau +svm untuk AMD) ke CPU VM, sehingga guest melihat dukungan virtualisasi dan bisa menjalankan hypervisor sendiri. Ini pola umum untuk laboratorium, testing, dan menjalankan container engine secara efisien.

Warning

Passthrough dan nested virtualization peka terhadap versi BIOS, kernel, dan hardware. Lakukan riset dulu untuk kombinasi hardware kalian, dan siapkan rencana rollback — konfigurasi yang salah bisa membuat node tidak boot.

Penutup

Episode 16 membuka akses penuh ke hardware: memahami PCIe passthrough, mengaktifkan IOMMU, mem-bypass driver GPU host, meneruskan GPU ke VM untuk ML, transcoding, dan gaming, serta mengaktifkan nested virtualization untuk hypervisor di dalam VM.

Inti yang harus dibawa pulang:

  • Passthrough memberi VM akses langsung ke perangkat fisik.
  • Aktifkan IOMMU di BIOS dan kernel: VT-d untuk Intel, AMD-Vi untuk AMD.
  • Blacklist driver GPU host agar tidak bersaing dengan VFIO.
  • Tambahkan GPU sebagai PCI device di konfigurasi VM.
  • GPU berguna untuk ML, transcoding, dan gaming VM.
  • Nested virtualization diaktifkan dengan flag +vmx atau +svm.

Di episode 17 selanjutnya kita akan membahas infrastructure automation — provisioning VM dengan Terraform dan OpenTofu lewat provider bpg/proxmoxve, mengelola lifecycle dengan Ansible, hingga alur otomatis end-to-end dari template cloud-init sampai software stack terkonfigurasi. Manual provisioning sudah saatnya ditinggalkan; selamat datang di era Infrastructure as Code!

Belajar Proxmox VE - GPU Passthrough (PCIe Passthrough) & Nested Virtualization | Belajar Proxmox VE