Forum: PC-Programmierung RasPhi plötzlich read only


von Simon (Gast)


Lesenswert?

Hallo

Ich hab ein Python Skript auf meinem RasPhi3 laufen, das jede Minute 
1byte an Daten in eine LogDatei schreibt. Das lief nun einige Tage 
problemlos.
Heute morgen dann plötzlich Fehlermeldung:

...f.write(logtext)
IOError: Errno 30 Read-only file system


Das Problem scheint sich aber nicht nur auf die LogDatei zu beschränken. 
Bei z.B. "nano logger.py" bekomme ich auch eine Fehlermeldung:

-bash: /bin/nano: Eingabe-/Ausgabefehler


kennt jemand das Problem und weiß den Grund?

von DPA (Gast)


Lesenswert?

Schau mal ins dmesg, die SD Karte ist vermutlich gerade am ausfallen. 
Bei Dateisystemen, die mit der remount-ro option gemountet wurden, 
wechseln diese beim ersten Fehler in den readonly modus, um weiteren 
Schaden zu vermeiden oder zumindest zu reduzieren.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Deine SD-Karte wird sich zerlegt haben.

BTW:
Beim Wortspiel mit dem Himbeerkuchen geht es um Pi (π), nicht um Phi 
(φ).

von Zeugen Torvalds (Gast)


Lesenswert?

Vielleicht ist der Kernel "tainted". Dann gehen nur noch Lesezugriffe.

von Zeugen Torvalds (Gast)


Lesenswert?

Also je nachdem wie Du es gemacht hast kann entweder etwas abgestürzt 
sein (unwahrscheinlich) oder das Speichermedium wird falsch verwendet 
(wahrscheinlich).

Beim Schreiben auf so ein Flash-Medium wird normalerweise eine gesamte 
"Page"  beschrieben. Du möchtest ein Byte schreiben, es wird aber eine 
ganze Seite (~sector) geschrieben. Die Karte verbraucht sich dann recht 
schnell.

Also immer nur ganze Pages auf das Flash schreiben. Alternativ kann man 
eeproms oder Magnetblasenspeicher einsetzen. Die sind dafür da (siehe 
auch den Sinn von EEProms in AVR-Controllern).

von Museumswärter (Gast)


Lesenswert?

> Magnetblasenspeicher

Die könnte man nur noch im IBM-Museum stehlen.


> jede Minute 1byte
> einige Tage

60  24  7

wären grade mal 10 k Zugriffe.
Das hat die SD-Karte bestimmt nicht ruiniert.

Du scheinst keine Ahnung zu heben was dein Python da wirklich treibt.


Wenn es zuverlässig sein soll, nimmt man auch keine Inselaffentechnik.

Ein PIC mit einem EEPROM würde noch im übernächsten Jahrtausend
Daten schreiben.

von Raspi Benutzer (Gast)


Lesenswert?

Bei Consumer-Karten sagt man, eine Page lässt sich 1000 mal beschrieben. 
Auch wenn du dein Programm änderst, beim Raspian hast du das selbe 
Problem mit dem /var/log.

Es gibt einen Tip - eine größere Karte kaufen und nur einen Teil nutzen. 
Das waer leveling sollte dann reihum die am wenigsten benutzen Pages 
beschreiben. Allerdings finden sich weder im Standard noch bei den 
Herstellern konkrete Angaben dazu.

Am besten du betrachtest die Karte als Verschleißteil – legst die 
Backups so an, dass du die Karte jederzeit einfach auswechseln kannst.

(Hatte mal Datenlogger mit Raspis und rrdtool gebaut. Saublöde Idee. 
Alle Karten waren nach einigen Monaten hinüber.)

von Klaus H. (klummel69)


Lesenswert?

Mein RaspPi läuft im Dauerbetrieb. Er läuft jetzt seit über 4 Jahren mit 
der gleichen SD Karte und speichert darauf in eine SQLite Datenbank alle 
10s Messdaten.

Der Trick ist, unnötige Schreibzugriffe zu reduzieren. Es gibt genug 
Anleitungen im Internet dazu:
z.B. https://www.datenreise.de/raspberry-pi-stabiler-24-7-dauerbetrieb/

>Museumswärter schrieb:
>Wenn es zuverlässig sein soll, nimmt man auch keine Inselaffentechnik.

Na ja, etwas überheblich, oder?
Ich würde es anders formulieren: Wenn es zuverlässig sein soll, sollte 
man die Fallstricke der Technik kennen.

>Ein PIC mit einem EEPROM würde noch im übernächsten Jahrtausend Daten schreiben.

Da kenn ich durchaus einige Entwickler, die zig PICs durch Unachtsamkeit 
zerschossen haben...
Warum vergleichst Du hier Äpfel mit Birnen?

