Вскоре после выхода релиза VMware vSphere 5.1 выяснился неприятный факт – перестали храниться годовые данные по производительности виртуальной инфраструктуры.
Статья KB2042164, на которую ведут все источники конца 2012-начала 2013 года, пустая.
Так как у меня эта проблема наблюдается, то я решил разобраться с ней.
Напомню суть проблемы: после обновления vCenter Server до версии 5.1 перестали отображаться данные годовой статистики. Вернее, они отображаются, но только за последний месяц. Виноваты в этом кривые процедуры, работающие на сервере БД для vCenter.
Поиск по VMware KB выдал мне другую статью, которая в результате и помогла.
Я приведу механизм лечения проблемы для SQL, в статье также приведены рекомендации для Oracle.
Для решения проблемы с SQL нам понадобится файл RevisedSQL.zip.
1) Исправление проблемы (для того, чтобы данные старее 30 дней начали собираться):
– остановите службу vCenter;
– подключитесь к базе vCenter с помощью SQL Managenent Studio;
– удалите старую процедуру
DROP PROCEDURE purge_stat3_proc
– выполните в SQL Management Studio скрипт purge_stat3_proc_mssql.sql;
– запустите службу vCenter.
2) Восстановление данных производительности старее 30 дней
– второй шаг не является необходимым. Если же вы захотели его выполнить, то его необходимо проводить не ранее чем через 24 часа после шага №1;
– остановите службу vCenter;
– подключитесь к базе vCenter с помощью SQL Managenent Studio;
– выполните в SQL Management Studio скрипт Fix_30_Days_mssql.sql;
– выполните команду execute Fix_30_Days
. Может выполняться несколько часов;
– удалите вспомогательную процедуру DROP PROCEDURE Fix_30_Days;
– запустите службу vCenter.
Обратите внимание, что при запуске службы vCenter вам также необходимо запустить VMware VirtualCenter Management Webservices.