Frage:
Wie kann ich Raspbian so härten, dass es nach einem unerwarteten Herunterfahren unbeaufsichtigt startet?
TomG
2013-06-08 06:42:59 UTC
view on stackexchange narkive permalink

Ich habe einen Pi, auf dem Raspbian in einer kopflosen Konfiguration ausgeführt wird, die einige Male abgestürzt ist, einmal aus unbekannten Gründen und einmal aufgrund eines Stromausfalls. In beiden Fällen musste ich einen Monitor und eine Tastatur anschließen und beim Hochfahren "helfen" (sobald eine zusätzliche fsck-Ausführung erforderlich war und einmal nicht mehr gestartet werden konnte, weil die Uhr ausgeschaltet war und der Zeitstempel im Superblock in der Zukunft lag ;

Ich möchte dieses System so robust wie möglich machen, damit es weniger wahrscheinlich ist, dass ein Eingriff erforderlich ist. Welche Schritte können mir dabei helfen, dies zu erreichen?

Klingt nach ext2 und nicht nach ext3. Ein Journaling-Dateisystem ist wesentlich robuster gegen unerwartete Abschaltungen.
Parted meldet es als ext4; Als ich fsck eines der Male ausgeführt habe, wurde erwähnt, dass protokollierte Änderungen angewendet wurden (ich erinnere mich nicht an die genaue Sprache).
Die Fehler, die Sie erwähnen, scheinen vorgelagert zu sein. Ich schlage vor, Sie melden es als Fehler gegen die Raspbian-Verteilung.
Ich habe einen Fehler mit Raspbian für dieses Problem geöffnet: https://bugs.launchpad.net/raspbian/+bug/1212020
Vier antworten:
#1
+14
tedder42
2013-06-08 07:12:04 UTC
view on stackexchange narkive permalink

Was passiert ist, dass fsck nach so vielen Neustarts ausgeführt wird oder wenn der Verdacht besteht, dass die Festplatte in Schwierigkeiten ist. Die Anzahl der Neustarts kann mit tune2fs geändert werden, aber das wird Ihr Problem nicht beheben. Wenn Sie rückwärts zur Lösung arbeiten, finden Sie hier die richtige Option für fsck:

  -y Bei einigen dateisystemspezifischen Prüfern verursacht die Option -y das fs-spezifische fsck um immer zu versuchen, erkannte Dateisystembeschädigungen automatisch zu beheben. Manchmal kann ein Experte das fsck besser manuell fahren. Beachten Sie, dass nicht alle dateisystemspezifischen Prüfer diese Option implementieren. Insbesondere fsck.minix (8) und fsck.cramfs (8) unterstützen die Option -y zum jetzigen Zeitpunkt nicht.  

Was verursacht das fsck? Nun, es gibt eine Init-Datei unter /etc/init.d/checkfs.sh . Schauen Sie sich Zeile 17 an:

  ["$ FSCKFIX"] || FSCKFIX = nein  

Später Zeile 67:

  Wenn ["$ FSCKFIX" = yes], dann fix = "- y" else fix = "- a " 

FSCKFIX steuert also, ob fsck mit -y aufgerufen wird. Wir möchten -y , damit Sie es ohne Kopf automatisch überprüfen lassen können. Am einfachsten ist es, / etc / default / rcS in Zeile 24 zu ändern und FSCKFIX wie folgt zu aktivieren:

Original: # FSCKFIX-no

Ändern in: FSCKFIX=yes

Danach sind Sie fertig!

+1, bearbeiten gemacht. Warten Sie, bis andere Vorschläge vorliegen, bevor Sie sie annehmen.
checkfs.sh ist nicht beteiligt, wenn systemd verwendet wird, zumindest in jessie. Analog für systemd-fsck ist das Hinzufügen eines Parameters zum Kernel cmdline: `fsck.repair = yes`
#2
+4
lenik
2013-06-08 14:59:09 UTC
view on stackexchange narkive permalink

Sie könnten darüber nachdenken, Ihr System von der schreibgeschützten Partition und Ihren Datendateien an einer anderen Stelle zu trennen. Es ist unwahrscheinlich, dass das schreibgeschützte System beschädigt wird. Nachdem Sie es eingerichtet haben, können Sie Wiederherstellungsskripte starten und / oder sich über SSH anmelden, um die möglichen Probleme zu beheben.

Obwohl nicht ro montiert, ist es ziemlich nah an schreibgeschützt. Soweit ich feststellen kann, wird auf meiner Datenpartition nur eine Datei geschrieben, und ein oder zwei Mal am Tag wird ein Protokolleintrag hinzugefügt. Ich werde das bald entfernen, also wäre es sicherlich eine Möglichkeit, ro zu montieren. Ich bin mir jedoch nicht sicher, ob ich damit für die Root-Partition durchkommen kann.
Akzeptieren, da ich denke, dass eine RO-Systempartition die einzig sichere Lösung ist, wird jede andere Lösung ein Szenario haben, in dem sie nicht gestartet werden kann.
#3
+3
Max
2017-03-15 17:19:13 UTC
view on stackexchange narkive permalink

Wenn Sie der Meinung sind, dass eine Dateibeschädigung eines Ihrer Hauptprobleme ist, sollten Sie das gesamte Betriebssystem von der SD-Karte entfernen. Auf einem Raspberry Pi 1/2 / Zero (W) benötigen Sie mindestens einige Boot-Dateien auf der SD-Karte, den Rest können Sie jedoch von einem USB-Gerät ausführen. Mit einem frisch heruntergeladenen Image:

  • Kopieren Sie das gesamte Raspbian-Image auf ein USB-Gerät.
  • Kopieren Sie (nur!) Den / boot / Partitionierung auf eine SD-Karte.

Achtung für die nächsten 2 Schritte / Änderungen: Auf diese Pfade folgt eine Nummer. Bearbeiten oder entfernen Sie die Nummer nicht! ( mmcbkl0p1 wird zu sda1 , mmcbkl0p2 wird zu sda2 usw.).

  • Bearbeiten Sie cmdline.txt in der Partition / boot / auf der SD-Karte und ändern Sie / dev / mmcblk0p zu / dev / sda . Bearbeiten Sie dieselbe Datei in der Partition / boot / auf dem USB-Gerät, damit Sie eine gebrauchsfertige Sicherung Ihrer Partition / boot / haben.
  • Bearbeiten Sie / etc / fstab und ändern Sie / dev / mmcblk0p auf dem USB-Gerät in / dev / sda .

Fertig! Sie können die Partition / boot / auf Ihrer SD-Karte schreibgeschützt machen (es werden jedoch sowieso keine Schreibvorgänge ausgeführt). Sollte die SD-Karte jemals wieder ausfallen, haben Sie eine Sicherungskopie der Partition / boot / auf Ihrem USB-Gerät.

Optional

Wenn Sie Wenn Sie einen Raspberry Pi 3 B haben, führen Sie diese zusätzlichen Schritte (zusätzlich zu den vorherigen Schritten) aus, um überhaupt keine SD-Karte zu benötigen.

  • Booten Sie Raspbian (mit die SD-Karte)
  • Aktualisieren / Aktualisieren Sie Ihr Raspbian-Betriebssystem
  • Bearbeiten Sie /boot/config.txt auf der SD-Karte und fügen Sie eine neue Zeile unter hinzu das Ende mit: programam_usb_boot_mode=1
  • Neustart (Raspbian aktiviert den USB-Startmodus während dieses Startzyklus)

Fertig! Fahren Sie das Gerät herunter, entfernen Sie die SD-Karte aus dem Raspberry Pi 3 B und starten Sie erneut. Dies dauert länger als gewöhnlich. Meins hat eine seltsame Sequenz für sich gemacht: Ich habe die Stromversorgung aktiviert, dann wurde ein Farbbild angezeigt, es wurde von selbst neu gestartet, das Farbbild wurde erneut angezeigt, es wurde erneut von selbst neu gestartet, das Farbbild wurde erneut angezeigt und plötzlich wurde Raspbian gestartet . Die nächsten Neustarts waren viel schneller.

Entfernen Sie unbedingt die Zeile program_usb_boot_mode = 1 in /boot/config.txt auf der SD-Karte, wenn Sie planen, die SD-Karte in anderen Raspberry Pi wiederzuverwenden, für die der USB-Startmodus nicht aktiviert ist.

#4
+1
Dmitry Grigoryev
2017-03-15 16:39:40 UTC
view on stackexchange narkive permalink

Strombedingte Abstürze lassen sich besser mit einer USV-Lösung wie Juice4halt behandeln.

In Fällen, in denen ein unerwartetes Herunterfahren nicht verhindert werden kann, empfehlen wir Ihnen, data = journal für Ihre Root-Partition. Dadurch werden Schreibvorgänge langsamer (aber wie Sie in den Kommentaren gesagt haben, ist Ihr Stammverzeichnis praktisch nur reaktiv, sodass nur geringe Auswirkungen auftreten), und fsck kann die meisten Probleme beim Neustart automatisch beheben. P. >



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...