Іноді стикаюся з тим, що певна віртуальна машина на хості VMWare ESXi зависає і її не можна жодним засобами вимкнути або перезавантажити з веб-інтерфейсу клієнта vSphere. Перезавантажувати цілком ESXi сервер через однієї віртуальної машини – не зовсім доцільно (особливо, якщо у вас всього один ESXi хост, або залишилися сервера в DRS кластері не потягнуть додаткового навантаження у вигляді віртуальних машин з перезавантажувати сервера). Розглянемо основні способи примусової зупинки зависла віртуальної машини в VMWare ESXi.

Якщо процес віртуальної машини на сервері ESXi завис, вона перестає реагувати на команди Reset / Power Off, і на будь-яку дію видає одну з помилок:

  • The attempted operation cannot be performed in the current state;
  • Another task is already in progress;
  • The virtual machine might be performing concurrent operations. Actions: Complete the concurrent operation and retry the power-off operation. The virtual machine is in an invalid state.

У таких випадках ви можете вручну зупинити процес віртуальної машини на хості ESXi з командного рядка ESXi Shell або PowerCLI.

Спочатку визначте на якому ESXi хості запушена зависла віртуальна машина. Для цього в інтерфейсі vSphere Client знайдіть ВМ. Ім’я хоста, на якому вона запущена, зазначено на вкладці Summary в секції Пов’язаний об’єкт -> Ведучий.

vsphere client знайти хост, на якому запущена ВМ

Клацніть на ім’я хоста ESXi. Вам потрібно дозволити доступ до нього по протоколу SSH. перейдіть в Налаштуйте -> Послуги -> SSH -> Почніть.

ssh запустити на esxi хості

Тепер ви можете підключитися до цього ESXi хосту через SSH за допомогою клієнта putty.

Виведемо список ВМ, запушених на хості ESXi:

esxcli vm process list

esxcli vm process list - список віртуальних машин

Скопіюйте ідентифікатор потрібної віртуальної машини (World ID).

Щоб завершити процес зависла віртуальної машінина хості ESXi використовується наступна команда:

esxcli vm process kill --type=[soft,hard,force] --world-id=WorldNumber

Як ви бачите, є три типи завершення процесу ВМ:

  • М’який – найбезпечніший спосіб завершити VMX процес (схожий на kill -SIGTERM);
  • Важко – негайне завершення процесу ВМ (kill -9);
  • Сила – найжорсткіший режим завершення процесу, повинен використовуватися в останню чергу, якщо нічого іншого не допомагає.
Переконайтеся, що для ВМ немає активних завдань зі створення снапшотов, бекапов, і подібних операцій, а у ВМ немає статусу Virtual Machine disks consolidation is needed. Інакше ви можете зламати свою ВМ і її доведеться восставлівать з резервної копії.

Спробуємо м’яко зупинити ВМ із зазначеним ID:

esxcli vm process kill --type=soft -w=25089429

esxcli vm процес вбивства

ВМ повинна вимкнутися.

Ви можете зупинити зависла віртуальну машину за допомогою PowerCLI (це зручно, тому що при підключенні до vCenter вам не потрібно шукати хост, на якому запущено ВМ і включати SSH доступ). Перевіримо, що ВМ запущено:

get-vm “web2" | select name,PowerStates

PowerCLI get-vm

Примусово зупиніть процес ВМ командою:

stop-vm -kill "web2" -confirm:$false

powercli stop-vm kill перезапуск віртуальної машини

Також ви можете зупинити зависла віртуальну машину за допомогою утиліти ESXTOP.

У SSH сесіїї введіть команду esxtop, Потім натисніть “c“Для відображення ресурсів CPU і shift + V, Щоб відображати тільки процеси віриалів машин

esxtop список процесів

Потім натисніть “f“(Вибрати отображаемость поля),”c“(Відобразити поле LWID- Leader World Id) і натисніть Введіть.

esxtop список віртуальних машин

У стовпці Name знайдіть віртуальну машину, яку потрібно зупинити, і визначте номер її LWID за відповідним стовпцем.

Потім залишилося натиснути кнопку «k»(Kill) і набрати LWID ідентфікатор тієї віртуальної машини, яку потрібно примусово вимкнути.

Останній спосіб жорсткого виключення віртуальної машини – скористатися утилітою вбити. Такий спосіб дозволить зупинити не тільки ВМ, а й всі дочірні процеси.

Отримаємо ID батьківського процесу ВМ:

ps | grep "web2"

Завершіть процес:

kill -9 24288474

esxi kill vm процес - -

Після такого “hard reset”, встановлена ​​ОС запуститься в режимі відновлення. У разі гостьовий Windows, скрін буде виглядати так.

Відновлення помилок Windows

Leave a Reply

Your email address will not be published. Required fields are marked *