von (prx) A. K. (prx)


Lesenswert?

Ich hatte mal mit einer Serie von Servernetzteilen zu tun, die nach 
vielen Jahren auf der 5V-Schiene schwach wurden. Und die wird praktisch 
nur von Disk-I/O verwendet.

Die Symptome waren immer gleich. Windows flog irgendwann weg, Linux lief 
seelenruhig weiter, aber auf r/o. Nach Reboot ging es wieder, aber erst 
nach Netzteiltausch stabil.

Es könnte sich dabei also auch um einen Sicherheitsmechanismus im Linux 
handeln, der bei sporadischen I/O-Problemen auf r/o geht.

: Bearbeitet durch User
von Museumswärter (Gast)


Lesenswert?

> Na ja, etwas überheblich, oder?

Mein Notendurchschnitt im Fach "Elektronische Schaltungstechnik"
war 1.0. Über alle (Uni-)Semester, also Praktika, Testate und
Prüfungen.

So einen Murks, sowohl in konstruktiver als auch
schaltungstechnischer Hinsicht, hätte ich jedenfalls
nicht abgeliefert.

Da ist Inselaffentechnik noch ein vornehmes Wort.


Es ist und bleibt ein Spielzeug. Wer es für mehr einsetzt,
nimmt Ausfälle billigend in Kauf.

von Ralf (Gast)


Lesenswert?

Museumswärter schrieb:
> Mein Notendurchschnitt im Fach "Elektronische Schaltungstechnik"
> war 1.0. Über alle (Uni-)Semester, also Praktika, Testate und
> Prüfungen.
Bei uns wurden solche Streber in der großen Pause verprügelt.


Im Ernst:
Es lässt sich sicher streiten für welche ein Raspberry Pi geeignet ist, 
oder nicht.
Aber wenn Titulierungen wie "Inselaffentechnik" vorkommen, dann lässt 
mich das vermuten, du bist ein "Experte" der besonderen Art.
.

von Horst (Gast)


Lesenswert?

Das ist zu 99% die SD-Karte. Linux schreibt gerne regelmäßig auf das 
Filesystem (Log-Files). Irgendwann gehen die Sektoren nacheinander 
kaputt. Wenn es nur Logdaten sind, merkt man es nicht. Früher oder 
später trifft es aber dann Bereiche in denen ausführbare Programme 
liegen.

Das Schreiben von Logfiles könnte man natürlich deaktivieren oder 
/var/log als ramfs einhängen. Ich hatte das früher auch regelmäßig (ca. 
2x im Jahr, war aber auch zu faul mir das System sauber einzurichten), 
bis ich eben auf ramfs umgestiegen bin bzw. später den RPi3 gegen einen 
NUC mit ordentlicher SSD ausgetauscht habe!

von Ralf (Gast)


Lesenswert?

Horst schrieb:
> Das ist zu 99% die SD-Karte.
Dass das Problem an der SD-Karte liegt ist sicher richtig.

Aber ob die Logfiles so viel ausmachen, möchte ich bezweifeln.
Ich behaupte diese Logfiles belegen nur einige Kilobyte. Bis hier ein 
Schaden auf einer (sagen wir 8 GB) SD-Karte bemerkbar wird, sollten 
einige Jahre vergehen.

von Bernd K. (prof7bit)


Lesenswert?

Auch der SD-Kartentreiber versteht mittlerweile das TRIM Kommando, damit 
bekommt man unbenutzte Sektoren wieder frei fürs Wear-Leveling 
(ansonsten kann die Karte nicht wissen daß sie frei sind). Also einmal 
am Tag per cron-Job fstrim drüber rutschen lassen.

: Bearbeitet durch User
von Klaus H. (klummel69)


Lesenswert?

Museumswärter schrieb:
> Mein Notendurchschnitt im Fach "Elektronische Schaltungstechnik"
> war 1.0. Über alle (Uni-)Semester, also Praktika, Testate und
> Prüfungen.
>
> So einen Murks, sowohl in konstruktiver als auch
> schaltungstechnischer Hinsicht, hätte ich jedenfalls
> nicht abgeliefert.

Ich bezweifel nicht Deine Fähigkeiten und ich bezweifel nicht die Mängel 
der RaspPi Hardware.

Aber ein System, dessen Mängel ich kenne, ist mir allemal lieber als ein 
System dessen Leichen noch niemand entdeckt hat. Immerhin hat diese 
Technik sich 17Millionen mal verkauft.

Und auch wenn Du der Papst der Hardware-Entwicklung bist, halte ich die 
Wortwahl nicht für angemessen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.