Obtendo uma lista de todos os instantâneos nas VMs gerenciadas pelo vCenter?

17

Temos vários servidores ESXi gerenciados por um vCenter; existe uma maneira de obter uma lista de todos os instantâneos em todas as VMs?

leeand00
fonte
11
Algumas boas respostas abaixo. Obtenha uma cópia do RVTools também se você estiver suportando o vCenter.
jscott

Respostas:

11

Parece um trabalho para o PowerCLI! Bem, de qualquer estação de trabalho Windows, é o que eu tenho.

Get-Snapshot

O blog do Surly Admin ainda tem um script que você pode copiar em massa para obter todos os instantâneos de todas as VMs em seu ambiente , cuja carne postarei abaixo para sua conveniência.

$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
fonte
11
Esta é uma ótima resposta. Aproveitei bastante o PowerCLI, mas se o Powershell não é o que você gosta, o PowerCLI (e essa resposta em particular) é um ótimo exemplo de cliente da API do vSphere, fique à vontade para conferir os documentos da API do vSphere para o seu idioma de escolha!
gWaldo
16

Grrr ... Instantâneos do VMware. Se eu pudesse, eles existiriam apenas para fins de backup e para testar alterações.

Você pode visualizar o espaço consumido pelas capturas instantâneas ( que provavelmente é o que realmente está interessado em saber ) usando a guia "Exibições de armazenamento" no nível do cluster no seu cliente vSphere.

insira a descrição da imagem aqui

Comece por lá e faça uma busca detalhada nas VMs individuais. As entradas que possuem valores em bytes (B) significam essencialmente que não há capturas instantâneas.

ewwhite
fonte
Isso foi removido do vSphere Client: kb.vmware.com/s/article/2112085
CitizenRon 01/10/1918
11
Cocô. Eu odeio quando eles fazem isso.
ewwhite
7

A resposta do HopelessNoob é ótima para um relatório legível por humanos. Às vezes, prefiro analisar o meu em outros objetos PS. Também é muito parecido com o HopelessNoob - acho que nós dois começamos com o mesmo trecho de código para criar nossos 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

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

Você pode canalizar isso Remove-Snapshotou filtrá-lo ou qualquer outra coisa.

Mark Henderson
fonte
4

Aqui está o script que usamos para despejar uma lista de todas as VMs com instantâneos, funciona no PowerCLI. É muito simples e limpo. Ele irá despejar os resultados na área de trabalho local por meio de um arquivo .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
fonte
3

Mesmo que uma resposta tenha sido aceita, gostaria de apontar para check_vmware_snapshots .
É um plug- in Nagios / Icinga , para verificar a idade e a contagem de instantâneos de VM em um ambiente VMWare ESXi / vSphere.

Depende do Perl / VMware :: VIRuntime do "VMware-vSphere-CLI-5.5.0", portanto, não há PowerCLI ou shell neste momento. :-)

Henk
fonte
1

Infelizmente, o cliente espesso do Vcenter não possui esse recurso desde o 6.0, acredito, mas aqui está outra opção, se você quiser fazer isso facilmente em uma GUI. No 6.0 ou 6.5, inicie o cliente da web vcenter (versão flash). No lado esquerdo (janela do navegador), selecione vcenter, um datacenter ou um cluster e selecione para visualizar VMs. No lado direito à esquerda da caixa "filtro", há um pequeno ícone quadrado (passando o mouse sobre "Mostrar e ocultar filtros rápidos". Clique nesse ícone quadrado, clique em "has snapshot" e clique em "yes". A visualização agora exibirá apenas VMs com instantâneos.

lampim
fonte
0

Ou execute a seguinte consulta no MS SQL (a consulta é baseada no sql2008 e no 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
fonte
0

Abra o vCenter com o vSphere Client. Navegar para

Categoria "Datastore e Cluster de Datastore" Categoria

"Clique com o botão R no armazenamento de dados" onde deseja encontrar o instantâneo. (Se vários armazenamentos de dados tiverem que ir em cada armazenamento de dados)

Você verá a pasta e a guia de pesquisa.

Clique para ver a imagem da guia Pesquisar

Clique em Pesquisar e, no menu suspenso, selecione "Instantâneo da máquina virtual"

Clique em Pesquisar.

Ele mostrará todo o instantâneo armazenado nesse armazenamento de dados.

Clique com o botão direito do mouse em Instantâneo e "Ir para a pasta"

Levará para a pasta VM da qual o instantâneo é obtido.

Junead Qureshi
fonte