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

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

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

Invalid виртуальная машина на vmware esxi

Единственный способ удалить такую ВМ – через SSH консоль хоста ESXi.

  1. Включите SSH на ESXi хосте, на котором находится проблемная ВМ (Actions -> Settings -> Security Profile -> Services -> SSH -> Edit -> Start). Включить SSH на хосте ESXi
  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

vmInventory.xml

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

  1. Удалите ВМ из инвентари и перезагрузите ESXi хост.
  2. После этого создайте новую ВМ и подключите к ней виртуальные диски старой ВМ (Use an existing disk).
  3. Сделайте Storage VMotion, чтобы собрать все файлы новой ВМ в одной папке,
  4. Включите новую ВМ и проверьте, что она работает.
  5. Удалите файлы старой ВМ.

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

Register VM - зарегистрировать ВМ на хосте esxi

Qiziqarli malumotlar
Виртуальная машина в статусе Invalid на VMWare ESXi