Nested Virtualization

Test- und Entwicklungsumgebungen sind dank Virtualisierung so schnell und einfach aufgesetzt wie noch nie. Was soll man aber machen, wenn man eine Testumgebung für einen Hypervisor wie ESXi oder Hyper-V aufbauen will? Man virtualisiert sie!

Warnung: Vorweg sei darauf hingewiesen, dass diese Vorgehensweise weder von VMware noch von uns in irgendeiner Weise supported wird, d.h. der Einsatz erfolgt auf eigene Gefahr!

In diesem Artikel wollen wir beschreiben, wie Sie einen ESXi auf einem ESXi virtualisieren können. Als erstes benötigen Sie dazu natürlich eine CPU, die die dafür benötigten Funktionen zur Verfügung stellt. Voraussetzungen sind:

  • Intel VT-x bzw. AMD-V als Basis, um später unter dem virtualisierten Hypervisor 32Bit-VMs starten zu können
  • Intel EPT bzw. AMD RVI für den Einsatz von 64Bit-VMs unter dem virtualisierten Hypervisor

Um festzustellen, ob Ihre CPU die erforderlichen Funktionen mitbringt, rufen Sie die Seite https://$HOST/mob/?moid=ha-host&doPath=capability (Bitte $HOST durch den Hostnamen oder die IP des betreffenden ESXi ersetzen) in einem Browser auf und überprüfen Sie, ob "nestedHVSupported" auf "true" steht. Bei "false" ist eventuell Nested Virtualization möglich, der Einsatz von nested 64Bit VMs wird aber nicht funktionieren.

Um eine VM für den neuen ESXi anzulegen, gehen Sie wie folgt vor:

  1. Starten Sie den Wizard zum Anlegen einer neuen VM
  2. Wählen Sie "Eine neue virtuelle Maschine erstellen"
  3. Geben Sie der VM einen Namen und wählen Sie den Host bzw. den Datenspeicher aus
  4. Wählen Sie nun für die Kompatibilität "ESX 5.1 und höher" aus (Dies erzeugt eine VM Version 9)
  5. Als OS-Familie wählen Sie nun "Linux" und als Version "Anderes Linux-System (64-Bit)" aus
  6. Im nächsten Schritt konfigurieren Sie wie gewohnt CPU- & RAM-Einstellungen
  7. Ehe Sie im Wizard weitergehen, öffnen Sie aber noch die Details der CPU und aktivieren Sie dort "Hardwarevirtualisierung" (Dies entspricht der Option "vhv.enable" = "true" im .vmx-File)

Nachdem Sie den Wizard abgeschlossen haben, empfiehlt es sich, die VM auf die Virtualisierung eines ESXi zu optimieren. Dazu gibt es zwei Wege:

  1. Sie editieren direkt die .vmx-Datei und setzen "guestOS" auf "vmkernel5"
  2. Sie öffnen die vSphere-Client (Über den Web-Client kann man nachträglich nicht das Gast-OS ändern), gehen im Reiter "Optionen" auf "Allgemeine Optionen" und wählen als OS-Familie "Andere" und als Version "VMware ESXi 5.x (experimentell)" aus

Weitere wichtige Informationen:

  • Die VM muss min. 2 Cores und 2GB RAM haben (Das gilt aber allgemein für den ESXi)
  • Ein Hyper-V lässt sich auf die selbe Art in einer VM betreiben. Damit der Hyper-V glaubt, auf einem physikalischen System zu laufen, müssen Sie für die VM noch die Option "hypervisor.cpuid.v0" auf "false" setzen
  • Um VMs im virtuellen ESXi die Verbindung nach "Aussen" zu ermöglichen, müssen Sie in der Portgruppe, mit der der virtualisierte ESXi verbundehn ist, den Promiscuous-Mode aktivieren

 

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.