답변:
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 클라이언트의 클러스터 수준에서 "스토리지보기"탭을 사용하여 스냅 샷이 소비하는 공간 ( 아마도 관심이있을 것입니다)을 볼 수 있습니다 .
거기서 시작한 다음 개별 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 를 알려 드리고자 합니다. VMWare ESXi / vSphere 환경에서 VM 스냅 샷의 수명과 수를 확인
하는 Nagios / Icinga 플러그인입니다.
"VMware-vSphere-CLI-5.5.0"의 Perl / VMware :: VIRuntime에 따라 달라 지므로 이번에는 PowerCLI 또는 -shell이 없습니다. :-)
불행히도 Vcenter의 씩 클라이언트는 6.0 이후 로이 기능을 제공하지 않았지만 GUI에서 쉽게 수행하려는 경우 다른 옵션이 있습니다. 6.0 또는 6.5에서 vcenter 웹 클라이언트 (플래시 버전)를 시작하십시오. 왼쪽 (탐색기 창)에서 vcenter, 데이터 센터 또는 클러스터를 선택한 다음 VM을 보도록 선택하십시오. "필터"상자의 왼쪽에 작은 사각형 아이콘이 있습니다 ( "빠른 필터 표시 및 숨기기"라고 표시). 사각형 아이콘을 클릭 한 다음 "스냅 샷 있음"을 클릭 한 다음 "예"를 클릭하십시오. 뷰에는 이제 스냅 샷이있는 VM 만 표시됩니다.
vSphere Client에서 vCenter를 엽니 다. 로 이동
"데이터 저장소 및 데이터 저장소 클러스터"범주
스냅 샷을 찾으려면 "R-Click on Datastore"를 클릭하십시오. (여러 데이터 스토어가 각 데이터 스토어에 가야하는 경우)
폴더 및 검색 탭이 나타납니다.
검색을 클릭 한 다음 드롭 다운에서 "가상 머신 스냅 샷"을 선택하십시오.
검색을 클릭하십시오.
해당 데이터 스토어에 저장된 모든 스냅 샷이 표시됩니다.
스냅 샷을 R- 클릭하고 "폴더로 이동"
스냅 샷이 생성 된 VM 폴더로 이동합니다.