Nested Virtualiszation

Verschachtelte Virtualisierungen lassen sich bewerkstelligen

| Autor / Redakteur: Thomas Drilling / Ulrike Ostler

Wer VMware-ESXi und Hyper-V verschachtelt, will zumeist die Microsoft-Technik einmal ausprobieren. Wie das geht, schreibt Thomas Drilling.
Wer VMware-ESXi und Hyper-V verschachtelt, will zumeist die Microsoft-Technik einmal ausprobieren. Wie das geht, schreibt Thomas Drilling. (Bild: © blackboard1965 - Fotolia)

Wer eine „VMware-ESXi“- oder Workstation-Virtualisierungsumgebung betreibt will vielleicht auch einmal „Hyper-V“ ausprobieren, um einen möglichen Umstieg zu evaluieren. Beim Einsatz von Hyper-V unter VMware gibt es einige Dinge zu beachten.

Das Ausführen eines Hypervisors als virtuelle Maschine nennt man „Nested Virtualization“. Beim „geschachtelten“ Hypervisor kann es sich um den gleichen Typ handeln wie beim auf der physischen Hardware ausgeführten Hypervisor.

Derzeit unterstützen „Oracle Virtual Box“, „KVM“, „Xen“ und VMware diese Technologie. Je nach Hersteller können Admins nicht jeden Hypervisor als virtuelle Maschine einsetzen. Das Ausführen von „Hyper-V 2012 R2“ und 10 unter „vSphere 5.1“ und Version 5.5 sowie Workstation 9, 10 und 11 funktioniert jedoch gut.

Wo sich Nested VT sinnvoll einsetzen lässt

Für ein Produktivsystem macht Nested Vitualization in der Regel wenig Sinn, weil der für die Technik anfallende Overhead prinzipiell eine etwas geringere Geschwindigkeit zur Folge hat. Folgende andere sinnvolle Einsatzmöglichkeiten sind aber durchaus gegeben:

  • 1. Nested Virtualization eignet sich hervorragend für Testumgebungen.
  • 2. Administratoren können es darüber hinaus gut für das Migrieren von Anwendungen mit mehrschichtiger Architektur (multitier) aus dem Rechenzentrum in die Cloud nutzen.

Gast-Hypervisor und CPU-VT-Support

Die meisten Hypervisor-Systeme benötigen CPU-VT-Support (hardwaregestützte Virtualisierung). Bei VMware-Produkten gilt das für 64-Bit-Gastsysteme auf Intel-Hardware, beim Ausführen eines Gast-Hypervisors auch für 64-Bit-Gastsysteme auf AMD-Hardware.

Das CPU-VT-Feature der physischen CPU des Host-Systems ist normalerweise nicht in der vCPU des Gastsystems verfügbar, weil viele Hypervisor-Systeme Hardware-Virtualisierung nicht virtualisieren können. VMware jedoch stellt „virtualisierte Hardware-Virtualisierung“ ab Workstation 8, Player 4, Fusion 4 und ESXi 5.0 (oder jünger) zur Verfügung, so dass sich auch Hypervisoren als Gastsysteme ausführen lassen, die auf Hardware-Virtualisierung angewiesen sind.

Was bei Nested Virtualization in Verbindung mit den verschiedenen VMware-Versionen zu beachten ist. Möchten Admins einen Gast-Hypervisor unter VMware einsetzen, müssen sie folgende Voraussetzungen prüfen:

VMware Workstation 9, 10 und 11

VMware Workstation unterstützt Virtualized HV voll-ständig in den Versionen 9, 10 und 11, die gerade erschienenen ist, sofern der Host eine CPU mit Intel-VT-und EPT-Support oder AMD-V- und RVI-Support besitzt. Das Format virtueller Maschinen muss mindestens 9 oder 10 sein. Das gilt gleichermaßen für VMware Fusion 5, 6 und 7 sowie Player 5, 6 und 7. Um die Funktion einzuschalten, navigieren sie in den VM-Settings zu den vCPU-Eistellungen und aktivieren die Checkbox „Virtualize Intel VT-x/EPT or AMD-V/RVI“.

VMware Workstation 8

Für VMware Workstation 8 ist Virtualized HV für Version-8-VMs ebenfalls verfügbar. Allerdings erhalten die Nutzer hier beim Einschalten eine Warnung, dass die betreffende VM inkompatibel mit anderen VMware-Produkten ist. Würden sie eine solche VM zu ESXi 5.0 migrieren, ginge das nur mit aufwendigen manuellen Tweaks. Gleiches gilt für Fusion 4 und Player 4.

VMware ESXi 5.1 und 5.5

Die aktuelle vSphere-Version 5.5 und der Vorgänger 5.1 unterstützen Virtualized HV ebenfalls vollständig, wenn das Virtual-Machine-Format der VMs 9 (5.1, 5.5) oder 10 (5.5) ist, sofern der Host über eine geeignete CPU mit Intel-VT- und EPT-Support oder AMD-V- und RVI-Support verfügt. Zum Einschalten des Features klicken Admins im Web-Client bei markierter VM auf „Einstellungen bearbeiten“ und aktivieren bei „Hardwarevirtualisierung“ die Checkbox „Hardware-gestützte Virtualisierung für das Gastsystem bereitstellen“.

