Disable Virtualization Engine in Libvirt

Saat awal setup VM menggunakan libvirt secara default akan membuat VM dengan konfigurasi cpu mode='host-model'. Mode ini akan menyalin kemampuan dari CPU Host server salah satunya seperti Virtualization features ke dalam VM sehingga Anda dapat menjalankan VM di dalam VM atau istilahnya Nested virtualization.

Pada kondisi tertentu Anda mungkin tidak menginginkan fitur tersebut aktif atau tidak ingin pelanggan Anda menjalankan Nested virtualization. Untuk itu Anda dapat menonaktifkan dengan menyesuaikan konfigurasi XML pada domain VM seperti berikut.

Using feature

Untuk menonaktifkan virtualisasi di VM bisa dengan disable feature vmx dan hypervisor. Edit konfigurasi XML pada domain VM seperti contoh berikut.

  <cpu mode='host-model'>
    <feature policy='disable' name='vmx'/>
    <feature policy='disable' name='hypervisor'/>
  </cpu>

Simpan konfigurasi lalu shutdown dan start VM untuk menerapkan perubahan.

virsh shutdown domname
virsh start domname

Kemudian jalankan perintah berikut untuk memastikan CPU sudah tidak mendukung virtualisasi

egrep -c '(vmx|svm)' /proc/cpuinfo

Using custom CPU

Anda bisa juga mengonfigurasi mode cpu ke custom alih-alih menggunakan host-model. Edit konfigurasi XML pada domain VM seperti contoh berikut.

  <cpu mode='custom'>
    <model fallback='allow'>kvm64</model>
  </cpu>

Ada beberapa model lain yang dapat digunakan seperti:

  • kvm64
  • core2duo
  • Penryn
  • Opteron_G1
  • Nehalem-IBRS
  • Nehalem
  • Conroe

Setiap model akan membawa nama model CPU yang berbeda-beda mulai dari yang versi lama sampai terbaru. Sehingga untuk pemilihan model yang tidak tepat akan membuat service, kernel, dan package yang terinstall di VM tidak berjalan.

Simpan konfigurasi lalu shutdown dan start VM untuk menerapkan perubahan.

virsh shutdown domname
virsh start domname

Kemudian jalankan perintah berikut untuk memastikan CPU sudah tidak mendukung virtualisasi

egrep -c '(vmx|svm)' /proc/cpuinfo