Wie korrektes Backup von Homeassistant erstellen??

MTausM

Benutzer
Mitglied seit
01. Mrz 2021
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Hi,

also da bei einem Update schon mal was schief gelaufen ist möchte ich nun auf Nummer sicher gehen zumal ich schon etliche Geräte Konfiguriert habe.Ich habe eine DS220+, Homeassistant mit Docker laufen. Wie erstelle ich ein richtiges Backup von HA was ich wieder 1zu1 zurück spielen kann??

Container.jpgHassio Supervisor.jpghomeassistant.jpg
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.064
Punkte für Reaktionen
915
Punkte
204
Eine Möglichkeit, die funktionieren müsste, ist, den kompletten Ordner – die Daten sind ja dahin gespeichert – woanders zu speichern. Sollte was sein, zurückkopieren und mit gleichen Parametern den Container in Docker neu erstellen.
 

Syno-OS

Benutzer
Mitglied seit
23. Jun 2020
Beiträge
361
Punkte für Reaktionen
64
Punkte
28
portainer installieren und docker compose yaml selbst basteln, dann hast du auch gleich die konfiguration mit den Daten im Ordner gesichert, so mache ich das ;)
 

*kw*

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
10. Aug 2013
Beiträge
1.644
Punkte für Reaktionen
670
Punkte
134
Moin,

getreu dem Motto „sicher ist sicher“ ;)

Ich habe im Aufgabenplaner einen täglichen Job als root erstellt, der die Konfigurationen aller Docker-Container sichert. In der zweiten Zeile wird das Sicherungsziel definiert. Ausschließlich vom kompletten Docker- und Sicherungsordner wiederum ein nächtliches Hyperbackup als extra Job.

Code:
#!/bin/bash
BACKUP_DIR="/volume1/docker_backup"
IGNORE_CONTAINERS=(jitsi_jicofo jitsi_jvb jitsi_prosody jitsi_web synology_docviewer_2 synology_docviewer_1)
EXPORT_DATE="$(date +%Y-%m-%d_%H-%M)"

[ ! -d "${BACKUP_DIR}" ] && mkdir -p "${BACKUP_DIR}"
echo "exporting container settings to ${BACKUP_DIR}"

for container in $(docker ps --format "{{ .Names }}"); do
    if grep -q "$container" <<< "${IGNORE_CONTAINERS[@]}" ; then
        echo "${container} is on ignore list. Skipping this container."
        continue
    else
        echo "${container} export"
        /usr/syno/bin/synowebapi --exec api=SYNO.Docker.Container.Profile method=export version=1 outfile="${BACKUP_DIR}/${container}_${EXPORT_DATE}.json" name="${container}"  2> /dev/null
    fi
done
 

*kw*

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
10. Aug 2013
Beiträge
1.644
Punkte für Reaktionen
670
Punkte
134

MTausM

Benutzer
Mitglied seit
01. Mrz 2021
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Danke allen für die Info!!

portainer installieren und docker compose yaml selbst basteln, dann hast du auch gleich die konfiguration mit den Daten im Ordner gesichert, so mache ich das;)
Poertainer habe ich schon Installiert, wie mache ich das mit der docker compose yaml?? Hast da weitere Info´s??
 

MTausM

Benutzer
Mitglied seit
01. Mrz 2021
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
So,

also: Habe den Docker Ordner gesichert. Auch über HA mal ein Backup erstellt. Container gestoppt, aktuelles Image gezogen. Container resettet und neu gestartet. Nun, jetzt werden einige Geräte nicht erkannt...ich musste zigbee2mqtt neu Konfigurieren, auch einige Sensoren / Aktoren haben irgendwie eine neue Bezeichnung erhalten und somit einige entitäten dann auch nicht mehr da. Habe jett 2h neu Konfiguriert...alles in allem echt ätzend...
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Dann solltest du lieber gleich weiter basteln und eine kleine VM aufsetzen. Docker ist für HA nicht unbedingt die beste Wahl. Heißt aber nicht das es nicht funktioniert. Das Ganze ist schnell zu realisieren, weil du alle Tutorials für Ubuntu, Raspi ect nutzen kannst.

Ansonsten wirst du immer wieder das Problem haben.
 
  • Like
Reaktionen: Jim_OS

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
4.456
Punkte für Reaktionen
1.750
Punkte
214
alles in allem echt ätzend...
Wie EvS bereits geschrieben hat tu Dir selber einen Gefallen und installiert HA in einer VM unter VMM. Die Docker-Version von HA ist nur eine "Notlösung" und Du bist immer darauf angewiesen das DSM als Kern für HA passt. Da der DSM Kern bekanntlich (hoffnungslos) veraltet ist kann es da bei Updates immer wieder zu Problemen kommen.

