Stai ricevendo un elenco di tutte le istantanee nelle macchine virtuali gestite da vCenter?


17

Abbiamo più server ESXi gestiti da un vCenter; c'è un modo per ottenere un elenco di tutte le istantanee in tutte le macchine virtuali?


1
Di seguito alcune buone risposte. Procurati anche una copia di RVTools se stai supportando vCenter.
jscott,

Risposte:


11

Sembra un lavoro per PowerCLI! Bene, da una workstation Windows, comunque, che è quello che ho.

Get-Snapshot

Il blog di Surly Admin ha anche uno script che puoi copiare e incollare per ottenere tutte le istantanee per tutte le macchine virtuali nel tuo ambiente , la cui carne posterò di seguito per comodità.

$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

1
Questa è un'ottima risposta PowerCLI mi è stato molto utile, ma se Powershell non fa per te, PowerCLI (e questa risposta in particolare) è un ottimo esempio di client API vSphere, quindi sentiti libero di consultare i documenti API di vSphere per la tua lingua preferita!
gWaldo,

16

Grrr ... Istantanee VMware. Se avessi la mia strada, esisterebbero solo a scopo di backup e per testare le modifiche.

È possibile visualizzare lo spazio consumato dagli snapshot ( che è probabilmente ciò che realmente si desidera conoscere ) utilizzando la scheda "Viste di archiviazione" a livello di cluster nel client vSphere.

inserisci qui la descrizione dell'immagine

Inizia lì, quindi esegui il drill-down verso le singole VM. Le voci che hanno valori in Byte (B) significano essenzialmente che non ci sono istantanee.


Questo è stato rimosso dal client vSphere: kb.vmware.com/s/article/2112085
CitizenRon

1
Cacca. Odio quando lo fanno.
ewwhite,

7

La risposta di HopelessNoob è ottima per un rapporto leggibile dall'uomo. A volte preferisco analizzare il mio in altri oggetti PS. È anche molto simile a HopelessNoob - Immagino che entrambi abbiamo iniziato dallo stesso frammento di codice per creare i nostri script:

$ 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

dà:

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

È quindi possibile reindirizzarlo Remove-Snapshoto filtrarlo o altro.


4

Ecco lo script che usiamo per scaricare un elenco di tutte le macchine virtuali con istantanee, funziona in PowerCLI. È molto semplice e pulito. Scarica i risultati sul desktop locale tramite un file .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

3

Anche se una risposta è stata accettata, vorrei indicarti check_vmware_snapshots .
È un plug -in Nagios / Icinga , per verificare l'età e contare le istantanee delle VM in un ambiente VMWare ESXi / vSphere.

Dipende da Perl / VMware :: VIRuntime da "VMware-vSphere-CLI-5.5.0", quindi questa volta non c'è PowerCLI o -shell. :-)


1

Sfortunatamente il grosso client per Vcenter non ha questa funzionalità sin dalla versione 6.0, ma ecco un'altra opzione se vuoi farlo facilmente in una GUI. In 6.0 o 6.5 avviare il client Web vcenter (versione flash). Sul lato sinistro (finestra di navigazione) selezionare vcenter, un centro dati o un cluster, quindi selezionare per visualizzare le macchine virtuali. Sul lato destro a sinistra della casella "filtro" c'è una piccola icona quadrata (passandoci sopra dice "Mostra e nascondi filtri rapidi". Fai clic sull'icona quadrata, quindi fai clic su "ha un'istantanea", quindi fai clic su "Sì". view ora mostrerà solo VM con snapshot.


0

Oppure esegui la seguente query in MS SQL (la query si basa su sql2008 e 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

0

Aprire vCenter con vSphere Client. Navigare verso

Categoria "Datastore and Datastore Cluster"

"R-Click su Datastore" dove vuoi trovare Snapshot. (Se più Datastore deve andare in ciascun Datastore)

Vedrai la scheda Cartella e Cerca.

Fai clic per vedere l'immagine della scheda Cerca

Fai clic su Cerca, quindi dal menu a discesa seleziona "Istantanea della macchina virtuale"

Fai clic su Cerca.

Mostrerà tutta l'istantanea memorizzata in tale archivio dati.

R-clic su Istantanea e "Vai alla cartella"

Passerà alla cartella VM di cui è stata scattata l'istantanea.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.