¿Obtener una lista de todas las instantáneas en máquinas virtuales administradas por vCenter?

17

Tenemos múltiples servidores ESXi administrados por un vCenter; ¿Hay alguna manera de obtener una lista de todas las instantáneas en todas las máquinas virtuales?

leeand00
fuente
1
Algunas buenas respuestas a continuación. Obtenga una copia de RVTools también si es compatible con vCenter.
jscott

Respuestas:

11

¡Suena como un trabajo para PowerCLI! Bueno, de una estación de trabajo de Windows, de todos modos, que es lo que tengo.

Get-Snapshot

El blog de Surly Admin incluso tiene un script que puede copiar y pegar para obtener todas las instantáneas de todas las máquinas virtuales en su entorno , cuya carne publicaré a continuación para su conveniencia.

$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
fuente
1
Esta es una respuesta genial. PowerCLI me ha dado un buen uso, pero si Powershell no es lo tuyo, PowerCLI (y esta respuesta en particular) es un gran ejemplo de un cliente vSphere API, así que no dudes en consultar los documentos de vSphere API para su idioma de elección!
gWaldo
16

Grrr ... instantáneas de VMware. Si me saliera con la mía, solo existirían para fines de respaldo y para probar cambios.

Puede ver el espacio consumido por las instantáneas ( que es probablemente lo que realmente le interesa saber ) utilizando la pestaña "Vistas de almacenamiento" en el nivel de clúster en su cliente vSphere.

ingrese la descripción de la imagen aquí

Comience allí, luego profundice en las máquinas virtuales individuales. Las entradas que tienen valores en Bytes (B) esencialmente significan que no hay instantáneas.

ewwhite
fuente
Esto se ha eliminado de vSphere Client: kb.vmware.com/s/article/2112085
CitizenRon
1
Mierda. Odio cuando hacen eso.
ewwhite
7

La respuesta de HopelessNoob es excelente para un informe legible por humanos. A veces prefiero analizar el mío en otros objetos PS. También es muy similar a HopelessNoob: creo que ambos comenzamos desde el mismo fragmento de código para construir nuestros 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

Da:

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

Luego puede canalizar eso Remove-Snapshoto filtrarlo o lo que sea.

Mark Henderson
fuente
4

Aquí está el script que utilizamos para volcar una lista de todas las máquinas virtuales con instantáneas, funciona en PowerCLI. Es muy simple y limpio. Volcará los resultados a su escritorio local a través de un archivo .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
fuente
3

Incluso si se ha aceptado una respuesta, me gustaría señalarle que compruebe check_vmware_snapshots .
Es un complemento de Nagios / Icinga , para verificar la antigüedad y contar las instantáneas de VM en un entorno VMWare ESXi / vSphere.

Depende de Perl / VMware :: VIRuntime de "VMware-vSphere-CLI-5.5.0", por lo que esta vez no habrá PowerCLI o -shell. :-)

Henk
fuente
1

Desafortunadamente, el cliente grueso para Vcenter no ha tenido esta característica desde 6.0, creo, pero aquí hay otra opción si desea hacerlo fácilmente en una GUI. En 6.0 o 6.5, inicie el cliente web vcenter (versión flash). En el lado izquierdo (ventana del navegador) seleccione vcenter, un centro de datos o un clúster y luego seleccione para ver las máquinas virtuales. En el lado derecho a la izquierda del cuadro "filtro" hay un pequeño icono cuadrado (al pasar sobre él dice "Mostrar y ocultar filtros rápidos". Haga clic en ese icono cuadrado, luego haga clic en "tiene instantánea" y luego haga clic en "sí". Su La vista ahora mostrará solo máquinas virtuales con instantáneas. ¡Disfruta!

lampim
fuente
0

O ejecute la siguiente consulta en MS SQL (la consulta se basa en sql2008 y 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
fuente
0

Abra vCenter con vSphere Client. Navegar a

Categoría "Almacén de datos y clúster de almacén de datos"

"Haga clic con el botón derecho en el almacén de datos" donde desea encontrar la instantánea. (Si hay varios Datastore, entonces debe ir en cada Datastore)

Verá la pestaña Carpeta y Búsqueda.

Haga clic para ver la imagen de la pestaña Buscar

Haga clic en Buscar, luego en el menú desplegable seleccione "Instantánea de máquina virtual"

Haz clic en Buscar.

Mostrará todas las instantáneas almacenadas en ese almacén de datos.

R-Click en Instantánea y "Ir a la carpeta"

Llevará a la carpeta VM de la cual se toma la instantánea.

Junead Qureshi
fuente