Віртуальна машина в статусі Invalid на VMWare ESXi

Досить часто адміністратори VMWare стикаються з тим, що в списку віртуальних машин присутні віртуальні машини зі статусом Invalid (Unknown). Як правило ця проблема зустрічається після видалення віртуальної машиною, дані про яку чомусь залишилися в конфігурації vSphere / ESXi. Це також може статися при ручному видаленні файлів віртуальної машини з VMFS сховища, після виконання VMotion і в ряді інших випадків. Видалити таку ВМ з клієнта vSphere Web Client штатними засобами не вийде (пункт видалення в мeню Actions неактивний).

Єдиний спосіб видалити таку ВМ - через SSH консоль хоста ESXi.

  1. Увімкніть SSH на ESXi хості, на якому знаходиться проблемна ВМ (Actions -> Settings -> Security Profile -> Services -> SSH -> Edit -> Start).
  2. Підключіться до хосту ESXi через SSH клієнт (Putty, mputty і т.д.).
  3. Щоб отримати ID проблемної віртуальної машини, виконайте команду: vim-cmd vmsvc / getallvms | grep invalid
  4. На екран буде виведено список всіх зареєстрованих на хості ВМ зі статусом Invalid. У списку повинен бути присутнім рядок виду: Skipping invalid VM '21'. В даному випадку 21 - це ідентифікатор віртуальної машини.
  5. Якщо ви хочете спробувати відновити цю ВМ в vSphere, виконайте команду: vim-cmd vmsvc / reload 21 (Через хвилину поновіть інтерфейс клієнта і перевірте статус ВМ).
  6. Якщо потрібно разрегестіровать (видалити) проблемну віртуальну машину, виконайте команду: vim-cmd / vmsvc / unregister 21
  7. Оновлення інтерфейс клієнта vSphere. Віртуальна машина зі статусом Invalid повинна зникнути.

Також ви можете вручну видалити проблемну ВМ з файлу конфігурації хоста /etc/vmware/hostd/vmInventory.xml. Для цього достатньо за допомогою текстового редактора видалити секцію з даними проблемної ВМ в файлі vmInventory.xml (попередньо створіть резервну копію цього файлу) і перезапустити служби хоста: services.sh restart

У тому випадку, якщо статус Invalid з'явився у працюючої віртуальної машини, швидше за все це означає, що пошкоджений файл конфігурації ВМ. Для виправлення проблеми потрібно:

  1. Видаліть ВМ з інвентарі і перезавантажте ESXi хост.
  2. Після цього створіть нову ВМ і підключіть до неї віртуальні диски старої ВМ (Use an existing disk).
  3. Зробіть Storage VMotion, щоб зібрати всі файли нової ВМ в одній папці,
  4. Увімкніть нову ВМ і перевірте, що вона працює.
  5. Видаліть файли старої ВМ.

Якщо проблема з Invalid ВМ виникла після зникнення доступу до VMFS сховищ, то після відновлення доступу включені ВМ продовжать свою роботу, а вимкнені віртуальні машини стануть ізольованими. Такі ВМ потрібно вручну видалити з Inventory і вручну зареєструвати, знайшовши vmx файл віртуальної машини на VMFS сховище, клацнувши ПКМ по ВМ і вибравши пункт Register VM. Після цього включіть ВМ і перевірте, що вона доступна.