it-fraggle
Goto Top

KVM nested virtualization (cpu pass-through)

Hallo,

zwar brauche ich es sehr selten, aber nun ist es wieder soweit. Eine VM schnell eingerichtet und soweit ich mich erinnern konnte dann in die Konfig der VM unter CPU wie folgt geändert:
<cpu mode='host-passthrough'>
</cpu>
Natürlich vorher darauf geachtet, dass "nested virtualization" auf dem Wirt aktiviert ist
  1. cat /sys/module/kvm_amd/parameters/nested
Die Ausgabe ist wie erwartet "1".

Leider gibt mir virt-host-validate ein "nur emulierte CPUs sind verfügbar". Ein grep nach svm/vmx /proc/cpuinfo innerhalb der VM wirft mir auch nichts aus. Somit wird wohl der Passthrough auch nicht funktionieren.

Habe ich noch was vergessen?

Content-ID: 391587

Url: https://administrator.de/contentid/391587

Ausgedruckt am: 23.11.2024 um 12:11 Uhr

certifiedit.net
certifiedit.net 03.11.2018 um 13:39:27 Uhr
Goto Top
Hallo,

da wir keine Ahnung von der CPU/ deren Support o.ä haben

http://www.linux-kvm.org/page/Nested_Guests
it-fraggle
it-fraggle 03.11.2018 um 14:30:39 Uhr
Goto Top
Ja, das weiß ich doch. Steht ja quasi auch da oben schon, sonst gäbe es die Ausgabe "1" nicht. Es ist ein AMD FX 8350. Habe noch mal recherchiert und wie es ausschaut habe ich alles richtig gemacht. Werde mir das die Tage noch mal ansehen, wenn ich mehr Ruhe habe. Irgendwas ist wohl faul. Dachte nur ich hätte was vergessen, warum es nicht ging.
129580
129580 03.11.2018 um 20:34:47 Uhr
Goto Top
Guten Abend,

schau mal dort. Dort hatte jemand das selbe Problem und hat eine Lösung gefunden:
https://www.thegoldfish.org/2017/04/nested-virtualization-in-centos-6/

Viele Grüße,
Exception
it-fraggle
it-fraggle 03.11.2018 um 23:20:45 Uhr
Goto Top
Seltsame Sache. Habe als Test einen frischen Debian Stretch Server aufgesetzt und da war das gleiche Problem. Danach mit CentOS7 probiert und da war es kein Problem.
certifiedit.net
certifiedit.net 04.11.2018 um 00:46:22 Uhr
Goto Top
Dann würde ich mal spontan auf fehlende (Treiber)unterstützung tippen. face-wink
129580
129580 04.11.2018 aktualisiert um 02:15:37 Uhr
Goto Top
Zitat von @certifiedit.net:

Dann würde ich mal spontan auf fehlende (Treiber)unterstützung tippen. face-wink

Würde ich nun eher nicht vermuten, da es ja mit CentOS klappt. Und das aktuelle CentOS 7 Release hat einen älteren Linux Kernel als Debian Stretch. (Außer der TO hat einen neueren Kernel nachträglich installiert). Außerdem steht ja oben, dass das Nesting Kernel Modul beim Wirt erfolgreich geladen wurde. Ich vermute eher, wie oben in dem verlinkten Blogeintrag beschrieben wird, dass libvirt den Parameter "-enable-nesting" nicht an qemu-kvm weitergibt. Deshalb ist auch in der VM nicht das SVM Flag bei den CPU Eigenschaften gesetzt. Kann der TO einfach testen, indem er statt auf virsh o.ä. Tools die auf der libvirt API basieren einfach mal direkt qemu-kvm anspricht.

Aufgrund der relativ wenigen Informationen die uns der TO hier geliefert hat, ist es aktuell nur ein reines Ratespiel, was möglicherweise als Ursache in Frage kommen könnte. Von daher:

@it-fraggle da es nun ja bei CentOS geklappt hat, hat sich nun dein Thread hier erledigt?
Wenn ja, dann aktualisiere bitte den Status dieses Threads auf "Gelöst" face-wink
certifiedit.net
certifiedit.net 04.11.2018 um 10:26:45 Uhr
Goto Top
Exception, zu viel gesehen, als dass ich es ausschließen will. Ist nun Mal insbesondere ein Punkt unter Linux, der für mich ein riesen Manko ist: diverse Punkte/Schnittstellen und Methoden funktionieren jahrelang und dann wird es plötzlich eingestampft. Daher kann sogar der neuere Kernel (mit einem älteren Host??) Probleme machen.

Aber du hast Recht wer keine Infos dazu geben will, der hat schon...

VG