Kurztipp: Überfüllte vCenter Server Appliance 5.5-Datenbank verhindert Logins
Neulich stieß ich auf das Problem, dass eine vCenter Server Appliance (vCSA) 5.5-Installation keine Logins mehr zuließ. Nach einem Blick auf die Festplattenauslastung erkannte ich, dass zwei Partitionen schlichtweg vollgeschrieben wurden:
1# df -h /storage/{core,db}
2Filesystem Size Used Avail Use% Mounted on
3/dev/sdb1 20G 20G 0 100% /storage/core
4/dev/sdb3 60G 56G 90M 100% /storage/db
In der Knowledge Base von VMware findet sich ein Artikel über dieses Phänomen. Es handelt sich hierbei um einen bekannten Bug in vCenter Server 5.5U2. Die verwendete vPostgres-Datenbank erzeugt unzählige Einträge nach dem folgenden Muster:
1WARNING: there is already a transaction in progress
Als Workaround wird empfohlen, das Log-Level zu verringern. Dazu müssen vCenter und Datenbank gestoppt und die vPostgres-Konfigurationsdatei angepasst werden. Anschließend empfiehlt es sich, alle Logdateien außer der aktuellen zu entfernen:
1# service vmware-vpxd stop
2# service vmware-vpostgres stop
3# cd /storage/db/vpostgres
4# cp postgresql.conf postgresql.conf.orig
5# vi postgresql.conf
6...
7312gg
8...
9#log_min_messages = warning
10log_min_messages = error
11
12ESC ZZ
13
14# find . -type f -ctime +1 -exec rm {}
Ein Verzeichnis wurde aufgeräumt - in meinem Fall fanden sich noch zahlreiche alte Coredumps im /storage/core
-Verzeichnis. Diese können bedenkenlos entfernt werden:
1# cd /storage/core
2# ls -lhs
3...
42.1G -rw------- 1 root root 2.6G Aug 18 08:46 core.vpxd-worker.25327
59.6G -rw------- 1 root root 12G Aug 18 06:39 core.vpxd-worker.4489
6# rm core.vpxd-worker.*
Nach einem Start der Datenbank und des vCenters sollten Logins wieder möglich sein:
1# service vmware-vpostgres start
2# service vmware-vpxd start