Rootserver-Backup mit Tartarus und Linux Hot Copy

Eine Anleitung für Tartarus ist im Hetzner-Wiki zu finden. Da das Filesystem nicht mit LVM angelegt ist, gehen auch keine LVM-Snapshots, die von Tartarus unterstützt würden. Statt dessen wird das Linux Hot Copy von R1Soft verwendet.

Täglich morgens um 5 Uhr wird ein Vollbackup des Systems (/) erstellt. Der Server verwendet RAID 0 und hat zwei Partitionen /dev/md1 und /dev/md2.

Vor dem Backup wird mit Linux Hot Copy ein (Blockdevice-)Snapshot der Partitionen /dev/md1 (/boot) und /dev/md2 (/) erstellt und nach /var/hotcopy/md2_hcp1 gemountet.

Das gemountete Snapshot-Verzeichnis wird dann mit Tartarus (als Filebackup) gesichert.

Dazu dient folgendes Cron-gesteuerte Skript:

#!/bin/sh
# /usr/local/sbin/backup.sh
# Run all backup profile found in /etc/tartarus/ and pass
# command line arguments on to tartarus (e.g. -i)
/usr/sbin/hcp -m /var/hotcopy/md2_hcp1 /dev/md2
/usr/sbin/hcp -m /var/hotcopy/md2_hcp1/boot /dev/md1
for profile in /etc/tartarus/*.conf; do
/usr/sbin/tartarus $* "$profile"
done
/usr/sbin/hcp -r /dev/hcp2/usr/sbin/hcp -r /dev/hcp1

Die Profildatei /etc/tartarus/snap.conf für das Snapshop-Verzeichnis ist:

# Allgemeine Einstellungen einlesen
source /etc/tartarus/generic.inc
# Name des Sicherungsprofils
NAME="snap"
# Verzeichnis / sichern
DIRECTORY="/var/hotcopy/md2_hcp1"
# Keine temporären Dateien sichern
# mehrere Ordner durch Leerzeichen trennen
EXCLUDE="/var/hotcopy/md2_hcp1/tmp/ /var/hotcopy/md2_hcp1/var/spool/postfix/private/"
# keinen LVM-Snapshot erstellen
CREATE_LVM_SNAPSHOT="no"
INCREMENTAL_TIMESTAMP_FILE="/var/spool/tartarus/snap-timestamps"

Nach dem Backup werden die Snapshots wieder gelöscht (in der richtigen Reihenfolge, sonst geht der umount schief).

Das Backup befindet sich dann als verschlüsselte Archivdatei auf dem Hetzner-Backupserver.

Zum Restore muss die Archivdatei geholt und in einem Verzeichnis ausgepackt werden. Dann hat man Zugriff auf die Dateien.