Mythos oder Wahrheit – Fallen SD-Karten bei einem Raspberry Pi tatsächlich so häufig aus?

Seit der Einführung des Raspberry Pis im Jahr 2012 verwendet der Einplatinenrechner eine SD-Karte als Speichermedium für das Betriebssystem.

Und seit dieser Zeit gibt es immer wieder Berichte im Internet zu lesen, dass die SD-Karte unzuverlässig sei und ein Ausfall jederzeit möglich sei.

Was ist aber dran an dieser Aussage? Fallen die SD-Karten wirklich so häufig aus?

Eine Antwort versucht der Artikel "Raspberry Pi And The Story Of SD Card Corruption" auf ➡ hackaday.com zu geben, auf den ich vor kurzem gestoßen bin.

Der Autor versucht in dem Beitrag über die Ursachen und Mythen und die Vor- und Nachteile bei der Verwendung von SD-Karten ein wenig aufzuklären.

Er geht dabei auf die Anfänge des Raspberry Pis im Jahr 2012 ein, wo die Treiber der SD-Kartencontroller Probleme verursacht und zu Ausfällen der SD-Karten geführt haben. In der Zwischenzeit wurden die nach und nach gelöst wurden und die Ausfälle werden seltener.

Das bedeutet aber nicht, dass es keine Ausfälle von SD-Karten mehr gibt. Nach wie vor gibt es diese, wie auch bei anderen Speichermedien, was im Abschnitt "Why Do Cards Still Fail?" klar beschrieben wird.

Soll man nun aber die SD-Karten vermeiden und auf SSD-Festplatten und USB-Sticks setzen? Schließlich kann der Pi auch von solchen, "vermeintlich" sichereausfallsicheren Speichermedien ein Betriebssystem starten. Aber auch externe Festplatten die zusätzliche Technik kann kaputtgehen und ausfallen. Ist das wirklich besser?
Der Autor des Artikels sagt dazu, es hängt ab, was man mit dem Pi erreichen möchte.

Bei allen meinen Pis habe ich nach wie vor SD-Karten mit unterschiedlicher Speichergröße (8 – 32GB) im Einsatz. Zwar habe ich mal mit dem Gedanken gespielt von einer Festplatte zu booten und dadurch die SD-Karte zu ersetzen, aber ich habe mich aus den Gründen dagegen entschieden

  1. SD-Karte kann ich mit dd einfach und schnell sichern
  2. Wiederherstellung ist sehr schnell möglich
  3. Kosten für SD-Karten sind sehr überschaubar
  4. keine zusätzliche Stromversorgung für Festplatten notwendig
  5. schneller Boot-Vorgang

Vor einiger Zeit hatte ich das Problem, dass ein USB-Stick sich ganz langsam verabschiedet und dadurch den Boot-Vorgang meines Pis massiv gestört hat.
Aus diesem Grund habe ich meinen Backup-Prozess geändert und das Skript imagebackup geändert.

Das Ganze habe ich in diesem Artikel beschrieben:

Nicht zu verachten ist auch das Thema mit der Stromversorgung des Raspberry Pis. Die SD-Karten bieten hier einen klaren Vorteil gegenüber anderen Speichermedien, sie verbrauchen nicht wirklich Strom. Jedoch kann eine schwache Energieversorgung auch negative Auswirkungen auf die Speicherkarte haben und zu einem verfrühten Ausfall führen.

Backup, Backup, Backup

Unabhängig davon, welches Speichermedium verwendet wird, kann es immer zu einem Ausfall oder Defekt kommen und damit zu einem Datenverlust. Deshalb ist es unabdingbar ein regelmäßiges Backup und evtl. noch ein weiteres Backup zu erstellen, je nachdem wie wichtig die Daten sind.

Selbst habe ich bisher bei meinen Pis noch keinen Ausfall einer SD-Karte zu beklagen gehabt. Jedoch tausche ich die Speicherkarten bei meinen Produktivsystemen in regelmäßigen Abständen, ~ 3 Jahre, aus.

Die alten, getauschten Karten verwende ich dann teilweise weiterhin in Testumgebungen. Wenn da eine Karte ausfällt und es zu einem Datenverlust kommt, ist das nicht weiter schlimm. Das ist aber bei mir auch noch nicht passiert.

Bei den Produktivsystemen sieht das dagegen anders aus. Da ich bei einem möglichen Ausfall einer SD-Karte keine Lust habe, das gesamte Betriebssystem neu zu installieren und zu konfigurieren, erstelle ich mit Hilfe eines Shell-Skripts in regelmäßigen Abständen ein komplettes Image der SD-Karte. Das kann ich im Notfall oder beim geplanten SD-Karten-Wechsel sehr einfach wieder auf eine neue SD-Karte flashen.

Imagebackup-Skript – Optimiert

Wenn der Datenbestand bei einem Pi auf einer externen Festplatte oder einem angeschlossenene USB-Stick liegt, wie z.B. das Nextcloud-Datenverzeichnis, dann erstelle ich auch mit Shell Script ein Backup auf ein zweites Speichermedium, um einen Datenverlust vorzubeugen.

Für die Adressbücher und Kalender habe ich mir dazu ein kleines Skript gebaut, dass genau diesen Zweck erfüllt.

Photo by Michael Dziedzic on Unsplash