Виправляємо помилку Virtual Machine disks consolidation is needed

попередження 'Virtual Machine disks consolidation is needed'На вкладці Summary віртуальної машини в консолі VMWare vSphere означає, що при видаленні снапшотов (операція Delete або Delete All) не вилучено коректно (залишилися на диску) файли віртуальних vmdk файлів снапшотов або логи. В результаті не вдається виконати резервне копіювання віртуальної машини.

Найпоширеніші причини появи помилки "Virtual Machine disks consolidation is needed":

  • Погана продуктивність дискового сховища, через якого видалення / консолідація снапшотов відвалюються з таймаут або великий розмір снапшотов;
  • На VMFS сховище недостатньо місця для виконання консолідації;
  • vSphere або стороннє додаток (як правило це додаток резервного копіювання, HP DataPtotector, Veeam або Netapp VSC) заблокувало файли снапшотов. Переконайтеся, що відсутня роботу запущених процеси резервного копіювання віртуальної машини;
  • Проблеми з втратою підключення (можливо тимчасові) між серверів vCenter і хостом ESXi;

Для виправлення помилки "Virtual machine Consolidation Needed status" необхідно клацнути ПКМ по віртуальній машині і вибрати в меню пункт ВМ -> Snapshots -> Consolidate.

З'явиться вікно із запитом:

Confirm Consolidate

This operation consolidates all redundant redo logs on your virtual machine. Are you sure you want to continue?

Підтверджуємо видалення надлишкових логів. Після цього vCenter виконає консолідацію дисків і очищення логів. Процес консолідації може зайняти кілька хвилин, протягом яких продуктивність ВМ може погіршитися.

Після цього попередження про необхідність консолідації ВМ зникне.

В деяких випадках при виконанні консолідації в консолі vSphere може з'явиться помилка:

Unable to access file since it is locked. An error occurred while consolidating disks: Failed to lock the file. Consolidation failed for disk node 'scsi0: 0': Failed to lock the file.

VMware в цьому випадку рекомендує виконати перезапуск агентів Management agents на сервері ESXi. Для цього потрібно підключитися до хосту по SSH і виконати команду:

services.sh restart

Однак ви можете спробувати розблокувати файли віртуальної машини так:

  • Вимкніть віртуальну машини (якщо можливо);
  • Створіть новий снапшот;
  • Видаліть свсе снапшоти ВМ з помощю пункту «Delete All»;
  • Перемістіть ВМ на інший ESXi за допомогою vMoteion;
  • Спробуйте виконати консолідацію снапшотов як зазначено вище.

Ви можете знайти все віртуальні машини, які вимагають консолідації за допомогою PowerCLI. Для цього підключіться до свого облікового запису vCenter:

Connect-VIServer vsphere.winitpro.ru

Тепер отримаємо список всіх ВМ зі статусом «Virtual machine disks consolidation is needed»:

Get-VM | Where-Object $ _. Extensiondata.Runtime.ConsolidationNeeded

Тепер можна виконати консолідацію дисків всіх отриманих машин:

Get-VM | Where-Object $ _. Extensiondata.Runtime.ConsolidationNeeded | foreach $ _. ExtensionData.ConsolidateVMDisks_Task ()