KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014
SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Einrichtung des Systems...Seite 04 3. Erzeugen eines Backup-Skripts...Seite 05 4. Einrichten periodischer Backups...Seite 07 5. Rücksicherung von Dateien...Seite 08
SEITE _ 3 1. EINLEITUNG Willkommen bei Cloud&Heat! Dieses Dokument soll Ihnen zeigen, wie Sie die Software Duplicity in Kombination mit Cloud Object Storage nutzen können. Duplicity ist eine freie Software, welche unter der GNU General Public License (GPL) verfügbar ist und verschlüsselte Remote Backups von Dateien und Verzeichnissen bietet. Wir stellen Ihnen ein Backup-Skript zur Verfügung und führen Sie durch die Einrichtung, um eine regelmäßige Sicherung durchzuführen. Duplicity arbeitet am besten unter Unix-ähnlichen Systemen wie Linux und MacOSX, aber es kann auch zum Backup von Windows-Systemen mit Cygwin genutzt werden. Duplicity unterstützt gelöschte Dateien, Unix- Berechtigungen, Verzeichnisse und symbolische Links. Folgenden Schritte sind dazu erforderlich: 1) Einrichtung des Systems (Kapitel 2) 2) Erzeugen des Backup-Skripts (Kapitel 3) 3) Einrichten von periodischen Backups (Kapitel 4) In Kapitel 5 zeigen wir Ihnen, wie Sie Dateien aus einem Backup wiederherstellen. Das Sicherungsskript läuft auf jedem System, auf dem python-2, duplicity-0.6.22 und python-swift client installiert ist. Eine Anleitung, wie Ihr System diese Anforderungen erfüllt, finden Sie in Kapitel 2. Die Anleitung in diesem Dokument wurde mit Ubuntu 12.04 und 13.10 mit jeweils der Desktop- und Server- Variante getestet.
SEITE _ 4 2. EINRICHTUNG DES SYSTEMS Die folgenden Schritte müssen Sie für die Einrichtung Ihres Systeme ausführen, um ein Backup erzeugen zu können: 1) Bitte melden Sie sich an dem Computersystem an, das Sie sichern möchten. Das kann Ihr lokaler Computer oder eine laufende VM (Virtuelle Maschine) in der Cloud sein. Eine Anleitung für das Anmelden an einer VM in der Cloud finden Sie in Kurzanleitung Cloud Compute. 2) Stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist: sudo apt-get update sudo apt-get -y upgrade 3) Um die neueste Version von Duplicity zu erhalten, fügen wir ein externs Repository hinzu: sudo add-apt-repository -y ppa:duplicity-team/ppa 4) In Ubuntu 12.04 müssen Sie zusätzlich Folgendes ausführen: sudo add-apt-repository -y cloud-archive:havana Hinweis: Unter Ubuntu können Sie mit folgendem Befehl feststellen, welche Version installiert ist: lsb _ release -a 5) Jetzt installieren wir die erforderlichen Programme: sudo apt-get update sudo apt-get install -y duplicity python-swiftclient anacron 6) Bitte überprüfen Sie, ob die richtige Version installiert worden ist. Die Version 0.6.22 ist erforderlich: duplicity --version
SEITE _ 5 3. ERZEUGEN EINES BACKUP-SKRIPTS Wir werden jetzt ein Backup-Skript anlegen. In diesem Beispiel nennen wir die Datei backup_home.py, in der Annahme, dass wir die Home-Verzeichnisse unter /home sichern wollen. 1) Legen Sie ein Verzeichnis für das Backup-Skript an: sudo mkdir -p /usr/local/bin 2) Laden Sie das Backup-Skript aus dem Cloud&Heat Dashboard unter Access & Security API Access Download Duplicity Script. Speichern Sie das Backup-Skript unter /usr/local/bin/backup _ home. py. Hinweis: Bitte lesen Sie in Kurzanleitung Cloud Compute, wie Sie sich am Cloud&Heat Dashboard anmelden. 3) Passen Sie das Backup-Skript für alle Variablen, die mit @@ beginnen und enden mit den entsprechenden Werten an: @@CLOUDANDHEAT _ DASHBOARD _ PASSWORD@@: Das ist das Passwort, mit dem Sie sich am Cloud&Heat Dashboard einloggen. Aufpassen: Wenn das Passwort ein enthält, wird es mit einem Backslash \ maskiert. @@PASSWORD _ BACKUP@@: Das Password wird zum symmetrischen Verschlüsseln des Backups genutzt. Aufpassen: Wenn das Passwort ein enthält, wird es mit einem Backslash \ maskiert. @@CONTAINER _ NAME@@: Der Name des Containers, in welchem das Backup in der Cloud gespeichert wird. Der Name darf nur die Zeichen a-z, A-Z, 0-9 oder enthalten. Der Container sollte möglichst schon vorhanden sein und über die Registerkarte Container im Cloud&Heat Dashboard erreichbar sein. Bitte lesen Sie die Kurzanleitung Cloud Object Storage für weitere Informationen, wie Sie auf diesen zugreifen können. @@BACKUP_ DIRECTORY@@: Pfad zum Verzeichnis, welches gesichert werden soll, z. B. /home. @@BACKUP _ EXCEPTIONS@@: Absolute Pfade zu Ordnern mit Ausnahmen innerhalb von @@BACKUP _ DIRECTORY@@, die nicht mit gesichert werden sollen. Mehrere Einträge sind möglich. Die Liste darf leer sein. Beispiel: Nehmen wir an, dass die Ordnern @@BACKUP _ DIRECTORY@@/paul und @@BACKUP _ DIRECTORY@@/anja/ Downloads nicht mitgesichert werden sollen. Dann soll die Variable @@BACKUP _ EXCEPTIONS@@ in dem Backup-skript durch folgendes ersetzt werden: [ /home/paul/, /home/anja/downloads ]
SEITE _ 6 4) Zum Schluss sollte der Zugriff auf den Root-User eingeschränkt werden: sudo chown root:root /usr/local/bin/backup _ home.py sudo chmod 700 /usr/local/bin/backup _ home.py 5) Um zu Prüfen, ob das Skript funktioniert, können Sie es mit folgendem Befehl starten: sudo /usr/local/bin/backup _ home.py Es sollte ohne Fehler beendet werden. Um zu prüfen, ob das Backup im Cloud Object Storage gespeichert worden ist, melden Sie sich bitte am Cloud&Heat Dashboard an (siehe Kurzanleitung Cloud Compute für weitere Informationen) und gehen Sie bitte auf das Menü Containers auf der linken Dashboardseite. Hier sollten Sie den Container sehen, mit dem Namen, den Sie gewählt hatten (die Variable @@CONTAINER _ NAME@@ in Kapitel 3). Wenn Sie auf den Container klicken, sollten Sie als Inhalt das Backup sehen.
SEITE _ 7 4. EINRICHTEN PERIODISCHER BACKUPS Um automatisch ein periodisches Backup auszuführen, empfehlen wir Ihnen das Programm anacron zu nutzen. Es ist schon installiert, so dass Sie nur folgendes tun müssen: Legen Sie einen symbolischen Link mit dem folgenden Befehl an: sudo ln -s /usr/local/bin/backup _ home.py /etc/cron.daily/backup _ home Beachten Sie, dass der Name des Links in /etc/cron.daily nicht das Zeichen. enthalten darf. Daher nennen wir es backup _ home statt backup _ home.py. Außer dem Verzeichnis cron.dialy (für die täglichen Backups) gibt es außerdem noch die Verzeichnisse cron.hourly, cron.monthly und cron.weekly. Für weitere Informationen nutzen Sie bitte die man-page anacron. Hinweis: Bitte beachten Sie, dass die Dateien in den cron-verzeichnissen nur folgende Zeichen im Namen haben: Große und kleine Buchstaben (A-Z, a-z), Zahlen (0-9), Unterstriche (_) und Bindestriche (-). Andernfalls werden sie nicht ausgeführt.
SEITE _ 8 5. RÜCKSICHERUNG VON DATEIEN Um ein Backup wiederherzustellen, benutzen Sie bitte folgendes Kommando (die Werte für die Variablen sind unten beschrieben): SWIFT_USERNAME= OS_PROJECT_NAME:OS_USERNAME \ SWIFT _ AUTHURL= OS _ AUTH _ URL \ SWIFT _ AUTHVERSION=2 \ SWIFT _ PASSWORD= @@CLOUDANDHEAT _ DASHBOARD _ PASSWORD@@ \ duplicity swift://@@container _ NAME@@ @@TARGET _ DIRECTORY@@ Die @@-Variablen müssen alle die gleichen Werte haben, wie sie in dem Backup-Skript eingesetzt waren (siehe Kapitel 3). @@TARGET _ DIRECTORY@@ ist das Verzeichnis, wo das Backup wiederhergestellt wird. Verzeichnisse, welche beim Backup ausgeschlossen wurden, werden nicht wiederhergestellt. Die Werte für die Variablen, die mit OS_ anfangen, finden Sie in der RC-Datei für Ihr Projekt. Diese Datei können Sie im Cloud&Heat Dashboard unter Access & Security API Access Download OpenStack RC File herunterladen. Nach dem Ausführen des Befehls werden Sie nach der Passphrase gefragt. Das ist der Inhalt der Variablen @@ PASSWORD _ BACKUP@@, welches im Backup-Skript genutzt worden ist.