Hallo,
ich betreibe einen Raspberry Pi 3 24/7 als Server für eine
Wetterstation. Darauf läuft weewx. Die Daten werden in einer MySQL
Datenbank gespeichert. Die ersten Probleme traten jedoch bald auf: Das
Dateisystem wird korrupt. Da ich SD Karten ohnehin nicht besonders weit
traue, habe ich das System auf Read-Only gesetzt und die Datenbank auf
einen externen USB Stick ausgelagert. Auch dem vertraue ich nicht, daher
wird einmal täglich ein Backup auf einem NAS abgelegt.
Auch der USB Stick gab den Geist schnell auf, wobei ich hier noch eine
Chance sah, da der Stick, wie sich später herausstellte aus einer
defekten Charge gekommen sein könnte.
Die Bilanz bis dahin:
1 SD Karte korrupt
1 SD Karte defekt
1 USB Stick defekt
Heute habe ich dann Änderungen am System durchgeführt und dafür das
System in den Read-Write Modus gebracht. Zunächst startete nach einem
Reboot weewx nicht mehr, da der Python Cache (pyc Dateien) in Teilen
korrupt geworden war. Die Behebung war durch Löschen dieser Daten
leicht, ich ahnte jedoch schon etwas.
Nächster Versuch, und es stellt sich heraus, dass der MySQL Server nicht
startet. Die Datenbank auf dem USB ist offenbar zeitgleich beschädigt
worden. Beide Datenträger sind noch beschreibbar, die Daten jedoch nur
noch teilweise zu gebrauchen.
Anfangs dachte ich noch, dass Datenbanken und (billige) Flash Medien
sich nicht besonders gut vertragen. Der gleichzeitige Ausfall heute
lässt mich aber vermuten, dass es ein Problem mit der
Spannungsversorgung gibt, denn auf der SD Karte hätte so gut wie nichts
geschrieben werden dürfen.
Ich gehe davon aus, dass die Spannung am Netzteil einbricht.
Spannungsspitzen sollten nicht auftreten, da der Pi bisher keinen Defekt
hatte. Mit einem Oszilloskop werde ich mal nachmessen, wenn das Wetter
wieder besser ist. Allerdings treten die Probleme nur alle paar Wochen
auf, daher ist es fraglich, ob ich dabei überhaupt etwas finden würde.
Kann ein Spannungseinbruch Flash Medien bis zur Unlesbarkeit
beschädigen? Was passiert dabei und fallen jemandem noch andere mögliche
Ursachen ein? Hat jemand Erfahrungen mit Datenbanken auf USB Sticks oder
SD Karten?
Die allermeisten Probleme kommen von mangelhafter Stromversorgung,
üblicherweise sind Handylader eine schlechte Wahl weil die Spannung sehr
schwanken kann, ungenügende Ausgangselkos.
Einem Handy MIT Akku ist das egal und gepuffert vom Akku läuft das Handy
sogar.
Dem PI fehlt nun dieser Puffer und alle Schwankungen können voll
durchkommen.
Ferner gibt es immer dünnere USB Kabel, da wird um jedes µ Kupfer
gespart und einige 100mV Spannungsabfall gerade beim starken PI3 reichen
dann schon aus.
Meine (unsere) Erfahrung aus dem PI Forum, schlechte Netzteil mit
dünnste Kabel führen am häufigsten zu Mysterien.
Optimal ist ein sogenanntes PI3 Netzteil mit etwas mehr Spannung und
mehr Kupfer in der Zuleitung.
Mit Feld-Wald- und Wiesen Netzteilen und Kabeln kann man das halt nicht
immer optimale Arbeitsweise erwarten.
Hatte schon Probleme mit der Stromversorgung.
Ursache war der Stecker, wenn man dran wackelt gab es Probleme.
Ein anderes vom gleichen Typ hatte das gleiche Problem.
Das original RaspiNetzteil mit der Himbeere gab es keine Probleme.
Hab einen Raspi schon mehr als 1-2 Jahre 7/24 laufen, ist immer
noch die gleiche Speicherkarte. 16G Samsung Pro.
Hier werkelt immer noch die erste 4 GB SD-Karte im Pi(1).
Umbauten: Die Polyfuse ist gebrueckt und ergaenzend zum
Mikro-USB-Anschluss ist eine 3.1 mm Hohlbuchse dazu gekommen.
Protipp: Sammle Deine Daten erst einmal in einer der vielen
(RAM-)Disks die ein Linux heute sowieso bereitstellt.
Kandidaten waeren z.B. unter /run oder /tmp und kopiere
die Daten dann alle 24 Stunden einmal auf Deinen USB-Stick...
Dann kann es auch nichts schaden, der Distribution alle nicht
noetigen Schreibzugriffe auf die SD-Card abzugewoehnen.
Dazu wirst Du mit G(oo)gle reichlich Hinweise finden
(z.B. mount mit noatime, log-Zugriffe unter /var, ...).
Eine DB auf einer SD-Card oder einem USB-Stick zu betreiben, ist
prinzipiell eine schlechte Idee!
Schließe an den Raspberry eine USB-Festplatte auf dem die DB-Files und
eventuell auch die entsprechenden Log-Files liegen. Alternativ, wenn du
irgendwo im Netz einen Server oder eine NAS betreibt, von dort ein
Verzeichnis einbinden...
Hallo,
gleich Mal vorweg: Die Raspberry Org hat ein eigenes Forum wo man
wahrscheinlich besseres Feedback bekommt als hier.
Hans schrieb:> Die ersten Probleme traten jedoch bald auf: Das> Dateisystem wird korrupt.
Wie genau hast du das festgestellt? Nach einem "sauberen"
Herunterfahren? Im laufenden Betrieb? Nach einem Crash?
> 1 SD Karte defekt
Also nicht nur korrupt? Wie hast du den Defekt festgestellt?
> 1 USB Stick defekt
Wie hast du den Defekt festgestellt? (ich nehme an, du meinst nicht das
DOA Modell).
> Nächster Versuch, und es stellt sich heraus, dass der MySQL Server nicht> startet. Die Datenbank auf dem USB ist offenbar zeitgleich beschädigt> worden. Beide Datenträger sind noch beschreibbar, die Daten jedoch nur> noch teilweise zu gebrauchen.
Nach einem sauberen Herunterfahren?
> Anfangs dachte ich noch, dass Datenbanken und (billige) Flash Medien> sich nicht besonders gut vertragen. Der gleichzeitige Ausfall heute
Ob billig oder nicht, viele reagieren mit Datenverlust auf Stromausfall.
In einem anderen Thread hier im Forum wurde letztens diskutiert, dass
bei Schreibzugriffen und Stromausfall auf SD selbst "zufällige" Blöcke
überschrieben werden können. Da hilf dann auch kein Journaling des
Filesystems.
> Ich gehe davon aus, dass die Spannung am Netzteil einbricht.
Stürzt der RPi ab oder läuft er durch?
> Spannungsspitzen sollten nicht auftreten, da der Pi bisher keinen Defekt> hatte. Mit einem Oszilloskop werde ich mal nachmessen, wenn das Wetter
Der Rpi3 hat einen Spannungswandler on-board.
> Kann ein Spannungseinbruch Flash Medien bis zur Unlesbarkeit> beschädigen? Was passiert dabei und fallen jemandem noch andere mögliche
Siehe oben. Allerdings denke ich, dass dann auch der Rpi
abstürzt/rebootet, was du in den Logs siehst.
Wenn du dich gegen einen Crash wappnen musst, dann ist ein
"zuverlässiges" Speichermedium notwendig, das nicht beliebige Blöck
zerschiesst (bspw. jede HDD; aber nicht jede SD-Card).
Danke für die vielen Antworten.
Mikro 7. schrieb:> Hans schrieb:>> Die ersten Probleme traten jedoch bald auf: Das>> Dateisystem wird korrupt.>> Wie genau hast du das festgestellt? Nach einem "sauberen"> Herunterfahren? Im laufenden Betrieb? Nach einem Crash?
Im laufenden Betrieb. Von jetzt auf gleich funktionierte z.B. der
Webserver nicht mehr und die Dateien waren unlesbar.
Mikro 7. schrieb:> Also nicht nur korrupt? Wie hast du den Defekt festgestellt?
Nicht mehr lesbar und nicht mehr formatierbar.
Mikro 7. schrieb:> Siehe oben. Allerdings denke ich, dass dann auch der Rpi> abstürzt/rebootet, was du in den Logs siehst.
Logs gibt es nicht, da das System normalerweise im Read Only läuft. Auf
die Uptime habe ich leider nicht geachtet.
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag
#4945230:
> Protipp: Sammle Deine Daten erst einmal in einer der vielen> (RAM-)Disks die ein Linux heute sowieso bereitstellt.
Würde ich machen, allerdings kann ich die MySQL Daten vermutlich
schlecht auf zwei Tabellen aufteilen, ohne die Software grundlegend zu
verändern.
50cent schrieb:> Schließe an den Raspberry eine USB-Festplatte auf dem die DB-Files und> eventuell auch die entsprechenden Log-Files liegen.
Das war auch schon mein Plan und wäre auch der nächste Schritt gewesen.
Es ist aber nunmal auffällig, dass zwei Speichermedien auf einmal
vergesslich geworden sind. Da möchte ich nicht nur Symptome bekämpfen,
zumal die SD Karte ohnehin kaum beschrieben worden sein kann.
50cent schrieb:> Alternativ, wenn du> irgendwo im Netz einen Server oder eine NAS betreibt, von dort ein> Verzeichnis einbinden...
Auch das würde ich machen. Leider ist die WLAN Verbindung dank
freundlicher Nachbarn nicht so besonders stabil und ein lokaler
Zwischenspeicher würde wieder Umprogrammierung bedeuten.
Joachim B. schrieb:> Mit Feld-Wald- und Wiesen Netzteilen und Kabeln kann man das halt nicht> immer optimale Arbeitsweise erwarten.
Genau mein Standpunkt. Der USB Stecker ist beim Pi 3 ohnehin viel zu
schwach für eine zuverlässige Versorgung. Deshalb gehe ich auch mit den
Kabeln auf die entsprechenden Testpads unterhalb der USB Steckers. Das
Netzteil ist ein 12V / 5V Netzteil. Kabelquerschnitt ist in Ordnung und
die rote LED am Pi flackert auch nicht. Vom Gewicht her kann es aber
durchaus sein, dass es nicht besonders gut stabilisiert ist.
Ich werde demnächst mal ein anderes Netzteil ausprobieren, von dem ich
weiß, dass es einen anderen Pi zuverlässig und über lange Zeit betreibt
Ich bin Netzteil vorhin mit dem Oszilloskop auf den Pelz gerückt. Das
Ergebnis wenig überraschen, aber doch erschreckend: Die Spannung ist
alles andere als stabil. Neben der starken Welligkeit ist die Spannung
zwar im Mittel 5V, aber auch gerne mal etwas drüber oder drunter.
Ich habe jetzt noch einen Pi B aufgetrieben und ein neues Netzteil.
Damit sollte es laufen und ein Pi B reicht für die Aufgaben Locker aus.
To be continued...
Seitdem ich ganz auf SD Karten im Pi verzichte, habe ich auch keine
Probleme mit Korrupten Daten mehr. Allerdings nutze ich auch nur Kodi.
Warum lässt du die DB nicht auf dem Nas laufen?
Hans schrieb:> Jetzt wo der 5V Teil unbelastet ist, arbeitet> auch der 12V Teil nicht mehr richtig
1.Das ist nicht verwunderlich wenn 2 Spannungen erzeugt werden und die
EINE Regelstrecke nicht weiß wo sie richtig messen soll.
2.Deinen 5V könnte evtl. ein kleiner Keramik-Abblock-C nah am
Verbraucher z.B. 33nF helfen (falls was schwingt)?
Erfahrungen...
wenn man in Updates pro Sekunde rechnet, sind die Karten nach einem Jahr
hinüber. Lassen sich nicht mal mehr im PC beschreiben.
Wenn man in Updates pro Minute rechnet -- so einmal im Jahr hängt sich
der Raspi auf, einfach Strom aus/an und er läuft weiter.
Noch einer schrieb:> wenn man in Updates pro Sekunde rechnet, sind die Karten nach einem Jahr> hinüber. Lassen sich nicht mal mehr im PC beschreiben.
Ach, wenn ich die Karte doch nur im Jahresintervall tauschen müsste.
Nunja, seit der Nutzung eines neuen Netzteils und einer frischen Karte
scheint der Pi zuverlässig zu laufen. Die Datenbank liegt ohne auf einem
USB Stick. Nicht besser, aber leichter zu tauschen.