Dieser Vortrag präsentiert ein praxiserprobtes Systemkonzept zur Maximierung der Ausfallsicherheit und Lebensdauer von Raspberry-Pi-Systemen im professionellen und industriellen Dauereinsatz. Kern der Architektur ist eine vom IBM OS/2 Warp 3 Redbook abgeleitete Drei-Umgebungen-Partitionierung (Wartungssystem/Env1, Produktion A/Env2, Produktion B/Env3) in Kombination mit schreibgeschützten Overlay-Dateisystemen (OFS) und einer gemeinsamen, persistenten Datenpartition (/data).
Ergänzt wird das Software-Design durch Hardware-Resilienzmaßnahmen: Reduktion von Flash-Schreibzugriffen (Ramdisks, Wear-Leveling-Reserven), dedizierte Kühlung, Nutzung des nativen BCM2835-Hardware-Watchdogs und Notfall-Boot-Umschaltung via GPIO-Pin 21. Die Bereitstellung erfolgt vollautomatisch über modular aufgebaute Bash-Skripte und Git-Branches (u. a. X2Go-Server/Client, Multiport-Druckerserver mit statischem udev-Port-Mapping). Abschließend demonstriert der Referent das ausfallsichere Über-Kreuz-Update im laufenden Betrieb sowie ein systemweites Status-Debugging über SPI-Displays.
Wichtigste Punkte & Zeitstempel
00:00:04 Einführung und Projektkontext: Stefan Bauer (Bauer ITC, ORCA e.V.) stellt das Konzept des ausfallsicheren Raspberry Pi OS vor, das auf automatisierten Shell-Skripten, A/B/C-Partitionierung und modularer Hardware-Steuerung basiert.
00:02:33 Industrieller Einsatz und Compute Modules: Widerlegung von Instabilitäts-Mythen bezüglich Raspberry Pi im Profibereich durch Verweis auf Compute Modules (10 Jahre Verfügbarkeit) und Anwendungsbeispiele wie LoRa-Gateways und KVM-over-IP-Systeme.
00:04:10 Flash-Speicher-Schonung und Wear-Leveling: Maximierung der Mediums-Lebensdauer durch Log-Umleitung in Ramdisks, Deaktivierung unnötiger Schreibzugriffe und Bereitstellung von 20 % unpartitionierter Speicherreserve für Wear-Leveling-Controller.
00:05:13 Hardware-Auswahl und Thermisches Management: Vergleich von Speichermedien (eMMC, USB 3.0 SSDs, NVMe vs. MicroSD); Notwendigkeit passiver/aktiver Kühlung zur Vermeidung thermischer Drosselung sowie Aktivierung des internen Hardware-Watchdogs.
00:09:58 Bewährte USB-Medien und SMART-Fehlalarme: Analyse geeigneter USB-Sticks; Klärung produktionsbedingter SMART-Fehlalarme (z. B. SanDisk Cruzer) aufgrund fehlender Reservezellen bei verbauten SSD-Controllern.
00:11:35 Drei-Umgebungen-Architektur nach IBM Redbook: Implementierung eines Redundanzkonzepts mit drei Umgebungen: Env1 (Minimale Wartung/SSH), Env2 (Produktion A) und Env3 (Produktion B) zur Vermeidung von Remote-Systemausfällen.
00:13:55 Partitionsstruktur und Netzwerk-Bridging: Aufteilung des Speichers in drei Boot-Partitionen, drei Root-Partitionen und eine persistente Datenpartition (/data) sowie Standardeinrichtung der Netzwerk-Bridge br0 zur flexiblen Ethernet-Durchschleifung.
00:16:19 Git-Repository und Branch-Übersicht: Vorstellung der Bereitstellungs-Branches (main, example, minimal, x2goserver, x2goclient sowie Single-/Multiport-Printserver).
00:20:46 System-Provisionierung und Cloud-Init: Automatisierter Workflow mit Raspberry Pi Imager, Cloud-Init-Integration, eMMC-Flashen via rpiboot und automatischer SSH-Public-Key-Injektion.
00:23:14 Zentrale Konfiguration (base_install.conf): Anpassung von Umgebungsparametern, temporären Pfaden (mind. 15 GB Speicherplatz), USB-Netzwerk-Debugging und SPI-Display-Treibern.
00:25:08 Hardware-Umschalter und LED-Statuscodes: Erzwingen des Env1-Wartungsboots durch Auf-Masse-Ziehen von GPIO-Pin 21; optische Rückmeldung der aktiven Umgebung via Activity-LED-Blinkmuster (Herzschlag = Env1, 50/50 = Env2, Dauerlicht = Env3).
00:27:45 Skript-Skalierung und Overlay Filesystem (OFS): Funktionsweise der Installationsskripte im Ordner /templates/ bzw. /custom/ sowie systemweite Aktivierung von Read-Only-Overlay-Root-Dateisystemen.
00:32:51 Praxis-Demo X2Go-Server und Cross-Updates: Demonstration einer CM5-Instanz; Durchführung eines gefahrlosen System-Updates von Env3 aus der laufenden Env2-Umgebung heraus über ein Chroot-/Skript-Verfahren.
00:40:42 Umschaltlogik für Produktionseinsatz: Ablauf von Über-Kreuz-Updates: Aktualisierung der inaktiven Partition, einmaliger Test-Boot (boot_next.sh) und finale, dauerhafte Boot-Umschaltung (permanent_boot_switch.sh).
00:42:22 Thin-Client-Einrichtung mit OpenBox: Bereitstellung eines minimalen Thin Clients (Raspberry Pi 4 / Gönerphone-Hardware) mit OpenBox, Tint2 und automatischem X2Go-Client-Start.
00:46:22 Debugging via SPI-Display & Statisches udev-Mapping: Ausgabe von Systemzuständen und IP-Adressen auf SPI-Displays ohne Netzwerkverbindung; Etablierung fester udev-Regeln (/dev/persistent_lp/) zur hardwaregebundenen Zuweisung von USB-Druckerports (9100–9103).
00:53:42 Experten-Skripte und X2Go-Community: Übersicht über Verwaltungs-Skripte in /usr/local/sbin/ zum manuellen Toggeln des Overlay-Schutzes sowie Spendenaufruf für die Open Remote Computing Association (ORCA e.V.).
Glossar
Overlay Filesystem (OFS): Ein Dateisystem-Mechanismus, der eine beschreibbare Arbeitsspeicher-Schicht über ein schreibgeschütztes Dateisystem legt. Alle Systemänderungen werden im RAM abgelegt und nach einem Neustart vollständig verworfen.
Wear-Leveling: Ein Logik-Algorithmus in Flash-Speichercontrollern, der Schreibzugriffe gleichmäßig über alle Speicherzellen verteilt, um die Abnutzung einzelner Blöcke zu verhindern.
Hardware Watchdog: Ein physischer Timer-Schaltkreis im Prozessor, der das System automatisch neu startet, sobald die Software aufgrund eines Aufhängers kein regelmäßiges Lebenszeichen mehr sendet.
Compute Module (CM): Eine für industrielle Einbettung optimierte Bauform des Raspberry Pi ohne Standard-Buchsen, die über Steckverbinder auf ein kundenspezifisches Trägerboard (Baseboard) montiert wird.
eMMC (embedded MultiMediaCard): Ein fest auf der Platine verlöteter Flash-Speicherbaustein mit eigenem Controller, der deutlich robuster und langlebiger ist als wechselbare MicroSD-Karten.
udev: Ein Subsystem des Linux-Kerns zur dynamischen Verwaltung von Geräteknoten im Ordner /dev/, mit dem Geräte anhand ihrer physischen Steckplätze festen Namen zugewiesen werden können.
Cloud-Init: Ein standardisiertes Software-Werkzeug zur automatisierten Erstkonfiguration von Betriebssystem-Instanzen beim ersten Systemstart (z. B. Erstellen von Benutzern, Einbinden von SSH-Schlüsseln).
SPI (Serial Peripheral Interface): Ein busorientierter Standard für die serielle Datenübertragung, über den Peripheriegeräte wie kleine Kontrolldisplays direkt an den GPIO-Pins des Raspberry Pi betrieben werden.
X2Go: Eine quelloffene Remote-Desktop-Software, die grafische Bildschirmsitzungen bandbreitenschonend und verschlüsselt über das SSH-Protokoll überträgt.
Ramdisk: Ein virtuelles Laufwerk im Arbeitsspeicher (RAM) des Computers, das für ultraschnelle, flüchtige Schreib- und Lesezugriffe ohne Belastung physikalischer Datenträger genutzt wird.