Answers:
听起来像是PowerCLI的工作!好吧,无论如何,这是从Windows工作站上获得的。
Surly Admin的博客甚至包含一个脚本,您可以复制该脚本以获取环境中所有VM的所有快照,为方便起见,我将在下面发布其内容。
$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 ... VMware快照。如果可以的话,它们仅存在于备份目的和测试更改。
您可以通过在vSphere Client中的群集级别使用“存储视图”选项卡来查看快照占用的空间(这可能是您真正想知道的)。
从那里开始,然后深入到各个VM。值以字节(B)为单位的条目实质上意味着没有快照。
HopelessNoob的答案非常适合人类阅读的报告。有时我更喜欢将我的解析为其他PS对象。这与HopelessNoob的非常相似-我猜我们俩都是从相同的代码片段开始构建脚本的:
$ 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
给出:
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
然后,您可以将其通过管道传递Remove-Snapshot
或过滤,或进行其他操作。
这是我们用于转储带有快照的所有VM列表的脚本,可在PowerCLI中使用。这是非常简单和干净的。它将通过.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
即使答案已经被接受,我也要指出您check_vmware_snapshots。
它是Nagios / Icinga 插件,用于检查VMWare ESXi / vSphere环境中的VM快照的寿命和计数。
它取决于“ VMware-vSphere-CLI-5.5.0”中的Perl / VMware :: VIRuntime,因此这次没有PowerCLI或-shell。:-)
使用vSphere Client打开vCenter。导航
“数据存储和数据存储群集”类别
要在其中找到快照的“ R-Click on Datastore”。(如果有多个数据存储,则必须进入每个数据存储)
您将看到文件夹和搜索选项卡。
单击搜索,然后从下拉列表中选择“虚拟机快照”
单击搜索。
它将显示存储在该数据存储中的所有快照。
R单击快照,然后单击“转到文件夹”
它将带到已拍摄快照的VM文件夹中。