NEWS
Lebensdauer der Speicherkarte am Raspberry
-
Der einfachste und billigste Trick ist wohl einfach flashmemory/folder2ram einrichten und nur jede x Minuten auf den flash zu flushen . Dadurch wird verhindert das jeder bit sofort auf die sd karte gehammert wird, was dank Write amplification die Lebensdauer der SD Karte drastisch verkürzt.
Armbian hat das z.B. schon ab Werk mit drinnen, bei Raspbian ist meines Wissens Handarbeit nötig.
Eine teuere SD Karte ist nicht nötig. Aus performance Gründen sollte man allerdings besser zu einer >=A2 deklarierten Karte greifen welche 4000 IOP/s lesend und 2000 IOP/s schreibend garantiert. Die sequenzielle Schreibrate, üblicherweise in MB/s angegeben hat im übrigens kaum einen Einfluss auf die Systemperformance oder Stabilität. Liegt daran das ein OS keine großen Daten sequenziell weg schreibt sondern viele kleine junks.
-
@OpenSourceNomad sagte in Lebensdauer der Speicherkarte am Raspberry:
Armbian hat das z.B. schon ab Werk mit drinnen
Armbian hat auch eine größere Reserve an Zellen, da beim resize nicht die ganze SD verwendet wird (zumi9ndest bei kleineren SD-Karten)
Daher habe ich auch beim Tinkerboard über Jahre mit einer SD-Karte nie Probleme gehabt
-
@OpenSourceNomad sagte:
nur jede x Minuten auf den flash zu flushen
Die von ioBroker am häufigsten geschriebene Datei ist die states.json, die normalerweise alle 30 s geschrieben wird. Diesen Zyklus habe ich auf 10 Minuten erhöht - trotz SLC Flash. History-Daten werden in die RAM-Disk (tempfs) geschrieben. Swap ist abgeschaltet.
-
@Homoran sagte in Lebensdauer der Speicherkarte am Raspberry:
Armbian hat auch eine größere Reserve an Zellen, da beim resize nicht die ganze SD verwendet wird (zumi9ndest bei kleineren SD-Karten)
Und dann verwenden die SD-Karten die nichtbelegten Bereiche automatisch für wear levelling? Können das alle SD-Karten?
Und bei meiner letzten OPi Neukonfiguration hat Armbian aus 2GB RAM kurzerhand mal 1GB gemacht. Nobody is perfect.
-
@paul53 sagte in Lebensdauer der Speicherkarte am Raspberry:
History-Daten werden in die RAM-Disk (tempfs) geschrieben.
Standardmäßig oder per Spezialeinstellung?
-
@Homoran said in Lebensdauer der Speicherkarte am Raspberry:
Armbian hat auch eine größere Reserve an Zellen, da beim resize nicht die ganze SD verwendet wird (zumi9ndest bei kleineren SD-Karten)
Daher habe ich auch beim Tinkerboard über Jahre mit einer SD-Karte nie Probleme gehabt
Das liegt mit Sicherheit nicht daran das nicht der ganze Speicher partitioniert ist. Bei einem Flash speicher werden nie die gleichen Zellen beschrieben sondern der Controller bestimmt welche die fittesten sind.
Die Aussage ist wohl noch aus einer Zeit wo Solid State Disks neu waren und kein wear leveling hatten. Aber auch damals war das bereits Mumpitz weil ganz allein zählt wieiviel Bytes geschrieben werden (Heute bei SSD typischerweise in TBW angegeben). Ob ich nun eine 32GB Karte habe und nur 16GB davon partitioniere wird diese exakt so schnell altern wie wenn ich diese voll partitioniere (vorausgesetzt sie verrichten auch exakt die selbe Arbeit).
Viele Mythen halten sich leider viel zu lange...
-
@klassisch sagte:
Standardmäßig oder per Spezialeinstellung?
Per Pfadzuweisung in der Instanz-Konfiguration.
-
@paul53 said in Lebensdauer der Speicherkarte am Raspberry:
Die am häufigsten geschriebene Datei ist die states.json, die normalerweise alle 30 s geschrieben wird. Diesen Zyklus habe ich auf 10 Minuten erhöht - trotz SLC Flash. History-Daten werden in die RAM-Disk (tempfs) geschrieben.
Nicht zu vergessen was dein Betriebssystem während der Laufzeit alles wegschreibt...
-
@klassisch said in Lebensdauer der Speicherkarte am Raspberry:
Und dann verwenden die SD-Karten die nichtbelegten Bereiche automatisch für wear levelling? Können das alle SD-Karten?
Nein und nein
@OpenSourceNomad said in Lebensdauer der Speicherkarte am Raspberry:
Viele Mythen halten sich leider viel zu lange...
@klassisch said in Lebensdauer der Speicherkarte am Raspberry:
Und bei meiner letzten OPi Neukonfiguration hat Armbian aus 2GB RAM kurzerhand mal 1GB gemacht. Nobody is perfect.
Wohl eher der user vor dem Schirm
@klassisch said in Lebensdauer der Speicherkarte am Raspberry:
Nobody is perfect
-
@OpenSourceNomad sagte:
kein wear leveling hatten.
Was wohl immer noch auf billige SD Cards zutrifft.
-
@paul53 said in Lebensdauer der Speicherkarte am Raspberry:
Was wohl immer noch auf billige SD Cards zutrifft.
Wohl eher fake SD Karten.
Da man die Hersteller (weltweit) von SD Karten, welche selber auch Flash Zellen herstellen, sowieso an einer Hand abzählen kann, kennt man man ja auch die wenigen seriösen Anbieter am Markt. Alle anderen Arbeiten, wenn man Glück hat, mit dem Ausschuss der SSD Produktionen der Flash Produzenten... und wenn man Pech hat, gut Nacht
-
@paul53 sagte in Lebensdauer der Speicherkarte am Raspberry:
Per Pfadzuweisung in der Instanz-Konfiguration.
Ok, das steht bei mir
c:\ioBroker-data\History\
Habe jetzt gerade mal nachgeschaut:
Meine SSD, die ich gebracuht gekauft habe, baut 6.7%-Punkte pro Jahr ab, 6.5 TBW. Mit allen Spielereien und den anderen Programmen, die noch auf dem Rechner laufen. Sollte also noch die nächsten Jahre Ruhe haben...Btw: Du hast noch "Speichere Quelle von Ereignis mit" angekreutz. Das habe ich nicht. Was bedeutet das und welche Vorteile hat das?
-
@klassisch sagte:
"Speichere Quelle von Ereignis mit" angekreutz. Das habe ich nicht. Was bedeutet das
In der Tabelle wird auch "from" mit aufgezeichnet, was bei Fehleranalysen hilfreich sein kann.
-
@klassisch said in Lebensdauer der Speicherkarte am Raspberry:
Habe jetzt gerade mal nachgeschaut:
Meine SSD, die ich gebracuht gekauft habe, baut 6.7%-Punkte pro Jahr ab, 6.5 TBW. Mit allen Spielereien und den anderen Programmen, die noch auf dem Rechner laufen. Sollte also noch die nächsten Jahre Ruhe haben...Bitte immer im Hinterkopf haben das (betrifft das gesamte SMART monitoring, MTBF etc.) die maximalen TBW immer eine Schätzung ist. Sprich dir kann es deinen Speicher auch jederzeit vor Ablauf der rechnerischen Lebensdauer zerschießen. Seriöse Hersteller geben üblicherweise zumindest auf ihre teuren professional Produkte eine minimale TBW an bis welche dann auch die Garantie greift sollte vorher Schluss sein. Ein automatisiertes Backup, mit regelmäßiger Überprüfung, ist natürlich so oder so Pflicht.
Mit einer SSD bisst du übrigens ebenfalls von der write ampflification (kurz gesagt: das eine bit was du schreiben willst wird mehrfach in den flash gehämmert und lässt so den flash speicher schneller altern) betroffen. Eine folder2ram/flashmemory Konfiguration kann also die, bei SSDs im besten Fall bereits schon lange, Lebensdauer noch einmal verlängern.
@klassisch @paul53 Ich würde mich generell nicht so sehr auf das optimieren von einzelner software/prozesse konzentrieren sondern einmal systemweit, also im Betriebsystem, flashmemory/folder2ram konfigurieren. So hat man nicht nur weniger Arbeit sondern vor allem auch die Gewissheit das alle Prozesse die laufen nicht den guten Flash Speicher unnötig altern lassen.
-
Wie kann man ein Backup vom RasPi auf sein NAS automatisieren? Welches Tool würdet ihr empfehlen?
Außerdem habe ich vor einigen Tagen in einem Blog eine sehr gute Lösung für euer Anliegen gelesen. Leider finde ich den link nicht mehr.
Der Author des Blogs wollte auch die Speicherkarte schonen. Dann hat er über linux extras installiert. Dadurch ging der RAM und auch die CPU hoch. Die schreibzugriffe hatten sich aber um den Faktor 100 verringert. Ich weiß nicht mehr was das war, aber er war sehr zufrieden. Eventuell weiß jemand was ich da gelesen habe.
-
@Paul-OL sagte in Lebensdauer der Speicherkarte am Raspberry:
Wie kann man ein Backup vom RasPi auf sein NAS automatisieren? Welches Tool würdet ihr empfehlen?
Backitup
-
@Paul-OL said in Lebensdauer der Speicherkarte am Raspberry:
Dadurch ging der RAM und auch die CPU hoch. Die schreibzugriffe hatten sich aber um den Faktor 100 verringert. Ich weiß nicht mehr was das war, aber er war sehr zufrieden. Eventuell weiß jemand was ich da gelesen habe.
flashmemory/folder2ram genau einem post über deinem
-
@OpenSourceNomad sagte:
folder2ram einrichten
Das ist eine sehr gute Variante, die ich nutze für die Verzeichnisse
- /var/log
- /opt/iobroker/iobroker-data/history
da beim Herunterfahren der Inhalt vom RAM in den Flash geschrieben wird und beim Systemstart wieder zurück.
Leider ist folder2ram nicht für einzelne Dateien (states.json, states.json.bak) geeignet. Das gesamte Verzeichnis iobroker-data ist zu groß und würde zu viel RAM verbrauchen. -
@paul53 said in Lebensdauer der Speicherkarte am Raspberry:
Das ist eine sehr gute Variante,
Um nicht zu sagen essentiell. Es schont ja nicht nur die Lebensdauer der Speicherkarte sondern sorgt auch für ein spürbar flüssigeres System weil sich der disk i/o nicht unnötig staut bottleneck beseitigt
-
@paul53 sagte in Lebensdauer der Speicherkarte am Raspberry:
Das gesamte Verzeichnis iobroker-data ist zu groß und würde zu viel RAM verbrauchen.
Bei mir sind es aktuell 'nur' 164 MB (
du -sh iobroker-data
und ohne Aufzeichnung der History) auf dem RPi 3B+, den ich sowieso aber nochmal mit einem 4er ersetzen möchte. folder2ram werde ich mir jetzt schon mal anschauen