Отримання списку всіх знімків у віртуальних машинах, якими керує vCenter?


17

У нас є кілька серверів ESXi, якими керує vCenter; чи є спосіб отримати список усіх знімків у всіх віртуальних машинах?


1
Кілька хороших відповідей нижче. Отримайте собі копію RVTools , якщо ви підтримуєте vCenter.
jscott

Відповіді:


11

Здається, робота для PowerCLI! Що ж, із робочої станції Windows, як би там не було.

Get-Snapshot

У блозі Surly Admin є навіть сценарій, який ви можете скопіювати-макарони, щоб отримати всі знімки для всіх віртуальних машин у вашому оточенні , м'ясо яких я опублікую нижче для вашої зручності.

$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
Це чудова відповідь. Я отримав багато корисного використання PowerCLI, але якщо Powershell не ваша річ, PowerCLI (і зокрема ця відповідь) є чудовим прикладом клієнта vSphere API, тому не соромтеся перевірити документи vSphere API на вашу мову вибору!
gWaldo

16

Grrr ... Знімки VMware. Якби я мав свій шлях, вони існували б лише для цілей резервного копіювання та для тестування змін.

Ви можете переглянути простір, який споживають знімки (про що, мабуть, вам цікаво знати ), скориставшись вкладкою «Перегляди пам’яті» на рівні кластера у вашому клієнті vSphere.

введіть тут опис зображення

Почніть з цього місця, а потім перейдіть до окремих візків. Записи, які мають значення в байтах (B), по суті означають, що знімків немає.


Це було видалено з клієнта vSphere: kb.vmware.com/s/article/2112085
CitizenRon

1
Пуп. Я ненавиджу, коли вони роблять це.
ewwhite

7

Відповідь 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або фільтрувати його чи що завгодно.


4

Ось сценарій, який ми використовуємо для скидання списку всіх 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

3

Навіть якщо відповідь була прийнята, я хотів би вказати вам на check_vmware_snapshots .
Це плагін Nagios / Icinga , щоб перевірити вік та підрахувати знімки VM у середовищі VMWare ESXi / vSphere.

Це залежить від Perl / VMware :: VIRuntime від "VMware-vSphere-CLI-5.5.0", тому PowerCLI або -shell цього разу не має. :-)


1

На жаль, у товстого клієнта для Vcenter ця функція не була з 6.0, я вважаю, але ось ще один варіант, якщо ви хочете зробити це легко в графічному інтерфейсі. У 6.0 або 6.5 запустіть веб-клієнт vcenter (флеш-версія). У лівій частині (вікно навігатора) виберіть vcenter, центр обробки даних або кластер, а потім виберіть для перегляду віртуальних машин. У правій частині ліворуч від вікна "фільтр" є невеликий квадратний значок (наведіть на нього курсор "Показувати та приховувати швидкі фільтри". Клацніть цей квадратний значок, потім натисніть "Знімок", потім натисніть "Так". Тепер у режимі перегляду відображатимуться лише відеомагнітофони зі знімками.


0

Або запустіть наступний запит у MS SQL (запит базується на sql2008 та 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

Відкрийте vCenter за допомогою vSphere Client. Перейдіть до

Категорія «Магазин даних та кластер зберігання даних»

"R-клацніть на сховищі даних", де ви хочете знайти знімок. (Якщо кілька сховищ даних, то потрібно перейти в кожний сховище даних)

Ви побачите вкладку "Папка та пошук".

Клацніть, щоб побачити зображення вкладки "Пошук"

Клацніть на Пошук, потім виберіть "Знімок віртуальної машини" зі спадного меню.

Клацніть Пошук.

Він покаже всі Знімки, що зберігаються в цій сховищі даних.

R клацніть на знімку та "Перейдіть до папки"

Знадобиться папка VM, з якої зроблено знімок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.