Вход|Регистрация

"Неубиваемая" перезагрузками вм и чистка хвостов в БД.

Четверг, 9 сентября 2010, 16:33

Меня заинтересовал случай с "неубиваемой" перезагрузками хоста вм, и я попробовал смоделировать подобное у себя. Я не стал придумывать, как загнать машины в такое состояние, а просто после удаления записей о ней в БД и при выключенной службе vc server, удалил машину подключившись напрямую к хосту.

DISCLAIMER: Алгоритм приведён "как есть". Используйте всё ниже следующее на свой страх и риск!


1. Застопил службу VirtualCenter Server.
2. Для доступа к БД vCenter (дефолтная SQL2005 Express в моём случае) скачиваем и устанавливаем Microsoft SQL Server Management Studio Express.
3. Подключившись к SQL server, в его инвентори идём: <SQL север> ->Databases -> <имя БД для vCenter> -> Tables -> dbo.VPX_VM. В контекстном меню выбираем Open Table.
В таблице будет представлен список всех машин, зарегистрированных в vCenter. Ищем по названию и удаляем всю строчку с машиной-призраком.
4. Путём проб, ошибок и нестартующего вцентра выяснлось, что ВМ надо удалить ещё в одном месте: Tables -> dbo.VPX_ENTITY. В этой таблице собраны все объекты из Inventory, т.ч. аналогично ищем строчку с именем машины-призрака.

UPD: для версии SQL 2008 в меню надо выбрать пункт Edit top 200 Rows

5. Дальше запускаем службу VMware VirtualCenter Server и подключаемся к нему vSphere Client'ом - машины в инвентори нет.


 

ИМХО изменения, вносимые штатными средствами MS SQL, не должны сказаться на целостности самой БД. Но хочу ещё раз напомнить, что только актуальные бекапы в случае чего смогут спасти отца русской демократии :)

Комментариев нет