VCenter tarafından yönetilen VM'lerde tüm anlık görüntülerin bir listesini mi alıyorsunuz?


Yanıtlar:


11

PowerCLI için bir iş gibi geliyor! Her neyse, bir Windows iş istasyonundan, sahip olduğum şey bu.

Get-Snapshot

Surly Admin'in blogunda, ortamınızdaki tüm VM'lerin tüm görüntülerini almak için makarna kopyalayabileceğiniz bir komut dosyası bile var, etiniz aşağıda rahatınız için göndereceğim .

$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
Bu harika bir cevap. PowerCLI'dan çok iyi yararlandım, ancak Powershell sizin işiniz değilse, PowerCLI (ve özellikle bu cevap) bir vSphere API Client'ın harika bir örneğidir, bu yüzden vSphere API belgelerine göz atmaktan çekinmeyin seçtiğiniz dil için!
gWaldo

16

Grrr ... VMware anlık görüntüleri. Yolum olsaydı, sadece yedekleme amaçlı ve değişiklikleri test etmek için var olurlardı.

VSphere istemcinizdeki küme düzeyinde "Depolama Görünümleri" sekmesini kullanarak anlık görüntüler tarafından tüketilen alanı ( muhtemelen bilmek istediğiniz şeydir ) görüntüleyebilirsiniz.

resim açıklamasını buraya girin

Oradan başlayın, ardından ayrı sanal makinelere gidin. Bayt (B) 'de değerleri olan girdiler, esasen anlık görüntü olmadığı anlamına gelir.


Bu, vSphere Client uygulamasından kaldırıldı: kb.vmware.com/s/article/2112085
CitizenRon

1
Bok, Kaka. Bunu yaptıkları zaman nefret ediyorum.
ewwhite

8

HopelessNoob'un cevabı, insan tarafından okunabilir bir rapor için harika. Bazen benimkini diğer PS nesnelerine ayrıştırmayı tercih ederim. Çok HopelessNoob's çok benzer - Sanırım ikimiz de aynı kod parçacığından bizim komut dosyaları oluşturmak için başladı:

$ 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

verir:

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

Daha sonra bunu boru içine yerleştirebilir Remove-Snapshotveya filtreleyebilirsiniz.


5

İşte tüm VM'lerin anlık görüntülerini içeren bir listesini dökümü için kullandığımız komut dosyası, PowerCLI'de çalışıyor. Çok basit ve temiz. Sonuçları bir .csv dosyası aracılığıyla yerel masaüstünüze dökecektir.

#  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

Bir yanıt kabul edilmiş olsa bile, sizi check_vmware_snapshots adresine yönlendirmek istiyorum . Bir VMWare ESXi / vSphere ortamında VM anlık görüntülerinin yaşını ve sayısını kontrol etmek için
bir Nagios / Icinga eklentisidir.

"VMware-vSphere-CLI-5.5.0" dan Perl / VMware :: VIRuntime'a bağlıdır, bu yüzden bu sefer PowerCLI veya -shell yok. :-)


1

Ne yazık ki Vcenter için kalın istemci 6.0'dan beri bu özelliğe sahip değil. 6.0 veya 6.5'te vcenter web istemcisini (flash sürümü) başlatın. Sol tarafta (gezgin penceresi) vcenter'ı, veri merkezini veya bir kümeyi seçin ve ardından VM'leri görüntülemeyi seçin. "Filtre" kutusunun sol tarafında küçük bir kare simgesi vardır (fareyle üzerine gelindiğinde "Hızlı filtreleri göster ve gizle" yazılır. O kare simgesini tıklayın, sonra "anlık görüntü var" ı ve ardından "evet" i tıklayın. view artık yalnızca anlık görüntüleri olan VM'leri gösterecek.


0

Veya MS SQL'de aşağıdaki sorguyu çalıştırın (sorgu sql2008 ve vcenter 5.1 tabanlı)

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

VCenter'ı vSphere Client ile açın. Şu yöne rotayı ayarla

"Veri Deposu ve Veri Deposu Kümesi" Kategorisi

Anlık Görüntüyü bulmak istediğiniz "Veri Deposunda R-Tıkla". (Birden fazla Veri Deposu varsa, her Veri Deposuna gitmek zorunda kalırsanız)

Klasör ve Arama Sekmesini göreceksiniz.

Arama Sekmesinin Resmini Görmek İçin Tıklayın

Ara'yı tıklayın, ardından Açılır menüden "Sanal Makine Anlık Görüntüsü" nü seçin

Ara'yı tıklayın.

Bu veri deposunda depolanan tüm Anlık Görüntüyü gösterir.

Anlık Görüntü ve "Klasöre Git" i R-Tıklayın

Anlık Görüntünün alındığı VM Klasörüne götürülecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.