NEWS
Suche optimalen ioBroker Systemaufbau mittels RaspberryPi
-
Hallo zusammen,
ich hatte jetzt nach einem Update + dist-upgrade vom Raspberry Pi 2 ioBroker image ein Problem welches aktuell noch in der Ursachenforschung ist.
Da ich möglicherweise das komplette System (Hard- und Software) neu aufsetzen werde möchte ich vorab nach optimalen Lösungen hierfür fragen.Als Hardware habe ich:
- Pi 2
- SD Card Samsung Evo 32GB
- deconz zigbee Stick
- Stick für enocean
Software:
- ioBroker image für Pi
Ich möchte gerne folgendes berücksichtigen:
- Schreibzugriffe auf SD Karte absolut minimieren ggf. unter Einsatz einer externen SSD/HDD
- Backup des kompletten Systems ca. 1 Monat + (täglich per BackItUp Adapter, ist klar).
1:
Ich stelle mir vor, dass ich für das System auf der SD Karte 1 kleine Partition erstelle um die Größe eines Systemimages klein zu halten. Ebenso die externe SSD/HDD. Welche Größen wären für ein ioBroker System ausreichend? 4GB?
Kann man die SD Karte per "DD" so einfach backuppen und bei Bedarf wieder Wiederherstellen oder ist da zwingend ein Gast-OS zu verwenden? Kann man auf einem Pi 2 ein Linux von einem USB Stick booten?2:
Kann ich bei Defekten einfach die Hardware untereinander tauschen?- Pi_alt + SD-Karte_backup
- Pi_neu + SD-Karte_alt
- Pi_neu + SD-Karte_backup
?
3:
Oder ist es gar möglich, eine ioBroker Instanz komplett isoliert vom Betriebssystem zu verwenden. So eine Art "ioBroker portable"?Danke schonmal
ps: ich möchte gerne auf einem Pi setzen, da dieser gute Kompatibilitäten und Ersatzteilgarantien bietet. -
@matzeit sagte: Kann man auf einem Pi 2 ein Linux von einem USB Stick booten?
Nicht direkt: Boot-Partition auf SD Card und root fs auf USB-Stick / SSD funktioniert (Anleitung). Ich verwende einen 16 GB SLC-USB-Stick.
@matzeit sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
Schreibzugriffe auf SD Karte absolut minimieren
Für die History und /var/log verwende ich trotz SLC-Flash folder2ram. Swapping ist deaktiviert.
-
@matzeit sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
ioBroker image für Pi
Würd ich nicht machen, Empfehlung ist, dass man den pi aufsetzt und dann iobroker installiert (kein fertiges Image!)
Was genau hast du denn mit iobroker vor? Wenn die Anzahl an Adaptern/Instanzen zunimmt kommt ein pi schnell an seine Grenzen. Wenn du "nur" ein paar Instanzen hast ist PI eine günstige Lösung.
-
ich möchte mein System nicht zu verkomplizieren und habe beschlossen, dass ich mir Ersatz SD Karten besorge. Ich möchte dann regelmäßig die SD Karte klonen und als Backup beiseite legen.
Hierfür würde ich 16GB Karten (4 Stück) bestellen und somit sollte ich dann immer 1 Karte in Betrieb haben und 1 als Backup. Die restlichen 2 dann als reserve oder 1 zum Testen.
Eine Frage hätte ich hierzu: Macht es Sinn die SD Karten in unterschiedliche Partitionen (System, Log-Partition etc.) zu unterteilen? Und welche empfohlenen Speichergrößen sollten die Partitionen haben?
-
@matzeit
IMHO macht eine Partitionierung von so kleinen SD-Karten gar keinen Sinn.
Die Empfehlung geht ohnehin zu 32GB-Karten, da ist dann mehr Platz zum Ausweichen. -
@matzeit also eine 16GB Karte kostet 5 Euro, eine 128er 20 Euro.
Ich würde lieber eine völlig überdimensionierte Karte nehmen. Die Schreibzugriffe sollten automatisch so gesteuert werden das alle Blöcke gleichmäßig genutzt werden. Backup per Image ist natürlich doof bei 128GB.Eine SSD um die 120 - 128 GB kostet 25 Euro, ein passender USB 3.0 Adapter (der auch 2.,0 kann) nochmal 10.
Und das ist um einen schneller, zum anderen ist ein defekt sehr viel unwahrscheinlicher.Und ich würde auch keinen Raspberry Pi 2 mehr dafür nehmen. Ok ist auch schon Quadcore. Aber wenn du mit ein wenig VIS anfängst sind 1GB sehr schnell sehr wenig. Ok, arbeitest du schon die ganze Zeit mit.
Zum Backup: Hey, sind doch alles nur Ordner die woanders hin gesichert werden wollen, BackupIt richtig konfiguriert sollte es tun. Kannst du dann ja mit einer 2. SD-Karte testen ob der Restore funktioniert. Hält die Backups kleiner und schneller in der Ausführung.
Und ja, Im Normalfall kannst du die Karte einfach in einen neuen Pi stecken
-
@matzeit Ich nutze die SD Karten und habe überhaupt keine Probleme damit.
Ich empfehle übrigens entgegen meinen Vorpostern keine großen SD Karten. Ich habe nur 16GB Karten und die finde ich optimal.- Da ist immer noch einiges frei (so ca. 30%) - das wichtigste ist aber: Ein Image als Backup zu ziehen dauert nicht ewig.
- Für Daten habe ich noch einen USB-Stick dran, so dass backups bzw. die Datenbank sich auf dem USB Stick befinden. Das verhindert häufiger Schreibzugriffe und man kann das System austauschen ohne dass das backup weg ist.
Ich habe kein übermäßig großes System aber ca. 20 Adapter und 5500 Objekte aber schau Dir mal mein Belegung an:
/dev/root 15G 9,4G 4,4G 69% / /dev/mmcblk0p1 253M 48M 205M 19% /boot /dev/sda 29G 2,8G 25G 11% /data
das ist lächerlich.
Also brauch ich hier in keinem Fall über 100 GB Speicherplatz.
-
@mickym ja so sehe ich das ja auch!
Frage in die Runde:
Wäre es denkbar mittels USB/Cardreader oder USB-Stick mit SD-Kartefassung eine 2. SD Karte in Linux / Raspbian zu mounten und dann ein Skript ablaufen zu lassen:- iobroker stop
- reboot in ein separates Raspbian System (z.B. auf einer weiteren Primären? Partition)
- Klonen der iobroker Partition mittels DD Befehl als IMG Datei
- IMG auf die temporär angeschlossene SD Karte mittels DD Befehl spiegeln
- reboot in main Raspbian System
- iobroker start
-
@mickym sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
Also brauch ich hier in keinem Fall über 100 GB Speicherplatz.
Das stimmt. Aber bevor ich 4 Karten mit 16G kaufe und für das gleiche Geld eine 128er kriege würde ich persönlich lieber eine große Karte nehmen.
Alles steht und fällt mit der Qualität der SD-Karten. In meiner Firma haben wir mal als "Überwachungsproxys" ich meine 30 Raspberry Pi's eingesetzt. Alle gleichzeitig gekauft = alle die gleiche SD-Karte. Die sind dann auch alle etwas nach einem Jahr gestorben weil SD-Karte defekt. War halt Pech mit der Qualität - oder wir haben zu viel geschrieben. Leider sieht man den Dinger vorher nicht an wie gut die sich machen - und auch die Markenhersteller haben da mal nicht so gute Chargen.Inzwischen lege ich, wenn ich viel schreiben muss das alles in eine RAM-Disk (für meine Anwendungen reichen 4MByte, das kann auch ein Pi) und sichere was zu sichern ist dann einmal am Tag auf die SD.
Ganz genau genommen würde ich es noch anders machen: Raspi 4 mit 8GB, ESXi ARM-Edition drauf und Backup der ganzen VM (habe ich, allerdings nicht mit ioBroker, schon am laufen). Ich steh prinzipiell auf virtuelle Maschinen und deren Backup. Und das ich ich Snapshots machen kann bevor ich schweinereien wie Upgrades mache.
-
@mickym sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
Ich empfehle übrigens entgegen meinen Vorpostern keine großen SD Karten
Das musst aber mal erklären, warum Du das machst, da das gegen die Logik geht die dahinter steckt
Jede Zelle hat ein max. an Schreibzyklen und auch ein Lesezugriff kann sich auf benachbarte Zellen negativ auswirken. Somit hast bei ner 32er schon mal doppelt soviel Reserve wie bei einer 16er und der Preis ist auch nicht wirklich mehr. Es macht also überhaupt kein Sinn eine 16er zu verwenden. -
@matzeit
was willst du da für einen Riesenaufwand treiben?
einfach ein regelmäßiges Backup mit backitup machen und gut ist.im worst case setzt du in 15-30 Minuten ein flammneues aktuelles System auf und spiels das Backup zurück.
Dein größtes "Problem" dürfte der
@matzeit sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
Pi 2
mit nur 1GB RAM sein.
Da kann es schon mal zu Speichermangel kommen, was erst zum Swapping und damit zu erheblichen Schreibzugriffen, führt und irgendwann greift der OOM-Reaper sich irgendwelche Prozesse und killt diese.
Während des Swappings, bei dem Inhalte, die eigentlich im RAM liegen sollten, auf die Karte geschrieben werden, ist das System natürlich noch anfälliger auf Abstürze.
Wenn dann noch ein zu schwaches Netzteil - insbesondere wenn noch@matzeit sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
deconz zigbee Stick
Stick für enoceanam RasPi hängen dazu kommt. kann dies zu undervoltage führen, was zum plötzlichen Reboot führt.
-
@homoran
Da will einer eben von Beginn an alles richtig machen und wählt ein Pi2 dafür -
@jan1 sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
@mickym sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
Ich empfehle übrigens entgegen meinen Vorpostern keine großen SD Karten
Das musst aber mal erklären, warum Du das machst, da das gegen die Logik geht die dahinter steckt
Ich dachte eigentlich, dass ich das mit meinem 1. erklärt hätte.
Ich mache mit dem backitup Adapter meine backups. Das /opt/iobroker/backups Verzeichnis ist auf den USB Stick gelinkt.
Ein Image der SD Karte mache ich nicht regelmäßig, sondern nur vor größeren Updates oder kritischen Adapterupdates.
Das dauert bei 16Gb ca. 5-10 Minuten.
Ein Schreiben eines Images kann aber auch schon mal 30-40 Minunten dauern.Schon bei einer 32 GB Karte würden sich die Zeiten verdoppeln. Also dass das überhaupt keinen Sinn macht, bestreite ich deshalb auf das Heftigste.
Dann gibt es noch einen weiteren Vorteil. Falls der Platz mal wirklich zu eng werden soll kann ich das Image einer 16GB Karte leicht auf eine 32GB Karte schreiben und dann die Partition vergrößern - umgekehrt get das nicht.
Ich habe auch keine SWAP Datei um überflüssiges Schreiben zu unterbinden und auch mit 4GB RAM alles ausreichend.
Der Preis von 5-10 € - egal ob 16GB oder 32 GB das ist doch kein Argument. Das ist eine Pizza oder was weiß ich. Natürlich bekommst Du im Verhältnis mehr GB pro € - aber das ist doch nicht das Ziel.
Von mir aus könnte die SD Karte jeden Monat kaputt (was sie ja nicht tun) gehen, aber die 5 € sollten dann drin sein. Und wenn sie nach allgemeiner Erfahrung nach ca 1,5 Jahren kaputt gehen - 5€ ???? Da gibts aber kostspieligere Hobbies.
EDIT:
Und für den Preis einer externen SSD kann ich wahrscheinlich einiges SD Karten kaufen, da könnte man mal überprüfen, was eher kaputt geht - die SSD oder der Vorat meiner SD Karten. -
@mickym das sollten wir mal in aller Ruhe bei einigen Bierchen diskutieren
Ich stehe auch zu der Aussage, dass eine größere Karte immer besser ist als eine kleine
Ein komplettes Image einer SD Karte halte ich sowieso für Blödsinn.
Alleine schon weil mit den üblichen Verdächtigen wie Win32Diskimager oder Balena Etcher (also für "Normal"-User) das "Backup" nur 1 Byte größer sein muss als die zu bespielende Karte (die Varianzen bei angeblich gleich großen Karten sind erheblich!), damit es nicht mehr auf eine "gleich" große Karte passt -
@homoran Na bei einem Bierchen bin ich immer dabei -
und ja ich nutze den Win32Diskimager und habe bislang noch nie ein Problem gehabt, ein Image wieder zurückzuspielen.
Dabei fällt mir aber noch ein Vorteil für die kleineren Karten ein. Ich würde ja sonst doppelt soviel Platz auf meiner Windows Maschine verbrauchen, wenn ich größere Images hätte.
-
@mickym sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
habe bislang noch nie ein Problem gehabt, ein Image wieder zurückzuspielen.
Da hast du dann wirklich Glück gehabt!
(oder die Qualität der Karten hat sich verbessert)@mickym sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
ch würde ja sonst doppelt soviel Platz auf meiner Windows Maschine verbrauchen, wenn ich größere Images hätte.
das ist korrekt, aber IMHO kein echter Grund, wenn man auf Sicherheit des ioBroker-Servers bedacht ist.
Aber wie ich bereits schrob, halte ich auch ein normales Backup und im Fall der Fälle eine saubere Neuinstallation für die beste Option
-
@homoran sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
Aber wie ich bereits schrob, halte ich auch ein normales Backup und im Fall der Fälle eine saubere Neuinstallation für die beste Option
Da hast Du schon Recht. Ich oute mich hier auch, dass ich leider bei meinem System nicht alles immer sauber dokumentiert habe.
Und auch bei einem reinen iobroker System gebe ich Dir völlig recht.
aber ...
- da läuft auch noch ein fhem auf der Maschine
- da läuft ein mosquitto auf der Maschine
- da läuft ein mysql auf der Maschine
alleine was mich das an Recherche und Zeit gekostet hat, dass ich das Datenbankverzeichnis auf einen anderen Pfad umzubiegen. Ich habe momentan wirklich Angst, wenn ich das System neu aufbauen müsste. Aber ich habs mir vorgenommen.
Aber ich finde so ein Thread lebt ja davon, dass man unterschiedliche Meinungen austauscht und der TE kann das ja dann für sich einordnen.
Ich will auch keinesfalls sagen, dass andere es genauso machen sollen, aber wollte halt mal meine Argumente kundtun, warum ich es so mache.
Ich hab ja auch einen Monitior an meiner Raspberry als Statusanzeige - schäm
Also kann mein System schon mal für NIEMAND ein Vorbild sein.
-
@matzeit
Ich habe auf meinem Pi ioBroker, Debmatic, mysql und grafana laufen.
Da der Pi4 genug Power dafür hat, möchte ich es auch weiterhin alles auf einem System laufen lassen.Nachdem mir jedoch dieses Jahr ein fehlerhaftes
apt upgrade
das System komplettt zerschossen hat, hatte ich, als Linux Anfägner, einige Abende zu tuen, um wieder alles zu konfigurieren.
Der ioBroker war das kleineste Problem, da per Backup schnell wieder einsatzbereit, aber die Datenbank und die Homematic Bridge wieder an laufen zu bekommen hat etwas gedauert.Daher sieht meine Backup-Strategie nun wie folgt aus:
1x pro Woche ein dd Image der SSD 1x pro Tag ein BackitUp Backup (ioBroker + mysql + redis) 1x pro Tag ein Backup des "/home"und "etc"-Verzeichnisses (für die Konfigurationsdateien)
Die Backup landen auf meinem NAS, das nachts per WOL geweckt wird.
Von jedem Backup werden je nach Typ die letzten 14 Versionen aufbewart.Damit habe ich Fall der Fälle, alles um das System wieder flott zusammenzusetzen.
Gruß
Thomas -
puh wahnsinn die Diskussion und alle haben irgendwo recht!
ich in Recherchen schon öfters gelesen, dass ein sudo apt upgrade oder sudo apt dist-upgrade sehr sehr heikel ist. Und das ist aktuell mein Aufhänger warum ich hier ein komplettes System sichern möchte. Denn:
Angenommen ich bin auf Geschäftsreise oder im Krankenhaus oder oder und daheim macht das System einen "crash". Dann kann ich meiner Frau einfacher erklären, dass Sie nur die SD Karte wechseln muss.Aber ich werde auf jedenFall alle eure Tipps beherzigen und versuchen die Schreibzugriffe zu minimieren.
Man glaubt gar nicht wie man sich an einfachste Automatismen gewöhnt (hier: automatisches Nachtlicht) und wenn das mal ausfällt was es heißt da wieder durchzusteigen! Bei mir ists schon paar Jährchen her, dass ich mit Linux usw. zu tun hatte. Und im Alter und mit Familie ists doppelt schwer hier volle Konzentraton zu fahren -
@matzeit sagte in Suche optimalen ioBroker Systemaufbau mittels RaspberryPi:
sudo apt upgrade oder sudo apt dist-upgrade sehr sehr heikel ist.
Quark. Das ist nur 'sehr sehr heikel' wenn da komische Quellen drin sind.