1. Удаление раздела (диска)
Бывают, случаются моменты, когда раздел погиб, к примеру, вышел из строя диск или даже целое СХД, а тело, с уже несуществующими виртуальными машинами, осталось в зависшем состоянии тухнуть в vcenter и на хостах, еще и машины были с защитой от удаления.
Просто удалить из инвентаря такой раздел не получится, хорошенько изучив мануалы и всевозможные статьи, я подобрал более менее оптимальное решение, о котором я вам сейчас и расскажу)
Первым делом нужно убрать зависшие машины с хостов.
Для этого мы смотрим, за каким хостом числится машина, и идем на него по SSH.
Что бы узнать номер испорченной машины используем команду
vim-cmd vmsvc/getallvms
Удаляем найденные потерянные машины с хоста
vim-cmd vmsvc/unregister 132
Если все сделано правильно, то статус машины должен сменится с inaccessible на orphaned.
Вторым этапом мы должны очистить БД от зависшего хранилища, для этого нужно по SSH зайти на сам vcenter, обязательно под пользователем root, и ввести команду shell.
Следующим этапом подключаемся к БД центра.
/opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres
И находим id нужного нам раздела.
SELECT id FROM vpx_entity WHERE name = 'DS4024-7Tb';
Проверяем сколько упоминаний есть в БД о нашем диске.
SELECT * FROM vpx_ds_assignment WHERE ds_id=410406;
И приступаем к чистки с помощью поочередного ввода команд.
DELETE FROM vpx_ds_assignment WHERE ds_id=410406;
DELETE FROM vpx_vm_ds_space WHERE ds_id=410406;
Перезагружаем vcenter.
После перезагрузки проверяем, что раздел стал пустым.
Снова подключаемся к БД.
DELETE FROM vpx_datastore WHERE id=410406;
И снова перезагружаем vcenter.
Проверяем, что в vcenter и в БД не осталось упоминаний о разделе.
2. Удаление отдельной виртуальной машины
Способ удалить только виртуальную машины:
Повторяем пункты с освобождением хоста от виртуальной машины.
Переходим в БД и вводим команду с именем нашей виртуальной машины.
SELECT id FROM vpx_entity WHERE name = 'cp-replica-c0c286d8-9c19-4c6c-85ca-1692be9994c1';
Узнав ID вводим команду для удаления.
DELETE FROM vpx_entity WHERE id='627629';
Если не хотим перезагружать весь vCenter, можно перезагрузить только службу VMware vCenter Service через интерфейс VAMI (ip-vcenter:5480)