Hetzner - DokuWiki

BackupService

Inhaltsverzeichnis

Über den Backup Service

Der Backup Service ist ein neues Feature der Storage Produkte. Es kann für Storage Boxen und Backup Spaces genutzt werden. Mit dem Backup Service ist es möglich einfach und automatisiert Dateisystem Backups zu erstellen. Der Dienst besteht aus 3 wesentlichen Bestandteilen:

  • Webpanel:
    Das zentrale Userinterface, um Backuppläne zu konfigurieren oder auf Backups zu zugreifen
  • Backup Software:
    Das Programm, das die Backups ausführt. borgbackup
  • Backup Agent:
    Der Backup Agent wird auf dem zu sichernden Server installiert.

Der Backup Agent dient als Vermittler zwischen Weboberfläche und der Backup Software. Von der Weboberfläche werden Einstellungen, oder Befehle an den Backup Agent geschickt. Der Agent steuert die Ausführung der Backup Software und sendet Informationen über die ausgeführten Backups an die Weboberfläche.

Beta Phase

Dieser Dienst befindet sich zur Zeit in der Beta Test Phase. Die Beta wird unter Vorbehalt bis zm 31.07.2018 durchgeführt. Ziel dieses Tests ist es die Akzeptanz unserer Kunden gegenüber einem verwalteten Backup Dienst zu ermitteln. Verbesserungen im Bereich Usability und neue Features sind bereits geplant und werden bei entsprechender Nachfrage umgesetzt. Wir laden unsere Kunden herzlich ein diesen Dienst zu testen und uns Feedback in unserem Forum zu geben.

Features

  • Verschlüsselung:
    Die Daten werden bereits vor der Übertragung zum Backup Server verschlüsselt. Die gesicherten Daten können nur durch Eingabe eines Passwortes entschlüsselt werden. Dieses Passwort wird nicht in unserem System gespeichert!
  • Automatisierung:
    Für die Backups können flexible Zeitpläne eingestellt werden. Nach der Einrichtung werden Backups je nach Konfiguration automatisch ausgeführt.
  • Einfach:
    Der Backup Service hat eine einfach zu bedienende und übersichtliche Weboberfläche.

Kompatibilität

Unterstützte Betriebssysteme:

  • Debian 9
  • Ubuntu 16.04

Python Versionen:

  • >= Python 3.5

Einrichtung

Aktivierung

Zum Start der Beta Phase kann der Backup Service nur über unsere interen System freigeschaltet werden. Deshalb bitten wir Sie bei Interesse eine Storage Box Anfrage mit dem Hinweis zur Aktivierung des Backup Services zu schicken.

Zugriff

Die Urls für den Backupservice unterscheiden sich für die Storage Boxes und Backup Spaces.

Storage Box:

https://webpanel-<username>.your-storagebox.de

Backup Space:

https://webpanel-<username>.your-backup.de

Die Anmeldung an der Weboberfläche erfolgt dann mit den Storage Box / Backup Space Zugangsdaten.

Server anlegen

Mit dem Backupservice können mehrere Server gesichert werden. Für jeden Server wird ein Backup-Repository auf der Storage Box / dem Backup Space angelegt. Beim Anlegen eines Servers werden folgende Informationen benötigt:

  • Name:
    Einem Server wird ein Name gegeben, damit die Backups einem Server zugeordnet werden können
  • Backup Passwort:
    Das Passwort mit dem das Backup Repository verschlüsselt wird.
    VORSICHT: OHNE DIESES PASSWORT KANN NICHT AUF DIE BACKUPS ZUGEGERIFFEN WERDEN
  • SSH-Key:
    Die Backups werden per SSH auf den Backup Server übertragen. Damit die Backups automatisch durchgeführt werden können muss ein öffentlicher SSH Key auf der Storagebox / Backup Space hinterlegt werden. Dieser SSH Key darf nicht mit einem Passwort geschützt sein.

Beim Erstellen des Servers wird eine eindeutige Server ID erzeugt. Diese Server ID wird benötigt, um den Backup Agent zu konfigurieren.

Backup Agent einrichten

Nachdem an der Weboberfläche ein Server angelegt wurde, muss der Backup Agent auf dem zu sichernden Server eingerichtet werden.

Installation

Der Backup Agent und seine Abhängigkeiten werden auf einem eigenen Mirror bereit gestellt.

  • Mirror in sources.list eintragen:
wget https://backup-packages-mirror.hetzner.de/stretch.list -O /etc/apt/sources.list.d/backup-packages-mirror.list

oder

wget https://backup-packages-mirror.hetzner.de/xenial.list -O /etc/apt/sources.list.d/backup-packages-mirror.list
  • GPG Key zur apt keychain hinzufügen:
wget -O - https://backup-packages-mirror.hetzner.de/backupservice.hetzner.gpg.key | apt-key add -
  • Aktualisieren der apt Repositories und Installieration des Backup Agents:
apt-get update && apt-get install python3-hetznerbackupagent
  • Falls die Installation mit folgendem Hinweis fehlschlägt:
E: The method driver /usr/lib/apt/methods/https could not be found.

