Arbeiten mit einer lüfterlosen Debian-basierten Maschine. Alle Dateisysteme befinden sich auf einer SD-Karte.
Die /var partition ist ein separater ext2 fs-Eintrag in /etc/fstab .
Das System hat keinen Ein-/Aus-Schalter, so dass die Leute dazu neigen, am Stecker zu ziehen, um es ein- und auszuschalten. Dies führt zu einer Beschädigung von /var Partition.
Ich möchte das System zwingen, e2fsck auszuführen bei jedem Start.
Was ich versucht habe:
-
Hängen Sie /var nicht beim Booten ein. Skript in /etc/rc2.d hinzufügen um e2fsck auszuführen und dann das Laufwerk zu mounten.
Problem:Dies gibt mir ein System, das denkt, dass es auf Runlevel 6 hängen bleibt. Siehe hier. -
Verwenden Sie tune2fs um den fsck-Zyklus auf einen Mount zu setzen.
Problem:Das System hängt sich oft während des Bootens auf und stellt fest, dass /var ist bereits gemountet und wird in die Wartungsschale verschoben. -
Setzen Sie das 6. Bit in /etc/fstab zu 2. Führen Sie
touch /forcefsck
aus .
Problem:keines / beides hat einen merklichen Effekt. Festplatte ist nicht geprüft. -
Fügen Sie noauto hinzu nach /etc/fstab (Siehe Nr. 1 oben).
Problem:Das System hängt die Partition immer noch ein, sodass die Fehlermeldung immer noch erscheint.
Vorschläge für andere Dinge, die Sie ausprobieren sollten?
BEARBEITEN:
Etwas Hintergrund:
- Wir haben mehr als 150 dieser Systeme an entfernten Standorten im Einsatz
- Die betreffenden Systeme haben keine Ein-/Ausschalter
- Systeme werden oft (fälschlicherweise) auf geschaltete Stromquellen (Wandschalter oder andere) gestellt
- Stromausfall am betreffenden Ort ist nicht ungewöhnlich
Akzeptierte Antwort:
Diese Frage wurde bereits beantwortet:
Wie kann man fsck bei jedem Booten erzwingen – alle (relevanten) Dateisysteme?
Niemand hat dort darauf hingewiesen, dass das eigentliche Problem darin besteht, dass Leute am Kabel ziehen. Ich denke ernsthaft, dass der Fokus auf BEIDEN Fragen falsch ist; Sie müssen Ihr Benutzerproblem beheben, nicht das Dateisystemproblem des Servers.
Ehrlich gesagt, wenn man bedenkt, wie wichtig dieses Dateisystem für die grundlegende Funktionalität der Maschine ist, ist es am besten, nicht mehr wie ein Systemadministrator über dieses Problem nachzudenken, sondern wie ein Manager darüber nachzudenken.
Mit anderen Worten:
- Bringen Sie Ihren Benutzern bei, wie sie dieses System ordnungsgemäß neu starten, um das Problem der /var-Korruption von vornherein zu vermeiden. Dokumentation ist dein Freund, wie man so schön sagt. Dies ist aus mehreren Gründen keine ideale Lösung, aber zumindest hält es sie davon ab, Dateisysteme zu braten. Wenn nichts anderes, sollten sie das verdammte Ding überhaupt nicht anfassen, wenn es deine Aufgabe ist, es am Laufen zu halten.
- Schließen Sie es weg, wo sie es nicht erreichen können. Im Ernst, wenn dies ein Server ist, der wichtige Daten speichert, warum ist dies nicht bereits der Fall? Ist dies ein Entwicklungssystem und die Entwickler wissen einfach nicht, was sie tun oder wie schädlich das sein kann? Wenn ja, dann lehre es sie noch einmal. Es ist nicht deine Aufgabe, Dummheit zu beheben, es ist deine Aufgabe, Dummheit zu verhindern.
- Sag ihnen, sie sollen es verdammt noch mal in Ruhe lassen und mit dir reden, wenn es Probleme gibt. 🙂
- Lo-tech, aber möglicherweise hilfreich (obwohl eine Brandgefahr auf jeden Fall besteht):Kleben Sie die Scheiße aus beiden Enden des Stromkabels, sodass sie 15 Minuten damit verbringen müssen, es zu lösen. Hoffentlich sind sie nach fünf Minuten und auf Schicht 26 des Bandes frustriert und tun, was sie tun sollen:Mit Ihnen sprechen, um das eigentliche Problem zu beheben, das sie dazu motiviert, überhaupt den Stecker zu ziehen.
Was macht diese Maschine so instabil, dass sie denken, es sei notwendig, sie neu zu starten? Es ist ein Debian-System. Sie brauchen keine „Neustarts“, also was ist noch falsch daran ?? Sind sie besorgt über den Stromverbrauch oder gibt es Dienste, die kaputt und instabil sind, die nur durch einen Neustart behoben werden können? Wenn letzteres der Fall ist, dann ist Ihre Frage irrelevant und Sie haben andere Arbeit zu erledigen, tut mir leid.
Wenn nichts anderes, könnten Sie Ihren Vorschlag angehen, gut zu sein und nicht neu zu starten, indem Sie das Kabel als Übung zur Energieeinsparung ziehen. Möchten Sie wirklich von Ihrem Schreibtisch aufstehen, um ein Stromkabel zu ziehen, anstatt nur da zu sitzen, sich anzumelden und es über die Befehlszeile neu zu starten? Es dauert etwa 2 Sekunden Arbeit, um es auf diese Weise zu tun, anstatt aufzustehen, die ganze Zeit bis zum Gerät zu murren, am Kabel zu ziehen, es wieder einzustecken, zu warten, bis es wieder kaputt geht, und dann müssen warte noch länger, bis /var fsckiert wird.
Das Aufstehen-Ziehen-Kabel-Warten, bis /var es selbst repariert, dauert viel länger, ist auf lange Sicht viel komplexer zu warten, wird alle Arten von Schmerzen auf Ihrer Seite verursachen, hat Sie bereits dazu motiviert, die falschen Fragen zu stellen , und wird dich schließlich mit einer Liebeswaffe und einem Todeswunsch auf die Spitze eines Glockenturms führen.
Reparieren Sie es richtig, indem Sie Ihre Benutzer reparieren oder den Schaden mindern, indem Sie es ihnen extrem schwer machen, dumme Dinge zu tun. Ich kann nicht deutlicher sagen, wie wichtig das ist.