Otrzymujesz listę wszystkich migawek na maszynach wirtualnych zarządzanych przez vCenter?

17

Posiadamy wiele serwerów ESXi zarządzanych przez vCenter; Czy istnieje sposób, aby uzyskać listę wszystkich migawek na wszystkich maszynach wirtualnych?

leeand00
źródło
1
Poniżej kilka dobrych odpowiedzi. Zdobądź także kopię RVTools, jeśli wspierasz vCenter.
jscott

Odpowiedzi:

11

Brzmi jak praca dla PowerCLI! Cóż, w każdym razie ze stacji roboczej Windows, co mam.

Get-Snapshot

Blog Surly Admin ma nawet skrypt, który możesz skopiować-makaron, aby uzyskać wszystkie migawki dla wszystkich maszyn wirtualnych w twoim środowisku , których mięso opublikuję poniżej dla twojej wygody.

$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
Beznadziejny
źródło
1
To świetna odpowiedź. Dobrze wykorzystałem PowerCLI, ale jeśli Powershell nie jest twoją rzeczą, PowerCLI (a ta odpowiedź w szczególności) jest świetnym przykładem klienta API vSphere, więc zachęcamy do zapoznania się z dokumentacją API vSphere API dla twojego wybranego języka!
gWaldo
16

Grrr ... Migawki VMware. Gdybym miał na to sposób, istniałyby tylko w celu tworzenia kopii zapasowych i testowania zmian.

Możesz przeglądać przestrzeń zajmowaną przez migawki ( co prawdopodobnie naprawdę chcesz wiedzieć ), korzystając z karty „Widoki pamięci” na poziomie klastra w kliencie vSphere.

wprowadź opis zdjęcia tutaj

Zacznij od tego, a następnie przejdź do poszczególnych maszyn wirtualnych. Wpisy, które mają wartości w bajtach (B), zasadniczo oznaczają, że nie ma migawek.

ewwhite
źródło
Zostało to usunięte z klienta vSphere: kb.vmware.com/s/article/2112085
CitizenRon
1
Rufa. Nienawidzę, kiedy to robią.
ewwhite
7

Odpowiedź HopelessNoob jest świetna dla raportu czytelnego dla człowieka. Czasami wolę parsować moje do innych obiektów PS. Jest również bardzo podobny do HopelessNoob - chyba oboje zaczęliśmy od tego samego fragmentu kodu, aby zbudować nasze skrypty:

$ 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

Daje:

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

Następnie możesz potokować to Remove-Snapshotlub filtrować, czy cokolwiek innego.

Mark Henderson
źródło
4

Oto skrypt, którego używamy do zrzucenia listy wszystkich maszyn wirtualnych z migawkami, działa w PowerCLI. To jest bardzo proste i czyste. Zrzuci wyniki na lokalny pulpit za pomocą pliku .csv.

#  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
źródło
3

Nawet jeśli odpowiedź zostanie zaakceptowana, chciałbym wskazać ci check_vmware_snapshots .
Jest to wtyczka Nagios / Icinga do sprawdzania wieku i liczenia migawek maszyn wirtualnych w środowisku VMWare ESXi / vSphere.

Zależy to od Perla / VMware :: VIRuntime z „VMware-vSphere-CLI-5.5.0”, więc tym razem nie ma PowerCLI ani -shell. :-)

Henk
źródło
1

Niestety gruby klient Vcenter nie miał tej funkcji od wersji 6.0, ale uważam, że jest inna opcja, jeśli chcesz to zrobić z łatwością w GUI. W wersji 6.0 lub 6.5 uruchom klienta WWW vcenter (wersja flash). Po lewej stronie (okno nawigatora) wybierz vcenter, centrum danych lub klaster, a następnie wybierz, aby wyświetlić maszyny wirtualne. Po prawej stronie po lewej stronie pola „filtr” znajduje się mała kwadratowa ikona (nad nią znajduje się napis „Pokaż i ukryj szybkie filtry”. Kliknij tę kwadratową ikonę, a następnie kliknij „ma migawkę”, a następnie „tak”. widok wyświetli teraz tylko maszyny wirtualne z migawkami.

lampim
źródło
0

Lub uruchom następujące zapytanie w MS SQL (zapytanie oparte jest na sql2008 i 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
źródło
0

Otwórz vCenter za pomocą vSphere Client. Nawigować do

Kategoria „Datastore and Datastore Cluster” Kategoria

„R-Kliknij magazyn danych”, w którym chcesz znaleźć migawkę. (Jeśli w wielu magazynach danych musi znajdować się wiele magazynów danych)

Zobaczysz kartę Folder i Wyszukaj.

Kliknij, aby zobaczyć obraz karty wyszukiwania

Kliknij Wyszukaj, a następnie z rozwijanego menu wybierz „Migawka maszyny wirtualnej”

Kliknij Wyszukaj.

Wyświetli wszystkie migawki przechowywane w tym magazynie danych.

R-kliknij Snapshot i „Idź do folderu”

Nastąpi przeniesienie do folderu VM, z którego wykonano migawkę.

Junead Qureshi
źródło