Backup Arten

Backups können ganz unterschiedlicher Art sein. Während bei einem Festplatten-Ausfall (also Datenrettung) eher dd oder gddrescue zum Einsatz kommen, wird hingegen bei regelmäsigen Datensicherungen auf lokaler Ebene eher auf tar zurückgegriffen. Rsync hilft bei Backups die auf einem entfernten Rechner gespeichert werden sollen.

Dabei sollte man sich immer folgende Fragen durch den Kopf gehen lassen:

  • Wie oft soll eine Sicherung erstellt werden?
  • Wie lange sollte eine Sicherung vorgehalten (gespeichert) werden?
  • Was und damit auf welche Art sollte gesichert werden?
 
 

Sicherungshäufigkeit & Vorhaltezeit

Grundsätzlich ist bei der Sicherungshäufigkeit nur der vorhandene Speicherplatz zu beachten. Stehen für Sicherungen nur 100GB zur Verfügung und es sind 10GB zu sichern, lassen sich (Kompression und Inkrementelle Backups außen vor gelassen) nur 10 Sicherungen anlegen. Demzufolge muss geklärt werden, wann und wie häufig ein solches Backup erstellt werden sollte. Hier treffen zwei Probleme aufeinander:

Sollen Backups für Webprojekte erstellt werden und der Nutzer macht vor seiner ein-wöchigen Abwesenheit eine Änderung, welche einen Bug in seinem System verursacht, hilft ein Backup vom Vortag. Allerdings kommt der Nutzer erst eine Woche später aus dem Urlaub zurück und bemerkt den Bug unter Umständen auch erst dann. Das Backup vom Vortag seiner Rückkehr beinhaltet also den Fehler und kann nicht genutzt werden. Das Backup von vor einer Woche beinhaltet zwar den Fehler nicht, aber auch keine änderungen, die in der Zwischenzeit gemacht wurden.

Aus diesem Grund bietet es sich an, Backups nicht "gesamt" anzufertigen sondern getrennt. In obigem Fall hilft es unter Umständen nur die Daten des Systems von vor einer Woche einzuspielen, nicht aber die Datenbank in welcher dynamische Einträge wie Bestellungen von Onlineshops gespeichert wurden. Aus diesem Grund sind tägliche Backups mit geringer Vorhaltezeit (tägliche Backups, 3 Tage Vorhaltezeit) häufig keine Ideallösung. Bei obigem Fall stünde kein Backup für den Nutzer zur Verfügung.

Optimal wäre es daher tägliche Sicherungen anzufertigen und diese möglichst lange vorzuhalten. Hierbei helfen Kompression und Inkrementelle Backups. Bei Inkrementellen Backups werden mit jedem weiteren Backup nur die Änderungen gespeichert. Ein solches Backup verringert sowohl den benötigten Speicherplatz, wie auch den verursachten Traffic bei der Übertragung.

Eine Empfehlung bei der Häufigkeit und Vorhaltezeit kann nicht gegeben werden; Da die Anforderungen sich je nach Projekt von Nutzer zu Nutzer massiv unterscheiden können, sollte idealerweise eine individuelle Entscheidung getroffen werden. In geteilten Umgebungen kann es auch durchaus vorkommen, dass Nutzer dazu verpflichtet sind selb- und eigenständig Backups anzufertigen und lediglich eine Gesamtsicherung für einen möglichen Totalausfall angefertigt werden muss. In diesem Fall könnten tägliche Backups mit einer sehr kurzen Vorhaltezeit von 1-2 Tagen ausreichend sein.

 
 

Was sollte gesichert werden

Es gibt zwei Möglichkeiten: entweder wird das komplette System gesichert, oder lediglich die relevanten Daten. Dabei spielt der folgende Gedanke eine Rolle: Das Betriebssystem bzw. die Distribution lässt sich jederzeit ersetzen und ist nicht kritisch. Die Daten der Nutzer lassen sich nicht jederzeit ersetzen und sind kritisch. Das komplette System mit seinen Anwendungen verbraucht viel Speicherplatz. Viel Speicherplatz sorgt für: Längere Sicherungszeiträume, längere Entpackvorgänge, längere Downtime und erhöhter Ressourcenverbrauch beim Backupmedium. Allerdings liegt der Vorteil in einem Komplettbackup darin, dass lediglich das Backup entpackt werden muss, der Bootloader einmal angestoßen wird (ordentliche Partitionierung vorausgesetzt) und alles wieder läuft wie vorher - Während bei dem teilweisen Backup zunächst das Grundsystem neu installiert (ggfls konfiguriert) werden muss.

 
 

