Donnerstag, 27. Mai 2010
Speicherplatz
Themen: Computer
Gestern habe ich gelernt, warum es eine gute Idee ist, /var und /tmp auf eigene Partitionen auszulagern.

Da ist mir nämlich mein /var übergelaufen, und dummerweise befindet das sich auf meinem momentanen Internet-System (mein dedizierter Internet-Rechner hat wohl endgültig den Geist aufgegeben und ich spare noch auf einen neuen, deshalb ist „mein Internet-System“ zur Zeit eine Live-USB-Version von Ubuntu) auf derselben Partition wie... naja, eigentlich alles andere. Was zur Folge hatte, daß einige Applikationen Probleme machten, weil sie auf einmal keinen freien Speicherplatz mehr fanden für die Sachen, die sie gerne speichern wollten.

Und jedesmal, wenn ich irgendwo etwas Unwichtiges entfernte (z. B. den Browsercache zum x-ten Mal leerte), war nach wenigen Minuten wieder kein Speicherplatz mehr frei.

Dann stellte ich fest, daß die größten Platzfresser ein paar Dateien in /var/log waren.

Einiges Wühlen förderte Folgendes zutage:
  1. Diverse Logdateien waren auf geradezu groteske Größe angewachsen und neue Logmessages kamen mit beeindruckender Geschwindigkeit dazu.
  2. Der überwiegende Teil dieser Messages enthielt <Ironie>unglaublich</Ironie> wichtige Informationen der Form „Um Uhrzeit U ging ein Packet von uns an <diese oder jene IP-Adresse> raus“ (oder auch: ... kam ein Packet von <dieser oder jener IP-Adresse> rein).
  3. Die beeindruckende Geschwindigkeit, mit der solche Messages generiert wurden, war direkt davon abhängig, ob ich einen Torrent laufen hatte oder nicht.
Während einer vergnüglichen Stunde mit meinem Sniffer lernte ich, daß so ein BitTorrent-Client ständig mit dem Tracker und mit den diversen Peers redet. „Guck mal, ich hab den-und-den Teil dieser Datei“, „Hab ich schon“, „Schick mal rüber“, „Ja, Moment, da isses“, „Danke, Daten sind angekommen“, „Hat jemand den-und-den Teil jener Datei“ usw. usf. Ganz nett, aber eigentlich nicht unbedingt etwas, was man ständig mitloggen will.

Und wo ich schon mal dabei war, beschloß ich, bei der Gelegenheit noch ein bißchen mehr über Datenverkehr zu lernen, und verbrachte eine weitere vergnügliche halbe Stunde damit, Daten über eine Telnet-Verbindung hin- und herzuschicken und zu gucken, was passiert. (Also: Im Wireshark einen Filter für Telnet-Kommunikation konfigurieren, damit alles andere bis auf weiteres nicht angezeigt wird; dann „telnet <irgendwohin>“ und verschiedene Tasten drücken und Kommandos eingeben und dabei immer ein Auge auf Wireshark haben. Ja, Leuten wie mir macht sowas tatsächlich Spaß. Ich bin auch die Sorte Mensch, die SELinux-Beispielkonfigurationsdateien in der Badewanne zur Entspannung liest...)

Das löste mein Speicherplatzproblem allerdings noch nicht so ganz. Im Gegenteil; Wireshark produziert auch ganz schön große Logdateien (wenn man es läßt).

Also schaute ich mir meinen Logger mal näher an und fand schließlich heraus, daß Logmessages verschiedene Prioritäten haben können (von 0 („Ihr System ist gerade abgestürzt“) bis 7 („Ach übrigens, ich weiß nicht, ob es Sie interessiert, aber nur für den Fall, daß doch: ...“)). Und daß man sie so filtern kann. Und wie man sie so filtern kann.

Jetzt landen in den Logs nur noch die Messages, die ein bißchen wichtiger sind als „Ach übrigens...“, also konkret: von Priorität 5 aufwärts. Die „Eben ging ein Packet von A nach B“-Messages haben alle Priorität 6.

Aaaaah, Platz. Freier Platz. Und eine lesbare /var/log/messages, in der die wirklich wichtigen Sachen („Die externe Festplatte hat Feuer gefangen“) nicht mehr zwischen lauter „Ach, übrigens...“ („Sie haben gerade eine CD eingelegt“) verschwinden. *schwelg*