HA in einer VM nutzt halt das BS von HA (Debian) und bringt alles mit was HA zum funktionieren braucht. Somit gibt es bei HA Updates auch weniger Probleme. Wenn Du mit HA nur mal "herumspielen" willst ist die Docker-Version vielleicht noch ok. Willst Du HA langfristig und produktiv betreiben solltest Du auf eine HA VM umstellen.

Was dann das Backup und Restore von HA betrifft: Im Normalfall reicht dafür die HA Backup- und Restore-Funktion vollkommen aus. D.h. vor jedem HA Update wird Dir ja automatisch ein Backup angeboten. Sollte nach einem Update tatsächlich mal etwas schiefgegangen sein, was bei monatlichen Updates immer mal wieder vorkommt, kannst Du per HA Restore-Funktion die alter Version wieder installieren. Auch das funktioniert ziemlich zuverlässig. Ziemlich beteutet: Es kommt sehr selten mal vor das nach einem Restore doch noch eine Kleinigkeit wieder angepasst werden muss.

BTW HA Update: Die monatlichen HA Updates sollte man tunlichst nicht gleich sofort installieren, sondern immer erst zum Ende des Monats. Nämlich dann wenn die meisten Probleme gefixt wurden. ;)

Zusätzlich hast bei VMM die Möglichkeit verschiedene Art der Sicherung von VM zu machen. Wenn Du z.B. die VMM Export-Funktion nutzt

DSVM_Export.png
wird mit einem Klick die kompl. VM 1:1 gesichert und davon eine *.ova Datei erstellt. Diese könntest Du im Fall der Fälle in VMM wieder importieren, sodass Du Deine HA VM jederzeit wiederherstellen kannst. BTW: Eine *.ova Image-Datei kann auch bei verschiedenen anderen Virtualisierungslösungen als Basis für eine VM genutzt werden, sprich die VMM *.ova-Datei kann auch dort importiert werden.

Also - falls nicht eh schon gemacht spendier Deiner DS220+ noch ein wenig RAM und wechsel von HA Docker zu HA VM. Falls Du nur die/eine HA VM laufen lassen willst reicht es wenn Du Dir ein 8 GB RAM Modul besorgst und dann der HA VM 4 GB RAM zuweist. Falls Du in Zukunft ggf. noch weitere/andere VM laufen lassen willst, könntest/solltest Du Dir ggf. gleich ein 16 GB RAM Modul einbauen.
Mit unter kann es etwas schwierig(er) werden ein funktionierenden RAM-Modul zu finden, aber das ist schon vielen Usern (incl. mir) gelungen. :) Was RAM für die DS220+ betrifft schau einfach hier: https://www.synology-forum.de/threads/ds220-ram-upgrade-mit-8gb.109291/


Edit: Ich habe eben mal geschaut was es im Internet so an aktuellen Install.-Anleitungen für eine HA VM unter VMM gibt. Diese Anleitung habe ich eben mal überflogen und sie sieht aktuell ganz gut aus: https://www.wundertech.net/how-to-set-up-home-assistant-supervised-on-a-synology-nas/
Bei RAM würde ich 4 statt 2 GB nehmen und bei dem Virtual USB Controller musst Du dann Dein USB Zigbee Device/Stick auswählen, sofern Du einen USB Zigbee Stick im Einsatz hast.
PS: Eine HA VM einzurichten dauert - wenn man das 2 - 3 mal gemacht hat, vielleicht 5 Minuten. ;)

Edit 2: Wenn ich schon mal dabei bin noch ein Hinweis.
Wenn Du die HA VM über VMM gestartet hast kannst Du über den Button Verbinden
DSVM_Verbinden.png

den Boot-Prozess der HA VM anschauen. Am Ende siehst Du dann diesen Bildschirm

HA_Boot.png

und Du kannst HA über die dort angezeigte LAN IP mit dem Port 8123 aufrufen. Dabei solltest Du aber nicht zu ungeduldig sein, :) denn nach der erstmaligen Einrichtung der HA VM dauert es ca. 2 - 3 Minuten bis im Hintergrund alles eingerichtet wurde und der Startbildschirm von HA erscheint. Das mit den ca. 2 - 3 Minuten ist aber nur bei dem erstmaligen Start der Fall. Solltest Du dann später die HA VM neu starten vergehen auf einer DS220+ mit VMM ca. 20 - 30 Sekunden bis Du nach dem abgeschlossenen HA-Bootprozess HA über die IP:8123 aufrufen kannst.

VG Jim
 
Zuletzt bearbeitet:

MTausM

Benutzer
Mitglied seit
01. Mrz 2021
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Moin,

DANKE für die zahlreichen Info´s!!

Ja das mit VM hatte ich vor benutzen von Docker auch gelesen. Nur ist mein Dateiformat nicht das richtige um VM zu nutzen, soweit ich weis muss das Dateiformat ein " spezielles " sein. Ich habe noch einen Pi, wollte halt weniger Geräte bzgl. weniger Stromverbrauch, aber vieleicht muss ich ja auf den Pi ausweichen. Kann ich denn die Einstellungen und die Geräte Konfigs vom NAS und Docker dann auf dem PI " rüber " schieben?? RAM habe ich bei dem NAS schon erhöht, meine 10gb oder so.

