Mit den aktuellen Versionen der VMware-Produkte gelingt die Quadratur des Kreises: Damit ist es möglich, einen Hyper-V-Server als virtuelle Maschine zu betreiben und auch innerhalb dieses Hyper-V “verschachtelte” virtuelle Maschinen auszuführen. Möglich wird dies, weil sowohl VMware Workstation 8 als auch das Server-Produkt vSphere 5 die CPU-Virtualisierungsfunktionen an eine VM durchreichen können. Das Feature nennt sich “Virtual VT-X/EPT or AMD-V/RVI” und lässt sich für einzelne VMs aktivieren.
Damit das auch mit Hyper-V funktioniert, sind aber ein paar zusätzliche Schritte nötig.
Zunächst einmal benötigt man als Host für die Virtualisierung einen Rechner mit CPU-Virtualisierungstechnik, als Intel-VT oder AMD-V. Auf Servern ist das schon seit einigen Jahren üblich, bei PCs und Notebooks aber nur bei bestimmten Modellen. Aktuelle Core-i5 oder -i7-Rechner haben beispielsweise die nötigen Funktionen.
Innerhalb von VMware Workstation 8 legt man dann eine neue VM an und aktiviert in deren Einstellungen unter “CPU” die VT-Virtualisierungsfunktion:
Im Fall von Hyper-V reicht dies aber leider noch nicht aus, denn Hyper-V erwartet, die CPU in einem bestimmten Modus ansprechen zu können. Installiert man bereits in dieser Phase Windows Server 2008 R2 (oder auch Windows Server “8”) und versucht dann die Rolle “Hyper-V” einzurichten, dann meckert Windows:
Um Hyper-V vorzugaukeln, dass es direkten Zugriff auf den Prozessor hat, muss man die Konfigurationsdatei der VM verändern. Das kann man auch nachträglich tun, nachdem die VM bereits installiert ist, allerdings muss man sie dazu ausschalten. Danach öffnet man aus dem Verzeichnis der VM die .vmx-Datei mit einem Texteditor und fügt ganz am Ende (oder an anderer Stelle) folgende Zeile hinzu:
hypervisor.cpuid.v0 = "FALSE"
Nun kann man die VM starten und die Hyper-V-Rolle im Server-Manager hinzufügen (hier wieder in Windows Server “8”, geht aber genauso in Windows Server 2008 R2):
Windows sollte sich nun nicht mehr beschweren. Jetzt richtet man Hyper-V ein – es empfiehlt sich natürlich, der Hyper-V-VM ausreichend RAM sowie ggf. mehrere Netzwerkkarten zu spendieren und dann mindestens einen virtuellen Switch einzurichten. Danach kann man eine VM innerhalb von Hyper-V einrichten, installieren und starten.
Um Missverständnisse zu vermeiden: Natürlich ist diese Verschachtelung virtueller Maschinen nicht für den produktiven Einsatz geeignet. Nützlich ist ein virtueller Hyper-V vor allem für Support, Entwicklung und Demonstrationen.
Hier noch einige Quellen zu dem Verfahren, wo sich auch nachlesen lässt, wie man dasselbe in vSphere 5 erreicht. Dort sind noch weitere Ergänzungen an der Konfiguration der Hyper-V-VM vorzunehmen.
[Running Nested Windows 8 inside Hyper-V in VMware Workstation 8 « Virtualized Geek Blog]
http://virtualizedgeek.com/2011/09/16/nested-win8-hyperv/
[Nesting Hyper-V with VMware Workstation 8 and ESXi 5 « Thoughts on Virtualization & Virtualization Management as well as Veeam in general – Veeam Software Official Blog]
http://www.veeam.com/blog/nesting-hyper-v-with-vmware-workstation-8-and-esxi-5.html
http://faq-o-matic.net/?p=3510