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?
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?
Respuestas:
¡Suena como un trabajo para PowerCLI! Bueno, de una estación de trabajo de Windows, de todos modos, que es lo que tengo.
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
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.
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.
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-Snapshot
o filtrarlo o lo que sea.
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
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. :-)
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!
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.