Backup auf dedizierten Servern

Komplettes Backup eines dedizierten Servers (ganzes System)

Bei einem kompletten Backup des gesamten Systems (nicht zu Datenrettungszwecken; dafür würde dd/gddrescue verwendet werden) werden ein paar Verzeichnisse ausgelassen:

  • /proc
  • /sys
  • /dev
  • (/lost+found)

Diese Verzeichnisse werden vom Kernel / Filesystem erstellt und beinhalten Dateien welche sich nicht problemlos sichern lassen. Diese werden außerdem bei jedem Systemstart neu angelegt, daher ist von einer Sicherung abzusehen. Wichtig ist hierbei, dass die Verzeichnisse in leerer Form existieren, falls die Sicherung auf einem neuen System entpackt werden soll. Ohne diese "leeren" Verzeichnisse startet das System nicht.

Alle anderen Verzeichnisse können gesichert werden. Dies sind zum Beispiel:

  • /bin
  • /home
  • /lib64
  • /sbin
  • /usr
  • /boot
  • /opt
  • /selinux
  • /var
  • /cdrom
  • /media
  • /srv
  • /lib
  • /mnt
  • /root
  • /etc
  • /lib32
  • /run
  • /tmp

Teilweises Backup (wichtigste Daten)

Prinzipiell ist bei einem Linux-System davon auszugehen, dass alle wichtigen Daten in /home und gegebenfalls in /var/ sowie /etc liegen. Es bietet sich auch an, das Verzeichnis des Root-Benutzers zu sichern (/root). In /home finden sich üblicherweise die Daten aller Nutzer. Je nach verwendetem Admin-Panel möglicherweise auch Webhosting-Pakete. In /etc/ finden sich Konfigurationsdateien - Da nach einem Ausfall oder Serverwechsel alles möglichst schnell wieder funktionieren sollte, ist auch ein Backup von Configfiles ratsam. Dies ist bei der Verwendung von Admin-Panels wie IspCP essentiell, denn sämtliche Konfigurationen für FTP-Accounts und Webseiten finden sich in /etc. Im Verzeichnis /var finden sich, falls vorhanden, Datenbanken (/var/lib/mysql), OpenVZ Container (/var/lib/vz), Webseiten (/var/www), Virtuelle Systeme (/var/lib/libvirt) sowie Nameserver Zonefiles (/var/lib/bind), eMails (/var/spool/mail). Damit gehört /var zu den wichtigsten Verzeichnissen die es bei einem Linux-System zu sichern gilt.

Teilweises Backup (Webseiten)

Es ist auch üblich, nur einzelne Webseiten zu sichern, so kann für Webhosting-Pakete eine andere Häufigkeit und Vorhaltezeit genutzt werden, als für das komplette System. Die Verzeichnisse und Dateien die hier gesichert werden sind variabel. Wenn das Admin-Panel diese Funktionalität nicht bietet, muss zunächst eine Liste erstellt werden welche Daten zu welchem Nutzer gehören.

  • Webseite 1
    • Mail:
      • /var/spool/mail/info@example.tld
      • /var/spool/mail/bills@example.tld
    • Datenbank
      • db_1
    • Web-Verzeichnisse
      • /var/www/example.tld
    • Konfigurationsdateien
      • /etc/apache/sites/example.tld

Die Verzeichnisse seien hier nur Beispielhaft genannt und unterscheiden sich von Admin-Panel zu Admin-Panel. Zur Datenbank wird kein Pfad gespeichert sondern der Datenbank-Name. Siehe dazu den nächsten Abschnitt.

 

Verschiedene Sicherungsvarianten

Lokale Backups

Zum Sichern von Dateien gibt es verschiedene Möglichkeiten. Die mitunter einfachste ist die Verwendung von tar. Um beispielsweise ein Backup von den Verzeichnissen /etc/ /home/ /root/ und /var/ anzulegen, könnte der Befehl:

tar -cjvf backup.tar.bz2 /etc /home /root /var

genutzt werden. Der Parameter -c bedeutet "create", also anlegen. Der Parameter -j bedeutet "bzip" - es wird also die Bzip-Kompression verwendet, -v steht für "verbose". Dies stellt sicher, dass eine Ausgabe der einzelnen Aktionen auf der Shell angezeigt wird(Achtung: Verbose kann Probleme verursachen, wenn Dateien mit Umlauten gesichert werden und ist natürlich bei automatisierten Sicherungsabläufen per Cronjob nur notwendig, wenn die Ausgabe zum Beispiel in ein Log umgeleitet wird) Der letzte Parameter -f gibt an, in welcher Datei gesichert werden soll.

