Benutzer-Werkzeuge

Webseiten-Werkzeuge


infrastruktur:backup

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
infrastruktur:backup [12.09.2021 16:06] – [infos] Hannes Iveninfrastruktur:backup [24.09.2022 19:15] Paul
Zeile 1: Zeile 1:
-====== Backup ======+====== Backup Doku ======
  
-  VerantwortungDJWawa, wupo+**Was noch nicht gebackupped wird (stand 24.09.2022):**
  
-====Infos====+   * nextcloud user data (''/mnt/shared/nextcloud''
 +   * VMs 
 +   * Video-server (''/mnt/shared/video'')
  
-Folgende Ordner von Magrathea werden gesichert: 
-  * ''/etc'' 
-  * ''/root'' 
-  * ''/var/lib/lxc'' 
-  * ''/mnt/shared/nextcloud'' 
-  * ''/mnt/shared/backup'' 
  
-==== Todo:==== +Folgende Pfade werden gebackupped:
-===  Backup Account für Zugriff auf Willi === +
-  - Account mit dem Namen 'backup' im ldap einrichten +
-    - Dieser Account wird  für den SSH-Zugang auf Willi benötigt +
-    - authorized keys (auf Willi) von root@magrathea public key +
-===  magrathea === +
-  - Folgende Ordner müssen gebackuped werden: +
-    * ''/var/lib/lxc'' (Container) +
-    * ''/root'' (Skripte) +
-    * ''/etc'' (Konfigurationen) +
-    * ''/mnt/shared/nextcloud'' +
-    * ''/mnt/shared/backup'' +
-    * ? +
-  - Test-VM aufsetzen für Snapshot tests:\\ +
-    * Mit virsh kann man  über folgenden Befehl snapshots der VMs anlegen:''virsh snapshot-create-as'' +
-  - [[https://borgbackup.readthedocs.io/en/stable/|Borg]] installieren +
-    - und einrichten:  Willi als ssh-gate +
-=== case === +
-  - lokaler Account 'backup' (auf case direkt oder container) einrichten +
-    - authorized keys von root@magrathea public key +
-  - [[https://borgbackup.readthedocs.io/en/stable/|Borg]] installieren +
-    - und einrichten+
  
-=== Wer macht was? === +   * ''/var/lib/lxc/codi'' 
-  DJWawa: +   ''/var/lib/lxc/keycloak'' 
-    * 'backupAccount Einrichtung + SSH-Key Verteilung +   * ''/var/lib/lxc/md'' 
-    Borg Einrichtung+   * ''/var/lib/lxc/openproject'' 
 +   * ''/var/lib/lxc/redmine'' 
 +   * ''/var/lib/lxc/spacedeck'' 
 +   * ''/var/lib/lxc/web'' 
 +   * ''/var/lib/lxc/dokuwiki'' 
 +   * ''/var/lib/lxc/keycloak2'' 
 +   * ''/var/lib/lxc/monitoring'' 
 +   * ''/var/lib/lxc/pad'' 
 +   * ''/var/lib/lxc/roundcube'' 
 +   * ''/var/lib/lxc/thelounge'' 
 +   * ''/var/lib/lxc/website'' 
 +   * ''/var/lib/lxc/ffhl-blackbox'' 
 +   ''/var/lib/lxc/ldap'' 
 +   * ''/var/lib/lxc/nbspstatus'' 
 +   * ''/var/lib/lxc/sediment'' 
 +   * ''/var/lib/lxc/torproxy'' 
 +   * ''/var/lib/lxc/whiteboard'' 
 +   * ''/var/lib/lxc/gitlab'' 
 +   * ''/var/lib/lxc/mail'' 
 +   * ''/var/lib/lxc/nextcloud'' 
 +   * ''/var/lib/lxc/pretix'' 
 +   * ''/var/lib/lxc/social'' 
 +   * ''/var/lib/lxc/video'' 
 +   * ''/var/lib/lxc/zammad''
  
-  * Wupo: 
-    * Test-VM (snapshot_test) anlegen + wieder löschen 
-    * Container + VM Snapshots Script(e) 
  
  
-==== systemd unit ==== +===== Übersicht =====
-Es gibt unter '/etc/systemd/user' zwei systemd units: +
-  * weekly-backup.timer' +
-  * weekly-backup.service'+
  
-Diese starten das regelmäßige backup, über ein  weiteres script '/root/backup_scripts/backup'. Letzteres ruft das 'vm-backup-all.sh' und das 'backup-to-case.sh' script unter '/root/backup_scripts/' auf.   +**Ein Backupserver (nbsp-backup) pullt regelmäßig btrfs-snapshots von magrathea.**
-==== Log ==== +
-Der output der systemd units wird unter '/var/log/backup.log' festgehalten. +
-==== VM Snapshots ==== +
-Es werden nach [[https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit|dieser Anleitung]] Backups von allen vorhandenen VMs angelegt. +
-Voraussetzung ist, dass das Image der zu sichernden VM im qcow2 Format hinterlegt ist.\\ +
-Die relevanten Skripte sind auf magrathea unter ''/root/backup_scripts'' abgelegt.\\ +
-''vm-backup.sh'' stammt aus [[https://gist.github.com/cabal95/e36c06e716d3328b512b|diesem]] gist und wurde nur leicht an unsere Gegebenheiten angepasst.\\ +
-''vm-backup-all.sh'' führt das o.g. Skript für alle vorhandenen VMs aus.\\ +
-Die disk images und metadaten .xml Dateien liegen unter ''/mnt/shared/backup/vms''+
-=== VMs vom Backup ausschließen === +
-Es werden alle VMs gesichert, die nicht explizit ausgeschlossen worden sind.\\ +
-Ausschließen kann man VMs über einen Eintrag in der ''/root/backup_scripts/vm-backup-all.sh'' Datei. Dort gibt es einen grep Befehl ähnlich zu diesem: +
-<code> +
-grep -vE 'gitlab-runner|snapshot_test' +
-</code> +
-Um nun eine weitere VM vom Backup auszuschließen muss hier lediglich ein Pipe-symbol und der Name der VM hinzugefügt werden z.B. +
-<code> +
-grep -vE 'gitlab-runner|snapshot_test|weitere_vm' +
-</code>+
  
-===  libvirt-daemon-system bug #932456 === +**Auf Magrathea** sind ist das ''/'' ein [[https://btrfs.wiki.kernel.org/index.php/Main_Page|BTRFS]] DateisystemJeder Container ist ein eigenes subvolumesdass individuell gesnapshoted werden kann. Es wird jeweils immer der letzte snapshot aufgehoben um inkrementelle Backups zu machen.
-Es gibt derzeit (Stand 15.05.2021) noch einen [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932456|Bug]] im libvirt-daemon-systemDieser konnte durch den Patch am Ende der verlinkten Diskussion vorläufig behoben werden. Da diese Version allerdings nicht weiter gewartet wirdsollte nach baldmöglichst auf ein offizielles Update des libvirt-daemon-system pakets  gewechselt werden. +
-==== LXC Snapshots ==== +
-Es wird ein Skript geben, welches einmal die Woche von allen lxc containern einen snapshot anfertigt.\\ +
-Dazu werden die Container zunächst gestoppt, dann gespeichert und im Anschluss wieder gestartet.\\ +
-<code> +
-lxc-stop <container-name> +
-lxc-snapshot <container-name> +
-lxc-start <container-name> +
-</code> +
-==== Borg Backups ==== +
-[[https://borgbackup.readthedocs.io/en/stable/|Borg]] ist auf Magrathea und Case installiert.\\ +
-Einmal die Woche meldet sich Magrathea-Borg über Willi bei Case-Borg an und legt dort Backups ab.+
  
-==== Dateien aus einem Backup wiederherstellen ====+**Auf nbsp-backup** gibt es einen Backup-VM. In dieser ist das ''/'' ebenfalls ein BTRFS. Das Programm [[https://digint.ch/btrbk/index.html|''btrbk'']] macht täglich automatisch inkrementelle Backups von konfigurierten subvolumes. Dafür nutzt es ssh und ''btrfs-send''/''btrfs-receive''.
  
-=== Eine kürzlich geänderte Datei wiederherstellen ===+===== Backup einrichten: =====
  
-Ein Backup des Zustandes der letzten Nacht ist unter ''/root/backup-gallifrey/daily'' gespeichertDie Maschine kann aus dem Space unter backup.dhcp.nobreakspace.org über ssh oder sftp erreicht werden.Das Passwort für den root user liegt beim Vorstand.+Um ein Subvolume von Magrathea backuppen zu lassen, muss das Subvolume **auf dem Backupserver** in der Datei ''/etc/btrbk.conf'' ergänzt werdenUm z.Beinen Container zu backuppen, muss diese Zeile zu der Liste hinzugefügt werden:
  
-=== Eine ältere Version wiederherstellen ===+<code> 
 +subvolume var/lib/lxc/<container_name> 
 +</code>
  
-Für Ältere Versionen von Dateien gibt es ein [[https://borgbackup.readthedocs.io/en/stable/|Borg-Backup]] Repository unter ''root/backup-gallifrey/archive-borg''. Informationen zum wiederherstellen von Dateien sind unter [[https://borgbackup.readthedocs.io/en/stable/usage/extract.html|extract]] oder [[https://borgbackup.readthedocs.io/en/stable/usage/mount.html|mount]] zu finden. Die Passphrase für das Repo hat der Vorstand.+===== Backups/snapshots anzeigen =====
  
-{{tag>infrasystem host case}}+**Auf nbsp-backup** liegen alle subvolumes in ''/backups''. Dort kann einfach in die subvolumes ''cd''t werden und die Dateien angeschaut und kopiert werden.
infrastruktur/backup.txt · Zuletzt geändert: 24.09.2022 19:16 von Paul