Lấy danh sách tất cả các snapshot trong VM được quản lý bởi vCenter?


17

Chúng tôi có nhiều máy chủ ESXi được quản lý bởi vCenter; Có cách nào để có được danh sách tất cả các snapshot trong tất cả các VM không?


1
Một số câu trả lời tốt dưới đây. Nhận cho mình một bản sao RVTools nếu bạn đang hỗ trợ vCenter.
jscott

Câu trả lời:


11

Nghe có vẻ như một công việc cho PowerCLI! Chà, từ một máy trạm Windows, dù sao, đó là những gì tôi có.

Get-Snapshot

Blog của Surly Admin thậm chí còn có một đoạn script mà bạn có thể sao chép-pasta để có được tất cả các snapshot cho tất cả các VM trong môi trường của bạn , phần thịt mà tôi sẽ đăng bên dưới để thuận tiện cho bạn.

$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
Đây là một câu trả lời tuyệt vời. Tôi đã sử dụng rất nhiều PowerCLI, nhưng nếu Powershell không phải là vấn đề của bạn, thì PowerCLI (và câu trả lời này nói riêng) là một ví dụ tuyệt vời về Trình khách vSphere API, vì vậy hãy xem tài liệu vSphere API cho ngôn ngữ của bạn lựa chọn!
gWaldo

16

Grrr ... Ảnh chụp nhanh VMware. Nếu tôi có cách của mình, chúng chỉ tồn tại cho mục đích sao lưu và để thử nghiệm các thay đổi.

Bạn có thể xem không gian được sử dụng bởi ảnh chụp nhanh ( có lẽ là điều bạn thực sự muốn biết ) bằng cách sử dụng tab "Chế độ xem lưu trữ" ở cấp cụm trong ứng dụng khách vSphere của bạn.

nhập mô tả hình ảnh ở đây

Bắt đầu ở đó, sau đó đi sâu vào các VM riêng lẻ. Các mục có giá trị bằng Byte (B) về cơ bản có nghĩa là không có ảnh chụp nhanh.


Điều này đã bị xóa khỏi vSphere Client: kb.vmware.com/s/article/2112085
CitizenRon

1
Phân. Tôi ghét khi họ làm điều đó.
ewwhite

7

Câu trả lời của HoplessNoob là tuyệt vời cho một báo cáo có thể đọc được của con người. Đôi khi tôi thích phân tích cú pháp của tôi vào các đối tượng PS khác. Nó cũng rất giống với HoplessNoob - Tôi đoán cả hai chúng tôi đã bắt đầu từ cùng một đoạn mã để xây dựng các tập lệnh của mình:

$ 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

Cung cấp:

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

Sau đó, bạn có thể dẫn nó vào Remove-Snapshothoặc lọc nó hoặc bất cứ điều gì.


4

Đây là tập lệnh mà chúng tôi sử dụng để kết xuất danh sách tất cả các máy ảo có ảnh chụp nhanh, hoạt động trong PowerCLI. Nó rất đơn giản và sạch sẽ. Nó sẽ đổ kết quả vào màn hình cục bộ của bạn thông qua tệp .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

3

Ngay cả khi câu trả lời đã được chấp nhận, tôi vẫn muốn chỉ cho bạn kiểm tra phần mềm .
Đó là một plugin Nagios / Icinga , để kiểm tra tuổi và tính cho các ảnh chụp nhanh VM trong môi trường VMWare ESXi / vSphere.

Nó phụ thuộc vào Perl / VMware :: VIR.78 từ "VMware-vSphere-CLI-5.5.0", vì vậy không có PowerCLI hoặc -shell lần này. :-)


1

Thật không may, ứng dụng khách dày cho Vcenter đã không có tính năng này kể từ 6.0 Tôi tin nhưng đây là một tùy chọn khác nếu bạn muốn thực hiện dễ dàng trong GUI. Trong 6.0 hoặc 6.5 khởi chạy ứng dụng web vcenter (phiên bản flash). Ở phía bên trái (cửa sổ điều hướng) chọn vcenter, trung tâm dữ liệu hoặc cụm sau đó chọn để xem VM. Ở phía bên phải ở bên trái của hộp "bộ lọc" có một biểu tượng hình vuông nhỏ (di chuột qua nó có nội dung "Hiển thị và ẩn bộ lọc nhanh". Nhấp vào biểu tượng hình vuông đó, sau đó nhấp vào "có ảnh chụp nhanh", sau đó nhấp vào "có". giờ đây sẽ chỉ hiển thị các máy ảo có ảnh chụp nhanh. Hãy tận hưởng!


0

Hoặc chạy truy vấn sau trong MS SQL (truy vấn dựa trên sql2008 và 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

0

Mở vCenter với vSphere Client. Hướng đến

Danh mục "Kho dữ liệu và cụm dữ liệu"

"Nhấp chuột vào Kho dữ liệu" nơi bạn muốn tìm Ảnh chụp nhanh. (Nếu nhiều Datastore thì phải đi trong mỗi Datastore)

Bạn sẽ thấy Thư mục và tab Tìm kiếm.

Nhấn vào đây để xem hình ảnh của tab tìm kiếm

Nhấp vào Tìm kiếm, sau đó từ thả xuống chọn "Ảnh chụp máy ảo"

Bấm Tìm kiếm.

Nó sẽ hiển thị tất cả Ảnh chụp được lưu trữ trong kho dữ liệu đó.

Nhấp chuột vào Snapshot và "Chuyển đến thư mục"

Nó sẽ đưa đến Thư mục VM trong đó Ảnh chụp được thực hiện.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.