Kann Hyper-V in einer virtuellen Maschine ausgeführt werden?

8

Ok, wir alle wissen (oder sollten wissen), dass die Antwort von Microsoft ein klares " NEIN! " Ist .

Wir wissen jedoch auch, dass neuere Hypervisoren verschachtelte / rekursive Virtualisierung unterstützen können, vorausgesetzt, die zugrunde liegende CPU bietet Hardwarevirtualisierung. Die neuesten Produkte von VMware (ESXi 5, Workstation 8) unterstützen dies sogar nativ , ohne dass hässliche Hacks erforderlich sind.

Meine Frage lautet also: Kann Hyper-V in anderen Hypervisoren erfolgreich ausgeführt werden (dh virtuelle Maschinen können tatsächlich ausgeführt werden)?

Wenn ja, welche? Und wie?


Dies ist natürlich nur zum Testen gedacht .

Massimo
quelle
möglicherweise innerhalb von kvm / HVM oder xen_pv, aber warum sollten Sie wollen, es fragt nur nach Schmerzen
anthonysomerset
1
zB zu Testzwecken.
Mircea Vutcovici
Ich weiß, dass es mit ESXi als Hyper-V-Elternteil gemacht wurde, aber es ist hässlich langsam. Entschuldigung, ich habe keinen Link zu den Wegbeschreibungen.
Chris S
Welche Art von Test wäre in dieser Umgebung tatsächlich gültig?
Jake Oshins
2
Zum Einrichten eines Test-Hyper-V-Clusters benötigen Sie mindestens drei physische Server. Das ist normalerweise nicht etwas, das man leicht in die Hände bekommen kann.
Massimo

Antworten:

6

Ja, wenn die zugrunde liegenden CPUs die neuesten Virtualisierungserweiterungen (Intel VT-X / EPT) unterstützen und Sie die neuesten VMware-Produkte (Workstation 8, ESXi 5) verwenden.

Die relevanten Einstellungen in Ihrer VM sollten wie folgt sein:

monitor.virtual_mmu = "hardware"
monitor.virtual_exec = "hardware"
vhv.enable = "TRUE"
hypervisor.cpuid.v0 = "FALSE"

Die ersten drei Einstellungen können über die GUI aktiviert werden (wobei genau zwischen Workstation und ESXi geringfügig variiert). Die letzte Einstellung muss manuell zur VM- .vmxDatei hinzugefügt werden.

Außerdem müssen Sie unter ESXi 5 die folgende Zeile hinzufügen /etc/vmware/config:

vhv.allow = "TRUE"
Massimo
quelle
Wurde dies durch Versuch und Irrtum festgestellt, oder können Sie uns auf die Quelle verweisen, die möglicherweise weitere Informationen enthält, die für diejenigen von Interesse sind, die das Gleiche in Betracht ziehen?
John Gardeniers
Es gibt verschiedene Quellen im Web, die alle dieselben Schritte und Einstellungen bestätigen. Nichts offizielles, weder von VMware noch von Microsoft (was immer noch besagt, dass dies überhaupt nicht möglich ist).
Massimo
3

Auf diese Frage gibt es unterschiedliche Antworten.

Vor WS2016 / W10 lautete die richtige Antwort: Ja, Sie können die Hyper-V-Rolle in einer Hyper-V-VM aktivieren, aber der Hypervisor wurde nicht gestartet. Daher können Sie VMs im vHost erstellen, diese VMs konnten jedoch nicht gestartet werden.

In Windows 10 und WS2016 (TP4 und höher) können wir jedoch verschachteltes Hyper-V verwenden. Wenn Sie verrückt genug sind, es zu versuchen, können Sie einen Host erstellen, in einem Host, in einem Host, in einem Host, auf einem Host ...

Aidan Finn
quelle
Wow, das stimmt tatsächlich, Microsoft hat es endlich geschafft, verschachtelte Virtualisierung zu unterstützen: msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/… .
Massimo
@Massimo von Ihrem Link - "Beide Hypervisoren müssen der neueste Windows Insider-Build sein (10565 oder höher). Andere Hypervisoren funktionieren nicht." (Nebenbei: Ein Grund, warum Microsoft dafür sorgen musste, dass verschachteltes Hyper-V funktioniert, ist, dass die Containerunterstützung von Server 2016 in VMs verwendet werden kann. Einer der Containertypen ist ein Hyper-V-basierter Container. Ein weiterer Grund könnte der virtuelle sichere Modus in Windows 10 sein Unternehmen, das Kennwörter in einer Hyper-V-VM speichert und das Hauptbetriebssystem in einer anderen ausführt).
TessellatingHeckler
@TessellatingHeckler Abgesehen von den Aussagen von Microsoft konnte Hyper-V eine Weile problemlos in VMware-Produkten ausgeführt werden (obwohl dies natürlich niemand offiziell jemals unterstützt hat). Diese Hyper-V-Verschachtelung basiert auf denselben zugrunde liegenden Prinzipien, daher würde ich vermuten, dass Hyper-V auch andere verschachtelte Hypervisoren ausführen kann (allerdings ohne jegliche offizielle Unterstützung).
Massimo