Dmitry Nikolaev - stock.adobe.co
VM-Templates für VMware erzeugen und anwenden
Mit Templates für virtuelle Maschinen in VMware lassen ich viele Prozesse und Konfigurationsaufgaben vereinfachen oder automatisieren, sowie VMs im Ökosystem standardisieren.
Eine Vorlage für eine virtuelle Maschine (VM-Template) von VMware, auch Golden Image genannt, ist eine fertig erstellte und konfigurierte VM, von der aus weitere identische VMs erzeugt werden können.
In einer solchen Vorlage sind die virtuellen Laufwerke und Einstellungen der virtuellen Maschine (VM) enthalten. Sie spart nicht nur Zeit bei der erneuten Bereitstellung von VMs mit identischer Konfiguration, sondern verhindert auch viele Fehler bei der Einrichtung neuer Windows- oder Linux-VMs.
Mit VM-Templates können Sie exakte Kopien von virtuellen Maschinen in VMware anlegen, sei es zum Klonen, Konvertieren oder Bereitstellen. Mit ihrer Hilfe können Sie Konfigurationen vereinfachen und die Standardisierung von VMs im kompletten Ökosystem erreichen. Templates können auch als langfristig angelegte VM-Backups eingesetzt werden. Dabei gilt es zu beachten, dass ein Template erst in eine normale virtuelle Maschine zurückverwandelt werden muss, um es zu starten.
Der Zugriff auf vSphere-Templates erfolgt über die Content Library. Der Content Library Wizard führt durch die notwendigen Konfigurationsschritte wie das Veröffentlichen und Optimieren von Templates. Er legt Rollen und Privilegien fest, die Sie an Benutzer zuweisen können. Auch die Möglichkeiten der Bereitstellung der VMs werden deutlich vereinfacht.
Best Practices für Hyper-V-Templates
Auch über Hyper-V können Sie VM-Templates anlegen und bereitstellen. Hyper-V-Templates ermöglichen eine schnellere Bereitstellung von VMs mit größerer Sicherheit (etwa als Shielded VMs) und verringern die Netzwerklast. Sie sind auf den System Center Virtual Machine Manager (SCVMM) angewiesen und bedürfen spezifischer Konfigurationen.
Zum Anlegen eines Hyper-V-Templates wählen Sie ein Basisobjekt von dem ausgehend Sie die neue Vorlage erstellen wollen – bestehendes Template, ein virtuelles Laufwerk oder eine VM. Dann weisen Sie der Vorlage einen Namen zu und konfigurieren virtuelle Hardware- und Betriebseinstellungen für die bereitzustellende VM.
Dabei gilt es zu berücksichtigen, dass nicht jede VM sich als mögliche Vorlage eignet. Handelt es sich nicht um dieselbe Systempartition wie die Windows-Partition, so kann die VM nicht als Basis für ein neues Template dienen.
Zum Anlegen einer Shielded VM, die gegen einen kompromittierten Host abgesichert ist, verwenden Sie den Disk Creation Wizard. Nachdem Sie die notwendigen Einstellungen vorgenommen haben, produziert der Disk Creation Wizard eine Laufwerkvorlage. Der Nutzer kopiert diese dann in die Vorlagenbibliothek. Das Laufwerk sollte ab sofort in der Content Library zu sehen sein, und zwar mit einem kleinen Schild-Icon, das auf die verwendete Shielded-Technologie hinweist.
Anlegen eines VMware VM-Templates mit Packer
Packer ist ein kostenloses Tool, das Anwender beim automatisierten Anlegen und Verwalten von vSphere-Templates unterstützt. Es verwendet mehrere Build-Werkzeuge, die für VMware Fusion, Workstation Pro und Workstation Player optimiert sind. Der VMware-iso Plugin Builder ermöglicht die Nutzung eines Remote-ESXi-Servers für das Anlegen eines Templates. Das vsphere-iso-Plug-in hilft bei der Verbindung zu einer vCenter-Umgebung und dem Build-Vorgang auf einem beliebigen Host in einem Cluster.
Packer verwendet im Wesentlichen zwei Dateitypen für das Erstellen von Templates. Die JSON-Datei bildet die Vorlage, während die Datei autounattended.xml die Windows-Installation auf der VM automatisiert. Sind die Skripte, die JSON-Datei und die autounattended.xml erst einmal fertig, kommt Packer für das Anlegen von VM-Templates zum Einsatz. Ist der Build-Vorgang abgeschlossen, so konvertiert Packer die VM in eine Vorlage, die Nutzer mit PowerCLI ansehen und bereitstellen können.
PowerCLI zur Bereitstellung von Templates nutzen
Mit PowerCLI können Sie aus einer Vorlage heraus neue VMs bereitstellen. Erzeugen Sie mit PowerCLI eine Anpassungsspezifikation für das Betriebssystem, um den Bereitstellungsvorgang zu starten, und bei der Erstellung von VMs auf Template-Basis sicherzustellen, dass Sie bestimmte Einstellungen dennoch individuell vornehmen können. Zu solchen Einstellungen gehören etwa der Name des Unternehmens, der Security Identifier, das Kennwort des lokalen Administrators, die Active-Directory-Domäne, die Zeitzone, die Zugangsdaten zur Domäne, der Produkt-Key für Windows und der Registrierungsschlüssel AutoLogonCount.
Ein solches PowerCLI-Cmdlet könnte beispielsweise so aussehen:
C:> New-OSCustomizationSpec -Name 'WindowsServer2016' -FullName 'TestName' -OrgName 'MyCompany' -OSType Windows -ChangeSid -AdminPassword (Read-Host -AsSecureString) -Domain 'NTDOMAIN' -TimeZone 035 -DomainCredentials (Get-Credential) -ProductKey '5555-7777-3333-2222' -AutoLogonCount 1
Nach einer solchen Anpassung Ihres Betriebssystems können Sie eine oder mehrere VMs einfach aus einem Template heraus bereitstellen. Zum Beispiel können Sie die Anpassungsspezifikationen des Betriebssystems in der Variablen $Specs hinterlegen:
$Specs = Get-OSCustomizationSpec -Name 'WindowsServer2016'
Nutzen Sie sodann das VM-Template in der Variablen $Template:
$Template = Get-Template -Name ' Windows2016Template'
Beenden Sie den Vorgang der Bereitstellung mit der Nutzung des Cmdlets New-VM und hängen Sie Ihre Template- und Betriebssystemspezifikationen an:
New-VM -Name 'Windows16VM' -Template $Template -OSCustomizationSpec $Spec -VMHost ‘ESXiHost' -Datastore 'VMDatastore’
Fehlerbehebung bei VM-Templates
Es gibt ein paar typische Fehler beim Anlegen und Bereitstellen von VM-Templates, die Sie kennen und dadurch vermeiden sollten.
Erzeugen Sie ein VM-Template direkt von einer VM, wird diese VM dabei zerstört. Erzeugen Sie daher immer zuerst einen Klon Ihrer VM, bevor Sie daraus ein Template erzeugen. Selbst wenn Sie eine VM einzig als Grundlage für das Template erstellt haben, ist das sinnvoll, falls das Erstellen des Templates scheitert und Sie sonst ganz von vorne anfangen müssten.
Ein häufiger Grund für das Scheitern beim Anlegen eines Templates entsteht beim Versuch, ein Template aus einer Linux-VM zu erzeugen. Beim Erzeugungsprozess erfolgt die Anwendung von Sysrep auf die VM, während Sysrep jedoch für Windows-Betriebssysteme vorgesehen ist.
Zudem müssen Sie sicherstellen, dass die VM, aus der Sie ein VM-Template erzeugen möchten, nicht zu einer Domäne zugewiesen ist. Das Verbinden einer VM mit einer Active-Directory-Domäne kann dazu führen, dass das System ein Computerkonto für die VM erstellt, das dann während des Erstellungsprozesses der Vorlage nicht verfügbar ist. Um dieses Problem zu umgehen, überlassen Sie dem Template den Beitritt zur Domäne selbst und sichern Sie den Library-Share so, dass niemand außer VM-Administratoren darauf zugreifen kann.
Letztlich sollten Sie ein VM-Template auch nie mit vorinstallierten Anwendungen versehen. Der Einsatz von Sysrep zerstört oft solche Anwendungen. Stattdessen können Sie ein Anwendungsprofil einsetzen oder ein VM-Template so konfigurieren, dass es ein Skript zur automatischen Installation der Anwendung ausführt.