Rasberry Pi und Co: Abhärten gegen Stromentzug

OP #3665387
Lesenswert?

Hallo!
Ich habe hier einen Udoo und einen Raspberry Pi. Beide Geräte haben 
dasselbe Problem: wenn man den Strom abzieht ohne vorhher 
herunterzufahren, ist die SD Karte im Eimer. Oft hilft dann ein erneutes 
Auspielen des Images, manchmal ist die SD Karte aber auch ganz kaputt. 
Das ist nervig und arbeitsintensiv.

Da ich auf dem Udoo gerne einen Server betreiben möchte, soll dieser 
auch nach einem Stromverlust einfach wieder booten und weiterarbeiten.

Folgendes würde ich mir wünschen:
 - ein Read-Only File System, das bei jedem Boot wieder im 
Ursprungszustand ist.
 - Die möglichkeit den Read-Only-Modus kurz zu deaktivieren, um z.B. ein 
Softwareupdate zu machen.
 - Ein schreibbarer Bereich, auf dem man Daten ablegen. Dieser sollte 
aber nicht zu empfindlich sein, und auch einen harten Neustart 
überleben.

Hier und da gibt es zawar Anleitungen im Netz, aber die sind für eien 
Linux-Leien vollkommen unverständlich :-/
Gibt es vielleicht eine Distribution/ein Tool mit dem man sowas auch als 
Normalsterblicher hinbekommt?
OP #3665393
Lesenswert?

Sabine W. schrieb:
> Und wie wäre es mit nem Puffer, der noch so lange Strom liefern kann,
> bis das System ordnungsgemäß runter gefahren wurde?

Woran fürde das Gerät denn merken, dass es Zeit zum Runterfahren ist?

Davon ab hat ein R-O-Dateisystem ja auch noch den Vorteil, dass nach 
jedem reboot das system genau in dem Zustand ist, den man definiert hat. 
Keine Probleme mit korrupten Dateien, fehlerhaften Updates, 
Viren/Malware oder sonst was. Den Ansatz würde ich schon bevorzugen...
OP #3665402
Lesenswert?

Εrnst B✶ schrieb:
> Andere Frage: Wenn die SD-Karte beim Stromausfall so kaputt ist, dass
> nichtmal ein Neuaufspielen des Images hilft/geht, wie soll ein
> RO-Dateisystem davor schützen?

Wenn es keine Schreibzugriffe gibt während das System abgeschaltet wird, 
sollte das Problem nicht auftreten. Und ein Read-Only Dateisystem hat ja 
per Definition keine Schreibzugriffe ;-)
Gast #3665417
Lesenswert?

Boris P. schrieb:
> wenn man den Strom abzieht ohne vorhher
> herunterzufahren, ist die SD Karte im Eimer.
Das Problem hast du nicht nur bei Raspberry, UDOO und co, sondern auch 
bei einem normalen PC: Wenn du einfach den Stecker ziehst, kann danach 
auch deine Windowsinstallation im arsch sein!

Boris P. schrieb:
> ein Read-Only File System
Aendert aber nichts an der Tatsache, das das System nicht sauber 
runtergefahren wurde, und dein schreibbarer Bereich (den ja auch 
irgendwie brauchst) danach im eimer sein kann. Ob nun dein komplettes 
system fuer die tonne ist, oder nur deine nutzdaten, spielt dann auch 
keine rolle: irgendwie musst du daten wieder herstellen! Egal wie, es 
ist zeitaufwendig. Und einfach das Image neu auf die SD-Karte braten, 
ist da noch die einfachste methode.

Boris P. schrieb:
> manchmal ist die SD Karte aber auch ganz kaputt.
Wenn die SD-Karte danach kaputt ist, also nicht mehr zu benutzen, dann 
lauft was ganz anderes falsch! Alternativ nicht den billigen schrott 
kaufen, sondern n paar euro mehr drauf legen und was kaufen, was fuer 
den Industrie einsatz, und nicht den Konsumermarkt, gedacht ist.

Boris P. schrieb:
> Woran fürde das Gerät denn merken, dass es Zeit zum Runterfahren ist?
Interrupts! Schon mal USV-Systeme gesehe? Da gibt es mechanismen, die 
dem PC/Server signalisieren koennen, das der Strom ausgefallen ist, und 
sich der PC/Server jetzt runterfahren soll.
OP #3665428
Lesenswert?

