Wie kann man das Herunterfahren eines unerwarteten Linux-Servers untersuchen?


16

In einem neuen Xeon 55XX-Server mit 4xSSD bei RAID 10 mit Debian 6 habe ich zwei zufällige Herunterfahren innerhalb von zwei Wochen nach dem Bau des Servers erlebt. Ein Blick auf die Bandbreitenprotokolle vor dem Herunterfahren zeigt nichts Ungewöhnliches an. Die Serverauslastung ist normalerweise sehr gering (ca. 1) und befindet sich weit entfernt. Es scheint keinen Stromausfall zu geben, während der Server ausfällt.

Ich weiß, dass ich / var / log ansehe, aber nicht sicher bin, welche Protokolle ich untersuchen und wonach ich suchen soll. Schätzen Sie also Ihre Hinweise.


Hast du gefunden, was das Problem war?
Cherouvim

Antworten:


11

Zuerst muss ich fragen: "Herunterfahren"? Meinen Sie damit, dass der Computer neu startet oder tatsächlich anhält? Wenn es anhält, ist es entweder falsch konfiguriert (möglicherweise im BIOS) oder der Computer wird aktiv heruntergefahren (z. B. init 0).

Wenn nicht, wäre Ihr Hauptkandidat / var / log / syslog und /var/log/kern.log, da sich Ihr Problem wie eine Kernel-Panik oder ein durch Software ausgelöster Hardwarefehler anhört. Wenn auf dem Server ein Dienst ausgeführt wird (z. B. Apache), können Sie natürlich auch einen Hinweis erhalten.

In solchen Situationen werden häufig Protokolleinträge generiert. Da der Computer jedoch Probleme hat, kann er die Einträge nicht auf die Festplatte schreiben. Wenn die Box zusammengestellt ist, besteht die Möglichkeit, dass sie vom colo-Partner an eine serielle Konsole angeschlossen wird. Dort würde ich suchen, wenn ich in den obigen Protokollen nichts Verdächtiges finden würde.

Wenn der Computer nicht mit einer seriellen Konsole verbunden ist und sich nichts im Protokoll befindet, können Sie Syslog über das Netzwerk an eine andere Box senden. Möglicherweise überlebt die Netzwerkschnittstelle etwas länger, und die Protokollmeldungen können auf dem Syslog-Server gelesen werden. Schauen Sie sich rsyslog oder syslog-ng an.

AKTUALISIEREN:

Ich stimme @Johann unten zu. Die wahrscheinlichste Ursache für den Stillstand ist die Überwachung der Prozessortemperatur. Versuchen Sie, die Temperatur in der Box über lmsensors oder smartctl (normalerweise die einfachste) zu überprüfen / zu zeichnen. Ich finde, dass collectd beispiellos ist, wenn es darum geht, eine große Anzahl von Variablen im Laufe der Zeit zu verfolgen. Es kann sowohl IPMI als auch lm-Sensoren und hddtemp. Außerdem protokollieren einige BIOS: es Temperaturstoppereignisse.


Die Maschine ging aus und kehrte zum Leben zurück, kurz nachdem ich den Support gebeten hatte, sie manuell zu starten.
alfish

Wenn die Temperatur das Problem ist, installieren Sie munin, um die Temperaturdaten im Zeitverlauf zu verfolgen und Trends zu erkennen.
pkhamre

+1 auf Temperaturprobleme. Hatte dasselbe auf einem meiner Server in einem Rechenzentrum - es stellte sich heraus, dass sie vergessen hatten, einen der CPU-Lüfter anzuschließen, als sie das System bauten.
Grant

9

Zuerst möchten Sie überprüfen /var/log/syslog. Wenn Sie nicht sicher sind , was zu suchen, können Sie mit der Suche nach den Worten beginnen error, panicund warning.

grep -i error /var/log/syslog

Wenn Sie Systemgraphen zur Verfügung haben (zB Munin). Überprüfen Sie sie und suchen Sie nach abnormalen Mustern. Wenn Sie Munin nicht installiert haben, könnte es eine Idee sein, es zu installieren ( apt-get install munin munin-node)

Sie sollten Root-E-Mails auch auf interessante Nachrichten überprüfen, die mit Ihrem Systemabsturz zusammenhängen könnten.

Andere zu überprüfende Protokolldateien sind Anwendungsfehlerprotokolle. ZB /var/log/apache2/error.logoder ähnlich. Sie können Informationen enthalten, die Sie zum Problem führen.


6

Nach meiner Erfahrung wird ein "unerwarteter Stillstand" fast immer durch Überhitzung verursacht. Überprüfen Sie Ihre Temperaturen und Lüftergeschwindigkeiten über lm_sensors und stellen Sie sicher, dass sie gut sind.

Vor kurzem hatten wir das gleiche Muster: Ein Server wurde etwa eine Stunde nach dem manuellen Start des Supports angehalten. Nach diesen Stunden hat die CPU-Temperatur den im BIOS konfigurierten Schwellenwert (iirc 60 oder 70 ° C) erreicht und das System angehalten. All diese Probleme wurden durch einen defekten CPU-Lüfter verursacht. Nach dem Austausch des Lüfters war alles wieder normal.


2

Es gibt eine Reihe von Protokolldateien im Verzeichnis / var / log (und seinen Unterverzeichnissen), einschließlich

/var/log/boot

und

/var/log/boot.log

Beginnen Sie mit den obigen Dateien.


Und nach "was" suchen?
Pierre.Vriens

Das hängt von der Art des aufgetretenen Fehlers ab. In den meisten Fällen ist die Hauptursache ein Kernel-Absturz, ein Stromausfall oder ein durch Überhitzung verursachter CPU-Stillstand. Das bedeutet, dass niemand einen Eintrag in die Protokolldateien schreiben und diese auf die Festplatte schreiben muss, sodass dort überhaupt keine Nachrichten angezeigt werden .
Asdmin

1

Es gibt zwei Möglichkeiten zu überprüfen, was das Herunterfahren ausgelöst hat. Überprüfen Sie zuerst die Out-Of-Band-Verwaltungskonsole auf Probleme mit der Hardware. Ich würde vorschlagen, SNMP zu konfigurieren und E-Mails zu empfangen oder die Traps in einer Überwachungssoftware für Warnmeldungen hinzuzufügen.

Dann können Sie über das Betriebssystem entweder /var/log/messages(RedHat-basierte Distributionen) oder /var/log/syslog(Debian-basierte Distributionen) überprüfen.


0

Das Festplattensubsystem ist so kompliziert, dass es bei Auftreten eines Problems beeinträchtigt wird, da Ihre Protokolldateien kaum Daten enthalten.

Versuchen Sie, sich über die serielle Konsole anzumelden. Dies erfordert einige Kabel und ein anderes System, um die Leitungen aufzunehmen, aber Sie haben eine bessere Chance, das Problem tatsächlich zu erkennen.

Wenn Ihr Knoten über ein integriertes Verwaltungssystem verfügt, das dem von Oracle (ALOM / ILOM) ähnelt, können Sie dort natürlich auch nach möglichen Problemen suchen und Dateien protokollieren.


-1

Sie können feststellen, ob das System über die Tatsache informiert ist, dass es mit den nächsten Befehlen abstürzt

sudo last -1x reboot
sudo last -1x shutdown

Wenn keine Info =>, kann es zu Stromausfällen oder anderen externen Problemen kommen

wenn du info hast => suche in logs um reboot / shutdown zeit

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.