Donnerstag, 24. September 2015

Kernel-Crash-Dump unter Ubuntu installieren

Installation nach Anleitung ubuntu.com/lts/serverguide/kernel-crash-dump.html

Installation des kerne crash dump im Terminal mit:
      sudo apt-get install linux-crashdump

während der Installation wird ebenfalls das kexec-tools-Paket installiert. Während dieser Installation wird man gefragt, ob kexec-tools das Handling des Neustarts übernehmen soll? Diese Frage mit "Ja" beantworten.

als nächstes:
       sudo gedit /etc/default/kdump-tools

ändern des Eintrags:
       USE_KDUMP=1

speichern und dann neustarten!

An dieser Stelle zeigt sich dann schon, ob die kexec-tools funktionieren. Läuft der Neustarte reibungslos, kann in der Anleitung weiter gemacht werden, ansonsten erst einmal Fehlerbehebung, siehe Ende der Anleitung.

Um zu überprüfen, ob die Installation des kernel-dumps erfolgreich war, schauen wir erst einmal nach dem reservierten Speicher für den Neustart-Kernel:
       cat /proc/cmdline

In der Ausgabe gibt es einen Eintrag der z.B. so aussehen kann:       
       crashkernel=384M-2G:64M,2G-:128M

Dieser Eintrag entspricht der Syntax: 
       crashkernel=<range1>:<size1>,[<range2>:<size2>, ...][@Offset]range=start-[end]
    'start' ist inklusiv, 'end' ist exklusiv


Unser Beispiel sagt uns somit, dass bei einem verfügbaren RAM bis 2GB, 64MB dieses Speichers für den Crashkernel reserviert sind. Steht mehr als 2GB RAM zur Verfügung, werden 128MB reserviert. Ist der RAM dagegen kleiner als 384MB, dann wird kein Speicher allokiert.

Nachdem wir nun wissen, wieviel Speicher unser REchner reservieren soll, prüfen wir, ob er das auch tut:
       dmesg | grep -i crash

da sollte eine Ausgabe erscheinen, die in etwa so aussehen könnte:
       ...[  0.000000] Reserving 64MB of memory at 800MB for  crashkernel ... 

mit dieser Meldung wissen wir, dass entsprechender Speicher zur Verfügung steht.

Nun wollen wir Überprüfen, ob auch der Crash Dump Mechanismus funktioniert. Bei diesem Test wird das System rebooted, daher sollte man alle nicht notwendigen Anwendungen schließen und Daten vorher sichern. Vor dem eigentlichen Test checken wir noch folgende Einstellung:
      cat /proc/sys/kernel/sysrq

Der nun angezeigte Value sollte größer 0 sein. Am besten ist die Einstellung 1, da somit alle Einstellung der "magsichen Tasten" freigegeben werden. Es handelt sich hierbei um Tastenkombinationen, die einen koordinierten reboot auslösen. Soll heißen, wenn sich das System aus irgendwelchen Gründen so aufhängt, dass keinerlei Eingaben mehr möglich sind, ermöglichen die "magischen Tasten" einen reboot, bei dem vorher das System ordnungsgemäß herunter gefahren wird. Sie ermöglichen aber auch die Simulation eines kernelcrashs oder andere Eingriffe ins System auf Kernelebene. (Genauere Erläuterungen findet man hier: https://www.kernel.org/doc/Documentation/sysrq.txt)

Um den Wert 1 einzustellen, gibt man folgenden Befehl im Terminal ein:
      sudo sysctl -w kernel.sysrq=1

so, nun wirds Ernst. Als erstes müssen wir nun root werden, da der Aufruf über sudo hier nicht ausreicht:
      sudo -i

danach wird folgender Befehl ausgeführt, der versucht ein Zeichen (Charakter) in eine Binärdatei zu schreiben:
      echo c > /proc/sysrq-trigger

Nach dem erfolgten reboot findet man die log-Datei des Kernel unter /var/crash/ . Die Datei des Kernel fängt mit "linux-image-..." an.

So viel zu der Theorie. Auf meinem Desktop-Rechner mit einer recht frischen Installation Ubuntu 15.04 hat das alles ganz gut funktioniert. Ich habe zwar auch hier die Installation 2x vorgenommen, da es nach dem ersten Mal beim reboot zu Systemabstürzen kam, aber nach der 2. Installation funktionierte der Mechanismus einwandfrei. 
Bei einem reboot erscheint kurz ein schwarzer Bildschirm mit sehr kleiner weißer Schrift, auf dem man noch wählen kann, ob man das kexec-tool verwenden möchte oder nicht.

Fehlerbeschreibung:
Anders stellt sich die Sache auf meinem Laptop mit einer Ubunut 14.04 Installation dar, die nun schon seit einem 3/4 Jahr in Gebrauch ist und ständig Veränderung erfährt. Aktueller Stand ist, dass die kexec-tools nicht funktionieren. Nach einem reboot sehe ich zum einen nicht den schwarzen Bildschirm mit der Asuwahlmöglichkeit. Zum anderen fährt der Rechner bis zum Anmeldebilschirm hoch, ist dann aber weiter nicht mehr zu gebrauchen. Jegliche Tastatureingabe verhallt im Nirvana und zeigt keinerlei Effekt.
Ich habe inzischen mehrfach die Tools deinstalliert und wieder installiert. Als derzeit letzte Installation habe ich nur das kexec-tools Paket installiert, ohne den Kernel Dump. Aber wieder der gleiche Effekt. Leider finde ich im Internet keinerlei Hinweise auf diesen Fehler.

To be continued...

 

 

Keine Kommentare:

Kommentar veröffentlichen