Kaj schrieb:
> Das Problem hast du nicht nur bei Raspberry, UDOO und co, sondern auch
> bei einem normalen PC: Wenn du einfach den Stecker ziehst, kann danach
> auch deine Windowsinstallation im arsch sein!

Eigentlich nicht. Meinen Windows PC habe ich schon unzählige Male hart 
neustarten müssen. manchmal meckert Windows beim nächsten Bootvorgang, 
aber kaputt war noch NIE was. Die kleinen Linuxkisten sind bei mir in 
100% aller Fälle (habe es jetzt insgesammt mehr oder weniger freiwillig 
6x ausprobiert) hinüber.

Kaj schrieb:
> Aendert aber nichts an der Tatsache, das das System nicht sauber
> runtergefahren wurde, und dein schreibbarer Bereich (den ja auch
> irgendwie brauchst) danach im eimer sein kann

Für den schreibbaren Bereich könnte man ja ggf. ein spezielles 
Dateisystem nutzen, das keine Probleme mit sowas hat (kann ja ruhig 
langsam sein). Irgendwas mit Journaling?
#3665429
Lesenswert?

Wenn sich auf die SD kein Image mehr aufspielen lässt, dann ist die 
Hardwaremäßig kaputt... Wird die Hardware resistenter, wenn im letzten 
Augenblick grad nur "Lese"-Elektronen durch den VCC-Anschluss flossen, 
und keine "Schreib"-Elektronen?


Ich hab hier ein ARM-Board 24/7 laufen, Filesystem auf SD-Karte, als 
Private-Cloud-Server.
Da wird relativ viel geschrieben, Strom fällt auch ab und an aus, noch 
nie ist das Dateisystem beschädigt gewesen (bis auf den normalen 
"journal replay") und erst recht ist noch nie die SD-Karte kaputt 
gegangen.

# cat /sys/fs/ext4/mmcblk0p3/lifetime_write_kbytes
258251113

Sicher dass das nicht ein Hardware-Problem vom RasPI ist?
Oder hast du irgendwelche halb-garen Tuning-Tipps befolgt, und das 
Journaling abgeschaltet?
Gast #3665591
Lesenswert?

o_O

Mein Raspi wird taeglich 1-2x hart ausgeschaltet. Konkret: jedes mal 
wenn mein Verstaerker im Wohnzimmer aus gemacht wird. Der Raspi wird mit 
diesesm zusammen mit strom versorgt und sobald der Verstaerker aus ist, 
hat auch der Raspi keinen Saft mehr. Zeit zum shutdown bleibt da nicht.

Ich hatte seit mittlerweile 1.5 Jahren noch nie Probleme dass der Raspi 
nicht mehr booten will. Geschweige denn dass die SDkarte anschliessend 
defekt war.

Zugegeben: der Raspi dient als streaming Client, hat also recht wenig 
schreibzugriffe auf der SDkarte durchzufuehren.

Gruss,
Klaus
Gast #3665624
Lesenswert?

Oft helfen ein dicker Kondensator (oder Hi-Cap) - als moralische Stütze,
ein Komparator - zur Spannungsüberwachung und
ein Interruptfähiger Port um den shutdown einzuleiten.
Diode gegen Rückspeisung nicht vergessen.
Normalerweise geht es ja nur um einen rel. kurzen Zeitraum, weshalb auch 
kein 100AH Akku nötig ist.
Gast #3666475
Lesenswert?

Kaj schrieb:
> Boris P. schrieb:
>> wenn man den Strom abzieht ohne vorhher
>> herunterzufahren, ist die SD Karte im Eimer.
> Das Problem hast du nicht nur bei Raspberry, UDOO und co, sondern auch
> bei einem normalen PC: Wenn du einfach den Stecker ziehst, kann danach
> auch deine Windowsinstallation im arsch sein!

Ob das bei Windows so ist, weiß ich nicht. Bei Linux ist das auf dem PC 
aber eigentlich kein Problem, wenn man das nicht gerade während eines 
System-Upgrades macht. Ich verstehe nicht ganz, was der Raspi mit der 
SD-Karte anstellt, daß das bei dem anders ist.

Boris P. schrieb:
> Für den schreibbaren Bereich könnte man ja ggf. ein spezielles
> Dateisystem nutzen, das keine Probleme mit sowas hat (kann ja ruhig
> langsam sein). Irgendwas mit Journaling?

