MaxiTop
Contributor
Contributor

Очистка таблицы VPX_DEVICE и т.д. Необходимо уменьшить размер БД vCenter

Приветствую!

Установлена vmware vsphere 5.5, а так же vCenter Server для их централизованного управления. Хочу уменьшить размер БД vCenter.

Посмотрел топ таблиц. Вопрос, могу ли сделать транкейт этим таблицам, а затем шринк самой БД или лучше так не делать что бы не поломалось чего либо? 

MaxiTop_0-1613817550772.png

К примеру основные записи в таблице VPX_DEVICE  это записи вида(см ниже). Мне кажется их можно удалить безболезненно. 

/SessionStats/SessionPool/Session/Id='9f02039b-8d8f-2bd0-62b3-024e7698953e'/Username='vm_zabbix'/ClientIP='10.197.80.231'/EventCollector/NumEvents/Total

0 Kudos
11 Replies
Finikiez
Champion
Champion

Добрый день!

 

Какого размера сама БД сейчас?

Сам табличка VPX_DEVICE же не превышает 1 ГБ. И чистить ее руками КРАЙНЕ не рекомендовано. Особенно с учетом того, какой размер сейчас.

В БД основное, что занимает место, это статистика производительности и записи TASK\EVENTS. И как чистить эти таблицы описано в KB, например https://kb.vmware.com/s/article/2110031

0 Kudos
MaxiTop
Contributor
Contributor

Очистку от статистики я делаю вот по этой инструкции https://kb.vmware.com/s/article/1025914.

Уменьшил срок хранения данных с 60 дней до 30. Но БД меньше не стала, все так же 9-10Гб.

 

0 Kudos
Finikiez
Champion
Champion

Насколько большая у вас инфраструктура (количество серверов ESXi, количество виртуальных машин)?

Уровни сбора статистики производительности какие выставлены? https://docs.vmware.com/en/VMware-vSphere/6.7/com.vmware.vsphere.vcenterhost.doc/GUID-5D85751A-2CE8-...

Если в MS SQL делать отчет Top 10 tables по БД vcenter, что там в топе показывает?

У вас какая версия MS SQL используется Express или Stdandard и выше? Этот вопрос не праздный, потому что пытаюсь понять, что вас смущает в 9 - 10 ГБ размере БД? и от этого зависит, как работает переност статистики между таблицами и очистка Tasks\Events.

В каком режиме БД работает (с логами или без логов)?

Также посмотрите свойства БД на предмет не занимает ли место "воздух" и возможно просто надо сделать shrink.

0 Kudos
MaxiTop
Contributor
Contributor

3 хоста, работают 66 вм. 
Используется Microsoft SQL Server Express Edition (64-bit) 10.50.2500.0, та что устанавливается по умолчанию при инсталляции Vcenter. БД используется с логами. Шринк БД уже делал.

MaxiTop_0-1614263854393.png

MaxiTop_1-1614263932938.png

 

0 Kudos
Finikiez
Champion
Champion

Я тут никаких проблем не вижу.

Покажите заодно свойства самой БД на тему ее размеров.

0 Kudos
MaxiTop
Contributor
Contributor

MaxiTop_0-1614266772885.png

 

0 Kudos
Finikiez
Champion
Champion

Выглядит странно.

Дальше рекомендую переключить режим работы БД из Full в Simple. И заодно посмотреть в vpxd.log самого vcenter ошибки, связанные c MS SQL.

 

 

Давно вообще проблема началась? что еще вы делали с этой БД?

Какого размера tempdb на сервере?

0 Kudos
MaxiTop
Contributor
Contributor

Месяца три наверное. Обычно я пару раз в месяц делаю ребилд индексам, затем шринк самой БД.

MaxiTop_0-1614270699872.png

 

0 Kudos
MaxiTop
Contributor
Contributor

MaxiTop_0-1614324178542.png

MaxiTop_0-1614324320830.png

 

То что дата tempdb файла старая и не менялось с тех пор это нормально?

0 Kudos
Finikiez
Champion
Champion

Вроде криминала нет.

 

В целом история выглядит странно, при таких масштабах так не должно работать.

Я бы еще посмотрел все-таки, нет ли ошибок по SQL в логе vcenter vpxd.log и его исторических файликах. Поскольку в случае с SQL Express все технологичекие операции выполняются запросами VC, а не джобами и stored procedures как это делается в случае полноценного SQL.

 

Если говорить про кардинальное решение вопроса, то начиная с 6.0 все версии VC работают с postgre, где такого гемороя нет и нет лимитов на БД. Так что если есть возможность обновиться - стоит идти и обновляться. 5.5 уже очень старо.

Либо перейти на SQL Standard.

0 Kudos
MaxiTop
Contributor
Contributor

Посмотрел лог  нахожу только вот такие строки по части sql

2021-03-04T18:00:13.750+03:00 [00460 warning 'Default'] [VdbStatement] SQL execution took too long: l_stats_rollup1_proc
2021-03-04T18:00:13.750+03:00 [00460 warning 'Default'] [VdbStatement] Execution elapsed time: 13738 ms
2021-03-04T18:00:13.750+03:00 [00460 warning 'Default'] [VdbStatement] Bind parameters:
2021-03-04T18:00:13.755+03:00 [06076 warning 'Default' opID=SWI-fdc9278] [VdbStatement] SQL execution took too long: DELETE FROM VPX_SAMPLE_TIME1 WHERE PARTITION_INDEX=?
2021-03-04T18:00:13.755+03:00 [06076 warning 'Default' opID=SWI-fdc9278] [VdbStatement] Execution elapsed time: 8701 ms
2021-03-04T18:00:13.755+03:00 [06076 warning 'Default' opID=SWI-fdc9278] [VdbStatement] Bind parameters:
2021-03-04T18:00:13.755+03:00 [06076 warning 'Default' opID=SWI-fdc9278] [VdbStatement] datatype: 1, size: 4, arraySize: 0
2021-03-04T18:00:13.755+03:00 [06076 warning 'Default' opID=SWI-fdc9278] [VdbStatement] value = 100

2021-03-04T18:45:05.517+03:00 [01716 warning 'Default'] [VdbStatement] Statement diagnostic data from driver is 01000:0:0:[Microsoft][SQL Server Native Client 10.0][SQL Server]@sqlCommand_rt0= INSERT INTO VPX_HIST_STAT3_23 (COUNTER_ID,TIME_ID,STAT_VAL) SELECT ST.COUNTER_ID, 23303,AVG(CAST(ST.STAT_VAL AS BIGINT)) FROM VPX_SAMPLE_TIME2 SM WITH(NOLOCK), VPX_STAT_COUNTER SC WITH(NOLOCK), VPX_STAT_DEF SD WITH(NOLOCK), VPX_HIST_STAT2_12 ST WITH(NOLOCK) WHERE SM.ROLLUP_COUNTER= 932051 AND ST.TIME_ID = SM.TIME_ID AND ST.COUNTER_ID=SC.COUNTER_ID AND SC.STAT_ID=SD.ID AND ((SC.DEVICE_ID=1 AND SD.STAT_LEVEL<= 1) OR (SC.DEVICE_ID!= 1 AND SD.PERDEVICE_STAT_LEVEL<= 1)) AND SD.ROLLUP_TYPE = 0 GROUP BY ST.COUNTER_ID

0 Kudos