Поломка таблицы в БД vPostgres в vCenter

У нас вдруг, то есть неожиданно, приболел VMware vCenter. Cимптомы были самые разнообразные:

  • бесконечные вылеты vCenter(300+);
  • вылеты update manager;
  • невозможность удалить ВМ – они становились orphaned;
  • невозможность удалить снапшоты/сделать консолидацию/клонировать ВМ.

Попытки обновить vCenter до последнего билда, откатиться на недельный бэкап не принесли успеха.

Зацепились за вылет VMware vCenter с ошибкой:

An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) "ODBC error: (58P01) - ERROR: could not open file "base/16384/26436": No such file or directory;
Error while executing the query" is returned when executing SQL statement "DELETE FROM VPX_SDRS_STATS_VM WHERE VM_ID = ?"

Решили отработать по старой схеме – подключиться в СУБД vPostgres:

  • Из файла C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\vcdb.properties берем адрес и порт, которые слушает СУБД (localhost:5432),  имя пользователя (vc) и копируем в буфер обмена пароль.
  • Скачиваем и ставим PGAdmin.
  • Запускаем PGAdmin, вводим полученные ранее данные.

Раскрываем дерево: Servers->vCenter->Databases->VCDB->Schemas->vc->Tables->VPX_SDRS_STATS_VM и получаем:

 ERROR: could not open file "base/16384/26436"

По правой кнопке мыши на таблице VPX_SDRS_STATS_VM->Scripts->CREATE Script.

Раскомментировать удаление таблицы и выполнить скрипт:

DROP TABLE vc.vpx_sdrs_stats_vm;
CREATE TABLE vc.vpx_sdrs_stats_vm
(
    vm_id integer NOT NULL,
    quantiles text COLLATE pg_catalog."default",
    history text COLLATE pg_catalog."default",
    space_stats text COLLATE pg_catalog."default",
    CONSTRAINT pk_vpx_sdrs_stats_vm PRIMARY KEY (vm_id)
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

ALTER TABLE vc.vpx_sdrs_stats_vm
    OWNER to vc;

Таблица будет удалена и создана заново с пустыми данными.

Обращаю внимание, что если в таблицах находятся критические данные, то это может и не помочь. Данная же таблица это статистика SDRS по ВМ, что у меня не востребовано, да и vCenter сам периодически заполняет данные.

Запись опубликована в рубрике 6.0, VMware, vSphere, Советы. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *