[Megoldva] Nested KVM

Fórumok

Csinálnék egy ilyet. A host egy Ubuntu 15.10, a VM-ben FBSD 11B4. Örömmel konstatálom, hogy már nem kell nekem kézzel kernel vagy modul paramétereket állítani, mert ezt gyárilag megtették nekem, azaz már a VM-beli OS is látja a processzor ezirányú jellemzőit. A VM-et abszolút mindenféle sallang nélkül futtatom, épp csak annyit adok meg a qemu-system-x86_64-nek, hogy köll a teljes KVM, meg memória és a diszkimage. Eredményeként azt kapom a VM-ben, hogy látszódnak a virtualizációhoz szükséges processzorflag-ek (pl. van VMX, meg POPCNT), ellenben kapok egy ilyet is:


$ qemu-system-x86_64 -enable-kvm -cpu host,+vmx -m 512 -k hu diszk.img
...
CPU: Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz (2294.49-MHz K8-class CPU)
 Origin="GenuineIntel" ...
 Features=0xf83fbff<...>
 Features2=0xfffa3223<...,VMX,...,POPCNT,...>
 AMD Features=0x2c100800<...,LM>
 AMD Features2=0x121<...>
 Structured Extended Features=0x1c0f3a<...>
 XSAVE Features=0x1<...>
 VT-x: (disabled in BIOS) PAT,HLT,PAUSE,EPT,UG
Hypervisor: Origin = "KVMKVMKVM"

Természetesen amikor be akarnám tölteni a VM-ben a virtualizációs alrendszert, közli, hogy a processzor nem rendelkezik a megfelelő tulajdonságokkal (vmx_init: processor does not support desired basic capabilities). Kínomban már ezt is megadtam a qemu-nak: -cpu host,+vmx - de ez sem segített. Holnap meg fogok próbálni egy Ubuntut futtatni a VM-ben, de nem nagyon hiszek a sikerben.

Vajon hogy a francban kell a virtuális gép BIOS-ában engedélyezni a virtualizációt KVM/SeaBIOS esetén?

Szerk: bemásoltam a pontos indítóparancsot és a CPU-ra vonatkozó üzenetet, ebből látszik, hogy milyen flag-eket látunk a VM-ben.

Jav: kaptam levelet Peter Grehan-tól (az egyik bhyve-fejlesztő). A hiba nem a KVM-ben, hanem a bhyve-ban van. Legalább két olyan processzorflag meglétét is igényli, amelyeket a KVM nem továbbít a guest-nek (és elvben nem is lenne rá szükség, de a jelenlegi állapotában mégis igényli). Akkor ez a teszt egyelőre kilőve. (Akit érdekel, itt kezdődik a szál. Hibajegy is van róla 203994-es számon, de inkább csak emlékeztető :-( )

Hozzászólások

cat /sys/module/kvm_intel/parameters/nested vagy cat /sys/module/kvm_amd/parameters/nested???

Nalam a ept hianyzott a cpubol, nem is lehett kvm-intel modult betolteni ept=1 parameterrel.
Mukodott a nested kvm, de VMbol csak 32bites guestet tudtam inditani, 64bitesnel kozolte, hogy nincsen virtualizacio.
Hasonlit a te problemadra, ezert kerdem, hogy cpud tamogatja-e ept-t. ( amd eseten nyilvan mas kell)
cat /proc/cpuinfo |grep --color -i ept

Libvirttel indítod az első VM-et? Ha igen, állíts CPU modelnek host-passthrough-t.