Victoria - Fotolia

Tipps und Best Practices zur Erstellung von VMware Templates

Ein Fehler in VMware Templates wirkt sich schnell auf hunderte VMs aus. Diese Tipps helfen bei der Erstellung von VM-Vorlagen.

VMware Templates oder Vorlagen helfen Administratoren dabei, wertvolle Zeit einzusparen, wenn es um die Bereitstellung neuer Applikationen oder virtueller Maschinen geht. Im Grunde ist ein Template eine Art Master-Kopie einer virtuellen Maschine, idealerweise natürlich mit allen aktuellen Security-Patches, der Standard-Software des Unternehmens vorinstalliert und bereits für eine optimale Performance in virtuellen Umgebungen konfiguriert. Da Templates ja gerade für die Provisionierung einer großen Anzahl virtueller Maschinen gedacht sind, sollten diese schließlich auch mit ausreichend Performance laufen.

Administratoren können sich also viel Arbeit und Zeit sparen, wenn die genutzten Templates auf dem aktuellen Stand sind. Die folgenden Tipps und Best Practices können dabei helfen, die Performance der Templates und der daraus resultierenden virtuellen Maschinen zu maximieren.

Snapshots und nichtgenutzte Geräte

Als eine der wichtigsten Regeln sollten Templates immer auf dem neuesten Stand sein. Auf keinen Fall würde man die Person sein wollen, die das Golden Image des Unternehmens bis zu einem Punkt fehlkonfiguriert hat, an dem es nicht mehr wiederhergestellt werden kann. Mit Snapshots kann man diesem Problem vorbeugen.

Mit Snapshots lässt sich sicherstellen, dass man unbeabsichtigte Veränderungen am Template wieder zurückdrehen kann. Man sollte dabei nur darauf achten, Snapshots zu löschen, bevor virtuelle Maschinen zu einem Template konvertiert werden, da Snapshots die Provisionierung erheblich beeinträchtigen können.

Nichtgenutzte Geräte zu entfernen sollte dabei eigentlich eine Selbstverständlichkeit sein. Wird eine virtuelle Maschine erstellt, werden meist auch ein Floppy-Laufwerk sowie ein serieller Port eingerichtet. Zwei Dinge, die man nur in wenigen Fällen wirklich brauchen wird. Sofern man nie plant, darauf zurückzugreifen, sollte man sie auch aus dem Template entfernen.

Im Fall der Fälle lassen sie sich für einzelne VMs ja wieder hinzufügen. Gleichzeitig sollte man auch den Befehl set devmgr_show_nonpresent_devices=1 verwenden, bevor man sich über den Gerätemanager nichtvorhandene Geräte anzeigen lässt. Damit werden auch Geräte angezeigt, die zwar installiert, aber trotzdem nicht vorhanden sind. Manche von ihnen wird man nicht brauchen, also kann man auch hier welche entfernen.

Den aktuellsten Kompatibilitätsmodus nutzen

Bei diesem Tipp wird es schon etwas schwieriger. Einerseits ist es natürlich vorteilhaft, den Kompatibilitätsmodus auf einem aktuellen Stand zu halten, um auch alle neuen Maximalwerte und neuen Funktionen der neuesten ESXi-Version nutzen zu können. Andererseits sollte man daran denken, in welchen Umgebungen man das Template einsetzen will.

Soll das Template beispielsweise für das VM-Deployment auf Hosts mit ESXi 5.0 eingesetzt werden, dann sollte man das Template nicht auf ESXi 5.5 aktualisieren. Hier ist es also entscheidend genau zu wissen, welches Kompatibilitätslevel benötigt wird.

Virtuelle Maschinen richtig konfigurieren

Zudem sollte sichergestellt werden, dass innerhalb der virtuellen Maschine auch alle Optionen und fortgeschrittenen Funktionen richtig konfiguriert sind. CPU Hot-Add und Memory Hot-Plug sind zum Beispiel standardmäßig deaktiviert. Derartige Einstellungen sollten innerhalb des Templates aktiviert werden, weil dies später nicht möglich ist, wenn die virtuelle Maschine ausgeschaltet ist.

Auf den Storage achten

Wenn die Storage-Kapazität innerhalb der virtuellen Umgebung ein Problem darstellt, dann sollte man die Vorteile von Thin Provisioning mit vSphere nutzen, die auch bei Template-Storage greifen. Wenn Thin Provisioning nämlich auch bereits auf die Templates angewandt wird, dann verbrauchen diese nur so viel Datastore-Platz wie Daten innerhalb der VMDK vorhanden sind. So lässt sich also vor allem bei einer großen Anzahl an Templates Storage-Kapazität einsparen.

Zudem sollte man alle Templates in ihren eigenen Datastores speichern. Auf diese Weise konzentriert man während des Deployments die Lese-I/Os in den Template-Datastores, während sich der Datastore der Produktivumgebung um die Schreib-I/Os kümmert. Wer hierbei das inzwischen doch recht angestaubte Betriebssystem Windows Server 2003 oder sogar älter verwendet,  der sollte beim Formatieren der Windows-Laufwerke nicht vergessen, Storage-Kapazitäten richtig zuzuordnen. Ein Template mit ungünstig zugeordnetem Storage wird ziemlich sicher zu Performance-Beeinträchtigungen der bereitgestellten virtuellen Maschinen führen.

