OVF Export einer VM eines VMWare ESXi Servers

Wenn man eine virtuelle Maschine (VM) von einem ESXi exportieren möchte um Sie z.B. auf einem anderen VMWare Produkt zu verwenden oder sie in VirtualBox zu importieren ist es praktisch, wenn man diese ins OVF Format umwandelt.
Die Vorteile sind

  • komprimiertes Datenformat
  • Export der Konfiguration
  • kompatibler als eine VMX Datei
  • gut transferierbar

Zumindest ab Version 6.7 (der auch früher?) geht das rein theoretisch ganz einfach über das Web-GUI des ESXi Servers. Allerdings kam es bei mir dabei immer zu Abbrüchen des Downloads mit der Meldung network error oder Netzwerkfehler.
Darum habe ich mich auf die Suche nach einer Alternative gemacht und sie mit dem ovftool gefunden.

Das ovftool ist ein Utility das offiziell von VMWare angeboten wird. Den Download findet man hier *klick*.
Mit der Software ist es möglich, über die Command-Line, von diversen VMWare Produkten VMs als OVF zu exportieren oder zu importieren.

 



ACHTUNG: Bevor ihr eine Änderung vornehmt vergewissert euch bitte das ihr ein aktuelles und valides Backup aller eurer Dateien und Systeme habt. Abgsehen davon, dass ich keine Gewähr übernehme hier alles richtig beschriebenzu haben und auch keine Haftung für Schäden an euren Systmen übernehme, kann immer mal etwas schief gehen. Das System stürzt zwischendrin ab oder sonst irgendetwas dummes passiert.


 

In meinem Beispiel geht es darum eine VM von einem ESXi Server zu exportieren. Ich verwenden ESXi in Version 6.7 und das ovftool in Version 4.3.0 unter Windows 10. Unter Linux ist es ähnlich, ich setze mal voraus das ein Linux Admin in der Lage ist die Pfadangaben entsprechend anzupassen ;)

Die Syntax

Die Syntax für den Export einer VM von ESXi auf einen Windows (oder Linux) PC ist recht simpel.

ovftool.exe "vi://<Benutzernamen>:<Passwort>@<ESXi-Hostname>/<Objekt>" X:\pfad\fuer\export\

Beispiel

In meinem Beispiel möchte ich eine VM mit dem Namen Ubuntu-Server exportieren und unter C:\Users\Christian\Downloads\ abspeichern.

Man öffnet mit Windows+R den Ausführen-Dialog und gibt hier cmd.exe ein.

Anschließend navigieren wir in den Installations-Ordner von ovftool in dem wir in der Eingabeaufforderung folgendes eingeben:

cd "C:\Program Files\VMware\VMware OVF Tool"

Nun rufen wir ovftool.exe auf und lassen uns die möglichen Objekte anzeigen.

ovftool.exe "vi://root:meinpasswort@esxi.christian.lan/"

Error: Found wrong kind of object (ResourcePool). Possible completions are:
Ubuntu-Server
Windows10
pfSense
Windows2016

Wir sehen nun den Objekt-Namen unserer VM Ubuntu-Server, nun können wir den Export starten. Stellt vorher sicher, dass die VM auch ausgeschaltet ist!

ovftool.exe "vi://root:meinpasswort@esxi.christian.lan/Ubuntu-Server" C:\Users\Christian\Downloads\

Opening VI source: vi://root:@esxi.christian.lan:443/Ubuntu-Server
Opening OVF target: C:\Users\Christian\Downloads\
Writing OVF package: C:\Users\Christian\Downloads\Ubuntu-Server\Ubuntu-Server.ovf
Transfer Completed
Completed successfully

Dieser Vorgang kann je nach Größe der VM natürlich wenige Minuten bis hin zu mehreren Stunden dauern. Stellt sicher, dass genug Platz auf eurem Ziellaufwerk vorhanden ist. Der Export ist zwar deutlich komprimiert, aber je nach Füllstand eurer VM kann der Grad der Komprimierung schwanken.

Man erhält dann folgende Dateien

  • Ubuntu-Server.mf
  • Ubuntu-Server.ovf
  • Ubuntu-Server.vmdk
  • Ubuntu-Server.nvram

diese können wir nun auf ein beliebiges Ziel übertragen und dort wieder einspielen.