Довольно часто администраторы 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. После этого включите ВМ и проверьте, что она доступна.