VMware vCenter SQL Database Shrink (windows)

vmthumb

Gün gelir  akşamında sağlam çalıştığına kanaat getirdiğiniz ama sabahında vSphere Client ya da VMware Web Client ile VMware vCenter Serverinize bağlanmak istediğinizde bağlantı isteğinin geri döndüğü, sunucuya erişebildiiğiniz halde login olabilmek için kullanıcı adı ve parolasının tekrar tekrar denediğiniz, password – klavye kontrolleri yaptığınz, sisteme login olsanız dahi 2-3 dakika içerisinde sizi geri atan, hostların “disconnected” bazı sanal sunucuların “inaccessible”  göründüğü  ve akabinde kesilen vSphere Client bağlantısı… soğuk terlerin döküldüğü,  o anlardayız.

Yukarıda bahsettiğim sıkıcı durumlar yaşanırken biz sistem yöneticilerini teselli eden şey sanal sunucularımızın çalışıyor olması, operasyonel süreç anlamında da kısa süreli kesintiler yaşamamız.

Artık sakinleşip “ne, niçin, nezaman” sebep olmuş sorularını yanıtlamanın vakti geldi.

 

Neler olmuş olabilir…

vCenter Sunucusu kapanmış olabilir mi ? – Basit bir erişim kontrolü. (rdp, ping)

Sunucu açık vCenter Server servisleri çalışıyor mu ? – services.msc ile tüm servisleri kontrol edelim.

Sevislerde çalışıyor ama kısa bir süre sonra servisler duruyor ? – bu noktadan itibaren loglara bakarak ilerlemek hızlı çözüm için en akıllıca yol.

Hangi log dosyasına bakacağız, vCenter’ın log dosyaları nerede.

Bakacağımız dosya “vxpd.log” ve  kurulu OS versiyonunuza göre aşağıdaki dizinlerin altında yeralmakta.

 

vCenter Server 5.x ve öncesi sürümlerde |Windows XP, 2000, 2003| %ALLUSERSPROFILE%\Application Data\VMware\VMware VirtualCenter\Logs\
vCenter Server 5.x ve öncesi sürümlerde |Windows Vista, 7, 2008, 2012| C:\ProgramData\VMware\VMware VirtualCenter\Logs\
vCenter Server Appliance |5.x: /var/log/vmware/vpx/
vCenter Server Appliance |5.x: UI| /var/log/vmware/vami
vCenter Server 6.0 : %ALLUSERSPROFILE%\VMWare\vCenterServer\logs
vCenter Server Appliance 6.0: /var/log/vmware/

 

OS’ versiyonumuza göre “vxpd.log” dosyasına giriyoruz ve bize diskin dolu olduğu gereksiz dosyaları silerk yer açmamız yönünde uyarı veriyor. Aynı uyarıyo Windows Event Log altında da görebilirsiniz.

 

ODBC error: (42000) - [Microsoft][SQL Native Client][SQL Server]Could not allocate space for object <object> in database '<database>' because the '<filegroup>' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup." is returned when executing SQL statement "<sql statement>".

 

dbshrinkmsevnt

Ne yapabiliriz !

Windows üzerinden gereksiz/kullanılmayan dosyaları silerek temizliğe başlayabilirsiniz. Bu çalışmaya ek olarak vCenter Event loglarını temizleyerek vCenter Database’inde boş yer açabilirsiz.

 

SQL Management Studio ile sunucunuza bağlanara aşağıdaki SQL query’si ile Event database’ini sıfırlayabilirsiz.

 

 
alter table VPX_EVENT_ARG drop constraint FK_VPX_EVENT_ARG_REF_EVENT, FK_VPX_EVENT_ARG_REF_ENTITY alter table VPX_ENTITY_LAST_EVENT drop constraint FK_VPX_LAST_EVENT_EVENT
truncate table VPX_TASK
truncate table VPX_ENTITY_LAST_EVENT
truncate table VPX_EVENT
truncate table VPX_EVENT_ARG
alter table VPX_EVENT_ARG add
constraint FK_VPX_EVENT_ARG_REF_EVENT foreign key(EVENT_ID) references VPX_EVENT (EVENT_ID) on delete cascade, constraint FK_VPX_EVENT_ARG_REF_ENTITY foreign key (OBJ_TYPE) references VPX_OBJECT_TYPE (ID)
alter table VPX_ENTITY_LAST_EVENT add
constraint FK_VPX_LAST_EVENT_EVENT foreign key(LAST_EVENT_ID) references VPX_EVENT (EVENT_ID) on delete cascade

 

 

SQL Query’sini indirmek için dbshrink_sqlquery.

dbshrink_query

vCenter Server Servislerini çalıştırabilir ve sanal sunucularınızın yönetimine kaldığınız yerden devam edebilirsiniz.

Ek olarak neler yapabliriz;

SQL Sunucumuzda DB ile ilgili ayarlar, buradan.

vCenter Database’indeki diğer eski dataların silinmesi belirtilen tablolardaki kayıtları silerek daha fazla yer açabilirsiniz, buradan.

Bir Cevap Yazın