VMware vCenter Server MS SQL database purging

#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.

vmware_db_purge1

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:

  1. Přihlásíme se do MS SQL Management Studia a pokračujeme do databases, kde pokračujeme do VIM_VCDB >

vmware_db_purge2

  1. 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.

vmware_db_purge3

  1. 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.

vmware_db_purge4

# 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.

  1. Pokračujeme do VIM_VCDB > Programmability >Stored Procedures > klikneme pravým na cleanup_events_task_proc a poté spustíme Execute Stored Procedure.

vmware_db_purge5

# 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.

  1. 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

vmware_db_purge6

(Visited 295 times, 1 visits today)

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *