Vous obtenez une liste de tous les instantanés des machines virtuelles gérées par vCenter?

17

Nous avons plusieurs serveurs ESXi gérés par un vCenter; existe-t-il un moyen d'obtenir une liste de tous les instantanés dans toutes les machines virtuelles?

leeand00
la source
1
Quelques bonnes réponses ci-dessous. Procurez-vous également une copie de RVTools si vous prenez en charge vCenter.
jscott

Réponses:

11

Cela ressemble à un travail pour PowerCLI! Eh bien, à partir d'un poste de travail Windows, de toute façon, c'est ce que j'ai.

Get-Snapshot

Le blog de Surly Admin a même un script que vous pouvez copier-coller pour obtenir tous les instantanés de toutes les machines virtuelles de votre environnement , dont je publierai la viande ci-dessous pour votre commodité.

$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
la source
1
C'est une excellente réponse. J'ai beaucoup utilisé PowerCLI, mais si Powershell n'est pas votre truc, PowerCLI (et cette réponse en particulier) est un excellent exemple de client API vSphere, alors n'hésitez pas à consulter les documents API vSphere pour la langue de votre choix!
gWaldo
16

Grrr ... Instantanés VMware. Si je le pouvais, ils n'existeraient qu'à des fins de sauvegarde et pour tester les modifications.

Vous pouvez afficher l'espace consommé par les instantanés ( ce qui est probablement ce que vous souhaitez vraiment savoir ) en utilisant l'onglet "Vues de stockage" au niveau du cluster dans votre client vSphere.

entrez la description de l'image ici

Commencez par là, puis descendez jusqu'aux machines virtuelles individuelles. Les entrées qui ont des valeurs en octets (B) signifient essentiellement qu'il n'y a pas d'instantanés.

ewwhite
la source
Cela a été supprimé de vSphere Client: kb.vmware.com/s/article/2112085
CitizenRon
1
Caca. Je déteste quand ils font ça.
ewwhite
7

La réponse de HopelessNoob est idéale pour un rapport lisible par l'homme. Parfois, je préfère analyser le mien dans d'autres objets PS. Il est également très similaire à HopelessNoob - je suppose que nous avons tous deux commencé à partir du même extrait de code pour créer nos scripts:

$ 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

Donne:

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

Vous pouvez ensuite le canaliser Remove-Snapshotou le filtrer ou autre chose.

Mark Henderson
la source
4

Voici le script que nous utilisons pour vider une liste de toutes les machines virtuelles avec des instantanés, fonctionne dans PowerCLI. C'est très simple et propre. Il videra les résultats sur votre bureau local via un fichier .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
la source
3

Même si une réponse a été acceptée, je voudrais vous indiquer Check_vmware_snapshots .
C'est un plugin Nagios / Icinga , pour vérifier l'âge et compter les instantanés VM dans un environnement VMWare ESXi / vSphere.

Cela dépend de Perl / VMware :: VIRuntime de "VMware-vSphere-CLI-5.5.0", donc pas de PowerCLI ou -shell cette fois. :-)

Henk
la source
1

Malheureusement, le client lourd pour Vcenter n'a pas eu cette fonctionnalité depuis 6.0, je crois, mais voici une autre option si vous voulez le faire facilement dans une interface graphique. Dans 6.0 ou 6.5, lancez le client Web vcenter (version flash). Sur le côté gauche (fenêtre du navigateur), sélectionnez vcenter, un centre de données ou un cluster, puis sélectionnez pour afficher les machines virtuelles. Sur le côté droit à gauche de la case "filtre", il y a une petite icône carrée (survolant elle dit "Afficher et masquer les filtres rapides". Cliquez sur cette icône carrée, puis cliquez sur "a un instantané" puis cliquez sur "oui". Votre La vue affichera désormais uniquement les machines virtuelles avec des instantanés.

lampim
la source
0

Ou exécutez la requête suivante dans MS SQL (la requête est basée sur sql2008 et 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
éloy
la source
0

Ouvrez vCenter avec vSphere Client. Aller vers

Catégorie "Datastore et Datastore Cluster"

"R-Cliquez sur Datastore" où vous voulez trouver un instantané. (Si plusieurs banques de données doivent aller dans chaque banque de données)

Vous verrez l'onglet Dossier et Recherche.

Cliquez pour voir l'image de l'onglet Recherche

Cliquez sur Rechercher, puis dans le menu déroulant, sélectionnez «Instantané de la machine virtuelle»

Cliquez sur Rechercher.

Il affichera tous les instantanés stockés dans ce magasin de données.

R-Cliquez sur Instantané et "Aller au dossier"

Il faudra au dossier VM dont l'instantané est pris.

Junead Qureshi
la source