Ankündigung

Einklappen
Keine Ankündigung bisher.

Desaster recovery smarthomeNG

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Desaster recovery smarthomeNG

    Hallo zusammen,

    ich befasse mich gerade mit einem Update von smarthomeNG. Bevor ich das Update mache, will ich das bestehende System komplett sichern, so dass ich möglichst schnell wieder in den Ausgangszustand zurück könnte. Aktuell sichere ich nur regelmäßig meine Items und Logiken. Da ich aber sehr viel Zeit investiert habe, bis alles so lief wie es jetzt ist, frage ich mich, wie ich am besten das ganze System sichere, um es bei Bedarf in kurzer Zeit wieder zurück spielen zu können. Bei mir läuft smarthomeNG auf einem APU2C4 (ohne Bildschirm und Tastatur).

    Eine Option wäre wohl, mit einem Linux USB-Stick und dd eine Kopie der ganzen SSD zu machen. Derzeit stehe ich allerdings vor dem Problem, einen solchen USB-Stick zu erstellen, bei dem ein ssh-root-Zugriff voreingestellt ist. Das ist bei Live-Distributionen offenbar normalerweise nicht der Fall. Wegen der dabei auftretenden Probleme frage ich mich, ob es elegantere Lösungen gibt.

    Wie sichert Ihr Euer System?
    Cheers
    Art Mooney

    #2
    Es gibt zwei Teile, die bei der Sicherung zu bedenken sind: Die Konfiguration und die variablen Daten.

    Zum sichern der Konfiguration solltest Du folgende Verzeichnisse sichern:
    • /etc/logging.yaml
    • /etc/logic.yaml
    • /etc/module.yaml
    • /etc/plugin.yaml
    • /etc/smarthome.yaml
    • /etc/struct.yaml
    • /etc/*.cer
    • /etc/*.key
    • /items - alle .yaml Dateien
    • /logic - alle .yaml Dateien
    • /scenes - alle .yaml Dateien
    Bei den Daten hängt e davon ab, welche Datenbank Du verwendest. Beim Standard (SQLite3) wären das
    • /var/cache - alle Dateien (zur Sicherung der Zustände der Items, für die cache auf True gesetzt ist.
    • /var/db - alle Dateien (für die Datenbank)
    • /var/log - alle Dateien (zur Sicherung der Logs)
    • /var/rrd - alle Dateien (falls Du rrd nutzt)
    ACHTUNG: Vor dem sichern der Daten musst Du SmartHomeNG beenden, sonst ist nicht sicher, dass alle Datenbank Daten in den Dateien stehen und die Cache Werte aktuell sind.

    Falls Du die komplette Installation sichern willst, kannst Du auch das Verzeichnis /usr/local/smarthome in zippen (nachdem Du SmartHomeNG beendet hast) und die Zip-Datei auf einen anderen Rechner transferieren.

    Wenn Du nur SmartHomeNG updaten willst (und nicht das Betriebssystem), kannst Du auch einfach eine Kopie des Verzeichnisses /usr/local/smarthome auf dem Rechner selbst erzeugen. Notfalls könntest Du die alte SmartHomeNG Version dann einfach aus den erzeugten Verzeichnis starten.
    Zuletzt geändert von Msinn; 18.01.2020, 23:17.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Danke für die Hinweise! Das werde ich für die regelmäßige Sicherung so umsetzen.

      Macht es dennoch Sinn, zusätzlich eine vollständige Sicherung in Form eines Images zu machen, falls mal die Platte kaputt geht? Oder setzt Ihr dann einfach alles neu auf? Es ist ja nicht nur smarthomeNG auf dem Rechner, sondern es sind noch eine ganze Reihe weiterer Konfigurationsschritte erforderlich, um das System zum Laufen zu bringen. Da erschien mir ein Image am einfachsten, oder?
      Cheers
      Art Mooney

      Kommentar


        #4
        Das hängt von Deinen Erfordernissen für die Wiederherstellungszeit ab. Da ich auf meinen Intel NUC nur SmartHomeNG und Komponenten habe, die ich für SmartHomeNG nutze, würde ich dann das Ganze schnell wieder aufsetzen.
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #5
          Hi zusammen,

          hier schließe ich mal meine Frage an, da ich den Thread zum Thema „Backup / Datensicherung von shNG bzw. dem System“ für mich am passenden finde.

          Ich betreibe shNG mit smartvisu auf einem Raspberry Pi (noch auf SD-Karte), habe wenig Kapazität für die Beschäftigung mit der Materie und wenig Linux-Kenntnisse.
          Falls ich einen Systemausfall habe (RPi, SD, …) oder eine der Komponenten softwareseitig Fehlerhaft arbeitet (Update, Dateisystem, ….) möchte ich gerne möglichst schnell und ohne große Verzögerungen wieder ein läufiges System haben. Selbst das Debian neu aufsetzen und sämtliche periphere Einstellungen neu einzustellen, damit „nur“ shNG aus dem eigenen shNG-Backup + SV-Ordner eingespielt werden müssen, empfinde ich als „zu viel für mich“ bzw. starte ich als Linux-noob dann wieder bei null, egal wie viel ich mir aufschreibe (habe ich schon durch )

          Ich denke deshalb an ein komplettes Backup des kompletten Systems. Vielleicht per Snapshot-Technologie? Gibt es derartiges auch für Linux, sodass kein shNG-Stopp notwendig ist?

          Ich habe viel im Internet gesucht, ausprobiert (rsync per SSH auf Synology DS) und auch dieses Forum hier durchforstet, aber nichts passendes gefunden. Eine Sicherung per „dd“ ist bei 64GB-Karte m.E. nicht möglich, kommt dem ganzen aber am nächsten.

          vielen Dank

          Kommentar


            #6
            Ein mögliches Vorgehen wäre, über die Admin GUI die Konfiguration von SmartHomeNG zu sichern. Dabei wird eine Zip Datei mit allen Konfigurationsdaten erzeugt und herunter geladen. Falls Du die smartVISU Seiten von SmartHomeNG generieren lässt, hast Du damit auch gleich die Sicherung für die smartVISU erledigt.

            Offen ist bisher ein einfacher Weg die historischen Daten des database Plugins zu sichern. Eine Möglichkeit zu einem SQL Dump (für die sqlite3 Datenbank) kommt erst mit dem kommenden Release von SmartHomeNG.

            Im Falle eines Desasters kannst Du einen Pi über das Image neu aufsetzen. Das Image beinhaltet bereits SmartHomeNG smartVISU und weitere benötigte Software. Über die Admin GUI kannst Du in diese nackte SmaetHomeNG Installation die gesicherte ZIP Datei einspielen und SmartHomeNG neu starten. Damit hast Du dann SmartHomeNG (und evtl. Auch der smartVISU) wieder hergestellt. Es fehlen Dir dann (nur) die historischen Daten.

            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              #7
              Schaut euch das mal an, wer einen Pi einsetzt:

              https://www.it-beratung-koch.de/kb/r...karte-anlegen/

              Ich für meinen Teil mache Backups über borgbackup bzw. borgmatic - aber das ist kein Vollbackup für einen PI, mit dem man das so super schnell wieder herstellen kann. Für mich ist aber das wichtigste gesichert, den Rest bekomme ich relativ flott wieder ans laufen.

              EDIT:

              Das hört sich auch Interessant an:
              https://github.com/framps/raspiBackup
              Zuletzt geändert von TCr82; 21.12.2022, 18:25.

              Kommentar


                #8
                Zitat von TCr82 Beitrag anzeigen
                Das hört sich auch Interessant an:
                https://github.com/framps/raspiBackup
                Ein paar Ergaenzungen von meiner Seite als dem Maintainer dieses Tools zu dem Link:

                raspiBackup sichert alles vom System und das wird dann auch wieder zurueckgesichert damit das System sofort wieder vom zurueckgesicherten Backup startet.

                Der Nachteil ist dass immer alles gesichert wird obwohl es i.d.R. reicht nur gewisse Teile zu sichern. Der Vorteil ist dass man nicht gross rumfummeln muss um den Backup wieder zum fliegen zu bringen: Er startet sofort ohne jegliche Anpassungen. Wenn man auch den rsync Backup nutzt werden nur Deltas gesichert und eine neuen Backupversion ist schnell erstellt.

                Wenn man ein Systemupdate vornehmen will kann man eben mal schnell vorher einen Snapshot mit raspiBackup erstellen den man - falls ein Update doch mal in die Hose geht - schnell wieder restoren kann.

                Ansonsten stehe ich fuer Fragen immer zur Verfuegung auf github

                Kommentar


                  #9
                  Achtung: Vor einem Backup mit Tools außerhalb von SmartHomeNG muss SmartHomeNG gestoppt werden. Sonst kann im Zweifelsfall die Datenbank des database Plugins nicht konsistent wieder hergestellt werden.
                  Viele Grüße
                  Martin

                  There is no cloud. It's only someone else's computer.

                  Kommentar


                    #10
                    Zitat von Msinn Beitrag anzeigen
                    muss SmartHomeNG gestoppt werden.
                    Bei raspiBackup kann man definieren welche Services vor dem Backup gestoppt werden sollen und am Ende wieder gestartet werden. Ich kenne SmartHomeNG nicht. Wenn Du mir den Befehl nennst den man nutzen muss um SmartHomeNG zu stoppen und zu starten nehme ich diesen Tipp auf meiner AnwendungsTippsWebseite fuer SmartHomeNG mit auf 🙂

                    Kommentar


                      #11
                      SmartHomeNG wird als Service eingerichtet. Details finden sich in der Doku unter https://docs.smarthomeng.de/installa...ng_daemon.html.

                      Gestoppt wird SmartHomeNG mit sudo systemctl stop smarthome.service
                      Gestartet wird SmartHomeNG mit sudo systemctl start smarthome.service
                      Viele Grüße
                      Martin

                      There is no cloud. It's only someone else's computer.

                      Kommentar


                        #12
                        Zitat von Msinn Beitrag anzeigen
                        SmartHomeNG wird als Service eingerichtet.
                        Das ist ja perfekt 👍. Im raspiBackup Installer kann man ueber das Menu M3->C6 die Services auswaehlen die zu Stoppen bzw Starten sind. Damit taucht dann auch SmartHomeNG in der Liste auf und kann ganz einfach ausgewaehlt werden. Ich werde es aber trotzdem der Vollstaendigkeit halber auf meiner Webseite noch dokumentieren.

                        Screenshot at 2023-01-03 18-35-11.png

                        Kommentar


                          #13
                          Zitat von fhartlieb Beitrag anzeigen
                          Vielleicht per Snapshot-Technologie?
                          btrfs bietet Snapshots an. Ich habe mir das mal im Rahmen von raspiBackup angesehen. Da btrfs aber leider kein Standard auf der Raspberry ist baue ich auch keinen Support dafuer in raspiBackup ein.

                          Kommentar

                          Lädt...
                          X