#Tento článek slouží pouze pro vCenter provozovaný na Windows Server a MS SQL databáze.
Popis problému:
- Při přidání hostu do vCentra se objevila hláška: A general system error occurred:
Error[VdbODBCError] (-1) „ODBC error: (42000) – [Microsoft][SQL Server Native Client 10.0][SQL Server]Could not allocate space for object ‚dbo.VPX_TEXT_ARRAY‘ in database ‚VIM_VCDB‘ because the ‚PRIMARY‘ filegroup is full.
- Proces vpxd.exe zatěžuje CPU na 100%
- Proces vpxd.exe si bere velké množství operační paměti
- Nelze se přihlásit do VMware vCenter Serveru
- Velice špatná odezva VMware vCenter Serveru
- Zálohovací a replikační joby failují, kvůli vypršení časového limitu (Veeam i Arcserve)
- Bylo provedeno zvýšení RAM o 4 GB na celkových 12 GB a také navýšen počet CPU ze 4 na 8, ale i tak problém přetrvával.
Při použití databáze MS SQL Express, se vykonávají kumulativní joby pomocí vpxd a ne jako agent úlohy na MS SQL databázi. K tomuto problému dochází v důsledku velkého množství dat či špatných dat v tabulce, které způsobují, že kumulativní joby mají mnoho požadavků na CPU a tím jej doslova „zahltí“. Účelem tohoto návodu je pročistit databázi, DŮRAZNĚ DOPORUČUJI ZASTAVIT SLUŽBU VirtualCenter Server a mít plnou, funkční zálohu MS SQL databáze.
Chceme-li, vyčistit data v MS SQL databázím postupujte dle postupu níže:
- Přihlásíme se do MS SQL Management Studia a pokračujeme do databases, kde pokračujeme do VIM_VCDB >
- Klikneme na VPX_PARAMETER tabulku a klikneme na otevřít (Pokud používáme SQL Server 2008, klikneme pravým na dbo.VPX_PARAMETER tabulku a pokračujeme na Edit Top 200 Rows.
- Vyledáme hodnoty:
event.maxAge změníme hodnotu na 30, event.maxAgeEnabled na hodnotu true.
task.maxAge změníme hodnotu na 30, task.maxAgeEnabled na hodnotu true.
# Jako výchozí hodnota je zde 180 dní – což představuje 6 měsíců, samozřejmě lze hodnotu nastavit dle zvážení správce.
# Pokud chceme urychlit proces pročištění databáze, můžeme tyto kroky pustit v jednotlivých intervalech. Např. nastavit event.maxAge a task.maxAge na 100 – spustit čištění, poté 60 spustit čištění, do té doby až se dostaneme na hodnotu 30 pro konečné vyčištění databáze.
- Pokračujeme do VIM_VCDB > Programmability >Stored Procedures > klikneme pravým na cleanup_events_task_proc a poté spustíme Execute Stored Procedure.
# Tímto jsme zahájili čištění dat z vpx_event, vpx_event_arg a vpx_task tabulek dle námi zadané hodnoty maxAge.
- Jakmile máme čištění dokončené, zavřeme SQL Management Studio a spustíme službu VMware VirtualCenter Server a VMware VirtualCenter Management Webservices