= Backup-System [[PageOutline(2-6)]] == 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 1. `rsync` auf dem Ziel-Rechner installieren, so daß es als Kommando via `rsync -e ssh` von außen nutzbar ist 1. 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 1. 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` 1. 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/ }}} 1. Konfiguration testen: \\ `dirvish --vault mt-twiki-local --init --dry-run` 1. Backup-Vault initialisieren: \\ `dirvish --vault mt-twiki-local --init` 1. 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 }}} 1. für automatisches Backup und Expiration lt. Cron-Job den Backup-Vault in `master.conf` eintragen