Da braucht's nichts spezielles. Die unter Linux heute üblichen 
Filesysteme haben alle Journalling und kein Problem damit, wenn im 
Betrieb der Strom aus geht.
#3666488
Lesenswert?

Rolf Magnus schrieb:
> Ich verstehe nicht ganz, was der Raspi mit der
> SD-Karte anstellt, daß das bei dem anders ist.

Das ist in der Tat eine interessante Frage. Hier liegt gerade ein Modell 
B, das vorgestern bei einem Raspian-Update zwei Mal das Filesystem 
zerschossen hat. Ok ist das nicht.

Ich werde mir die Tage mal die Versorgungsspannungen (insbesondere am 
SD-Karten-Sockel) unter höherer Systemlast (Schreibzugriffe) ansehen. 
Nicht, dass es da knapp wird.

Grüße

Stefan
Gast #3666593
Lesenswert?

Rolf Magnus schrieb:
> Kaj schrieb:
>> Boris P. schrieb:
>>> wenn man den Strom abzieht ohne vorhher
>>> herunterzufahren, ist die SD Karte im Eimer.
>> Das Problem hast du nicht nur bei Raspberry, UDOO und co, sondern auch
>> bei einem normalen PC: Wenn du einfach den Stecker ziehst, kann danach
>> auch deine Windowsinstallation im arsch sein!
>
> Ob das bei Windows so ist, weiß ich nicht. Bei Linux ist das auf dem PC
> aber eigentlich kein Problem
Normalerweise stellt es auch für Windows kein Problem dar, aber es 
kann ein Problem sein. Denn du kannst nie garantieren das das System 
(egal ob Win, Linux, BSD, Apple oder was auch immer) in einem Zusatand 
ist, wo nichts kaputt gehet, wenn plötzlich der Strom weg ist. In der 
Regel werden ja vom System nach so einer Aktion auch reparaturarbeiten 
durchgeführt, um die Intigrität des Systems (falls nötig) wieder 
herzustellen, die der Benutzer nicht unbedingt mitbekommt.
Wie gesagt: Normalerweise stellt es kein Problem dar. Aber wir wissen 
alle das es auch Ausnahmen gibt, wie du ja selber sagst: Ungüstige 
Momente (z.B. System-Upgrade)

Diese Ausnahmen haben aber nichts mit dem Problem des TO zu tun, da von 
so einer Aktion ein Speichermedium nicht einfach elektrisch zerstört 
wird.
Gast #3666665
Lesenswert?

Kaj schrieb:
> Wie gesagt: Normalerweise stellt es kein Problem dar. Aber wir wissen
> alle das es auch Ausnahmen gibt, wie du ja selber sagst: Ungüstige
> Momente (z.B. System-Upgrade)

Ja, nur ist das beim PC meiner Erfahrung nach nur sehr selten der Fall. 
Beim Raspi scheint es aber nach dem, was man so liest, nahezu jedesmal 
zu passieren.

Uhu Uhuhu schrieb:
> ext2 hat kein Journal, das kam erst mit ext3. Es kommt also darauf an,
> was da zusammenkonfiguriert wird.

Ich hab deshalb ja auch "heute üblich" dazugeschrieben. Natürlich 
unterstützt Linux auch noch Filesysteme, bei denen es kein Journalling 
gibt, aber ich würde ext2 nicht unbedingt mehr als üblich bezeichnen. 
Aber auch bei ext2 ist eher selten sofort gleich das ganze Filesystem 
Schrott, wenn mal der Rechner im Betrieb ausgeht. Es wird halt ein 
ausgiebiges fsck durchgeführt, und das eine oder andere File, das noch 
nicht fertig rausgeschrieben war, ist halt dann kaputt, aber es ist 
nicht gleich alles weg.
Gast #3666811
Lesenswert?

Hallo,

ein RO-Dateisystem schützt beim Abschalten gegen garnichts. Das geht nur 
mit einem Hardware-Schutz, d.h. bei Unterschreiten der kritischen 
Spannung müsste die SD-Karte HARDWAREMÄSSIG gegen Schreiben gesperrt 
werden, sofern das überhaupt geht. Bei einer Festplatte werden mit dem 
Herunterfahren die Köpfe ausserhalb des Datenbereichs geparkt - klappt 
das nicht, kann der Kopf beim Abschalten der Versorgung aufschlagen und 
Daten beschädigen, Software kann daran nichts ändern, es läuft ja keine 
mehr.

