Studieren in Chemnitz. Wissen, was gut ist.






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

  • siehe rsnapshot als Aufbewahrungstechnologie