Sicherung von openhab4 in Docker Container

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Snatsch
Beiträge: 367
Registriert: 9. Jan 2021 22:55
Answers: 0

Sicherung von openhab4 in Docker Container

Beitrag 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 :)
openhab4.1.2 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sicherung von openhab4 in Docker Container

Beitrag 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.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Snatsch
Beiträge: 367
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: Sicherung von openhab4 in Docker Container

Beitrag 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 :(
openhab4.1.2 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sicherung von openhab4 in Docker Container

Beitrag 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.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Snatsch
Beiträge: 367
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: Sicherung von openhab4 in Docker Container

Beitrag 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.
openhab4.1.2 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sicherung von openhab4 in Docker Container

Beitrag von udo1toni »

Ist nicht weiter schwierig :) notfalls können wir das auch Stück für Stück durchgehen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Snatsch
Beiträge: 367
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: Sicherung von openhab4 in Docker Container

Beitrag 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.
openhab4.1.2 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sicherung von openhab4 in Docker Container

Beitrag 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.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Snatsch
Beiträge: 367
Registriert: 9. Jan 2021 22:55
Answers: 0

Re: Sicherung von openhab4 in Docker Container

Beitrag 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.
openhab4.1.2 auf Pi 4 im Docker Portainer /Grafana&InfluxDB auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sicherung von openhab4 in Docker Container

Beitrag 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. :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten