Mit libguestfs und virt-sysprep VM-Templates für KVM erstellen

Einfache Bereitstellung: Mit virt-sysprep aus dem libguestfs-Tool lassen sich auf einfache Weise VM-Templates für KVM-Umgebungen erstellen.

Die libguestfs-Tools gibt es schon lange in unter Linux realisierten KVM-Umgebungen. Sie wurden ursprünglich entwickelt, um Image-Dateien virtueller Maschinen (VM) einbinden zu können. In der Zwischenzeit hat es sich zu einem leistungsfähigem Tool entwickelt, das mehrere verschiedene Funktionen bereitstellt. Dazu gehört auch die Option, Templates zu erstellen, wofür das Tool virt-sysprep genutzt wird.

Wenn Sie virtuelle Maschinen auf einfache Weise ausrollen wollen, dann sind Templates ein sehr nützliches Werkzeug. Um ein Template zu konfigurieren, müssen Sie alle System-spezifischen Eigenschaften aus dieser virtuellen Maschine entfernen. Auf einer Linux-Maschine sind das zum Beispiel enthaltene SSH-Host-Schlüssel, persistente Netzwerk-Konfigurationen (vor allem bezogen auf die MAC-Adresse) und Anwender-Konten. Das Utility virt-sysprep kümmert sich um all diese Aspekte und kann auch verwendet werden, um eine VM zu modifizieren und entsprechende Informationen hinzuzufügen.

In seinem derzeitigen Zustand funktioniert virt-sysprep lediglich mit Linux. Zum Vorbereiten eines Windows-Systems können Sie aber zum Beispiel die Windows-Software sysprep.exe verwenden. Zudem gibt es auch Pläne, Unterstützung für Windows in künftigen Versionen von virt-sysprep zu integrieren.

Sie können auf virt-sysprep vom KVM-Host aus zugreifen und es benutzen, um das Festplatten-Image und die Gast-VM zu modifizieren. Für ein Template verwenden Sie am besten eine neue virtuelle Maschine und keine existierende, da das Tool schließlich alle für diese VM spezifischen Konfigurations-Einstellungen und Informationen löscht. Ziehen Sie dennoch eine existierende virtuelle Maschine in Betracht, dann sollten Sie dies im Hinterkopf behalten, da sich möglicherweise Inhalte darauf befinden, die Sie behalten möchten. In diesem Fall sollten Sie zumindest ein Backup, einen Snapshot oder einen Klon der virtuellen Festplatte erstellen.

Virt-sysprep macht aber noch mehr, als nur Dateien und Konfigurationen aus dem Festplatten-Image der virtuellen Maschine zu löschen. Bei einer KVM-VM werden bestimmte Informationen in zwei verschiedenen Teilen gespeichert. Der XML-Code für libvirt enthält bestimmte Informationen wie zum Beispiel den Namen, UUID, den Pfad zum Block-Gerät und die MAC-Adresse der Netzwerkkarte. Das Festplatten-Image hält andere Informationen vor, beispielsweise Host-Name, Netzwerk-Konfiguration, UUID und SSH-Host-Schlüssel.

Mit virt-sysprep das VM-Template vorbereiten

Wenn Sie virt-syprep einsetzen, wird standardmäßig das komplette System gesäubert, um ein System-Image vorzubereiten. Wenn sie virt-sysprep nutzen können Sie zudem auswählen, welche spezifischen Operationen Sie ausführen möchten. Verwenden Sie zum Beispiel den Befehl virt-sysprep --list-operations, um eine Liste mit allen verfügbaren Operationen der jeweiligen Version zu erhalten. Aktivierte Arbeitsabläufe sind mit einem Sternchen gekennzeichnet. Wollen Sie die Standard-Konfiguration ändern, verwenden Sie --operations-, gefolgt von allen spezifischen Operationen, die Sie verwenden wollen.

Normalerweise müssen Sie aber nicht viele Operationen ändern. Die Standard-Konfiguration entfernt alles, was spezifisch für die entsprechende virtuelle Maschine ist. Es ist wichtig, dass Sie über die Ränder der Netzwerk-Konfiguration hinausdenken, also zum Beispiel dem Bash-Verlauf, die Cron-Spool-Verzeichnisse, die Log-Dateien und anderer typischer Altlasten auf dem benutzten System beachten.

Nachdem Sie die virtuelle Maschine mit dem Tool virt-sysprep aus libguestfs aufgeräumt haben, müssen Sie neue Konfigurations-Einstellungen hinzufügen. Eine angenehme Möglichkeit für diesen Arbeitsschritt ist die Benutzung der Option --firstboot, um ein Script laufen zu lassen. Es handelt sich genau genommen um dieselbe Prozedur, die nach einer frischen Installation eines Linux-Systems ausgeführt wird. In der Standard-Einstellung entfernt virt-sysprep alle Informationen von firstboot. Wollen Sie firstboot auf der vorbereiteten virtuellen Maschine nutzen, verwenden Sie beim Ausführen des Tools virt-sysprep die Option --firstboot. Damit können Sie dann ein beliebiges Shell-Script laufen lassen.

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

Erfahren Sie mehr über Server- und Desktop-Virtualisierung

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close