5

Zum Testen des Installationsprogramms für das Produkt verwalte ich eine Baumstruktur mit Snapshots virtueller Maschinen, auf denen verschiedene frühere Versionen installiert sind. Es ist eine langwierige Aufgabe, Windows Update durchzuführen, den Snapshot neu zu erstellen, den übergeordneten Snapshot auf jeder VM zu löschen.Wie halten Sie einen Baum von VM-Snapshots mit Windows Update auf dem neuesten Stand?

Gibt es eine automatisierte Lösung, um eine Gruppe von VMs auf dem neuesten Stand zu halten? Ich benutze VirtualBox, habe aber Zugriff auf VMware Workstation und würde wechseln, wenn sich die Wartung verbessern würde.

+2

Dies sollte auf Serverfault sein. – Joe

+2

Ich dachte darüber nach .. aber in VMs zu testen (und sie auf dem neuesten Stand zu halten) ist etwas, was viele Programmierer tun. –

Antwort

5

Wir behalten eine Baseline von VMs in einer Bibliothek von Arten. Sie sind ungefähr 20 (mit Mischungen verschiedener Versionen von Java, DB2, WAS usw.), die die Entwicklungs- und Testteams für ihren eigenen Gebrauch kopieren können.

Der Bibliothekar (Entwickler, der diese Teilzeitstelle macht) ist dafür verantwortlich, sie auf dem neuesten Stand zu halten. Was sie tun werden, ist, jede Woche eine der VMs zu kopieren, sie zu starten und alle Updates zu installieren und dann die aktualisierte VM wieder über das Original zu kopieren. Dies bedeutet, dass es zum Auschecken zur Verfügung steht, außer wenn der Kopiervorgang ausgeführt wird. Darüber hinaus wird die Anzahl der VMs, die aktualisiert werden müssen, aufgrund der Tatsache, dass sie gemeinsam genutzt werden, minimiert.

So machen wir unsere Snapshots, indem wir die Verzeichnisse teilweise kopieren, weil es einfacher zu verwalten ist, aber meistens weil wir zu knapp sind, um die Workstation-Version zu kaufen :-) Wir verwenden stattdessen den Player.

Es ist größtenteils automatisiert, da alle VMs ihre Updates von unserem SUS-Server erhalten und wir wissen, wann Updates verfügbar sind. Der Bibliothekar wird von einem Skript benachrichtigt, dessen VMs aktualisiert werden müssen, und muss lediglich ein anderes Skript ausführen, das die VM kopiert und die Kopie startet.

Sobald der Bibliothekar zufrieden ist, ist die Kopie auf dem neuesten Stand, sie wird heruntergefahren und noch ein Skript kopiert diese VM zurück in die Bibliothek und aktualisiert ihren Status.

+0

Ich mag diese Idee, sowohl für den teamorientierten Aspekt als auch für die Einfachheit und das geringe Gewicht. Der Nachteil ist, dass Sie zwar eine Bibliothek aktueller Baselines bereitstellen können, aber keine Lösung bietet, um VMs auf dem neuesten Stand zu halten. –

+1

Die Verwendung ist ziemlich kurzfristig in unserer Umgebung, Aidan. In der Regel werden die VMs für eine Reihe von Testläufen kopiert, die nur so lange dauern, bis alle Tests erfolgreich sind. Dies ist normalerweise weit unter einer Woche, dann werden die abgeschriebenen VMs gelöscht, bis sie wieder benötigt werden. – paxdiablo

2

Ich kenne keine automatisierte Lösung für alle Ihre VMs, aber ich würde Windows Server Update Services empfehlen, um den Aktualisierungsstatus jeder VM zu verfolgen und ein lokales Windows Update-Repository bereitzustellen, um den Aktualisierungsprozess zu beschleunigen.

Ich nehme an, Sie könnten eine Kombination aus WSUS und Gruppenrichtlinien verwenden, um diese Updates durchzuführen, die automatische Update-Installation einzurichten und alle VMs für einen bestimmten Zeitraum einzuschalten, um sicherzustellen, dass alle die Updates erhalten.

Das löst das Problem mit der Verwaltung von Snapshots usw. jedoch nicht. Ich frage mich, ob VMWare eine API hat ...

+0

Interessante Idee. VMware und VirtualBox verfügen über APIs, mit denen Sie die Snapshot-Erstellung automatisieren können. In der Tat könnten Sie das Einschalten automatisieren, die Installation von Updates zulassen und die Stromversorgung ausschalten. Dies wäre eine beträchtliche Aufgabe zu implementieren. Mit einer großen Farm von VMs würde ich es betrachten. –

+0

Wenn Sie diese Route herunterfahren, können Sie den Windows Update-Dienst erzwingen, "jetzt" nach Updates zu suchen, indem Sie "wuauclt/detectnow" ausführen. Es scheint nichts zu tun zu haben, aber Sie werden feststellen, dass es in WSUS (oder Windows Update, wenn Sie nicht in einer WSUS-Umgebung sind) verschwindet und der gelbe Schild wird unten rechts angezeigt, wenn etwas aussteht. – tomfanning

Verwandte Themen