XenServer – XAPI startet nicht

Probleme mit der XAPI

Wenn beim Citrix XenServer die Meldung “XAPI service fails to start” kommt, bedeutet das oft Ärger.

Startet bei einem Citrix XenServer die XAPI nicht, kann das unterschiedlich Ursachen haben.
Wichtig zu wissen ist dabei, dass eine gestoppte XAPI die Lauffähigkeit der aktiven VMs nicht beeinträchtigt.
Es ist auf den ersten Blick sicher erschreckend, dass der XenServer nicht im XenCenter erscheint und in der xsconsole weder eine Netzkonfiguration noch laufende VMs anzeigt, aber das zeigt nicht das reale Bild: laufende VMs laufen weiter!
Man kann sie nur weder wegmigrieren noch über den XenServer stoppen – und natürlich auch keine neue VM starten. Aber wenn das Problem im laufenden Betrieb auftritt, glüht zumindest nicht gleich die Hotline und man kann sich in Ruhe dem eigentlichen Problem widmen.

Ursachen und Lösung

Die erste  (und vermutlich häufigste) Ursache ist eine Unterbrechung der Netzwerkverbindung zwischen Pool-Master und -Slave. Erreicht der Slave den Master nicht während er startet (oder XAPI neu startet), wird die XAPI nicht gestartet und in der xsconsole werden keine Netzwerkkarten oder IP-Adressen angezeigt.
Wenn beim Überprüfen der Verbindung eine Problem mit Verkabelung, Switch, VLAN etc festgestellt (und behoben) wurde, sollte ein

xe-toolstack-restart  (einfach xe- tippen und Tab drücken, dies ist der einzige xe-Befehl mit Bindestrich)

das Problem lösen. Die Suche kann aber grade bei Konfigurationen mit Bonds und/oder VLANs auf dem Management-Netz nicht ganz trivial sei, aber dazu schreibe ich ein andermal mehr.

Ein weitere Grund kann eine vollgelaufene root-Partion sein. Besonders wenn das Problem auftrat, weil man einen xe-toolstack-restart oder reboot gemacht hat und danach der XenServer nicht mehr im XenCenter erscheint (und natürlich auf der xsconsole einen nicht gestarteten XAPI-Dienst meldet), stehen die Chancen gut, hiermit richtig zu liegen.
In der Console gibt

df bzw. df -h

schnell Auskunft:

xen df full

Bei vollem root-Laufwerk startet der XAPI-Dienst nicht und wir müssen Platz schaffen.
Der erste Punkt an dem wir suchen sollten, ist das log-Verzeichnis /var/log.
Hier können sich größere Datenmengen angesammelt haben, die wir relativ gefahrlos löschen können. Per

 du -chsx * | sort -n

listen wir die Dateien nach Größe sortiert auf, dabei bitte beachten, dass bei Benutzung -h zwar die Werte in KB, MB, GB und TB umgerechnet werden, die Sortierung aber nur nach den Zahlenwerten geht. Sprich 570KB sind größer als 1,5TB oder 50MB 😉

xen var lo

Logfiles *.log (und die komprimierten Altlasten *.gz) können gesammelt per

rm *.log -f bzw. rm *.gz -f

gelöscht werden. Wer auf Nummer Sicher gehen möchte, kopiert sie vorher per WinSCP auf eine andere Machine.

Relativ geahrlos kann man auch noch logs aus /tmp löschen.

Hat man wieder ein wenig Platz geschaffen, sollte die XAPI auch wieder starten und alles ist gut.