Betriebssystem und Anwendungen patchen

Es gibt wohl kaum etwas ärgerlicheres, als innerhalb von Minuten mithilfe eines Templates eine virtuelle Maschine bereitzustellen, nur um dann Stunden mit dem Update von Windows zu verbringen. Stattdessen sollte man diese Zeit lieber damit verbringen, das Betriebssystem der virtuellen Maschine zu patchen, und daraus dann ein aktuelles Template zu erstellen. Noch besser ist es natürlich, dies regelmäßig einmal im Monat zu erledigen, um immer ein aktuelles Template zur Verfügung zu haben.

Dabei sollte man auch andere Applikationen wie Adobe, Java oder auch VMware-Tools nicht vergessen. Zudem könnte man darüber nachdenken, den Netzwerkzugriff des Templates während dieses Vorgangs zu isolieren oder zu begrenzen, um das Risiko einer Malware-Infektion zu minimieren.

Basis-Anwendungen installieren

Abgesehen vom Installieren, Konfigurieren und Patchen des Betriebssystems innerhalb des Templates, kann dies natürlich auch für grundlegende Basisanwendungen erfolgen, die wie zum Beispiel 7-Zip, PowerShell oder Antivirenlösungen auf jedem einzelnen Server installiert werden sollen. Damit wird sichergestellt, dass jede mit diesem Template bereitgestellte virtuelle Maschine in der gleichen und konsistenten Weise mit den benötigten Applikationen versorgt ist.

Mit einem genaueren Blick auf Windows und Linux gibt es verschiedene Tricks und Kniffe, mit denen die Performance über die richtigen Konfigurationen optimiert werden kann. Abgesehen von Sysprep können die folgenden Tipps recht hilfreich sein.

Tipps für Windows-VMs

  • RDP aktivieren und konfigurieren: Abhängig vom Security-Profil könnte Remote Desktop Protocol (RDP) aktiviert und eine bestimmte Nutzergruppe ausgewählt werden, die sich per RDP mit Unternehmensressourcen verbinden können.
  • WinRM bereitstellen: WinRM ist vor allem dann nützlich, wenn Hardware und Betriebssystem remote verwaltet oder eine PowerShell-Session gestartet werden soll. Auch hier gilt es wieder, die Sicherheitsaspekte mit in Betracht zu ziehen. Über den Befehl winrm quickconfig können die Standardoptionen gewählt werden, winrm help ruft weitere Einstellungen auf.
  • Boot-Optionen: Hier können verschiedene Einstellungen vorgenommen werden, empfehlenswert wäre es zum Beispiel, die Liste verfügbarer Betriebssysteme kürzer anzeigen zu lassen oder Auto-Restart bei einem Fehler zu deaktivieren.
  • Energiesparpläne: Eine Windows-Maschine sollte nie in den Schlaf- oder Energiesparmodus wechseln, daher empfiehlt sich an dieser Stelle der Modus „Höchstleistung“, um die Performance der VM den Vorrang vor Energieeinsparungen zu geben.
  • Events löschen: Alte Events haben in einem VM-Template nichts verloren. Als letzten Schritt vor der Konvertierung sollten diese also entfernt werden.

Tipps für Linux-VMs

  • Cache löschen: Ein guter Startpunkt auf Linux-VMs ist das Löschen des YUM/Apt-Caches für installierte Patches.
  • udev Device-Regeln: Ein häufiges Problem ergibt sich beim Konvertieren von Linux-VMs zu Templates, wenn die bestehenden udev Device-Regeln nicht gelöscht werden. In diesem Fall wird eine neue NIC als eth1 aufgeführt werden. Um diese zu verhindern, sollten alle persistenten udev Device-Regeln mit dem Befehl rm –f /etc/udev/70* gelöscht werden.
  • SSH-Sicherheit: Die Sicherheit spielt natürlich immer eine große Rolle. SSH-Schlüssel können dazu benutzt werden, Authentifikation ohne Log-in zu realisieren, daher sind mehrere virtuelle Maschinen mit dem gleichen Schlüssel keine gute Idee. Diese sollten also vor der Konvertierung in ein Template entfernt werden, dies geschieht über den Befehl rm –f /etc/ssh/*key*.
  • Logs löschen: Wie mit Events bei Windows sollten auch auf Linux-VMs Log-Dateien gelöscht werden. Zunächst sollte der Befehl logrotate für einen aktuellen Log-Vorgang ausgeführt werden, über logrotate –f /etc/logrotate.conf können anschließend alle Log-Dateien entfernt werden, die nicht benötigt werden.

Es sollte keiner großen Erklärung bedürfen, warum saubere, effiziente und aktuelle VMware Templates so wichtig sind. In vielen Fällen werden mit diesen Templates hunderte oder gar tausende neuer VMs bereitgestellt, die Templates müssen daher den Compliance-Vorgaben entsprechen, die Standard-Tools enthalten und dabei die maximale Performance liefern.

Die hier aufgeführten Tipps und Best Practices decken sicherlich nicht alle nötigen Handgriffe ab, dürften aber einen ersten guten Überblick über die Erstellung effizienter VMware Templates geben.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+ und Facebook!

Fortsetzung des Inhalts unten

Erfahren Sie mehr über Containervirtualisierung

ComputerWeekly.de

Close