Zum Inhalt
Bytearium

Keine Werbung und keine Partnerlinks aktiv

Homelab & Storage

Raspberry Pi 5: SD, USB-SSD oder NVMe?

microSD (A2), USB-SSD oder NVMe am M.2 HAT+: Unterschiede bei Verschleiß, Tempo, Bootweg und Strombedarf und was zu deinem Pi 5 passt.

Ein Raspberry Pi 5 bootet von fast allem, was ein Betriebssystem fassen kann. Was du ihm gibst, entscheidet, ob er sich wie ein Spielzeug oder wie ein kleiner Server verhält.

Kurz gesagt

Fang mit einer guten microSD-Karte der Klasse A2 an, wenn der Pi leichte Aufgaben erledigt, du ihn sauber herunterfährst und ein Backup hast [1][5]. Wechsle auf eine USB-SSD, wenn du das einfachste Upgrade ohne Zusatzplatine willst und dein Netzteil 5 A liefert [13][14]. Nimm eine NVMe-SSD am M.2 HAT+, wenn der Pi viel schreibt, etwa als Datenbank-, Container- oder Dateiserver-Host [7][15]. Unsere Einschätzung: Für einen Pi, der jahrelang laufen soll, ist eine SSD (egal ob USB oder NVMe) die sicherere Grundlage, und die Geschwindigkeit ist der kleinere Gewinn. Raspberry Pi schreibt im eigenen Whitepaper, SD-Karten seien je nach Nutzung „susceptible to failure over time“, also anfällig für Ausfälle mit der Zeit [5].