Einen ähnlichen Schutz muss es auch bei SD-Karten geben, sonst könnte 
man sie überhaupt nicht vernünftig benutzen. Du müsstest also zum Schutz 
das Gleiche tun, was das System beim korrekten Herunterfahren tut, aber 
bevor du da ein grösseres wissenschaftliches Projekt ins Leben rufst 
wäre es doch einfacher, das System mit Batteriepufferung sauber 
herunterzufahren, wie das jede USV veranlasst.

RO per Software beruht ja nur auf Konvention, selbst bei den meisten 
USB-Sticks ist das so, dass irgendwo der Wunsch vermerkt ist, bitte 
nicht schreiben. Aber ein abstürzender Prozessor hält sich nicht an 
Wünsche. Das ist ganz unabhängig davon, ob Windows oder Linux nicht 
läuft.

Georg
#3666940
Lesenswert?

Georg schrieb:
> Das geht nur
> mit einem Hardware-Schutz, d.h. bei Unterschreiten der kritischen
> Spannung müsste die SD-Karte HARDWAREMÄSSIG gegen Schreiben gesperrt
> werden

Ich denke, das wird das Problem des Rasberry Pi sein.
Er wird bei Unterspannung Amok laufen und willkürliche Kommandos an die 
SD-Karte schicken.

Man müßte z.B. mit einem kleinen 8Bitter (ATtiny13) die Spannungen 
überwachen und dann über einen Analogschalter (74HC4066) die SD-Karte 
trennen, bzw. beim Power-On verzögert zuschalten.
#3668313
Lesenswert?

Georg schrieb:
> Bei einer Festplatte werden mit dem
> Herunterfahren die Köpfe ausserhalb des Datenbereichs geparkt - klappt
> das nicht, kann der Kopf beim Abschalten der Versorgung aufschlagen und
> Daten beschädigen, Software kann daran nichts ändern, es läuft ja keine
> mehr.
Das war mal so. Jede halbwegs neue Festplatte (dieses Jahrtausend) parkt 
die Köpfe mit der Rotationsenergie der Platten.

Peter Dannegger schrieb:
> bzw. beim Power-On verzögert zuschalten.
Das wird dem SoC nicht gefallen, da er unmittelbar von der SD-Karte 
booten will.
Gast #3668386
Lesenswert?

Also ich kann das Problem nicht nachvollziehen...habe ca. 20 von den 
Dingern aus verschiedenen Chargen (A und B) Version und die in jeglicher 
Hinsicht gequält..Ein kaputtes Dateisystem hatte ich noch nicht außer 
bei ganz billigen Samsung SD Karten..da war aber die komplette Karte 
jeweils hin nach nem Powerdown o.ä. Mit jegliche anderen Karten ist mir 
sowas noch nicht passiert... Nimm zB SanDisk Extreme Pro...
Gast #3668508
Lesenswert?

>Man müßte z.B. mit einem kleinen 8Bitter (ATtiny13) die Spannungen
>überwachen und dann über einen Analogschalter (74HC4066) die SD-Karte
>trennen, bzw. beim Power-On verzögert zuschalten.
Ich schätze mal, dass das genauso schlimm ist, wie einfach Strom weg.

Alles, was "neben" dem System läuft ist Gift.

Schaut euch mal die Formatierung eurer Karten an. Traditionell ist da 
oft FAT32 drauf. Also nix mit Journal und doppeltem Boden.
#3668539
Lesenswert?

Amateur schrieb:
> Schaut euch mal die Formatierung eurer Karten an. Traditionell ist da
> oft FAT32 drauf. Also nix mit Journal und doppeltem Boden.

Auch die vielen "Supergeheimen RasPi-Tuning-Tipps, die euch die 
Linux-Bonzen nicht verraten wollen" beginnen oft mit:

  tune4fs -O ^has_journal /dev/XXX

oder

  mkfs.ext4 -O ^has_journal /dev/xxx

Und gehen weiter mit (schon eher sinnvollen) Mount/fstab-Optionen wie

  data=writeback,noatime,nodiratime
Gast #3668579
Lesenswert?

>Woran fürde das Gerät denn merken, dass es Zeit zum Runterfahren ist?

Indem man des Stromausfall direkt detektiert, vor dem powersupply, und 
das powersupply kann aufgrund von irgendwas genuegend Power liefern um 
das Herunterfahren zu bewerkstelligen. Kann auch ein kleiner Akku sein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren