Gastbetriebssystem von Instant Clones per Script anpassen Neu in vSphere 7

Klone sind eine schnelle Bereit­stellungs­technik für VMs, ins­beson­dere für die Desktop-Virtuali­sierung. Der neueste Typ sind Instant Clones, die in vSphere 7 ein API für die Anpassung der Netz­werk­einstellungen im Gast­system erhielten. Dies erlaubt program­matische Work­flows zur Bereit­stellung von Instant-Clone-VMs.

VMware kennt bei seinen Produkten vSphere, Horizon und Workstation drei verschiedene Klone-Technologien: Linked Clone, Full Clone und Instant Clone.

Linked versus Full Clone

Linked Clone (verknüpfter) Klon nennt VMware eine Moment­aufnahme einer virtuellen Maschine, die fortlaufend virtuelle Festplatten mit der übergeordneten VM teilt. Das spart Speicherplatz und ermöglicht es mehreren VMs, den gleichen Stapel an Software-Installation zu verwenden. Unter Full Clone versteht VMware vollständige Kopien virtueller Maschinen, die unabhängige von der ursprünglichen VM ausgeführt werden. Trotzdem sind sie schneller bereitgestellt als reguläre VMs, weil die Installation des Gast-OS- entfällt. Da Full Clones virtuelle Festplatten nicht mit der ursprünglichen übergeordneten VM gemeinsam nutzen, haben sie im Allgemeinen eine bessere Leistung als Linked Clones. Allerdings dauert die Bereitstellung länger.

Im vSphere-Client lassen sich übrigens nur unabhängige Klone erstellen. Die GUI orchestriert den gesamten Workflow für das Klonen, darunter auch das Zuweisen einer neuen MAC-Adresse und einer eindeutigen Kennung. Linked Clones und Instant Clones erhält man hingegen kann nur über die CLI.

Öffnung von Instant Clones für Automatisierung

Instant Clones (sofortige Klone) sind Linked Clones sehr ähnlich. Sie teilen sich eine virtuelle Festplatte mit einer übergeordneten VM und verbrauchen damit weniger Plattenplatz als eine vollständige VM. Instant Clones tun zusätzlich das Gleiche mit dem Arbeitsspeicher. Daher erzeugt man sie stets auf Basis einer laufenden VM. Damit funktionieren und verhalten sich Instant Clones eher wie Container als wie VMs.

Instant Clones werden aus einer übergeordneten VM abgeleitet.
Instant Clones werden aus einer übergeordneten VM abgeleitet.

Trotzdem sind Instant Clones voll funktionsfähig und sehr schnell startklar, während beim her­kömmlichen Klonen noch ein vollständiger Betriebs­systemstart erforderlich ist, der samt ordnungs­gemäßer Konfiguration einige Minuten dauern kann. Instant Clones (VMware-intern auch als VMFork bezeichnet) gibt es zum Beispiel in Horizon schon seit einigen Jahren. Die Funktion war auch schon einmal in vSphere 6.0 verfügbar, auch wenn das wesentliche Einsatz­szenario eigentlich Horizon View mit seinen Just-in-Time-Desktops war und ist. Öffentliche APIs standen jedoch vor vSphere 6.7 nicht für den externen Gebrauch zur Verfügung. Trotzdem waren viele Kunden an der Technologie interessiert, um auch andere Nicht-VDI-Anwendungsfälle wie Dev/Test, Continuous Integration / Continuous Development (CI / CD) oder sogar Container-Workloads in vSphere zu ermöglichen.

Die zaghafte Öffnung begann mit der Veröffentlichung des Flings PowerCLI-Instant-Clone-Extension, das ergänzend zu den privaten APIs eine weitere Abstraktions­ebene bereitstellte. Darauf basierend veröffentlichte VMware dann zunächst das Fling Instant Clone für pyvmomi (vSphere SDK für Python), mit dem Kunden programm­gesteuert auf die privaten APIs zugreifen konnten. Beide Flings waren ein großer Erfolg und laut Wiliam Lam gab es sogar Kunden, welche die pyvmomi-Instant-Clone-Module in der Produktion verwendeten, um mehrere hundert Instant Clone-VMs pro Tag für ihre CI- / CD-Workloads bereitzustellen. Seit vSphere 6.7 können Kunden die neu entwickelte Technik für Instant Clones inklusive eines nun öffentlichen vSphere-API verwenden. Dieses Update von Instant Clone bildet die Grundlage für zukünftige Verbesserungen dieser Technologie, wie sie nun in vSphere 7 eingeflossen sind.

Die neue Architektur für Instant Clones

Der Hauptunterschied zu früheren Versionen von Instant Clone besteht darin, dass es keine enge Kopplung mehr zwischen Source-VM (Parent) und Destination-VM (Child) gibt, wodurch einige Einschränkungen wegfallen. Diese bestanden vor allem darin, dass Instant Clones vor 6.7 die wichtigsten vSphere-Funktionen wie vMotion, Cross vCenter vMotion, Storage vMotion, DRS oder HA nicht nutzen konnten. In der neuen Version, auch als Parentless Instant Clone bezeichnet, hängt die instanziierte VM dagegen nicht mehr von der Source-VM ab.

Der Instant Clone ist eine unabhängige VM, die aber auf dem exakten Status der Quell-VM ausgeführt wird. Dies ermöglicht die schnelle Provisionierung von VMs, die im Gegensatz zum her­kömmlichen vollständigen Klonen sofort einsatzbereit sind, weil der Instant Clone sowohl den Arbeits­speicher als auch der Festplattenstatus der Source-VM mitnutzt. Alle Instant Clones teilen sich dieselben physischen Speicherseiten wie ihre Source-VM. Dies gilt auch beim Einsatz von Trans­parenter Speicherfreigabe (TPS). 

Speichereinsparungen erzielt VMware durch Delta-Festplatten, die sich ähnlich wie bei einem verknüpften Klon verhalten. Anders als dieser verwendet Instant Clone jedoch keine Snapshot-basierte Delta-Festplatte, sondern eine andere Technik. Diese erlaubt es nun auch, Instant Clones entweder aus einer laufenden oder einer eingefrorenen Source-VM zu erstellen. In der Vergangenheit musste man die Source-VM einfrieren, was bedeutete, dass sie während der Erstellung von Instant Clones nicht mehr verfügbar war.

Damit liegen die Vorteile von Instant Clonen auf der Hand:

  • Deutlich kürzere Zeiten für die Bereitstellung
  • Instant Clones sind praktisch sofort eingeschaltet und damit für Benutzer zum Herstellen einer Verbindung bereit
  • Einsparungen bei der Speichernutzung
  • Vereinfachte Wartung für Administratoren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.