Muss noch die transport-https lib installiert werden:

apt-get install apt-transport-https


Konfiguration

Nach der Installation kann der Backup Agent über den Befehl backup_agent aufgerufen werden.

 backup_agent --help
 usage: backup_agent [-h] [-r config_id] [-v] [-i] [-s [help-PARAM]] [-t] [-c]
  [-d]
 Hetzner Backup Agent
 optional arguments:
  -h, --help show this help message and exit
  -r config_id, --run config_id
  Trigger a backup with a config id.
  -v, --version Display version information
  -i, --info Display application information
  -s [help-PARAM], --setup [help-PARAM]
  Starts the configuration of the application. More
  information with "-setup help-all"
  -t, --test_ssh Checks if a ssh connection can be established.
  -c, --clean Removes all files associated with BackupAgent,
  including conf- ,log- andsystemd- files
  -d, --debug Sets the loglevel to debug

Das Setup wird über backup_agent --setup aufgerufen. Anschließend werden Schritt für Schritt alle nötigen Informationen abgefragt:

  • FQDN des Backup Servers:
    Die Url, über die die Weboberfläche erreichbar ist.
  • Username:
    Der Username für das Storage Produkt
  • Server ID:
    Die Server ID, die beim Anlegen des Servers an der Weboberfläche erzeugt wurde.
  • API Key:
    Schlüssel zur Authentifizierung an der Weboberfläche. Wird von der Weboberfläche bereit gestellt.
  • IP Address:
    Die öffentliche IP Adresse ihres Servers.
  • Backup Passwort:
    Das Backup Passwort, dass beim Anlegen des Server an der Weboberfläche vergeben wurde.
  • SSH Key path:
    Pfad zum privaten SSH Schlüssel. Der zugehörige öffentliche Schlüssel wurde bereits beim Anlegen des Servers an der Weboberfläche hinterlegt.

Nachdem ein Server an der Weboberfläche angelegt wurde, werden alle nötigen Informationen zur Einrichtung des Backup Agents angezeigt. Die Konfigurationshilfe kann auch über die Server Optionen aufgerufen werden.

Nach der Einrichtung wird der Backup Agent als Systemd Unit registriert und gestartet. Die Backups werden über Systemd Timer gesteuert. Dazu werden folgende Systemd Units erzeugt:

  • hetzner.backup_agent.service:
    Systemd unit für den Backup Agent, sorgt dafür, dass der Agent immer ausgeführt wird. Das ist notwendig, damit von der Weboberfläche Einstellungen und Befehle übertragen werden können. Wenn bereits Backuppläne eingerichtet sind und keine Konfigurationsänderungen zu erwarten sind, kann diese Unit auch deaktiviert werden.
  • hetzner.backup_timer_x.timer:
    Für jeden Backupplan (x) gibt es einen Timer, der festlegt wann der Backupplan ausgeführt wird.
  • hetzner.backup_runner_x.service:
    Diese Unit wird von dem zugehörigen Timer aufgerufen und enthält den Befehl, über den letztendlich das Backup ausgeführt wird.

Weitere Dateien, die vom Backup Agent erzeugt werden:

  • /etc/BackupAgent/agent_conf.json:
    Enthält die gesamte Konfiguration des Backup Agents.
  • /var/lib/BackupAgent/backuptrack.json:
    Enthält eine Liste über alle laufenden Backups mit der zugehörigen Prozess ID
  • /var/log/hetzner.backup_agent.log:
    Log Datei für den Backup Agent Hauptprozess
  • /var/log/hetzner.backup_agent_runner_x.log:
    Log Infos zur Ausführung des zugehörigen Backupplans

Hinweise zum Backup Agent

  • Betrieb hinter einer Firewall: Der Backup Agent öffnet einen Port (default: 45111).

Über diesen Port versucht das Webpanel dem Backup Agent Konfigurationsinformationen zu schicken.
Vergewissern Sie sich, dass der verwendete Port und die IP des Backupservers nicht von einer Firewall (intern / Robot Firewall) blockiert wird.

  • Starten / Stoppen: Der Backup Agent wird von systemd verwaltet. Somit wird er automatisch gestartet und neu gestartet bei unerwarteten Anwendungsfehlern. Der Backup Agent kann mit folgenden Befehlen gestartet oder gestoppt werden.
    • systemctl start hetzner.backup_agent.service
    • systemctl stop hetzner.backup_agent.service
  • Manuell starten: Wenn die Backup Agent systemd unit gestoppt wurde, kann das Programm auch per Kommandozeilen Befehl gestartet werden, ohne systemd zu verwenden. Mit dem Parameter "-d" wird der Backup Agent im debug-Mode gestartet
    backup_agent -d


Backupplan erstellen

