RSYNC Technologie im URZ der TU Chemnitz
An der TU Chemnitz ist zunächst folgendes zu beachten:
- ein lokales rsync in ein AFS-Verzeichnis benötigt ein AFS-Token
(ist zu beachten bei Verwendung von cron)
- die Verwendung der rsync-Option --hard-links ist NICHT im AFS möglich
(AFS unterstützt keine Hardlinks)
- die Verwendung des rsync-remote Protokolls wird aus Sicherheitsgründen im URZ nicht unterstützt (stattdessen ist ssh/PuTTy zu verwenden)
- die Sicherung von Eigentümerrechten im AFS ist nicht möglich
(AFS setzt automatisch den Token-Inhaber als Eigentümer)
RSYNC im URZ
- es gibt Backup-Server im URZ, die per rsync Daten sichern
- diese rufen aktiv (nur in Ausnahmefällen passiv) ein Backup-Skript auf allen beteiligten Klienten nach einem vereinbarten Zeitraster auf, siehe dazu die Info für UNIX/LINUX-Klienten
- auf den Server werden die Daten auf einem lokalen RAID-Plattensystem nach folgendem Muster abgelegt:
- pro Klient wird ein Verzeichnis <hostname>/<rsync_datum> angelegt
- <hostname> ist der Name des Klienten ohne Domainangabe
- <rsync_datum> ist das Datum des Backup in Form YYYYMMDD
- es wird in der Regel täglich einmal rsync gestartet; dabei entsteht ein neues Datumsverzeichnis des aktuellen Tages
- in das aktuelle Verzeichnis werden alle Dateien des Klienten kopiert, die sich seit dem vorherigen Datum geändert haben
- alle anderen Dateien werden einfach auf dem Server verlinkt (Hardlinks)
- dadurch entspricht der Inhalt jedes Datumsverzeichnisses exakt dem Stand auf dem Klienten zum Zeitpunkt des entsprechenden rsync-Aufrufes.
- in regelmäßigen Abständen wird rsync mit einer Option -c aufgerufen, die alle Dateien auf dem Klient und dem Server liest und anhand Ihrer MD4-Prüfsumme vergleicht. Das hat den Vorteil, dass die Lesbarkeit der Daten überprüft wird. Bei großen Datenbeständen dauert das allerdings ziemlich lange (vergleichbar mit dem kompletten Backup der Daten).
- sollen gesichterte Daten zurückgestellt werden, dann werden dem Klienten-Admin die Daten des entsprechenden Datums zur Verfügung gestellt. Die Form der Übergabe muss gegenwärtig noch vereinbart werden.
- aufbewahrt werden die Daten auf Wunsch des Klienten-Admin beliebig lange in Abhängigkeit des zur Verfügung stehenden Kontingents des Klienten und der verfügbaren Server-Ressourcen (Plattenkapazität). Mit einem Löschskript werden alte Datumsverzeichnisse beseitigt. Per default werden die Sicherungen der letzten 28 Tage (4 Wochen) aufbewahrt, dann für 3 Monate je eine Sicherung pro Woche (an den Tagen 1 8 16 23) und dann für weitere 3 Monate jeweils die erste Sicherung des betreffenden Monats.
- die Anwendung auf Windows-Rechnern ist prinzipiell möglich aber bisher nicht erprobt, siehe dazu die Info für WINDOWS-Klienten
- zur Sicherung der Daten wird folgender rsync-Aufruf verwendet:
datum_neu=$(date +%y%m%d)
datum_last=$(ls $BASE/$RHOST|tail -1)
rsync -aR --link-dest $BASE/$RHOST/$datum_last -e "ssh -ax -i $KEY" $RUSER@$RHOST:"$FILES" $BASE/$RHOST/$datum_neu
# BASE ist das Backup-Filesystem
# RHOST ist der Hostname des Klientenrechners
# RUSER ist der Loginname des Benutzers der auf dem Klienten das Backup macht
# FILES ist die Liste der zu sichernden Verzeichnisse/Dateien auf dem Klienten
Nutzungsmöglichkeiten auf Klienten
- Klientenrechner sollten keine Arbeitsplatzsysteme sein
- Klientenrechner müssen immer laufen, da die Backup-Zeiten variieren
- zum Zeitpunkt des Backup sollten die Daten möglichst nicht verändert werden
- auf dem Backup-Klient können Daten vor der zentralen Sicherung lokal gesammelt werden, z.B. mit rsync selbst.
- zur individuellen Nutzung von rsync werden im Weiteren verschiedene Szenarien dargestellt
- Ein sinnvolles Szenario wäre das manuelle oder zeitgesteuerte Kopieren von Daten verschiedener Benutzer oder Arbeitsplatzsysteme (Laptops) mittels rsync in ein dafür lokal bereitgestelltes Filesystem. Dieses dient als aktuelle lokale Sicherungs-Kopie der Daten für den schnellen Zugriff aller Nutzer. Von diesem Filesystem wird mittels rsync eine täglich Kopie auf einem Backup-Server des URZ angefertigt, die über einen längeren Zeitpunkt aufbewahrt werden kann.
Manuelles lokales rsync
- Erstellen einer identischen Kopie
rsync -a --delete <quelle>/ <ziel>
Achtung: / entscheidet, ob quelle-Verzeichnis unter ziel angelegt wird oder nicht
- Daten auf externem Medium sichern (z.B. USB-Stick)
rsync -rt <quelle> <ziel>
Achtung: Eigentümerrechte, Links u.a. werden oft auf Fremdmedien nicht unterstützt
- Aufbewahren von täglichen Sicherungen
ziel_datum_now=$(date +%y%m%d)
LAST=<ziel_datum_last>
NEXT=<ziel_datum_now>
rsync -a --link-dest <ziel>/$LAST <quelle> <ziel>/NEXT
Manuelles remote rsync
- Erstellen einer Kopie auf Fremdrechner innerhalb des URZ
rsync -av -e "ssh -ax" <quelle> <user>@<hostx>:/<ziel>
Achtung: user kann weggelassen werden, wenn ssh innerhalb des URZ aufgerufen wird und der Benutzer ein AFS-Token besitzt
Automatisches lokales rsync
- Aufruf per cron ; beachte Zugriffsrechte (geht nicht ins AFS)
Automatisches remote rsync
- Aufruf per cron ; es müssen für ssh 2 Identity-Files erstellt werden, die auf den beteiligten Rechnern gesichert gegen unerlaubten Zugriff zu installieren sind.
Sonstiges