Abbildung 1: Die hardwaregestützte Virtualisierung für Gäste.
Abbildung 1: Die hardwaregestützte Virtualisierung für Gäste. (Bild: Thomas Joos/VNR)

Tipp der Redaktion: Sobald Sie im virtualisierten Hypervisor eine weitere VM aus-führen, spricht VMware von einem „inneren Gast“, während VMs, die auf dem ursprünglichen Hypervisor, also auf physischer Hardware, ausgeführt werden, wie der virtualisierte Hypervisor selbst, „äußere Gastsysteme“ heißen.

VMware ESXi 5.0

Bei ESXi 5.0 hingegen ist Virtualized HV per Default abgeschaltet und wird hier eigentlich nur VMware-intern für Testzwecke genutzt. VMware empfiehlt den Einsatz nicht für Produktivsysteme, selbst wenn die CPU-Voraussetzungen (Intel VT-x oder AMD-V) beim Host gegeben sind. VMware empfiehlt den Einsatz wegen mangelnder Performance auch nicht bei CPUs ohne Second Level Address Translation (SLAT), also EPT- oder RVI-Support.

Zum Einschalten des Features müssen Adminsdie Konfigurationsdatei „/etc/vmware/ config“ am Host-System um den Eintrag vhv.allow = TRUE erweitern. Damit steht Virtualized HV automatisch für Version-8-VMs und die Gastsysteme ESX-Server 4, sowie ESX-Server 5 zur Verfügung.

Für alle anderen Gastsysteme, also auch für Hyper-V-Server und Windows-Server, müssen sie die jeweilige Gast-Konfigurationsdatei um diese Zeilen erweitern:

cpuid.1.ecx=“——:——:——:——:——:——:—h-:——“

cpuid.80000001.ecx.amd= “——:——:——:——:——:

——:——:-h—“

cpuid.8000000a.eax.amd= “hhhh:hhhh:hhhh:hhhh

hhhh:hhhh:hhhh:hhhh“

cpuid.8000000a.ebx.amd= “hhhh:hhhh:hhhh:hhhh

hhhh:hhhh:hhhh:hhhh“

cpuid.8000000a.edx.amd =“hhhh:hhhh:hhhh:hhhh

hhhh:hhhh:hhhh:hhhh“

Hinweis: Bei einer aktuellen ESXi-Version 5.5 oder bei ESXi 5.1 dürfen diese Anpassungen keinesfalls vorgenommen werden!

Abbildung 2: So ändern sich die vSwitch-Einstellungen.
Abbildung 2: So ändern sich die vSwitch-Einstellungen. (Bild: Thomas Joos(VNR)

vSwitch anpassen

Darüber müssen Sie nach dem Installieren des Gast-Hypervisors die vSwitch-Konfiguration so abändern, dass der sogenannte „Promiscuous Mode“ erlaubt ist. Nur dann haben die geschachtelten ESXi-Instanzen Zugriff auf das Netzwerk. Dies gelingt am einfachsten im nativen vSphere-Client:

  • Admins wechseln hier zum Registerreiter „Konfiguration“ (1) und klicken dann links im Menü Hardware auf den Link „Netzwerk“ (2) .
  • Sie klicken dann auf „Eigenschaften“ und anschließend auf die „Bearbeiten“-Schaltfläche.
  • Hier wechseln sie dann zum Tab „Sicherheit“ (3) und stellen bei „Richtlinienausnahmen“ den „Promiscuous Mode“ auf „Akzeptieren“ (4) .

Hyper-V als Hypervisor unter VMware nutzen

Soll Hyper-V als Gast unter vSphere eingesetzt werden, klappt das aus den genannten Gründen nur mit ESXi 5.1 und 5.5, weil Hyper-V eine hardwaregestützte Virtualisierung braucht. Unter ESXi 5.0 ist der Einsatz wegen mangelnder Performance nicht empfehlenswert.

Abbildung 3: So erweitert man im GUI die „vmx“-Datei.
Abbildung 3: So erweitert man im GUI die „vmx“-Datei. (Bild: Thomas Joos/VNR)

Unter VMware Workstation 9, 10 und 11 (bzw. Player und Fusion 5, 6 und 7) ist der Einsatz ebenfalls problemlos möglich, sofern der Gastsystem-Typ „Hyper-V“ ist. Ältere Versionen brauchen den Eintrag

hypervisor.cpuid.v0 = FALSE

in der VM-Konfiguration. Ohne diesen Eintrag endet der Versuch, unter Windows Server 2012/2012 R2 die Hyper-V-3.0-/-3.1-Rolle zu aktivieren, mit dem Fehler

Hyper-V cannot be installed: A hypervisor is already running

Im Web-Client können Nutzer die Zeile mit den Konfigurationseinstellungen der VM im Registerreiter „VM-Optionen“ (1) im Bereich „Erweitert“ (2) mit einem Klick auf „Konfiguration bearbeiten“ und dann auf „Zeile hinzufügen“ (3) ergänzen .

Der Autor und das Original

Der Text von Thomas Drilling erschien im Original in der Dezemberausgabe von „Erfolgreich virtualisieren“, ein Magazin vom Verlag für die Deutsche Wirtschaft AG, Bonn. Thomas Drilling pflegt zudem seinen eigenen Open-Source-Blog auf DataCenter-Insider.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43347624 / Virtualisierungspraxis)