Zu jedem Server können mehrere Backuppläne erstellt werden. Ein Backupplan beschreibt die Aufgabe Backups durchzuführen. Für einen Backupplan sind folgende Informationen notwendig:

  • Name:
    Eindeutige Benennung des Backup Plans zur Unterscheidung bei Verwendung mehrerer Backup Pläne
  • Dateiauswahl:
    • Include:
      Auswahl aller Verzeichnisse und Dateien die beim Backup berücksichtigt werden sollen
    • Exclude:
      Auswahl aller Verzeichnisse und Dateien die nicht gesichert werden sollen, obwohl sie sich in einem inkludierten Verzeichnis befinden.
    • Hinweis:
      Soll das ganze Dateisystem gesichert werden, sollten folgende Verzeichnisse ausgeschlossen werden:
      /dev, /proc, /sys, /var/run, /run, /lost+found, /mnt, /var/lib/lxcfs
  • Zeitplan:
    Hier wird bestimmt wann die Backups ausgeführt werden sollen. Es ist möglich mehrere Wochentage, mehrere Stunden und eine Minutenangabe in 15 minütigen Schritten anzugeben.

Nachdem ein Backupplan gespeichert wurde, wird dieser automatisch zum Backup Agent übertragen.

Backup manuell starten

Wenn alle Einrichtungsschritte durchgeführt wurden, kann in den Backupplan Optionen über den Trigger-Button ein Backup manuell gestartet werden.

Backups

Backup Infos

Zu jedem Backup werden Informationen gespeichert, so kann schnell erkannt werden, ob Backups wie erwartet ausgeführt werden.

  • Status:
    Gibt an ob ein Backup erfolgreich oder fehlerhaft war.
  • Speicherverbrauch:
    Zeigt die Größe einzelner Backups und die Größe des gesamten Backup Repositories.
  • Systemauslastung:
    Zeigt die Auslastung des gesicherten Servers während der Ausführung des Backups. Es werden anteilig CPU und Speichernutzung angezeigt. So können Zusammenhänge zwischen eventuellen Systemproblemen und Backups untersucht werden.
  • Dateianzahl:
    Gibt an wie viele Dateien in einem Backup sind.
  • Zeiten:
    Ausführungszeiten und Dauer eines Backups.

Zugriff auf Backup Daten

Um auf die gesicherten Daten zugreifen zu können muss das Backup Passwort eingegeben werden. Danach werden alle gesicherten Dateien in der Weboberfläche aufgelistet. Bei sehr großen Backups kann dies einen Moment dauern, Für den Zugriff auf die Dateien gibt es 3 Möglichkeiten:

  • Datei / Ordner auf Storage Box / Backup Space extrahieren:
    Die Datei oder der Ordner wird auf dem Storage Box / Backup Space wiederhergestellt. Dabei wird in einem "Recovery" Verzeichnis die gesamte Ordner Struktur der extrahierten Daten abgebildet. Mit aktiviertem WebDAV Feature kann nun direkt auf die wiederhergestellten Daten zugegriffen werden.
  • Datei / Ordner auf Storage Box / Backup Space als Archiv extrahieren:
    Stellt die ausgewählten Daten in einem Tar Archiv auf dem Storage Box / Backup Space zur Verfügung. Mit aktiviertem WebDAV Feature kann das Archiv anschließend direkt heruntergeladen werden.
  • Dateien ansehen:
    Textbasierte Dateien und bestimmte Bild-Dateien können direkt im Webpanel angezeigt werden.
    • Textdateien:
      Für viele Textdateien wird ein Syntax Highlighting verwendet.
    • Bild-Dateien:
      Derzeit unterstützte Dateiformate sind: jpg, gif, png.

Betriebsarten

Daemon Modus

Standardmäßig wird der Backup Agent im Daemon Modus ausgeführt. Das bedeudet, dass die Anwendung permanent ausgeführt wird. So kann der Backup Agent jederzeit Nachrichten vom Webpanel entgegen nehmen. Das bringt den Vorteil, dass jederzeit Backup Pläne aktualisiert werden können und Backups jederzeit manuell gestartet werden können. Der Nachteil dieser Konfiguration ist, dass permanent ein Port vom Backup Agent offen gehalten wird. Sie sollten sich bewusst sein, dass geöffnete Port ein potentielles Sicherheitsrisiko darstellen können.

Bedarfs Modus

Um Backups auszuführen und am Webpanel Informationen anzuzeigen ist es nicht erforderlich, dass der Backup Agent permament ausgeführt wird. Nach erfolgreicher Konfiguration der Backuppläne kann der Backup Agent auch gestoppt werden. Die systemd Timer sind zu diesem Zeitpunkt erstellt und sorgen dafür, dass die Backups ausgeführt werden. Um den Backup Agent in den Bedarfs Modus zu versetzen reicht es den Backup Agent nach erfolgreicher Konfiguration der Backup Pläne zu stoppen.

systemctl stop hetzner.backup_agent.service

Wenn der Backup Agent gestoppt wurde, können allerdings keine weiteren Backuppläne angelegt oder vorhandene aktualisiert werden. Auch das Triggern von Backups ist nun nicht mehr möglich. Wenn die Konfiguration aktualisiert werden soll muss der Backup Agent zuvor neu gestartet werden.

systemctl start hetzner.backup_agent.service

VORSICHT: Der Backup Agent wird auch nach einem Systemstart im Daemon Modus neu gestartet.



© 2018. Hetzner Online GmbH. Alle Rechte vorbehalten.