Import & Export OVF-Dateien: Verschieben von VMs zwischen Hosts

Im meinem aktuellen Job werde ich oft nach der Verwendung von PowerCLI gefragt, um verschiedene Aufgaben in einem vCenter-Cluster zu erledigen. In diesem Beitrag werde ich teilen, wie ich gelernt habe, eine OVF-Datei in VMware zu importieren.

OVF File

Das ist eine Geschichte über eine kürzliche Anfrage um Hilfe von einem Kollegen, der eine benutzerdefinierte Überwachungsappliance-Vorlage in einen neuen vCenter-Cluster exportieren musste, der gerade erstellt wurde. Mein Kollege hatte Zeitdruck und keinen Zugriff auf die Vorlage.

Wenn Sie es noch nicht getan haben, laden Sie das PowerCLI-Modul über Install-Module -Name PowerCLI

herunter. Verbindung zum vCenter

Ohne eine Gelegenheit zu verpassen, PowerShell oder PowerCLI zu verwenden, sprang ich sofort ein, um zu helfen. Ich sammelte die notwendigen Informationen von meinem Kollegen und begann mit der Verbindung zum Cluster:

PS6> Connect-VIServer -Server vcenter.mydomain.local -Credential (Get-Credential)

Dies dauert nur einen Moment. Nachdem Sie verbunden sind, müssen Sie wissen, welche Verben Sie verwenden sollen. Sie können dies mit dem Get-Command -Module PowerCLI-Cmdlet tun.

Es gibt zwei Cmdlets, die herausstechen:

  • Export-VApp
  • Import-VApp

Beide Cmdlets scheinen genau das zu sein, was Sie brauchen. Aber zuerst, da dies für mich und vielleicht auch für Sie eine Lernerfahrung ist, werde ich mich etwas genauer über die richtige Verwendung für jedes davon informieren.

VMs in eine OVF-Datei exportieren

Der Export-VApp-Befehl exportiert die ausgeschaltete VM standardmäßig als OVF in das aktuelle Verzeichnis Ihrer Sitzung, wenn Sie keinen Pfad angeben.

I already have a path in mind so I’m going to be using the C:\Exported-OVF directory but yours may vary. Knowing this, you can then run Export-VApp against the VM template specifying the destination folder.

PS6> Export-VApp -VM 'My_VM_Template' -Destination 'C:\Exported-OVF\'

Aber es gibt ein Problem. Sie können keine laufende VM als OVF exportieren. Keine Sorge, das lässt sich schnell beheben. Ändern Sie Ihren Code etwas und stellen Sie sicher, dass Sie die VM zuerst mit dem Shutdown-VMGuest-Befehl herunterfahren.

PS6> Shutdown-VMGuest -VM 'My_VM_Template'

Mit dem Vorlagen-Appliance jetzt offline können Sie den zuvor versuchten Export-VApp-Befehl fortsetzen. Dieser Vorgang dauert einige Minuten und war von Anfang an keine sehr große Appliance.

Wenn der Vorgang abgeschlossen ist, sollten Sie eine Appliance bereit haben, die in eine andere vCenter-Umgebung bereitgestellt werden kann. Oder etwa nicht?

Import von OVF-Dateien

Sie sollten jetzt eine Datei auf Ihrem lokalen Dateisystem haben. Es ist in Ordnung, sie zu importieren. Dazu müssen Sie den Datastore abfragen, in den Sie sie importieren möchten, zusammen mit dem VM-Host. Sie können dann beide Objekte verwenden, um sie dem Import-Vapp-Befehl zum Importieren zu übergeben.

PS6> $myDatastore = Get-Datastore -Name "MyDatastore1"
PS6> $vmHost = Get-VMHost -Name "MyHost"
PS6> $vmHost | Import-vApp -Source 'C:\Exported-OVF\My_VM_Template\My_VM_Template.ovf' -Datastore $myDatastore -Force

Aber Moment mal! Das funktioniert nicht. In meinem Fall ist dies fehlgeschlagen, weil ich nicht bemerkt habe, dass ich mich tatsächlich mit einem anderen vCenter-Cluster verbunden habe.

Etwas ist passiert, als ich begonnen habe, die zuvor exportierte VM-Appliance zu importieren. Ein Meer von roten Fehlermeldungen.

I read the error message, and sure enough, the host is not a part of a vCenter cluster and therefore does not have proper licensing to complete the import using PowerCLI. This is a limitation that VMware enforces.

Keine Sorge, ich konnte mich immer noch über die Webschnittstelle des Hosts verbinden und manuell über die HTML5-Benutzeroberfläche importieren. Der Assistent führt Sie durch jeden Schritt, gibt der importierten Appliance einen Namen, wählt die OVF, den Datastore, den Bereitstellungstyp (dick oder dünn bereitgestellt) aus und überprüft die Konfiguration. Danach wählen Sie Fertig und der Import beginnt.

Während der vorherige Importversuch mit einem vCenter-Cluster gut funktionieren würde, funktionierte er in dieser Situation einfach nicht. Dies hat etwas länger gedauert als erwartet, war aber unkompliziert. Sie können hier mehr über den Prozess lesen.

Letztendlich war der Import erfolgreich, und mein Kollege hat seine Frist eingehalten.

Zusammenfassung

Bis zu dieser Übung war mir nicht bewusst, dass nicht alle PowerCLI-Cmdlets in allen Situationen verfügbar waren. Dennoch haben wir beide eine neue Fähigkeit erlernt und, obwohl wir einige unvorhergesehene Schwierigkeiten hatten, die Aufgabe dennoch gemeistert.

Allzu oft hetzen wir durch IT-Projekte auf der Suche nach der „schnellen“ Lösung. Passen Sie Ihre Geschwindigkeit an, nehmen Sie sich noch eine Minute oder zwei Zeit, um Fragen zu stellen, treten Sie einen Schritt zurück und verstehen Sie das Problem, das Sie lösen möchten. Möglicherweise stellen Sie fest, dass Sie etwas Neues lernen.

Source:
https://adamtheautomator.com/ovf-file/