In den letzten Tagen hatte ich mit einem massivem Problem zu tun, das letztendlich sogar meinen Server lahm gelegt hat.
Folgende Symptome:
- Es begann damit, dass im FE jegliches Layout verschwunden war
- Nach einigem Suchen muste ich feststellen, dass alle *.css Dateien im Typolight-Root leer waren (0 Bytes)
- Beim Versuch, per FTP Backups der Dateien hochzuladen, kam eine allgemeine Fehlermeldung
- Auch Editieren und neu abspeichern war nicht möglich - die Dateien blieben leer
- Kurze Zeit später war überhaupt kein Zugang auf die Site mehr möglich. Sowohl im FE als auch im BE erschien nur noch die Meldung, ich solle den Admin informieren, und in localconfig.php 'DisplayErrors' auf true setzen
- als dann auch noch die localconfig.php leer und nicht mehr zu editieren war kam langsam Panik auf
- Ich habe dann in einer Nachtsitzung mit Hilfe von Putty über meinen Root-Zugang mit wget Backups der geleerten Dateien aufspielen können
- Danach klappte der Zugang wieder eine Weile. Allerdings spürbar langsamer.
- Echte Verzweiflung kam dann auf, als auch die Bankenbank anfing zu spinnen: MySQL meldet: #1030 - Got error 28 from storage engine
- Wenig später begann das Problem wieder von vorne: das Layout ging flöten und die CSS-Dateien waren wieder leer
- Unnötig zu bemerken, dass mir natürlich auch der Provider nicht weiterhelfen konnte!
Nach tagelangen Recherchen habe ich jetzt endlich das Problem lokalisieren können:
- Die Home-Partition des Server war voll!!!
- Im TL-Verzeichnis /system/tmp waren über 1000 Dateien (z.B. 97f30c2f57005202ec9b4f2c1c4151ea) mit einer Länge von 10.910.704 Bytes
- Nach dem Löschen dieser Dateien (Systemwartung->Daten bereinigen) ließen sich die Backups aufspielen und der Zugang funktionierte wieder
- Allerdings wurde jede Minute in /system/tmp wieder eine neue Datei angelegt!!!
- Die Dateien waren unvollständige SQL-Dumps meiner Datenbank (endeten meist irgendwo bei tl_member)
- Obwohl BackupDB jede Nacht um 2 Uhr laufen sollte, war laut Scheduler die letzte Ausführung am 25.03.2010 08:11
- Bei meinen Recherchen im Forum bin ich auf das Problem mit den Skriptlaufzeiten gestossen. Aber selbst eine Erhöhung der max_execution_time auf 180 Sekunden brachte (nach Reboot des Servers) keine Änderung
Hier einige Systeminfos:
- Auf dem Server läuft openSUSE 10.3
- Typolight Version 2.8.1
- Cron 1.0.0 stable Build 15
- Cornjobs werden vom Server getriggert
- BackupDB 1.1.3 stable Bulid 10
- AutoBackupDB.php vom 29.03.2009, // $this->User->authenticate(); ist auskommentiert
- Manuelle Sicherung der Datenbank mit BackupDB im BE dauert 5 Sekunden. Die Datei ist 10.913.885 Bytes (10,4 MB) groß!
- Seit ich DBBackup im Scheduler deaktiviert habe, gibt's keine Probleme mehr
Ihr könnt euch sicher vorstellen, dass ich ziemlich angefressen bin!!!
Da ich nun weiß Gott kein Unix-Guru bin, habe ich natürlich ewig gebraucht, das Problem zu lokalisieren.
Wenn ich keinen Root-Zugriff auf den Server gehabt hätte, hätte ich meine TL-Installation einstampfen können.
Ich stand schon kurz davor, den Provider zu wechseln - und hätte wahrscheinlich nach einiger Zeit genau die selben Probleme gehabt.
Abschließend ein paar Fragen an die TL-Entwickler (deren Arbeit ich übrigens sehr schätze):
- Wie kann es sein, dass über 1000 temporäre Dateien anfallen, ohne dass das System den Vorgang abbricht?
- Ich glaube nicht, dass die Probleme mit den Skriptlaufzeiten oder Benutzerrechten zusammenhängen, wie immer wieder im Forum behauptet
- Wie ausgereift sind Cron und BackupDB?
Gruß, Lutz
Lesezeichen