So funktioniert’s

  1. Was das Board mitbringt. Der Pi 5 hat einen microSD-Slot mit dem schnellen Modus SDR104, zwei USB-3.0-Anschlüsse, die gleichzeitig mit je 5 Gbit/s arbeiten können, und eine einspurige PCIe-2.0-Schnittstelle für schnelle Zusatzgeräte. Die braucht einen Adapter, zum Beispiel ein M.2 HAT [16]. Das sind deine drei Wege zum Speicher. Die Firmware probiert Startquellen in einer Reihenfolge, die du ändern kannst. Steckt eine SD-Karte, versucht der Pi 5 zuerst sie [7].
  2. microSD: Was A1 und A2 versprechen. Die SD Association definiert „Application Performance Classes“ für Zufallszugriffe, und genau die braucht ein Betriebssystem überwiegend. A1 kam mit der Spezifikation SD 5.1. A2 kam mit SD 6.0 und setzt auf Command Queuing und einen Cache. A2-Tempo gibt es nur, wenn Karte und Gerät beide A2 können [4]. Raspberry Pi hat gegen die A1-Stufe getestet: mindestens 10 MB/s sequenziell schreiben, 500 Schreib- und 1.500 Lesezugriffe pro Sekunde zufällig [3]. Die eigenen offiziellen Karten sind A2 und für den Pi 5 mit 5.000 zufälligen Lese- und 2.000 zufälligen Schreibzugriffen pro Sekunde (4-kB-Blöcke) angegeben [1][2]. Diese Zahlen gehören zu diesen Karten an diesem Board. Eine Quelle, die dieselben Werte für andere Marken zusichert, haben wir nicht gefunden. Nimm „A2“ deshalb als Suchmerkmal, nicht als Garantie. Raspberry Pi merkt außerdem an, dass die Schreibgeschwindigkeit einer SD-Karte sinkt, je voller sie wird [3].
  3. microSD: Wie lange sie hält. Flash-Speicher verträgt nur eine begrenzte Zahl von Schreibzyklen. Die meisten Karten verteilen die Last per Wear Levelling und können trotzdem ausfallen, laut Whitepaper „von Monaten bis Jahren“, je nachdem, wie viel geschrieben oder gelöscht wird. Typisches Zeichen sind zufällige Dateifehler [5]. Dasselbe Whitepaper weist darauf hin, dass Linux im Hintergrund ständig Logs schreibt, auch wenn deine Anwendung nichts schreibt, und dass ein Stromausfall mitten im Schreibvorgang Daten beschädigen kann [5]. Die Gegenmittel: Markenkarte, weniger Schreibzugriffe, das Root-Dateisystem schreibgeschützt betreiben (raspi-config hat dafür eine Overlay-Option), die Boot-Partition schützen, Daten außerhalb des Geräts halten und eine USV nutzen [5]. „High Endurance“-Karten gibt es. Kingstons Datenblatt für die High-Endurance-microSD nennt 3K Programmier-/Löschzyklen und 26,9K Stunden Dauerbetrieb bei 24/7-Aufnahme für die dreijährige Garantie, mit A1 als Application Class [6]. Diese Stunden beschreiben Dauer-Videoaufnahme, also überwiegend sequenzielles Schreiben. Unsere Einschätzung: Eine solche Karte hilft bei logging-ähnlichen Aufgaben, doch ein Dashcam-Datenblatt sagt nichts darüber, wie sie sich bei vielen kleinen Zufallsschreibzugriffen verhält.
  4. USB-SSD: der Weg ohne Zusatzplatine. Der Pi kann von USB-Massenspeichern booten, wenn du USB (Boot-Modus 4) in die Bootreihenfolge aufnimmst [10][12]. Zwei Stolperfallen stehen in der Dokumentation. USB-SATA-Adapter können im Bootloader funktionieren und scheitern, sobald Linux den UAS-Modus wählt; boote deshalb erst von SD und prüfe, ob das Laufwerk unter Linux sauber läuft. Rotierende Festplatten brauchen in der Regel einen USB-Hub mit eigener Stromversorgung [12]. Als Messung haben wir nur einen Nutzerbericht: Ein Mitglied des Raspberry-Pi-Forums hat dieselbe NVMe-SSD in einer No-Name-USB-3-Bridge (RTL9210-Chip) und auf einem PCIe-Basisboard an einem Pi 5 mit 8 GB getestet. Über USB las das Laufwerk mit 359 MB/s, schrieb mit 254 MB/s (hdparm und dd) und schaffte etwa 29.000 zufällige 4-kB-Lesezugriffe pro Sekunde (fio). Mit PCIe Gen 2 waren es 417 MB/s lesen, 261 MB/s schreiben und rund 106.000 Zufallslesezugriffe pro Sekunde. Mit Gen 3 waren es 784 MB/s, 377 MB/s und rund 151.000 [18]. Eine Person, ein Laufwerk, nicht überprüfbar: Das zeigt die Größenordnung, keine Regel.
  5. NVMe am M.2 HAT+. NVMe ist ein Protokoll für Flash-Speicher über PCIe; Details stehen in unserem NVMe-Lexikoneintrag. Der M.2 HAT+ wandelt den PCIe-Anschluss des Pi auf einen M.2-Steckplatz mit M-Key um. Die Standardplatine nimmt Laufwerke im Format 2230 oder 2242, die Compact-Variante nur 2230. Die Dokumentation nennt eine einspurige PCIe-2.0-Schnittstelle mit 500 MB/s Spitzenübertragungsrate und bis zu 3 A Versorgung für das M.2-Gerät. Raspberry Pi OS erkennt den HAT+ automatisch [7]. Deine Firmware muss vom 6. Dezember 2023 oder jünger sein; sudo rpi-eeprom-update zeigt das Datum [7]. Ein neues, unformatiertes Laufwerk erscheint weder im Dateimanager noch in sudo blkid, bis du es partitioniert und formatiert hast, zum Beispiel mit der Löschfunktion im Raspberry Pi Imager. ls -l /dev/nvme* sollte /dev/nvme0 und /dev/nvme0n1 zeigen [7]. Trenne immer die Stromversorgung, bevor du am M.2-Steckplatz arbeitest [7]. Ein Adapter ohne HAT+-Konformität braucht dtparam=pciex1 in /boot/firmware/config.txt (Alias dtparam=nvme) und fürs Booten PCIE_PROBE=1 in der Bootloader-Konfiguration [8][10].
  6. PCIe Gen 2 oder Gen 3. Standardmäßig betreibt der Pi 5 den Anschluss mit Gen-2.0-Tempo (5 GT/s). Mit dtparam=pciex1_gen=3 in der config.txt oder in raspi-config unter Advanced Options, PCIe Speed hebst du ihn auf Gen 3.0 (8 GT/s). Raspberry Pi warnt, der Pi 5 sei für Gen 3.0 nicht zertifiziert und solche Verbindungen könnten instabil sein [7][8]. Die SSDs von Raspberry Pi selbst sind Gen-3-konform, haben das Format M.2 2230 und sind je nach Kapazität mit 40.000 bis 90.000 zufälligen Lesezugriffen pro Sekunde angegeben [15]. Messungen eines Testers (siehe unten) zeigen etwa das Doppelte bei sequenziellen Transfers mit Gen 3 und einen kleineren Gewinn bei kleinen zufälligen Schreibzugriffen. Unsere Einschätzung: Bleib bei Gen 2, solange du nicht den ganzen Tag große Dateien bewegst. Wenn du umschaltest, lass deine echte Last eine Weile laufen und lies das Kernel-Log (sudo dmesg) auf PCIe- oder NVMe-Fehler, bevor du dich darauf verlässt.
  7. Von NVMe booten. Schreib das Betriebssystem mit dem Raspberry Pi Imager auf das NVMe-Laufwerk. Läuft der Pi schon von einer SD-Karte, starte den Imager auf dem Pi und wähle das NVMe-Laufwerk als Ziel. Steckt keine SD-Karte, bootet der Pi 5 von selbst von NVMe; mit Karte probiert er zuerst die Karte [7]. Zum Ändern öffnest du sudo raspi-config, gehst zu Advanced Options, Boot Order und wählst NVMe/USB Boot. Diese Option versucht zuerst NVMe, dann USB, dann die SD-Karte [7][11]. Dasselbe geht in der Bootloader-Konfiguration (sudo rpi-eeprom-config --edit). Der Wert BOOT_ORDER wird von rechts nach links gelesen: 1 steht für SD, 4 für USB-Massenspeicher, 6 für NVMe und f für „Schleife neu starten“. BOOT_ORDER=0xf416 heißt also: NVMe, dann SD, dann USB, dann von vorn [8][10].
  8. Netzteil. Raspberry Pi empfiehlt für den Pi 5 sein 27-W-USB-C-Netzteil [13]. Das Whitepaper zu USB Power Delivery beschreibt die Folgen, wenn du weniger nimmst. Ohne 5-V-/5-A-Modus begrenzt der Pi die USB-Ports auf 600 mA statt 1,6 A, zeigt eine Warnung auf dem Desktop und schaltet USB-Boot ab, solange du nicht bewusst den Einschalter drückst. Laut Whitepaper können stromhungrige Geräte wie SSDs und Festplatten dann nicht richtig arbeiten, während der Pi selbst mit einem 3-A-Netzteil und genügsamen Peripheriegeräten einwandfrei läuft [14]. vcgencmd get_config usb_max_current_enable zeigt, ob das höhere Limit aktiv ist [13]. Die Einstellungen usb_max_current_enable=1 und PSU_MAX_CURRENT=5000 heben das Limit auf und erlauben USB-Boot wieder; die Dokumentation meint sie für Netzteile, die wirklich 5 A ohne USB PD liefern [14]. Setze sie nicht, um eine Warnung bei einem schwächeren Netzteil zum Schweigen zu bringen. Soweit wir der Dokumentation entnehmen können, belegt ein NVMe-Laufwerk am M.2 HAT+ das USB-Budget nicht, bezieht seinen Strom aber aus derselben Boardversorgung.
  9. Was Messungen zeigen. Die beste Tabelle, die wir gefunden haben, stammt aus einem Testbericht von CNX Software vom 19. November 2024. Er ließ iozone3 auf einem Pi 5 mit mehreren Datenträgern laufen [17]. Angaben in KB/s, wie dort gedruckt:
Datenträger (Pi 5)Sequenziell lesenSequenziell schreibenZufällig lesen 4 kBZufällig schreiben 4 kB
Raspberry-Pi-microSD 32 GB, Lauf 193.18040.22616.1336.104
Raspberry-Pi-microSD 32 GB, Lauf 291.76972.90926.65515.862
SanDisk A1 microSD 32 GB89.50120.14612.0512.439
Raspberry Pi SSD 256 GB, PCIe Gen 2440.835390.97658.477165.305
Raspberry Pi SSD 256 GB, PCIe Gen 3861.605739.59462.231209.284

Lies die Tabelle mit Vorsicht. Die beiden microSD-Zeilen sind dasselbe Kartenmodell in zwei Läufen; den Grund für den Unterschied nennt der gelesene Ausschnitt des Berichts nicht. Das sequenzielle Lesen liegt nahe am Grenzwert der Schnittstelle: etwa 440 MB/s mit Gen 2 und etwa 860 MB/s mit Gen 3. Die aussagekräftigste Spalte ist das zufällige Schreiben. Hier ist die SSD grob 10- bis 27-mal schneller als die Raspberry-Pi-Karte und etwa 68-mal schneller als die A1-Karte (unsere Rechnung aus der Tabelle). Diesen Abstand spürst du bei Datenbanken, Paketupdates und Containern. Der Bericht merkt außerdem an, beim Booten sei ein größerer Abstand zwischen microSD und NVMe erwartet worden, als gemessen wurde [17]. Es ist ein Tester, ein Board, ein Tag, und Haltbarkeitsdaten enthält die Messung nicht.

