Erhalten Sie eine Liste aller Snapshots in VMs, die von vCenter verwaltet werden?

17

Wir haben mehrere ESXi-Server, die von einem vCenter verwaltet werden. Gibt es eine Möglichkeit, eine Liste aller Snapshots in allen VMs abzurufen?

leeand00
quelle
1
Einige gute Antworten unten. Holen Sie sich auch eine Kopie von RVTools, wenn Sie vCenter unterstützen.
Jscott

Antworten:

11

Klingt nach einem Job für PowerCLI! Na ja, auf einer Windows-Workstation jedenfalls, was ich habe.

Get-Snapshot

Der Blog von Surly Admin enthält sogar ein Skript, mit dem Sie Pasta kopieren können, um alle Snapshots für alle VMs in Ihrer Umgebung abzurufen.

$Report = Get-VM | Get-Snapshot | Select VM,Name,Description,@{Label="Size";Expression={"{0:N2} GB" -f ($_.SizeGB)}},Created
If (-not $Report)
{  $Report = New-Object PSObject -Property @{
      VM = "No snapshots found on any VM's controlled by $VIServer"
      Name = ""
      Description = ""
      Size = ""
      Created = ""
   }
}
$Report = $Report | Select VM,Name,Description,Size,Created | ConvertTo-Html -Head $Header -PreContent "<p><h2>Snapshot Report - $VIServer</h2></p><br>" | Set-AlternatingRows -CSSEvenClass even -CSSOddClass odd
HopelessN00b
quelle
1
Das ist eine großartige Antwort. Ich habe PowerCLI sehr gut genutzt, aber wenn Powershell nicht Ihr Ding ist, ist PowerCLI (und insbesondere diese Antwort) ein großartiges Beispiel für einen vSphere-API-Client. Schauen Sie sich also die vSphere-API-Dokumente an für Ihre Sprache der Wahl!
gWaldo
16

Grrr ... VMware-Snapshots. Wenn ich es so machen würde, gäbe es sie nur zu Sicherungszwecken und zum Testen von Änderungen.

Sie können den von Snapshots belegten Speicherplatz anzeigen ( was Sie wahrscheinlich wirklich wissen möchten ), indem Sie in Ihrem vSphere-Client die Registerkarte "Speicheransichten" auf Clusterebene verwenden.

Bildbeschreibung hier eingeben

Beginnen Sie dort und führen Sie dann einen Drilldown zu den einzelnen VMs durch. Die Einträge mit Werten in Bytes (B) bedeuten im Wesentlichen, dass keine Snapshots vorhanden sind.

ewwhite
quelle
Dies wurde von vSphere - Client entfernt: kb.vmware.com/s/article/2112085
CitizenRon
1
Poop. Ich hasse es, wenn sie das tun.
Ewwhite
7

HopelessNoobs Antwort ist großartig für einen für Menschen lesbaren Bericht. Manchmal ziehe ich es vor, meine in andere PS-Objekte zu zerlegen. Es ist auch HopelessNoobs sehr ähnlich - ich denke, wir haben beide mit demselben Code-Snippet begonnen, um unsere Skripte zu erstellen:

$ VIServer = "vsphere.ad.example.com"

If (-not (Get-PSSnapin VMware.VimAutomation.Core))
{  Try { Add-PSSnapin VMware.VimAutomation.Core -ErrorAction Stop }
   Catch { Write-Host "Unable to load PowerCLI, is it installed?" -ForegroundColor Red; Break }
}

Connect-VIServer $VIServer -Credential (Get-Credential) | Out-Null

Get-VM | Get-Snapshot | Select VM,Name,Description,@{Label="Size";Expression={"{0:N2} GB" -f ($_.SizeGB)}},Created | FT

Gibt:

VM                              Name                            Description                     Size                            Created
--                              ----                            -----------                     ----                            -------
ENETSXS2                        VEEAM BACKUP TEMPORARY SNAPSHOT Please do not delete this sn... 19.28 GB                        8/11/2014 8:42:18 AM
ENETSDFS-BS                     VEEAM BACKUP TEMPORARY SNAPSHOT Please do not delete this sn... 16.30 GB                        8/11/2014 5:24:44 AM