Gruß
Marlk
 
Zuletzt bearbeitet:

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Du meinst bestimmt BTRFS? Ich würde dir eher zum Backup raten und ändern des FS. Außer Zeit musst du nichts investieren. Das macht die DS komplett alleine.
 

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
4.456
Punkte für Reaktionen
1.750
Punkte
214
Nur ist mein Dateiformat nicht das richtige um VM zu nutzen, soweit ich weis muss das Dateiformat ein " spezielles " sein.

Ja für VMM muss die HDD oder ein Volume in Btrfs formatiert sein. Ohne das sind kein VM per VMM möglich.

Was den Umzug auf den Pi betrifft: So etwas habe ich zwar noch nie gemacht, aber der HA Docker Version fehlt halt der kompl. Unterbau, sprich das Debian. Denn auf dem Pi sollte dann HAOS installiert werden, sprich das kompl. HA und nicht wieder eine Docker-Version von HA.:)

D.h. das würde ich erst gar nicht probieren und mich damit herumärgern. Wenn dann eine Neustall. auf dem Pi.

PS: Trotzdem sollte Du vielleicht darüber nachdenken ob Du das Dateisystem nicht auf Btrfs umstellst und Du somit auch VMM nutzen kannst. Denn wenn Du eh schon mehr RAM verbaut hast ist die Voraussetzung ja schon erfüllt. ;) Bevor Du fragst: Nein ein einfaches wechseln/konvertieren von z.B. ext4 auf Btrfs ist nicht möglich, sondern die HDD/Partition muss dafür neu formatiert werden.

VG Jim
 

MTausM

Benutzer
Mitglied seit
01. Mrz 2021
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Hm, ich habe 2 Festplatten im Raid konfiguriert. Also so, das WENN mal eine Platte ausfällt ich die Daten auf der zweiten Platte habe. Nun müsste ich ja eine Platte woanders sichern damit ich das Format ändern kann oder habe ich da jetzt einen Denkfehler?
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.064
Punkte für Reaktionen
915
Punkte
204
Ja, das sowieso, denn: RAID ist kein Backup.
 

MTausM

Benutzer
Mitglied seit
01. Mrz 2021
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Hm,

verstehe ich nicht. Raid ist doch so das ich die Platte " Spiegel" oder nicht?? Somit wenn Plaeete 1 abraucht habe ich doch den komplett gleichen Inhalt auf Platte 2, oder bin ich da jetzt komplett auf dem falschen weg?? Somit würde ich die defekte 2 Platte ersetzen und die Daten wieder spiegeln...so zumindest meine ich war doch RAID gedacht??
 

Gulliver

Benutzer
Contributor
Mitglied seit
04. Jul 2020
Beiträge
259
Punkte für Reaktionen
100
Punkte
49
Ein backup behält die Daten, auch wenn du die Originaldaten änderst. Im RAID werden Änderungen auf alle Platten übernommen. Früheren Zustand kannst du daraus nicht wieder herstellen - somit: kein Backup.
 

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
4.456
Punkte für Reaktionen
1.750
Punkte
214

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Mit RAID hast du einen gewissen Ausfallschutz. Somit wird gewährleistet, dass dein System beim Ausfall einer Platte weiter läuft. Ein Wiederherstellen eines bestimmten Datenstandes ist damit nicht möglich. Wenn die 2. HDD beim Rebuild ausfällt, sind alle deine Daten weg.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.064
Punkte für Reaktionen
915
Punkte
204
@MTausM Ed hat es treffend beschrieben, Ausfallschutz ja, Backup nein.
 

MTausM

Benutzer
Mitglied seit
01. Mrz 2021
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Also jetzt bin ich total verunsichert. Wenn ich auf Platte 1 was " Hochlade " ein Bild oder Datei etc..diese wird dann Zeitgleich auf Platte 2 auch " geändert". Somit, wenn Platte 1 ausfällt und ich dort eine neue Platte einsetze kann ich die Daten von Platte 2 ( die ja den aktuell letzten Zustand bis Defekt Platte 1 hat ) wieder " Herstellen"..Ein Backup, also ein Sicherung zu einem BESTIMMTEN Zeitpunkt meine ich ja nicht..sondern mir geht es darum das die Daten zum letzten Zeitpunkt vorliegen. Sehe ich das so richtig?? Ok, wenn natürlich beim Rebuild die Platte 2 ausfällt ( wäre dann aber doch sehr unwahrscheinlich ) dann sind natürlich die Daten weg. Wie sollte dann der richtige Weg sein?? Habe doch ein NAS mit 2 Platten bzgl. Sicherheit
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat