bluebay2014 - stock.adobe.com
Drei nützliche PowerCLI-Cmdlets fürs Snapshot-Management
Mit nur drei PowerCLI-Cmdlets können Sie Snapshots in vSphere erstellen, zurücksetzen, entfernen und verwalten, um einen reibungslosen Betrieb Ihrer Umgebung zu gewährleisten.
Obwohl Sie Snapshots nicht als Backups verwenden sollten, stellen Snapshots sicher, dass Sie in einem kurzfristigen Szenario einen bestimmten VM- oder Datenzustand wiederherstellen können. Wenn Sie VMware vSphere PowerCLI verwenden, können Sie Snapshots für viele virtuelle Maschinen auf einmal erstellen und einfach auf diese Snapshots zurückgreifen, um diese VMs wiederherzustellen.
Virtualisierung hat das Servermanagement im Rechenzentrum und in der Cloud verändert, und Snapshots sind Teil dieser Änderung. In wenigen Sekunden können Sie einen Snapshot einer VMWare-VM erstellen und dann bei Bedarf wieder auf diesen Snapshot zurückgreifen.
Auch wenn Sie einen Snapshot nicht als primäres Backup-System verwenden sollten – sie nehmen viel Speicherkapazität in Anspruch, was die Leistung beeinträchtigen kann, und sie sind keine vollständige Kopie von Daten, und liefern daher in einer Wiederherstellungssituation nicht das vollständige Bild – funktionieren Snapshots gut als kurzfristige Backup-Methode.
Mit PowerCLI können Sie Snapshots viel effizienter verwalten als mit einer GUI. Es gibt nur drei PowerCLI-Snapshot-Verwaltungs-Cmdlets: Get-Snapshot, New-Snapshot und Remove-Snapshot, und obwohl der Zweck nicht die Snapshot-Verwaltung ist, verfügt Set-VM auch über einige Snapshot-Funktionen. Mit diesen Cmdlets wird die Verwaltung einer großen vSphere-Umgebung und ihrer Snapshots wesentlich einfacher.
Einen Snapshot erstellen
Um einen neuen Snapshot zu erstellen, können Sie das Cmdlet New-Snapshot verwenden:
C:\> New-Snapshot -VM Test-1 -Name 'This is a test snapshot' -Description 'Testing this out' -Quiesce -Memory
Name Description PowerState
---- ----------- ----------
This is a test sn... Testing this out PoweredOn
Die Felder Name und Beschreibung sind selbsterklärend. Diese Zeichenketten bezeichnen, welchen Namen der Snapshot erhält und wie seine Funktion aussieht. Der Parameter -VM bezeichnet die VM, von der Sie den Snapshot machen möchten.
Memory und zeitweises Stilllegen (Quiesce) sind weniger einfache Parameter. Memory bedeutet, dass der Snapshot den Speicher bewahrt. Der Quiesce-Parameter stellt den guten Zustand des Gast-Dateisystems über VMware-Tools sicher.
Sie können PowerCLI auch für erweiterte Snapshot-Operationen verwenden, zum Beispiel für die Erstellung eines Snapshots von jeder Windows Server 2016-VM. Filtern Sie dazu Ihre Anforderung, indem Sie das Cmdlet Where-Object und die Guest-Eigenschaft verwenden, die das Betriebssystem enthalten sollte, auf dem der Gast läuft. Dies führt zu einem Snapshot jeder VM mit dem Namen 2016 Test:
C:\> Get-VM | Where-Object {$_.Guest -like "*Windows Server 2016*"}
Name PowerState Num CPUs MemoryGB
---- ---------- -------- --------
Test-1 PoweredOn 2 8.000
Test-2 PoweredOn 2 4.000
Test-3 PoweredOn 2 4.000
Test-4 PoweredOn 4 16.000
Test-5 PoweredOn 2 4.000
Test-6 PoweredOn 2 4.000
Test-7 PoweredOn 8 8.000
C:\> Get-VM | Where-Object {$_.Guest -like "*Windows Server 2016*"} | New-Snapshot -Name '2016 test'
Wiederherstellen eines Snapshots
Sie können PowerCLI auch verwenden, um eine VM zu einem Snapshot zurückzusetzen. Man sollte dies nicht regelmäßig außerhalb der Testzwecke tun müssen, aber es ist eine nützliche Fähigkeit.
Um eine VM zu einem Snapshot zurückzusetzen, verwenden Sie das Cmdlet Set-VM und geben Sie im Parameter -Snapshot den Namen des Snapshots an, auf den Sie zurückgreifen möchten. Sie können auch das Cmdlet Get-Snapshot verwenden.
C:\> Set-VM -VM Test-1 -Snapshot (Get-Snapshot -VM Test-1 -Name 'This is a test snapshot')
Confirmation
Reverting VM 'Test-1' to snapshot 'This is a test snapshot'.
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): a
Name PowerState Num CPUs MemoryGB
---- ---------- -------- --------
Test-1 PoweredOn 2 8.000
In wenigen Sekunden sollte Ihre VM wieder zu Ihrem Snapshot zurückkehren.
Einen Snapshot entfernen
Generell sollte man Snapshots nicht lange aufbewahren. Die Erstellung eines Snapshots erfordert einen gewissen Aufwand und je mehr Änderungen an einer VM nach dem Snapshot auftreten, desto mehr Arbeit muss Ihr System leisten, um eine VM wieder in ihren ursprünglichen Zustand zu versetzen.
In PowerCLI können Sie das Cmdlet Remove-Snapshot verwenden. Sie können auch den Parameter -RemoveChildren nutzen, der sicherstellt, dass jedes „Kind“ eines Snapshots zusammen mit dem Snapshot selbst entfernt wird. Wenn Sie beispielsweise alle Snapshots Ihrer Test-1-VM entfernen möchten, können Sie Get-Snapshot in Remove-Snapshot ändern:
C:\> Get-Snapshot -VM Test-1 | Remove-Snapshot -RemoveChildren
Confirm
Are you sure you want to perform this action?
Performing the operation "Removing snapshot." on target "VirtualMachineSnapshot-snapshot-108187".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): a