Sie können das dann weiterleiten Remove-Snapshotoder filtern oder was auch immer.

Mark Henderson
quelle
4

Das folgende Skript, mit dem wir eine Liste aller VMs mit Snapshots sichern, funktioniert in PowerCLI. Es ist sehr einfach und sauber. Die Ergebnisse werden über eine CSV-Datei auf Ihrem lokalen Desktop gespeichert.

#  Possible "Select-Object -Property" variables: Description, Created, Quiesced, PowerState, VM, VMId, Parent, ParentSnapshotId, ParentSnapshot, Children, SizeMB, SizeGB, IsCurrent, IsReplaySupported, ExtensionData, Id, Name, Uid, Client


get-vm | get-snapshot | Select-Object -Property vm,created,sizeGB,name,description | Export-Csv -Path C:\Users\$env:username\Desktop\snapshots.csv
Justin
quelle
3

Auch wenn eine Antwort angenommen wurde, möchte ich Sie auf check_vmware_snapshots hinweisen .
Es ist ein Nagios / Icinga- Plugin, mit dem Sie das Alter und die Anzahl der VM-Snapshots in einer VMWare ESXi / vSphere-Umgebung überprüfen können.

Dies hängt von Perl / VMware :: VIRuntime ab "VMware-vSphere-CLI-5.5.0" ab. Daher ist diesmal keine PowerCLI oder -shell erforderlich. :-)

Henk
quelle
1

Leider hatte der Thick-Client für Vcenter diese Funktion seit 6.0 meines Erachtens nicht mehr, aber hier ist eine weitere Option, wenn Sie dies einfach in einer grafischen Benutzeroberfläche tun möchten. Starten Sie in 6.0 oder 6.5 den vcenter-Webclient (Flash-Version). Wählen Sie auf der linken Seite (Navigationsfenster) entweder vcenter, ein Rechenzentrum oder einen Cluster aus und klicken Sie dann auf VMs anzeigen. Rechts neben dem Feld "Filter" befindet sich ein kleines quadratisches Symbol (darüber befindet sich die Meldung "Schnellfilter einblenden und ausblenden". Klicken Sie auf dieses quadratische Symbol, dann auf "Momentaufnahme" und dann auf "Ja" In der Ansicht werden jetzt nur VMs mit Snapshots angezeigt.

lampim
quelle
0

Oder führen Sie die folgende Abfrage in MS SQL aus (Abfrage basiert auf sql2008 und vcenter 5.1)

select t.ID, t.NAME as VMName, s.SNAPSHOT_NAME as SnapshotName
from [VCDB].[dbo].[VPX_SNAPSHOT] s, [VCDB].[dbo].[VPX_ENTITY] t
where s.VM_ID = t.ID order by t.ID
Eloy
quelle
0

Öffnen Sie vCenter mit dem vSphere-Client. Navigiere zu

Kategorie "Datenspeicher und Datenspeichercluster"

Klicken Sie mit der rechten Maustaste auf den Datenspeicher, in dem Sie den Schnappschuss suchen möchten. (Wenn mehrere Datenspeicher vorhanden sind, müssen diese in jedem Datenspeicher abgelegt werden.)

Sie sehen die Registerkarte Ordner und Suche.

Klicken Sie hier, um das Bild der Registerkarte "Suche" anzuzeigen

Klicken Sie auf Suchen und wählen Sie dann im Dropdown-Menü "Virtual Machine Snapshot" aus.

Klicken Sie auf Suchen.

Es werden alle in diesem Datenspeicher gespeicherten Snapshots angezeigt.

R-Klick auf Snapshot und "Gehe zum Ordner"

Es wird in den VM-Ordner verschoben, von dem der Snapshot erstellt wird.

Junead Qureshi
quelle