Xenserver 7 xensource.log und xenstored-access.log laufen voll – syslog Loglevel Anpassung

In 7 wurde das Layout der Dom0 Disk geändert, das Log Verzeichnis hat nun eine eigene 4GB Partition für /var/log.

In der Standard Einstellung von XenServer kann es passieren, dass diese Partition sehr schnell voll läuft.
Nun sollte man meinen, dass dieses keine größeren Auswirkungen hat – allerdings stimmt diese Annahme nicht.

Zum Beispiel wird das Einschalten des HA Modus für einen Pool in der Regel fehl schlagen.
Sollten ein oder mehrere Partitionen auf den Xen Hosts voll sein, dann kann es passieren, dass beim Einschalten der HA Funktionalität der Prozess hängen bleibt, zum Reboot einzelner Hosts führt und VMs nicht mehr erreichbar sind.

Wenn man einen Host mit einer vollen /var/log Partition neu startet, dann wird die Verbindung zum Pool fehl schlagen, in der xsconsole werden dann unter anderem keinerlei Netzwerk Informationen mehr angezeigt.

Kurz gesagt: sollten /var/log Partitionen auf Hosts in einem Xen Pool voll sein – dann kann es zum Ausfall des kompletten Pools führen.

Als schnell Lösung kann man, bevor man eine Aktion wie HA einschalten durchführt, die Größe der Partition prüfen und ggf. die nicht benötigten Logfiles löschen

Ich möchte hier zeigen, wie das Logging für xensource.log und xenstored-access.log geändert werden kann, denn der Parameter

xe log-set-output

wird zumindest in meinem Test nicht respektiert. Hier sollte man, in Theorie, den Loglevel einstellen können (debug, info, warn, error).
Wenn man sich das Logfile xensource.log ansieht, dann sieht man Einträge ähnlich diesem hier:

Nov 4 13:11:07 host1 xenopsd-xc: [debug|host1|3 |queue|xenops_server] Queue.push ["VM_check_state", "583a65f4-bb23-34ee-aabd-1b63bc71d250"] onto redirected 583a65f4-bb23-34ee-aabd-1b63bc71d250:[ ["VM_check_state", "583a65f4-bb23-34ee-aabd-1b63bc71d250"] ]

also ganz klar Debug Einträge.

In dem Logfile xenstored-access.log steht ‚debug‘ nicht im logging – allerdings werden teilweise read/write Befehle auf VMs geloggt bei denen es sich offensichtlich um Debug Einträge handelt. Wenn man die unten stehenden Anpassung durchführt, wird man danach sehen, dass wesentlich weniger in das Logfile geschrieben wird.

Alle hier gezeigten Anpassungen erfolgen auf eigenes Risiko – bitte nur durchführen, wenn die Auswirkungen bewusst sind – ich schließe jede Haftung aus!

Die Anpassungen für das Logging nehmen wir direkt im Syslogger der Dom0 vor, dazu loggen wir uns auf die Konsole des jeweiligen Hosts ein und führen in der Shell den folgenden Befehl aus:

nano /etc/rsyslog.d/xenserver.conf

hier finden wir dann unter anderem die folgenden Einträge:

# Xapi, xenopsd echo to syslog local5
local5.* -/var/log/xensource.log
# xenstore access to syslog local3
local3.info -/var/log/xenstored-access.log

diese ändern wir wie folgt ab:

# Xapi, xenopsd echo to syslog local5
local5.error -/var/log/xensource.log
# xenstore access to syslog local3
local3.error -/var/log/xenstored-access.log

Speichern die Änderungen und starten den Syslogger neu

service rsyslog restart

geloggt werden nun alle Ereignisse mit dem Level Error und höher.

Wenn ihr wieder auf den Standard umstellen wollte, dann einfach das error wieder durch * ersetzen!

 

Leave a Reply

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.