Досить часто адміністратори VMWare стикаються з тим, що в списку віртуальних машин присутні віртуальні машини зі статусом Invalid (Unknown). Як правило ця проблема зустрічається після видалення віртуальної машиною, дані про яку чомусь залишилися в конфігурації vSphere / ESXi. Це також може статися при ручному видаленні файлів віртуальної машини з VMFS сховища, після виконання VMotion і в ряді інших випадків. Видалити таку ВМ з клієнта vSphere Web Client штатними засобами не вийде (пункт видалення в мeню Actions неактивний).
Єдиний спосіб видалити таку ВМ - через SSH консоль хоста ESXi.
- Увімкніть SSH на ESXi хості, на якому знаходиться проблемна ВМ (Actions -> Settings -> Security Profile -> Services -> SSH -> Edit -> Start).
- Підключіться до хосту ESXi через SSH клієнт (Putty, mputty і т.д.).
- Щоб отримати ID проблемної віртуальної машини, виконайте команду:
vim-cmd vmsvc / getallvms | grep invalid
- На екран буде виведено список всіх зареєстрованих на хості ВМ зі статусом Invalid. У списку повинен бути присутнім рядок виду: Skipping invalid VM '21'. В даному випадку 21 - це ідентифікатор віртуальної машини.
- Якщо ви хочете спробувати відновити цю ВМ в vSphere, виконайте команду:
vim-cmd vmsvc / reload 21
(Через хвилину поновіть інтерфейс клієнта і перевірте статус ВМ). - Якщо потрібно разрегестіровать (видалити) проблемну віртуальну машину, виконайте команду:
vim-cmd / vmsvc / unregister 21
- Оновлення інтерфейс клієнта vSphere. Віртуальна машина зі статусом Invalid повинна зникнути.
Також ви можете вручну видалити проблемну ВМ з файлу конфігурації хоста /etc/vmware/hostd/vmInventory.xml. Для цього достатньо за допомогою текстового редактора видалити секцію з даними проблемної ВМ в файлі vmInventory.xml (попередньо створіть резервну копію цього файлу) і перезапустити служби хоста: services.sh restart
У тому випадку, якщо статус Invalid з'явився у працюючої віртуальної машини, швидше за все це означає, що пошкоджений файл конфігурації ВМ. Для виправлення проблеми потрібно:
- Видаліть ВМ з інвентарі і перезавантажте ESXi хост.
- Після цього створіть нову ВМ і підключіть до неї віртуальні диски старої ВМ (Use an existing disk).
- Зробіть Storage VMotion, щоб зібрати всі файли нової ВМ в одній папці,
- Увімкніть нову ВМ і перевірте, що вона працює.
- Видаліть файли старої ВМ.
Якщо проблема з Invalid ВМ виникла після зникнення доступу до VMFS сховищ, то після відновлення доступу включені ВМ продовжать свою роботу, а вимкнені віртуальні машини стануть ізольованими. Такі ВМ потрібно вручну видалити з Inventory і вручну зареєструвати, знайшовши vmx файл віртуальної машини на VMFS сховище, клацнувши ПКМ по ВМ і вибравши пункт Register VM. Після цього включіть ВМ і перевірте, що вона доступна.