Nested Hypervisor: ESXi oder Hyper-V in VM unter ESXi 6.0 installieren


    Tags: ,

    Nested VirtualizationDie Instal­lation eines Hypervisors in eine VM ist in Lab- und Test­um­gebungen sehr beliebt, weil man so auf einem ein­zigen Rechner ganze Hyper-V- und ESXi-Cluster imple­men­tieren kann. VMware unter­stützt dieses Feature schon länger, aber unter ESXi 6.0 fällt seine Nutzung einfacher.

    Die Bedeutung von Nested Virtualization zeigt sich auch darin, dass Hyper-V sie in Windows 10 und Server 2016 nun ebenfalls beherrscht. Zwar lässt Microsoft aktuell nur die neueste Version seines eigenen Hypervisors als Gast zu, aber dafür ist diese Konstellation auch für den produktiven Einsatz vorgesehen. Dies gilt speziell für die Ausführung von Hyper-V Container auf einem Hyper-V-Host.

    Vorbereitungen

    Die Installation von ESXi 6.0 direkt auf die Hardware erfolgt wie gewohnt und bedarf keiner besonderen Anpassungen, um später einen Hypervisor in einer virtuellen Maschine ausführen zu können.

    Nach dem Aufspielen von ESXi muss man jedoch daran denken, in der Konfiguration des vSwitch den Promiscuous Mode zuzulassen. Andernfalls erhalten die VMs, die auf dem sekundären ESXi laufen, keinen Zugriff auf das Netzwerk.

    Konfiguration des Promiscuous Mode im vSwitch des primären ESXi.

    Wenn man für diese Aufgabe den Embedded Host Client verwendet, dann wählt man unter Netzwerk den betreffenden virtuellen Switch aus und geht auf Einstellungen bearbeiten. Im folgenden Dialog muss man den Abschnitt Sicherheit aufklappen und dort die entsprechende Option aktivieren.

    ESXi in ESXi 6.0

    Unter ESXi 5.x war es noch notwendig, die .vmx-Datei um eigene Einträge zu ergänzen. Diese Tätigkeit entfällt nun, wenn es sich beim primären Hypervisor (also derjenige, der direkt auf der Hardware läuft) um ESXi 6.0 handelt.

    Der Wizard für das Erstellen einer neuen VM bietet ESXi als Gast zur Auswahl an.

    Legt man dort nämlich eine neue VM an, entweder im neuen Host Client direkt am Server oder im vSphere Web Client über vCenter, dann stehen ESXi 4.x bis 6.x als Gastsysteme zur Auswahl. Dadurch konfiguriert der Wizard die VMs selbständig nach den Anforderungen des VMware-Hypervisors.

    Allerdings bleibt nach wie vor die Aufgabe, die Virtualisierung von Intel-VT bzw. AMD-V selbst zu konfigurieren. Dies kann man gleich im Wizard zum Erzeugen einer neuen virtuellen Maschine erledigen.

    Die Virtualisierung von Intel-VT und AMD-V muss man selbst aktivieren.

    Nach der Auswahl des Gastbetriebs­systems und des Datenspeichers klappt man im Abschnitt Einstellungen anpassen die die Sektion CPU auf und hakt die Checkbox Hardware­gestützte Virtualisierung für das Gastbetriebs­system bereitstellen an.

    Installiert man ESXi 6.0 als Gast in einer VM, dann bringt er die VMware Tools für ESXi schon mit. Der Hypervisor aktiviert diese automatisch, wenn er erkennt, dass er in einer VM läuft. Daher kann man den Gast-ESXi bequem von außen herunterfahren, also etwa über den Befehl Aktionen => Gastbetriebs­system => Herunterfahren im Embedded Host Client.

    Hyper-V unter ESXi 6.0

    Keine wesentlichen Fortschritte verzeichnet ESXi bei der Installation von Hyper-V in einer VM. Während der Wizard zum Einrichten einer neuen VM schon seit der VMware Workstation 9 den Hypervisor von Microsoft als Gast anbietet, fehlt diese Option in ESXi 6.0 immer noch.

    Daher erfordert das Einrichten von Nested Virtualization in diesem Fall etwas Handarbeit. Beim Anlegen der VM wählt man die passende Version von Windows als Gastsystem und ändert wie bei ESXi die Einstellungen der VM gleich beim Erstellen oder spätestens vor dem Hinzufügen der Hyper-V-Rolle. Konkret geht es hier wieder um die Option Hardwaregestützte Virtualisierung für das Gastbetriebssystem bereitstellen.

    Zusätzlich ist es erforderlich, dass man die Konfigurationsdatei mit der Endung .vmx um folgende Zeilen ergänzt:

    hypervisor.cpuid.v0 = "FALSE"
    vhv.enable= "TRUE"

    Zu diesem Zweck wählt man im Embedded Host Client unter Navigator => Speicher den Datastore aus, auf dem sich die VM befindet, und startet aus dem Menü den Datens­peicher­browser. Dort bewegt man sich in das Verzeichnis der VM und lädt die .vmx-Datei herunter, fügt die beiden oben erwähnten Zeilen ein und überträgt sie wieder zurück auf den Datastore.

    Die .vmx-Konfigurationsdatei muss man zum Editieren mit dem Datastore-Browser herunterladen.

    Schließlich wird man noch die VMware Tools für Windows installieren, um die Performance des Systems zu verbessern und um den Gast über die Management-Werkzeuge von vSphere herunterfahren zu können. Läuft in der VM der kostenlose Hyper-V Server oder Server Core, dann muss man das Setup für die Tools manuell starten.

    1 Kommentar

    Bild von Silvester Langen
    Silvester Langen sagt:
    14. März 2017 - 8:25

    Das hat so bei mir nicht funktioniert. Er meckert dann, dass er die .vmx nicht finden kann. Ich musste folgenden Weg gehen: VM installieren, dann im vSphere Client unter den Optionen der CPU "Intel VT-x/AMD-V für die Virtualisierung des Befehlssatzes und Intel EPT/AMD RVI für die Virtualisierung der MMU verwenden" aktivieren. Dann im Webinterface die Eigenschaften der CPU öffnen und dort bei "Hardwaregestützte Virtualisierung für das Gastbetriebssystem bereitstellen" den Haken setzen. Danach die VM aus der Bestandsliste von ESXi entfernen. Nun die Änderungen in der .vmx vornehmen und dann die VM wieder in die Bestandslilste einfügen. Nur auf diese Weise ging es.