wiki:BackupSystem

Backup-System

Aufbau

physikalisch
Host Laubfrosch, Basis-Platten im RAID-1, 2 x 1,8 TByte SATA Spindel
Virtualisierung
Hypervisor Laubfrosch, Logical Volumes in der VG backup, virtuelle Maschine Alp-Backer, Console an VNC-Port Laubfrosch:11 mit Passwort
System
Alpine-Linux in minimaler Konfiguration, Dirvish-Backup, basierend auf rsync über SSH mit SSH-Key, SSH-Key ist passwortgeschützt und wird automatisch beim ersten Root-Login nach dem Booten in den RAM geladen.
Volumes und File-Systeme
Logical Volumes für das Root-FS und Minimal-Swap, eine "große" Platte (16GByte) als Swap-Space (die Größe ist nötig, um den FS-Check für die Backup-Daten stemmen zu können) und derzeit eine "Dirvish-Bank" bank1 auf einer eigenen Platte, welche bei Bedarf gemountet wird und für die Mount/Umount und FSCK-Marker gesondert geführt werden.

wichtige Dateien und Verzeichnisse

Dirvish-Konfiguration
/etc/dirvish
Bank1 Mount/Umount
/etc/dirvish/mount_bank1.sh, /etc/dirvish/umount_bank1.sh
FSCK-Marker
/forcefsck.backup-bank1 (automatisch gepflegt, führt zum FSCK im Hintergrund am Ende Boot-Vorgangs, wenn er vorgefunden wird)

Backup-Targets

janus-local
die gesamte lokale Systeminstallation, mit der der Janus läuft, enthält auch die gemeinsam genutzten Systembestandteile aller NFS-Thin-Clients (also usr, bin, etc usw.)
janus-home
die Home-Directories aller Nutzer, incl. E-Mail-Daten, welche auch per NFS an die NFS-Thin-Clients exportiert werden
janus-export
alle Konfigurationsspezialisierungen, welche auf Janus unter /export/base existieren und die Spezialisierung der Konfiguration alles NFS-Thin-Clients enthalten (Spezialisierung gegenüber der Einrichtung von Janus)
hyperjanus-full
das gesamte Betriebssystem des Hyperjanus, dem Hypervisor für den physikalischen Host Janus, da dort keine produktiven User angelegt sind, genügt das
musiker-full
das gesamte Betriebssystem des Musikers, des Rechners/Laptops im WoZi, welcher als Musik-Box aufgesetzt ist (aber derzeit nicht genutzt und gepflegt ist)
tbd. mt-twiki-local
das gesamte Betriebssystem des Mtronig-TWiki-Servers, ohne die TWiki-Daten
tbd. mt-twiki-data
die gesamten TWiki-Web-Daten (Grundeinrichtung und Mtronig-Nutzdaten)

neues Backup-Target einrichten

Backup-Target
das Verzeichnis auf dem Rechner, dessen Daten gesichert werden
Ziel-Rechner
der Rechner, von dessen File-Systemen die Daten in den Backup-Vault kopiert werden
Backup-Vault
ein Begriff, der durch das Dirvish-System definiert wird,
das Verzeichnis auf dem Backup-Server (backer.p21.net), in dem die Backup-Images erstellt werden bzw. zu finden sind
Backup-Image
ein Begriff, der durch das Dirvish-System definiert wird,
das Unterverzeichnis in einem Backup-Vault, welches durch einen Backup-Lauf entsteht/entstand
Backup-Branches
eine Gruppe voneinander abhängiger Images, deren hohe Ähnlichkeit der Daten zu Einsparungen im Speicher-Backend genutzt wird

Das Beispiel zeigt die Einrichtung des Mtronig-TWiki-Backend-Servers als Zielrechner mit mehreren Backup-Targets.

  • Vorbereitung des Ziel-Rechners:
    1. SSH-Dienst auf dem Ziel-Rechner so einrichten, daß ein Root-Login mit SSH-Key (also ohne Passwort) möglich ist
    2. rsync auf dem Ziel-Rechner installieren, so daß es als Kommando via rsync -e ssh von außen nutzbar ist
    3. SSH-Key des root Users vom backer.p21.net auf den Zielrechner kopieren (Achtung: der private Teil des Schlüssels ist passwortgeschützt, das Passwort sollte jedoch seit der Anmeldung in den RAM geladen sein):
      eine Möglichkeit ist: ssh-copy-id -i ~/.ssh/id_rsa.pub root@mt-twiki-backend,
      eine andere Möglichkeit ist, den Inhalt der Datei ~/.ssh/id_rsa.pub von root@backer an die Datei ~/.ssh/authorized_keys auf dem Ziel-Rechner anzuhängen
    4. Zugang zum Ziel-Rechner testen:
      ssh root@mt-twiki-backend-p21.net hostname
  • Vorbereitung des Backup-Vaults (Tresors):
    1. Verzeichnis anlegen: mkdir -p mt-twiki-local/dirvish
    2. Konfiguration des default Branches erstellen, Datei mt-twiki-local/dirvish/default.conf:
      client: root@mt-twiki-backend.p21.net
      tree: /
      xdev: 0
      exclude:
      	/data/
      	/media/
      	/mnt/*/
      	/usr/src/
      	/var/cache
      	/var/backups
      	/var/lock
      	/var/lib/nfs/
      	/var/tmp/
      	/tmp/
      
    3. Konfiguration testen:
      dirvish --vault mt-twiki-local --init --dry-run
    4. Backup-Vault initialisieren:
      dirvish --vault mt-twiki-local --init
    5. erstes Backup testen:
      cat /var/dirvish/bank1/mt-twiki-local/20*/summary
      .
      .
      .
      Backup-begin: 2020-10-07 20:02:50
      Backup-complete: 2020-10-07 20:11:38
      Status: success
      
    6. für automatisches Backup und Expiration lt. Cron-Job den Backup-Vault in master.conf eintragen
Last modified 5 years ago Last modified on Oct 7, 2020, 6:21:27 PM