OVA-/OVF-Vorlagen mit OVF Tool bereitstellen

Keine Kommentare
Download PDF

Beim Bereitstellen einiger VMware Appliances unter vSphere 6.5 hatte ich kürzlich verstärkte Probleme. Unabhängig vom verwendeten Frontend (Host Client, HTML 5 Client, Web Client, C# Client) konnte keine Vorlage sauber provisioniert werden – häufige Abbrüche und „allgemeine Systemfehler“ waren das Resultat.

Mark Brookfield gab mir den Tipp, anstatt einer grafischen Oberfläche OVF Tool zu verwenden. Die Konsolenanwendung dient zum Im-/Export von OVA/OVF-Vorlagen zwischen diversen VMware-Produkten und ist für Microsoft Windows, Linux und App macOS erhältlich. Das Tool kann kostenfrei heruntergeladen werden.

Der Funktionsaufruf ist prinzipiell:

$ ovftool [parameter] quelle ziel

Einige wichtige (teilweise optionale) Parameter sind:

Parameter Funktion
-n / –name Name der Ziel-VM
-vf / –vmFolder Order, in welchen die VM beheimatet werden soll
–acceptAllEulas EULA automatisch akzeptieren
-ds / –datastore Zu verwendender Datastore
-dm / –diskMode Disk Provisioning-Mode (bei vSphere: thin, thick oder eagerZeroedThick)
–net:NIC-Name:Portgroup Konfiguration einer Netzwerkzuordnung (Portgroup wird an NIC-Name angebunden)
–ipProtocol Verwendetes IP-Protokoll: IPv4, IPv6
–prop Zuweisung eines OVA-/OVF-Parameters (z.B. Root-Passwort)
–deploymentOption Auswählen einer vApp-Konfiguration (sofern von Vorlage unterstützt)
–powerOn Anschalten der VM nach Provisionierung

 

Das Target muss einem bestimmten Format folgen, das sich mir nicht unbedingt direkt erschlossen hat. Einige Beispiele für vSphere:

Locator Beschreibung
vi://myvcenter/mydatacenter/host/mycluster Beliebiger Hosts eines konkreten Datacenters und Clusters
vi://admin:admin@myvcenter/mydatacenter/host/mycluster wie oben, jedoch mit vorgegebenen Login-Informationen
vi://myvcenter/mydatacenter/vm/myfolder/myvm Angabe eines konkreten Datacenters, VM-Ordner und VM-Namen
vi://myvcenter/mydatacenter/host/myesx Angabes eines konkreten ESXi-Hosts eines Datacenters
vi://myvcenter/mydatacenter/host/myesx/Resources/myresource wie oben, jedoch mit konkretem Ressourcenpool

 

Weitere Beispiele finden sich in der Online-Hilfe des Tools:

$ ovftool -h | less
$ ovftool -h locators | less
$ ovftool -h examples | less

Die OVA-/OVF-Quelle muss sich übrigens nicht auf der lokalen Festplatte befinden, es kann auch über einen Webserver (http://pfad, https://pfad) oder FTP-Server (ftp://pfad) bezogen werden.

Bevor eine Vorlage bereitgestellt wird, empfiehlt es sich, einen Blick in die verfügbaren Optionen zu werfen. Hier werden unter anderem benötigte Netzwerk-Schnittstellen aufgelistet:

$ ovftool --hideEula VMware-vSAN-Witness-201704001-5310538.ova
...
Networks:
  Name:        Management Network
  Description: Management Network will be used to drive witness vm traffic

  Name:        Witness Network
  Description: Witness Network will be used to drive witness vm traffic

In diesem Fall müssen gültige Zuordnungen für Management Network und Witness Network zugewiesen werden. Anschließend sollte man sich die verfügbaren Eigenschaften ansehen:

...
Properties:
  ClassId:     vsan
  Key:         witness.root.passwd
  Label:       Root password
  Type:        password(7..)
  Description: Set password for root account.
...

Manche werden zwingend benötigt, wie in diesem Fall für das Root-Password, manche sind optional. Manche OVA-/OVF-Vorlagen bieten Deployment-Optionen bzw. „T-Shirt-Größen“ an:

Deployment Options:
  Id:          tiny
  Label:       Tiny (10 VMs or fewer)
  Description: Configuration for Tiny vSAN Deployments with 10 VMs or fewer

               * 2 vCPUs
               * 8GB vRAM
               * 1x 12GB ESXi Boot Disk
               * 1x 15GB Magnetic Disk
               * 1x 10GB Solid-State Disk
               * Maximum of 750 Components

  Id:          normal  (default)
  Label:       Medium (up to 500 VMs)
  Description: Configuration for Medium vSAN Deployments of up to 500 VMs

               * 2 vCPUs
               * 16GB vRAM
               * 1x 12GB ESXi Boot Disk
               * 1x 350GB Magnetic Disk
               * 1x 10GB Solid-State Disk
               * Maximum of 22K Components

  Id:          large
  Label:       Large (more than 500 VMs)
  Description: Configuration for Large vSAN Deployments of more than 500 VMs

               * 2 vCPUs
               * 32GB vRAM
               * 1x 12GB ESXi Boot Disk
               * 3x 350GB Magnetic Disks
               * 1x 10GB Solid-State Disk
               * Maximum of 45K Components

Hier gibt es drei fertige Größen, die Anforderungen und Einsatzgebiete werden entsprechend dargestellt.

Der vollständige Aufruf sieht dann beispielsweise wie folgt aus:

$ ovftool --acceptAllEulas -ds=NFS-Backup --net:"Management Network"="DPortGroup-MGMT" --net:"Witness Network"="DPortGroup-VSAN" --prop:witness.root.passwd=... --deploymentOption=tiny VMware-vSAN-Witness-201704001-5310538.ova vi://st-vcsa03.stankowic.loc/Stankowic/host/Darmstadt/
Opening OVA source: VMware-vSAN-Witness-201704001-5310538.ova
The manifest validates
Source is signed and the certificate validates
Enter login information for target vi://st-vcsa03.stankowic.loc/
Username: administrator@vsphere.local
Password: ...
Opening VI target: vi://administrator%40vsphere.local@st-vcsa03.stankowic.loc:443/Stankowic/host/Darmstadt/
Deploying to VI: vi://administrator%40vsphere.local@st-vcsa03.stankowic.loc:443/Stankowic/host/Darmstadt/
Transfer Completed

vApp-Optionen

Erhält man Warnung wie beispielsweise:

Warning:
- OVF property with key: 'witness.root.passwd' does not exists.

Ist es ratsam, einen Blick in den Reiter vApp-Optionen in der VM-Konfiguration zu werfen. Hier fehlt ein benötigter Wert, der vor dem Einschalten der Appliance ergänzt werden sollte.

 

Mithilfe des Tools war ich schlussendlich in der Lage, weitere vApps in meinem Homelab bereitzustellen – schade, dass dies jedoch nicht über die zahlreichen Frontends möglich ist. Ich weiß nicht, ob die Ursache in meinem Homelab begraben liegt, oder ob es ein generelles Problem (Bug?) ist. Hier muss ich mal näher investigieren…

Download PDF