Wann was passt

LagePassender SpeicherWorauf du achtest
Erster Start, Lernen, ein Pi-hole oder ein Sensor-Logger mit wenig DatenmicroSD der Klasse A2 von einem bekannten HerstellerSauberes Herunterfahren, Backup der Karte, weniger Schreibzugriffe [5]
Kleiner Server, der Jahre läuft, aber keine Zusatzplatine brauchtUSB-SSD5-A-Netzteil, UAS-taugliche Adapter, Boottest vor dem Einsatz [12][14]
Viele kleine Schreibzugriffe: Datenbank, Container, DateiserverNVMe am M.2 HAT+Firmware-Datum, Bootreihenfolge, Laufwerk in 2230 oder 2242, Gen 3 erst nach Test [7][8]
Eine drehende Festplatte über USBUSB-Hub mit eigener StromversorgungFestplatten brauchen eigenen Strom [12]

Ein Beispiel zum Nachbauen (Befehle, kein Test)

Das ist ein Plan für deinen eigenen Pi, kein Bericht über unsere Systeme. Angenommen, ein Pi 5 läuft von einer SD-Karte, du hast das offizielle 27-W-Netzteil und einen M.2 HAT+ mit einem 2230-NVMe-Laufwerk. Aktualisiere zuerst System und Bootloader: sudo apt update && sudo apt full-upgrade, dann sudo rpi-eeprom-update und das Datum prüfen [7]. Fahre den Pi herunter, setze HAT+ und Laufwerk ein und starte wieder. Prüfe das Laufwerk mit ls -l /dev/nvme* [7]. Starte den Raspberry Pi Imager auf dem Pi, wähle Raspberry Pi OS und das NVMe-Laufwerk als Ziel und schreibe es [7]. Öffne dann sudo raspi-config, wähle Advanced Options, Boot Order, NVMe/USB Boot und starte ohne SD-Karte neu [7]. Prüfe mit lsblk, dass /boot/firmware und / jetzt auf nvme0n1p1 und nvme0n1p2 liegen [9]. Heb die alte Karte als Rettungsmedium auf. Lass PCIe in den ersten Wochen auf Gen 2. Wenn du Gen 3 später testest, füge dtparam=pciex1_gen=3 hinzu, starte neu, kopiere viele Daten und lies danach sudo dmesg [8].

