silvesterlangen.de

Seite
Menü

KVM Nested Virtualization

Je nach Bedarf kann es schon mal sein, dass der Wirt sog. "nested virtualization" unterstützen muss. In meinem Fall ist der Wirt eine KVM-Maschine, die wahlweise mal einen nested Linux-KVM-Wirt oder auch Hyper-V Wirt beherrbergen muss, der wiederum eine virtuelle Maschine hostet.

Die Hardware-Maschine wird dabei L0 (Layer 0), "bare-metal host" genannt, weil sie die physische Maschine ist. Die erste VM, die selbst Hypervisor sein wird, nennt man L1 und ist der "guest-hypervisor". Die auf L1 gehostete virtuelle Maschine ist L2 und nennt sich schlicht "nested guest"

 

Auf dem Wirt selbst:

Ich zeige hier beide Möglichkeiten auf. Ein mal für einen Hyper-V- und einmal für einen KVM-Gast. Der Kernel muss mindestens Version 4.10 oder größer sein. Prüfen wir, ob "nested VM" aktiviert ist. Hierbei ist drauf zu achten, ob man einen AMD- oder Intel-Prozessor verwendet. Die Pfade unterhalb /sys/module/ sind dann unterschiedlich:

Intel: cat /sys/module/kvm_intel/parameters/nested

AMD: cat /sys/module/kvm_amd/parameters/nested

In beiden Fällen muss als Ausgabe "1" kommen. Dann steht der "nested VM" nichts im Weg.

 

Konfigurationsdatei der VM

Unterhalb /etc/libvirt/qemu/ befinden sich die Konfigurationsdateien, in denen die "Hardware" der VMs definiert wird. Die Konfigurationen sind im .xml-Format gespeichert. Man kann sie mit dem Editor der Wahl öffnen und die CPU-Zeile ändern zu:

<cpu mode='host-passthrough'>

Es geht aber auch etwas bequemer. Wer den Virt-Manager nutzt, der wählt die VM aus, lässt sich die Hardware-Details der VM anzeigen, klickt auf CPU und klickt auf die Checkbox "die CPU-Konfiguration vom Wirt kopieren" oder auf englisch heißt es "copy host cpu configuration". Das Dropdown-Menü, wo die CPU wählbar war verschwindet dann.

 

Auf der VM selbst:

Ist der Gast Windows Hyper-V, so wird er von selbst meckern, sobald man Hyper-V installieren bzw. den Manager starten will. Das schaut dann wie folgt aus:

Ist der Gast ein KVM-System, so lässt sich einfach mit einem Befehl prüfen, ob alles okay ist:

virt-host-validate

« vorige Seite Seitenanfang nächste Seite »
Seite
Menü
Earned Certificates:
LPIC-1 LPIC-1 LPIC-1
Powered by CMSimple | Template by CMSimple | Login