Festplatten bei Fehlern anders mounten und wie simuliert man Dateisystemfehler
Hallo, ich suche nach einer Möglichkeit meinen Wevserver normal zu starten und die Festplatten falls es zu Fehlern kommt read only zu mounten. Es geschieht leider immer mal wieder das der Rechner abstürzt um beim erneuten booten bleibt e2fsck mit 'filesystem has to many errors' haengen, 'run e2fsck manualy'. Das geschieht dann im Runlevel 1 und ich kann dann nicht mit ssh auf den Server zugreifen. Meine Idee war nun ein Script zu schreiben, welches mit Hilfe von tune2fs -l /dev/hdc1, den 'Filesystem state' ausliest und falls der 'clean' ist die Festplatte rw mountet falls nicht halt ro. So wird zumindest die Webseite angezeigt solange bis ich dann das Filesystem repariert habe. Nun bin ich auf den fstab parameter errors=remount-ro gestoßen der soll anscheinende etwas ähnliches machen. Ich habe folgenden Eintrag in meiner fstab gemacht: /dev/hdc1 /home ext2 defaults,errors=remount-ro 0 2 Nun habe ich eine sehr große Datei auf den Test-Rechner kopiert und während dessen den Test-Rechner rebootet um einen Fehler zu simulieren. Das dies eine etwas unsaubere Art ist das zu testen ist mir klar, nur leider weiss ich nicht wie ich das System so einstellen kann, dass es ein defektes Dateisystem erkennt, welches es nicht automatisch reparieren will. Meine Fragen sind nun: Gibt es für mein obiges Problem schon irgendwelche Lösungen? Was hat das mit dem Paramter in der fstab errors=remount-ro auf sich und muss ich dann zusätzlich auch noch tune2fs -e remount-rw /dev/hdc1 machen? Wo liegt der Unterschied. Wie kann man den Filesystem state setzen bzw. wie kann man ein Filesystem so manipulieren das der e2fsck beim booten einen manuellen check verlangt? Vielen Dank im voraus Ingo Holewczuk
Hallo Ingo, hallo Leute, Am Montag, 2. Januar 2006 15:21 schrieb ih@kroesa-maja.de: ^^^^^^^^^^^^^^^^^ Vorweg: Wie wärs mit Realname im Absender? Liest sich nicht so holprig ;-)
ich suche nach einer Möglichkeit meinen Wevserver normal zu starten und die Festplatten falls es zu Fehlern kommt read only zu mounten. Es geschieht leider immer mal wieder das der Rechner abstürzt um beim erneuten booten bleibt e2fsck mit 'filesystem has to many errors' haengen, 'run e2fsck manualy'. Das geschieht dann im Runlevel 1 und ich kann dann nicht mit ssh auf den Server zugreifen. Meine Idee war nun ein Script zu schreiben, welches mit Hilfe von tune2fs -l /dev/hdc1, den 'Filesystem state' ausliest und falls der 'clean' ist die Festplatte rw mountet falls nicht halt ro.
Warum willst Du sowas von Hand machen? Guck mal in man tune2fs unter -e (error-behaviour). remount-ro ist das, was Du suchst ;-) Das funktioniert ohne Anpassungen der fstab o. ä. - habe ich schon selbst ausprobiert :-/
So wird zumindest die Webseite angezeigt solange bis ich dann das Filesystem repariert habe.
Naja - es besteht zumindest die Chance. Es könnte aber auch Probleme geben, wenn z. B. Apache keine Logs mehr schreiben kann oder die Datenbank plötzlich read-only ist. Besser als ein total zerschossenes Filesystem ist es auf jeden Fall ;-)
Nun bin ich auf den fstab parameter errors=remount-ro gestoßen der soll anscheinende etwas ähnliches machen.
Möglich, ich kenne die Option bisher nur von tune2fs
Nun habe ich eine sehr große Datei auf den Test-Rechner kopiert und während dessen den Test-Rechner rebootet um einen Fehler zu simulieren. Das dies eine etwas unsaubere Art ist das zu testen ist mir klar, nur leider weiss ich nicht wie ich das System so einstellen kann, dass es ein defektes Dateisystem erkennt, welches es nicht automatisch reparieren will.
Der praxisnähere Test wäre wohl eine Festplatte der Marke "sterbender Schwan" ;-)
Meine Fragen sind nun: Gibt es für mein obiges Problem schon irgendwelche Lösungen? Was hat das mit dem Paramter in der fstab errors=remount-ro auf sich und muss ich dann zusätzlich auch noch tune2fs -e remount-rw /dev/hdc1 machen? Wo liegt der Unterschied.
remount-rw? Ich schätze, Du meinst remount-ro, oder?
Wie kann man den Filesystem state setzen bzw. wie kann man ein Filesystem so manipulieren das der e2fsck beim booten einen manuellen check verlangt?
Einen *manuellen* Check forcieren dürfte nicht so einfach sein. Oder hat hier gerade jemand eine Idee, wie man sich gezielt sein Dateisystem kaputt genug macht? ;-) BTW: Der Vorteil bei tune2fs -e remount-ro ist, dass der Schaden mit etwas Glück recht klein bleibt - von daher hilft vermutlich oft die automatische Reparatur und Du wirst selten händisch eingreifen müssen. Gruß Christian Boltz --
beim Übersetzen von qcad steigt die Prozessorauslastung von cc1plus bis auf 98% an. Dasist doch nicht üblich, oder? Warum stört Dich das? Du hast doch die ganze CPU bezahlt, oder? Oder hast Du nur 'ne halbe? [> Stefan Schlörholz und Andreas Kyek in suse-linux]
Hallo, Am Mon, 02 Jan 2006, Christian Boltz schrieb:
Einen *manuellen* Check forcieren dürfte nicht so einfach sein. Oder hat hier gerade jemand eine Idee, wie man sich gezielt sein Dateisystem kaputt genug macht? ;-)
Na klar. Superblock bzw. die Verwaltungsbitmaps des FS gezielt mit einem hex-editor manipulieren. Was man genau manipulieren muss, damit der manuelle Check noetig wird weiss ich noch nicht, da koennte man ganz unbedarft in den e2fsck-Quellen nach der passenden Fehlermeldung suchen und dann die (eine der) Fehlerbedingung gezielt ausloesen. Das sollte man aber nur an einem FS in einem Image (bzw. einer Kopie) machen. Genauer werde ich hier nicht werden. -dnh, "Ich bin root, ich darf das!" -- 22: Interaktives Fernsehen Fernsteuerung mit Taste 'Bezahlen' statt 'Aus'. ('Standpay'-Taste) (nach Peter Berlich)
ih@kroesa-maja.de wrote:
ich suche nach einer Möglichkeit meinen Wevserver normal zu starten und die Festplatten falls es zu Fehlern kommt read only zu mounten. Es geschieht leider immer mal wieder das der Rechner abstürzt um beim erneuten booten bleibt e2fsck mit 'filesystem has to many errors' haengen, 'run e2fsck manualy'.
Ich wuerde mich erst einmal damit beschaeftigen, a) warum der Rechner oefters abstuerzt (das ist ja nicht normal!) und b) warum es zu derart massiven Filesystem Problemen kommt, dass ein manueller Check noetig wird und der Standard-fsck es nicht korrigieren kann. Evtl. liegt auch ein Hardware-Problem vor. Der Einsatz von ext3 oder einem anderen journaling filesystem (falls noch nicht im Einsatz) koennte in dem Falle, dass ein schneller Reboot nach einem Fehler noetig ist, ebenfalls helfen (allerdings nicht, wenn ein manueller fsck noetig wird)... Deine vorgeschlagene Vorgehensweise waere nur ein Workaround, wuerde aber den eigentlichen Grund fuer das Abstuerzen etc. nicht beheben. Einen fsck forcieren beim Reboot ist kein Problem, aber einen manuellen fsck erzwingen, hmm, davon habe ich noch nichts gehoert und ich nehme an, David's Methode war eher als Fallstudie und nicht als praktische Loesung gedacht :-) Cheers, Th.
participants (4)
-
Christian Boltz
-
David Haller
-
ih@kroesa-maja.de
-
Thomas Hertweck