Ein Fallstrick, der Anfängern gelegentlich passiert ist es, das Backup innerhalb von /home anzulegen während /home gesichert wird. Dies sollte vermieden werden. Mit dem folgenden Befehl:

tar -xjvf backup.tar.bz2

kann das Backup im Anschluss wieder entpackt werden. Normalerweise entfernt tar die Slashes am Anfang eines Verzeichnisses bzw. einer Datei. Das führt dazu, dass die archivierten Dateien in dem Verzeichnis entpackt werden, in welchem der Extrahierbefehl ausgeführt wird. Wird also als Pfad beim Backup /home genutzt und das Home-Verzeichnis soll beim entpacken überschrieben werden, muss man sich im Verzeichnis / befinden. Befindet man sich im Verzeichnis /root und entpackt das Backup, legt er /root/home beim entpacken an. Dieses Verhalten lässt sich unterbinden, in dem der Parameter -P beim Packvorgang genutzt wird, wodurch absolute Pfade genutzt werden.

Neben bzip2 ist tar auch in der Lage xz oder gzip zu verwenden, welche unter Umständen schneller im Entpacken und Packen sind. Am Ende dieses Artikels finden sich einige Links zu Programmen, die Backups automatisiert anfertigen oder dabei helfen.

Remote Backups auf einen anderen Host

Sollen Backups auf einem anderem System gesichert werden, bietet sich die Verwendung von rsync an. Es ist auch möglich scp zu nutzen, allerdings sollte davon abgesehen werden. Anders als rsync kann scp einen Kopiervorgang nicht wieder aufnehmen. Kommt es bei einer 100GB Sicherung also nach 50GB zu einem Abbruch, muss wieder bei 0 begonnen werden.

Um zum Beispiel das Verzeichnis /home inklusive aller Dateien in das Verzeichnis /home_backup auf dem Server 10.0.0.1 zu sichern, kann folgender Befehl genutzt werden:

rsync -avz /home backup@10.0.0.1:/home_backup/

Die Option -a (archive) schaltet weitere Optionen ein, die im Falle eines Backups wichtig sind. Zum Beispiel werden so die Zugriffszeiten/Daten und Berechtigungen beibehalten. Die Option -v (verbose) zeigt an was gerade synchronisiert wird. Die Option -z ist dafür da, Kompression einzuschalten.

Mit rsync wäre es auch möglich "Shares" zu exportieren, von denen dann ein Backup geholt wird. So könnte auf Server zuvor mit tar ein Backup erstellt werden und der entfernte Rechner startet den Backupprozess indem diese Datei gesichert wird.

Backup-Anwendungen

Eine einfache Backup-Anwendung ist mit Hilfe der linux tools rsync in Zusammenarbeit mit Cronjobs und tar schnell entwickelt und eingerichtet. Zunächst würde beim ersten Aufruf mittels rsync ein Backup angelegt werden und dieses dann im Anschluss mit Hilfe von tar gepackt. Bei weiteren Aufrufen würde das letzte Backup entpackt werden, um den Datenbestand mittels rsync zu synchronisieren. Abschließend wäre der synchrone Bestand dann wieder zu packen.

Die folgenden Programme bieten diese Funktionalität und mehr.

 

Hotline
 
Hotline des Rechenzentrums

Fragen? Rufen Sie uns an!
Montag - Freitag 10:00 - 19:00 Uhr

+49 69 - 900 180 - 0

 
Aktionen & News
 

Dedizierte Supermicro Xeon Server - ab 70,00 Euro

Angebote

 

Zweiter Standort
 
Hotline des Rechenzentrums

Erfahren Sie mehr über unseren zweiten Standort in der Hanauer Landstrasse in Frankfurt am Main.

mehr erfahren

Zertifizierungen
 
TüV geprüftes Rechenzentrum
ISO 27001 zertifiziertes Rechenzentrum
ISO 9001 zertifiziertes Rechenzentrum


Knowledge Base
 

Hilfreiche Artikel zum Thema Netzwerk, Server & IT.

mehr erfahren


Galerie
 

Sehen Sie sich in einem virtuellen Rundgang in unserem Rechenzentrum um:

Niederspannungshauptverteilung Unterbrechungsfreie Strom Versorgung
Kaltwassererzeuger Bereitstellung individueller SAT-Dienstleistungen


100% Ökostrom
 
100% Öko-Strom