Seite 1 von 4

Sicherung von openhab4 in Docker Container

Verfasst: 15. Apr 2024 22:18
von Snatsch
Hallo, Jetzt bin ich endlich soweit das mein openhab4 im Docker Container unter Portainer so läuft wie ich es gerne haben möchte. Jetzt stellt sich mir die Frage wie ich meine Daten am besten Sichere. Habe noch einen Pi 3 auf dem ich Docker installiert habe. Bin für jeden Tipp dankbar :)

Re: Sicherung von openhab4 in Docker Container

Verfasst: 16. Apr 2024 07:47
von udo1toni
Du hast die Volumes, in denen alle relevanten Daten liegen. Diese musst Du sichern, sonst nichts (nun ja, je nachdem, wie Du den Container erzeugst natürlich noch das yaml oder bash Script).
Dieser Teil ist ja gerade der Witz an Docker.
Keinesfalls sichert man vollständige Images, stattdessen wird das "Grundkochrezept" der Container gesichert, sowie alle "individuell hinzugefügten Zutaten". Sehr platzsparend und effizient.

Mein Mittel der Wahl wäre ein System, welches mittels rsnapshot automatisch Snapshots sichert.
Das System muss naturgemäß auf einem anderen Rechner laufen und ist idealerweise per Netzwerk mit dem zu sichernden System verbunden.
Auf beiden Systemen ist rsync installiert, auf dem Backup-System zusätzlich rsnapshot.
rsnapshot zieht per rsync regelmäßig diffs der Teile des Dateisystems, welches gesichert werden soll (hier die Volumes des Docker Hosts sowie evtl. die "Kochrezepte).
Es werden nur Unterschiede zum letzten Backup übertragen (dauert gewöhnlich nur wenige Sekunden).
Für jeden Backup Zeitpunkt existiert anschließend ein eigenes Verzeichnis, in dem alle zu sichernden Daten des Quellsystems liegen (sowohl die unveränderten des vorigen Backups als auch die neu hinzugekommenen/veränderten).
Der Witz dabei: Nur die Änderungen nehmen Platz ein. Eine unveränderte Datei benötigt nur einmal Platz (plus die Verweise im Dateisystem natürlich). Das funktioniert über Hardlinks im Dateisystem (mehrere Verweise auf die selben [!] Daten).

Im Backupsystem hast Du dann einen Ordner pro Rechner, der gesichert wird, innerhalb dieses Ordners ein Verzeichnis pro Zyklus (man erzeugt diverse Backups in unterschiedlicher Frequenz und unterschiedlichen Aufhebezyklen - z.B. sechs Backups alle zehn Minuten, zwölf Backups alle Stunde, sieben Backups jeden Tag, fünf Backups jede Woche, sechs Backups jeden Monat. Macht 36 Backupsätze, die ein halbes Jahr in die Vergangenheit reichen).
Da die Backups jeweils als diskretes Verzeichnis zur Verfügung stehen, kann man jederzeit Einzeldateien wiederherstellen, genauso wie komplette Verzeichnisstrukturen.

Re: Sicherung von openhab4 in Docker Container

Verfasst: 16. Apr 2024 17:36
von Snatsch
He vielen Dank :) hab jetzt schon mal ein wenig im Internet gegoogelt. Aber eine richtige Anleitung wie ich es installieren muss habe ich leider nicht gefunden :(

Re: Sicherung von openhab4 in Docker Container

Verfasst: 16. Apr 2024 19:04
von udo1toni
rsync und rsnapshot installierst Du einfach mit sudo apt install rsync rsnapshot auf dem Server, der sich ums Backup kümmert. Auf dem Docker Host brauchst Du das rsnapshot nicht.
Auf die Schnelle habe ich bei YouTube dieses Video gefunden: https://www.youtube.com/watch?v=lFrgNaAtBv4 was mir recht gut erscheint (bis auf die Fehlinformation, dass rsnapshot nicht in den Standard Repositories enthalten sei - bei mir hat das unter Debian 12 auf Anhieb funktioniert)
Ich hab das Video jetzt nicht vollständig angeschaut, sondern nur durchgezappt, mir scheint aber, dass es ganz gut zusammenfasst, was und wie alles zu tun ist.

Re: Sicherung von openhab4 in Docker Container

Verfasst: 16. Apr 2024 23:17
von Snatsch
Ich habe jetzt rsync auf beiden Pi s installiert und auf dem Pi 3 noch rsnapshot. ich habe einen ssh-keygen installiert aber mit dem Rest scheitert es leider. Muss morgen noch mal schauen ob ich es irgendwie hin bekomme.

Re: Sicherung von openhab4 in Docker Container

Verfasst: 17. Apr 2024 06:10
von udo1toni
Ist nicht weiter schwierig :) notfalls können wir das auch Stück für Stück durchgehen.

