SD-Karten Fehler => read-only

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich habe das Problem, dass es beim Pi ab und zu scheinbar zu Fehlern auf der SD-Karte kommt, und diese dann in den read-only Modus gebracht wird. Beispiele, wie die dmesg dann aussieht:

    pi_img_0897vvkuw.png

    oder
    pi_img_10254hjmb.png

    Das ist insofern blöd, als der Webserver NGINX mit meiner Connair Funksteckdosensteuerung dann nicht mehr läuft, da er Schreibmöglichkeiten verlangt.

    Zum Grundproblem: Am Anfang passierte mir das bei einer alten SD-Karte zunehmend häufig, am Ende schon nach ein paar Stunden.
    Mit einer neuen SD-Karte lief erst alles gut, dann tauchte der Fehler aber wieder ab und zu auf. Im Internet findet man so einige Threads dazu, u.a.
    http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=36533
    Es liest sich, als wäre das ein grundsätzliches Problem des Pi. Dann aber wiederum würde ich erwarten, dass man noch viel mehr dazu liest, auch hier z.B.
    Nach Anleitungen im Netz habe ich diverse Bereiche auf der SD-Karte auf read-only gesetzt, um die Schreibzugriffe zu minimieren. Das hat es auch gebessert, aber so alle 1-2 Wochen taucht der Fehler doch noch auf, und ich muss den Pi neu starten.
    Ist euch das Problem bekannt oder habe ich doch nur ein Montagsmodell?

    Zur Abhilfe:
    Blöd ist, dass man auf den Fehler erst stösst, wenn ich eben meine Steckdosen schalten will. Dann hilft nichts anderes, als den Pi neu rebooten. Das senkt natürlich den WAF enorm, denn außer mir kann den Pi niemand per SSH mal eben neu starten.
    Gibt es vielleicht eine Möglichkeit, irgendwie z.B. per Cronjob auf den beschriebenen Fehler (SD-Karte wurde als read-only gemountet) zu prüfen, und dann den Pi automatisch neu zu booten? Das würde die Situation auf jeden Fall verbessern. Optimal wäre allerdings selbstverständlich, wenn er gar nicht mehr auftauchen würde.
    Der Pi ist nicht (mehr) übertaktet und bekommt Strom über dieses Netzteil:
    http://www.amazon.de/gp/product/B0091CJQMQ/?tag=psblog-21 [Anzeige]
    Ansonsten hängt am Pi noch eine 2,5"-HDD.

    Wer weiß Rat?

  • Auch wenn es weh tut: Der Pi ist ein Spielzeug!
    Für den professionellen Einsatz herzlich wenig geeignet.


    Zitat

    Ansonsten hängt am Pi noch eine 2,5"-HDD.


    Dann lagere das Betriebssystem doch nach dahin aus.
    Damit dürfte er deutlich stabiler laufen.
    Zumindest, was das SD Karten Problem betrifft.

    spruch.png

  • oder nur noch auf USB Stick schreiben

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Dazu hätte ich mal ein paar Fragen:

    • Ist dein PI übertaktet? Wenn ja dann poste mal bitte deine /boot/config.txt
    • Um was für eine SD handelt es sich und wie alt ist die?
    • Was machst du mit dem PI sonst noch?
    • Hast du bereits checkdisk über die SD laufen lassen? Wenn nein dann führ mal bitte folgendes aus:

      Code
      shutdown -rF now



    Auch wenn es weh tut: Der Pi ist ein Spielzeug!
    Für den professionellen Einsatz herzlich wenig geeignet.

    Dann ist dein PC aber auch ein Spielzeug!

    Der PI ist genau so für professionellen Einsatz geeignet wie jeder andere PC/MAC/whatever auch. Nur weil man damit basteln kann bedeutet es nicht das er ein Spielzeug sei...


    Dann lagere das Betriebssystem doch nach dahin aus.
    Damit dürfte er deutlich stabiler laufen.
    Zumindest, was das SD Karten Problem betrifft.

    Jein.
    Es muss weiterhin von der SD gelesen bzw gebootet werden. Die GPU greift beim einschalten auf die SD zu und verarbeitet cmdline.txt sowie config.txt und läd dann den Kernel und die Firmware.. Erst danach würde auf ein USB-Gerät zugegriffen werden. Gibt es also bereits hier Probleme mit der SD wird auch das auslagern nichts bringen


  • Auch wenn es weh tut: Der Pi ist ein Spielzeug!
    Für den professionellen Einsatz herzlich wenig geeignet.

    arbeitest du beim Finanzamt ? so argumentierten die schon 1989 zum Atari obwohl ich prof. Prüfprogramme entwickelte weil ich da einfach mehr Speicher hatte und das auch dem FA beweisen konnte ! :lol:


    Dann ist dein PC aber auch ein Spielzeug!
    Der PI ist genau so für professionellen Einsatz geeignet wie jeder andere PC/MAC/whatever auch.

    :thumbs1::thumbs1::thumbs1:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)


  • Und was ist ein WAF

    WAF

    sehr wichtig daheim für den Frieden, d.h. keine Kabelfreileitungen, keine 8 Boxen verkabelt und stark dominierend sichtbar für das perfekte Heimkino uvam. :lol:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)


  • Es gibt aber auch wirklich für jeden Scheiss ne Abkürzung.

    ist aber uralt


    Bei mir is das ganz einfach gelöst....Ich find es cool...

    ich hatte meine Wohnung geplant als gerade aus Stereo Quadro wurde und so in jede Ecke sowie Einspeisepunkt an der Medienschrankstelle unter Putz Lautsprecheranschlüsse im passenden Design zu Steckdosen und Schalter gewählt, Gira S-Color. Ein Paar Anschlüsse für Stereo mit 2x 2,5mm² und DIN mit DIN 180° 5-pol Buchsen für Aktivboxen.

    Ist nie was draus geworden, Stereo reicht mir, aber wo die Boxen stehen ist mir nun freigestellt ohne Kabelverlegung. (ich wäre auch gar nicht hinterher gekommen, dolby surround, dolby digital, 5.1 - 6.1 - 7.1 - 8.1 usw.)


    ...mein Weibchen gewöhnt sich daran.

    tut sie oder muss sie ? :lol:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Mein PC ein Spielzeug?
    OK, ich habe ein Billigding im Einsatz.
    Optimiert auf geringe Lautstärke und geringen Stromverbrauch.
    Aber unter 30W (ohne Monitor) komme ich nicht.

    Aber denke nur an Dualnetzteile, RAID Plattenstapel usw....
    Im PC, oder besser Serverbereich, kann man sich das System passend zusammenstöpseln.

    Viele der verfügbaren Steckernetzteile sind grottig. (Siehe andere Threads)
    Der Ottonormaluser hat keine Chance da die guten VOR dem Kauf raus zu finden.
    Die USB und Netzwerkanbindung ist lahm.
    Die SD Karten sterben wie die Fliegen. (10.000 Schreibzyklen garantiert)

    Und natürlich muss der Kernel auf der SD Karte bleiben. Aber das ganze GNU Zeugs kann ausgelagert werden. Eben auf eine Platte oder einen Stick. Wobei der Stick allerdings auch ein Flash Speicher ist und dem entsprechend wenig Vorteile bringt.

    Zitat

    arbeitest du beim Finanzamt ?


    Nein, habe mich aber lange Zeit im Maschinenbau mit SPS (Speicher programmierbaren Steuerungen) rum geschlagen. Hätten wir dort PC Komponenten verwendet, hätte der TÜV ein Veto eingelegt. Mit Recht.

    Nee...
    Der Pi ist eine Bastelstube.
    Weit jenseits von professioneller Technik.

    Der PI ist ganz nett, für kleine Spielereien zuhause, aber in sicherheitskritischen Bereichen fehl am Platze. Auch einen unbeaufsichtigten Betrieb über Jahre halte ich für ausgeschlossen.
    Es ist und bleibt ein Wackelkandidat.
    Er ist super, wenn man sich mit Linux beschäftigen will.
    Um kleine Elektronik Basteleien zum laufen zu bringen.
    Ein Spaßobjekt, mehr nicht.

    Erheblich stabiler ist die Arduino Schiene.
    Ich habe jetzt 2 Projekte umgestellt, bei denen eigentlich ein Pi im Einsatz war.
    Jetzt laufen dort ein Arduino Mega und ein Due.
    Stabil.

    spruch.png


  • Viele der verfügbaren Steckernetzteile sind grottig. (Siehe andere Threads)
    Der Ottonormaluser hat keine Chance da die guten VOR dem Kauf raus zu finden.

    stimmt :thumbs1:


    Die SD Karten sterben wie die Fliegen. (10.000 Schreibzyklen garantiert)

    stimmt auch leider


    Nee...
    Der Pi ist eine Bastelstube.
    Weit jenseits von professioneller Technik.

    sehe ich ja auch so ;)


    Der PI ist ganz nett, für kleine Spielereien zuhause, aber in sicherheitskritischen Bereichen fehl am Platze.....
    Erheblich stabiler ist die Arduino Schiene.
    Ich habe jetzt 2 Projekte umgestellt, bei denen eigentlich ein Pi im Einsatz war.
    Jetzt laufen dort ein Arduino Mega und ein Due.
    Stabil.

    und im Job mache ich das genauso ! ein Arduino ist gerade im entstehen einer mass Anzeige für Massenspektroskopie ;) (das selber verdrahten von AVR pur habe ich mir abgewöhnt)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Dann ist dein PC aber auch ein Spielzeug!

    Der PI ist genau so für professionellen Einsatz geeignet wie jeder andere PC/MAC/whatever auch. Nur weil man damit basteln kann bedeutet es nicht das er ein Spielzeug sei...

    Der Pi vielleicht - das eingesetzte Speichermedium leider nicht (sofern nicht wenigstens Industrie-SD-Karten eingesetzt werden). Ohne ECC wären viele Consumer-Karten gar nicht nutzbar. SD-Karten haben nicht den Anspruch langlebig zu sein sondern sind billige Speicher. Bei PC-HDDs gibt es zumindest SMART, so etwas fehlt bei SD-Karten gänzlich.
    Ich kann da nur immer wieder auf den entsprechenden Vortrag beim 30C3 verweisen.

  • Leute Leute...
    hier kann schon wieder jemand nicht zwischen Microcontroller und PC-ähnlichem System unterscheiden...
    Den Raspberry KANN MAN NICHT mit dem Arduino vergleichen. Ja der Raspberry hat GPIOs, aber wer sich den raspberry holt um nur mit GPIOs rumspielen zu können der hat tatsächlich die falsche Wahl getroffen!
    Der Raspberry ist ein System auf dem ein Betriebssystem läuft, und damit muss er mit PC/MAC u.ä. verglichen werden!
    Und ich kenne keinen PC/MAC oder sonst ein System mit halbwegs aktuellem Betriebssystem das die hier geforderten Sicherheiten bietet, warum gibt es wohl überall wo es sicherheitskritishc ist Ersatz-Systeme die 24/7 mitlaufen und Monitoringsysteme die die im Falle einer Störung umschalten?

    Und bei der Menge an normalen Festplatten die mir schon abgeraucht sind verstehe ich niemanden der auf SD-Karten schimpt. Und wenn du dann Industrie-Varianten ins Feld bringst, dann verglieche auch mit SD-Karten der entsprechenden Preisklasse!

    Das SSD-Problem mit den beschränkten Schreibzyklen... es gibt extrem wenig Berichte über Platen und Karten die daran gestorben sind, viel öfters gibt die Elektronik auf.
    Und wenn eine SD-Karte man aufgibt... dann hat man ein Backup und ist innerhalb von Stunden wieder online. Oder man hat ein Ersatzsystem mit Monitoring und hat einen Maximalausfall von 1min.

  • Gibt es vielleicht eine Möglichkeit, irgendwie z.B. per Cronjob auf den beschriebenen Fehler (SD-Karte wurde als read-only gemountet) zu prüfen, und dann den Pi automatisch neu zu booten?


    Hi,

    das müsste sich doch über ein kleines Script bewerkstelligen lassen, das du per cronjob ausführen lässt.
    In etwa wie:

    mount | grep "Partitionsname" | grep read-only && sudo shutdown -r

    Wenn du nicht mit sudo arbeiten möchtest, gibts im Netz diverse Anleitungen, wie der shutdown-Befehl ohne root zum laufen gebracht wird.

    Gruss

    Boa


  • Das SSD-Problem mit den beschränkten Schreibzyklen... es gibt extrem wenig Berichte über Platen und Karten die daran gestorben sind, viel öfters gibt die Elektronik auf.
    Und wenn eine SD-Karte man aufgibt... dann hat man ein Backup und ist innerhalb von Stunden wieder online. Oder man hat ein Ersatzsystem mit Monitoring und hat einen Maximalausfall von 1min.

    Da hast du schon recht - nur bei SSDs und HDDs kann man via SMART zumindest "bad block remapping" auslesen und im Auge behalten. SD-Karten-Controller machen das zwar auch, aber man kommt nicht an die Werte ran (wüsste zumindest nicht wie). D.h. sind keine freien Blöcke mehr frei, ist das FS auf einmal read-only, ganz ohne vorherige Warnung. Selbst bei normalen Consumer-HDDs und SSDs wird man vorher gewarnt oder kann die Werte auslesen und dann selbst entscheiden, ob man die Platte weiterverwenden möchte.
    Dazu kommt, dass HDDs und SSDs i.d.R. wesentlich größer sind und die Zahl der freien Blöcke zur Wiederzuweißung im Falle eines Ausfalls von Blöcken größer ist. Auch die Schreibzyklen nehmen mit zunehmender Größe des Speichermediums bei gleicher Verwendung dramatisch ab.

  • Na hier geht ja die Post ab...
    Ich wollte keinen Glaubenskrieg starten ;)

    Ich verlange kein ausfallsicheres System, aber es wäre eben schön, wenn ein fast nur vor sich hin schlafender Pi nicht dann und wann "abstürzen" würde. Und so schnell können SD-Karten bei mir und vielen anderen nun auch nicht über den Jordan gehen.

    Weitere Infos, die hier auch angefragt wurden:
    Ich verwende eine Kingston SDHC Secure Digital Speicherkarte 8 GB Class 4 Karte, gekauft Anfang Februar.

    Auf dem Raspberry Pi läuft
    -Der RPi-Monitor, der Daten über Temperatur, Auslastung, etc. sammelt und grafisch aufbereitet
    -Ab und zu pyLoad, das starte ich aber nur bei Bedarf manuell
    -Ein NGINX Webserver auf dem die Connair Webapp installiert ist, mit der ich per Smartphone meine Funksteckdosen schalte.
    -Ansonsten greife ich per Samba auf die am Pi hängende HD zu.

    Im Grunde genommen hat der Pi also die meiste Zeit quasi nichts zu tun, er dient hauptsächlich als Netzwerkfestplatte und Funksteckdosensteuerung.

    Zum Minimieren der Schreibzugriffe habe ich der /etc/fstab folgendes hinzu gefügt:

    Code
    tmpfs    /tmp                   tmpfs    defaults,noatime,size=100m    0 0
    tmpfs    /var/tmp               tmpfs    defaults,noatime,size=30m    0 0
    tmpfs    /var/log               tmpfs    defaults,noatime,size=100m    0 0
    tmpfs    /var/run               tmpfs    defaults,noatime,size=2m    0 0
    tmpfs    /var/spool/mqueue      tmpfs    defaults,noatime,size=30m    0 0
    tmpfs    /var/lock              tmpfs    defaults,noatime, 0  0

    So sieht die Uptime-Statistik seit meiner neuen SD-Karte aus:
    uptimee0swo.jpg
    Gewollte manuelle Reboots hatte ich nur sehr selten, in den meisten Fällen habe ich die aufgrund des read-only-Fehlers ausgeführt.


    Zitat

    shutdown -rF now


    habe ich ausgeführt, hat augenscheinlich ganz normal gebootet, und dann? Finde ich dann irgendwo ein Log?

    Zitat

    mount | grep "Partitionsname" | grep read-only && sudo shutdown -r


    Das sagt mir als Linux-Neuling nicht viel, per Google finde ich auch nicht viel zu dieser speziellen Anforderung bzw. eine Grep-Syntaxerklärung.
    Kann mir das jemand erklären? Das Tool Grep sucht in der dmesg nach read-only und führt dann einen Reboot aus oder wie?

    Einmal editiert, zuletzt von pigeldi (23. Juni 2014 um 20:48)

  • kurze Erklärung:
    mount zeigt die eingebundenen Partitionen, die Ausgabe des mount- Befehls wird mit pipe ( | ) an grep weitergeleitet, zuerst wird nach dem Namen der gewünschten Partition gesucht, das Ergebnis wird mit pipe weitergeleitet, dann wird nach dem Eintrag read-only gesucht, wenn die Suche nach read-only Erfolg hatte, wird mit shutdown -r der Raspi neu gestartet.
    Das ist sicherlich keine elegante Lösung, sollte aber als Script laufend, erstmal dafür sorgen, das dein System bei dem genannten Fehler neu startet.

    Boa


  • kurze Erklärung:
    mount zeigt die eingebundenen Partitionen, die Ausgabe des mount- Befehls wird mit pipe ( | ) an grep weitergeleitet, zuerst wird nach dem Namen der gewünschten Partition gesucht, das Ergebnis wird mit pipe weitergeleitet, dann wird nach dem Eintrag read-only gesucht, wenn die Suche nach read-only Erfolg hatte, wird mit shutdown -r der Raspi neu gestartet.
    Das ist sicherlich keine elegante Lösung, sollte aber als Script laufend, erstmal dafür sorgen, das dein System bei dem genannten Fehler neu startet.

    Boa

    Danke für die Erklärung, aber ich bekomme das trotzdem noch nicht hin.
    Der Fehler ist da, die dmesg sagt in der letzten Zeile

    Code
    [118810.819674] EXT4-fs (mmcblk0p2): Remounting filesystem read-only

    Wenn ich jetzt

    Code
    mount | grep mmcblk0p2 | grep read-only && sudo shutdown -r


    ausführe, passiert aber gar nichts.

    Habe ich die Partition falsch interpretiert? Das ist doch der betroffene Partitionsname, auch laut fstab?!

    Code
    proc            /proc           proc    defaults          0       0
    /dev/mmcblk0p1  /boot           vfat    defaults, noatime 0       2
    /dev/mmcblk0p2  /               ext4    defaults,noatime  0       1

    Eine Idee, wo mein Fehler liegt?


  • Das ist sicherlich keine elegante Lösung, sollte aber als Script laufend, erstmal dafür sorgen, das dein System bei dem genannten Fehler neu startet.

    Das wäre in der Tat nicht elegant und auf keinen Fall eine Lösung - damit umgeht man nur ein mögliches Problem aber behebt es nicht.

    Aus meiner Sicht wäre es besser ein checkdisk anzustoßen und das geht eben nur wenn das Laufwerk nicht gemountet ist. Das erreicht man durch 2 Wege:
    - shutdown -rF now
    wobei -F für "force checkdisk" steht (siehe man shutdown)
    - touch /forcefsck und anschließend shutdown -r now

    Dann würde er beim booten vor dem Mounten das Laufwerk überprüfen und ggf fehlerhafte Sektoren reparieren.

    Es sollte aber reichen einfach einen remount durchzuführen, was aber dann auch nicht das Problem löst und eine Endlosschleife auslösen könnte:

    Code
    mount | grep mmcblk0p2 | grep read-only && mount -o remount /

    Aber wie gesagt würde auch das nicht wirklich eine schöne Lösung sein bzw eher nur ein Workaround.

    Es wäre also besser festzustellen ob die SD am sterben ist und woran das liegen könnte -> Entweder weil immer noch zu viel darauf herum geschrieben wird oder weil die SD einfach schrott is und generell frühzeitig stirbt.


    Danke für die Erklärung, aber ich bekomme das trotzdem noch nicht hin.
    Der Fehler ist da, die dmesg sagt in der letzten Zeile

    Code
    [118810.819674] EXT4-fs (mmcblk0p2): Remounting filesystem read-only

    Wenn ich jetzt

    Code
    mount | grep mmcblk0p2 | grep read-only && sudo shutdown -r


    ausführe, passiert aber gar nichts.

    Das liegt daran dass der Befehl unvollständig ist. Es fehlt der Zeitpunkt wann er den shutdown+reboot durchführen soll, also: now
    Vollständiger Befehl: shutdown -r now

    Oder ganz einfach stattdessen den Befehl reboot nutzen ;)



    Habe ich die Partition falsch interpretiert? Das ist doch der betroffene Partitionsname, auch laut fstab?!

    Code
    proc            /proc           proc    defaults          0       0
    /dev/mmcblk0p1  /boot           vfat    defaults, noatime 0       2
    /dev/mmcblk0p2  /               ext4    defaults,noatime  0       1

    Eine Idee, wo mein Fehler liegt?

    Da ist ein Fehler in deiner Syntax. Du darfst bei den Optionen kein Leerzeichen setzen da das ansonsten eine neue Spalte ist. also zwischen defaults, und noatime muss das Leerzeichen weg!
    Übrigens wären folgende Optionen für eine SD besser geeignet da das Laufwerk dann mehr geschont wird:

    Code
    defaults,noatime,nodiratime,commit=120

    Aber nur weil du pyLoad vllt nicht oft verwendest bedeutet das ja auch nicht das es zu dem Zeitpunkt dann wenig zu tun hat oder wenig auf dem Systemlaufwerk herum schreibt/löscht. Am besten wärs du schließt dir dafür ein extra USB-Stick an worauf pyLoad dann die heruntergeladenen Dateien ablegt.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!