Prüfliste

  • Entscheide, welcher der drei Wege zu deiner Last passt, bevor du etwas kaufst: leicht und meist lesend, langlaufend oder schreibintensiv.
  • Suche bei microSD eine A2-Karte eines bekannten Herstellers und halte ein aktuelles Backup von ihr bereit.
  • Verringere Schreibzugriffe auf einem microSD-System: Prüfe das schreibgeschützte Overlay in raspi-config und fahre über die Herunterfahren-Funktion herunter, nie durch Ziehen des Steckers [5].
  • Prüfe, ob dein Netzteil 5 V / 5 A bietet, bevor du eine USB-SSD anschließt, und lies mit vcgencmd get_config usb_max_current_enable das aktive Limit aus [13][14].
  • Boote einmal von SD und bestätige, dass dein USB-SATA-Adapter unter Linux läuft, bevor du das System darauf verschiebst [12].
  • Aktualisiere Betriebssystem und Bootloader, bevor du den M.2 HAT+ einbaust, und prüfe, dass sudo rpi-eeprom-update den 6. Dezember 2023 oder später zeigt [7].
  • Formatiere ein neues NVMe-Laufwerk und bestätige dann, dass /dev/nvme0 und /dev/nvme0n1 existieren [7].
  • Lege die Bootreihenfolge bewusst fest und teste einen Start ohne SD-Karte [7][11].
  • Lass PCIe auf Gen 2, solange es dir nicht auf sequenzielles Tempo ankommt, und behandle Gen 3 als Experiment, das du zurücknehmen kannst [7][8].
  • Teste eine Wiederherstellung aus deinem Backup auf einer zweiten Karte oder einem zweiten Laufwerk, egal welchen Speicher du wählst.

Primärquellen

Diese Quellen sind die Grundlage der Seite. Das heißt nicht, dass jede Aussage einzeln nachgeprüft wurde; ob ein Prüfbeleg vorliegt, steht oben unter „Stand“. Einordnung und Prüfliste sind unsere eigene Arbeit.

Für diese Fassung liegt noch kein dokumentierter Prüfbeleg vor. Der Text stützt sich auf die genannten Quellen.

Entstehung: Bytearium erstellt diese Seiten mit Unterstützung von KI und verantwortet die Veröffentlichung. KI kann sich irren, deshalb nennen wir Quellen und Prüfstand offen.

  1. Raspberry Pi LtdSD Cards
  2. Raspberry Pi LtdRaspberry Pi SD Cards
  3. Raspberry Pi LtdRaspberry Pi SD Card Speed Test
  4. SD AssociationApplication Performance Class
  5. Raspberry Pi LtdMaking a more resilient file system
  6. Kingston TechnologyHigh-Endurance microSD Memory Card for Security, Body and Dash Cams
  7. Raspberry Pi LtdM.2 HAT+
  8. Raspberry Pi LtdPCIe on Raspberry Pi
  9. Raspberry Pi LtdNVMe SSD boot
  10. Raspberry Pi LtdRaspberry Pi bootloader configuration
  11. Raspberry Pi LtdFirmware, change the boot order
  12. Raspberry Pi LtdUSB mass storage boot
  13. Raspberry Pi LtdPower supply
  14. Raspberry Pi LtdUSB Power Delivery on Raspberry Pi 5
  15. Raspberry Pi LtdSSDs
  16. Raspberry Pi LtdRaspberry Pi 5
  17. Jean-Luc Aufranc, CNX SoftwareRaspberry Pi SSD Kit and Class A2 microSD cards review with Raspberry Pi 5
  18. Raspberry Pi ForumsRaspberry Pi Forums: Forum thread on an NVMe SSD in a USB 3 enclosure versus an NVMe adapter on the Pi 5 (user-reported

Auf dieser Seite gibt es keine Werbung und keine Partnerlinks.