Re: Sicherung von openhab4 in Docker Container

Verfasst: 18. Apr 2024 18:31
von Snatsch
hatte heute ein wenig Zeit und jetzt läuft es. Das Problem war wie so oft die Berechtigungen. Habe mich jetzt auf allen Pi s als root angemeldet und dann ging es ohne Probleme.

Re: Sicherung von openhab4 in Docker Container

Verfasst: 18. Apr 2024 20:05
von udo1toni
Na, ich hoffe mal, dass Du gar nicht auf den Pis angemeldet bist und root nur dann nutzt, wenn Du gerade etwas erledigen musst, was erweiterte Rechte benötigt.

Grundsätzlich muss man auf einem Server eigentlich gar nicht angemeldet sein (es sei denn, die Programmierer waren faul - ich arbeite beruflich mit verschiedenen Diensten, die alle auf Windows aufsetzen, ein Gutteil davon ist in dieser Hinsicht schlampig gestaltet).
Man meldet sich nur dann auf dem Server an, wenn man Änderungen im Dateisystem oder der Serverkonfiguration vornehmen will. Das typische openHAB-auf-RaspberryPi-Szenario ist genau so gestaltet, weshalb man auch weder Bildschirm noch Tastatur oder gar Maus am Pi benötigt. Alle Programme starten beim Rechnerstart automatisch mit extra dafür angelegten Userkonten, somit kann kein Programm Unsinn mit "fremden" Daten treiben. Der Administrator meldet sich mit einem Konto mit eingeschränkten Rechten an, wenn er normale Arbeiten auf dem System ausführen will.
Nur, wenn er erweiterte Rechte für ein Programm benötigt, startet er genau dieses Programm mittels sudo. sudo startet ein Programm unter einem beliebigen Kontext, gibt man keinen Kontext an, so wird der Kontext von root verwendet, so dass das Programm anschließend mit erweiterten Rechten läuft.
Hat man viele Programme hintereinander mit erweiterten Rechten auszuführen, kann man auch mal direkt als User root arbeiten (z.B. mittels su -), aber bitte nur temporär.
Da rsnapshot Daten kopieren muss, benötigt es für den Kopiervorgang erweiterte Rechte, wenn ich mich richtig erinnere legt man dazu gewöhnlich passwortlose Schlüsselpaare an und konfiguriert den Zugriff direkt in rsnapshot.

Re: Sicherung von openhab4 in Docker Container

Verfasst: 18. Apr 2024 21:21
von Snatsch
Da rsnapshot Daten kopieren muss, benötigt es für den Kopiervorgang erweiterte Rechte, wenn ich mich richtig erinnere legt man dazu gewöhnlich passwortlose Schlüsselpaare an und konfiguriert den Zugriff direkt in rsnapshot.
das ist richtig. Hatte nur das Problem das ich manche Dateien nicht bearbeiten oder ändern konnte. Eigentlich muss man sich auch nicht als Root Benutzer anmelden solange das System läuft wie es soll. Ich hatte aber z.B. immer mal das Problem mit VSCode mit SSH Verbindung das ab und zu mal meine Änderungen nicht gespeichert werden konnte wegen den Rechten.

Re: Sicherung von openhab4 in Docker Container

Verfasst: 19. Apr 2024 01:10
von udo1toni
Snatsch hat geschrieben: 18. Apr 2024 21:21 Ich hatte aber z.B. immer mal das Problem mit VSCode mit SSH Verbindung das ab und zu mal meine Änderungen nicht gespeichert werden konnte wegen den Rechten.
Dann sind die Dateien nicht dem richtigen User zugeordnet. Sollte mit

Code: Alles auswählen

sudo openhab-cli reset-ownership
zu beheben sein.

Ich greife fast ausschließlich über das VS Code Remote Plugin auf die openHAB-Maschine zu. Ich habe dazu dem User openhab ein Schlüsselpaar sowie Zugriff auf die Bash eingerichtet, ich bearbeite Dateien also als User openhab, nicht als "normaler" User.
Deshalb gibt es bei mir niemals Probleme mit Rechten. :)