Datenbankbackups mit Uphold verifizieren

Auf Nummer sicher

Backups sind Pflicht – auch und besonders, wenn eine Datenbank zum Einsatz kommt. Um zu verhindern, dass im Falle eines Falles die Wiederherstellung der Datenbank scheitert, greift Uphold dem Admin unter die Arme.
'Datenbanken' lautet der Schwerpunkt der Dezember-Ausgabe des IT-Administrator. Darin werfen wir einen Blick auf den Firewall-Schutz und das ... (mehr)

Ein bissiges Bonmot der IT-Szene lautet: "Nobody needs backups, everybody wants restore". Der Spruch weist auf den Umstand hin, dass ein angelegtes Backup nur die halbe Miete ist, denn es muss sich im Falle eines Falles auch komplett einspielen lassen. Bei Backups von Dateien ist ein inkonsistentes Backup ja möglicherweise noch zu verschmerzen – in der Regel wird der Admin einen betriebsbereiten Zustand bei Verlust von einzelnen Dateien akzeptieren, wenn dafür der Betrieb weitergeht. Bei Datenbank-Backups ist das anders. Denn hier gilt "Alles oder nichts": Wenn sich das Backup einer Datenbank nicht vollständig einspielen lässt, ist sie unbrauchbar.

Nicht selten ist allerdings zu beobachten, dass Admins zwar Backups anlegen, den Restore-Vorgang aber nicht testen. Denn das ist aufwendig: Im schlimmsten Falle müsste der Admin ein Backup ziehen, die produktive Umgebung anhalten, das Backup einspielen und danach schauen, ob das System so läuft wie erwartet. Die wenigsten Unternehmen gehen so gründlich vor – und vertrauen darauf, dass im Ernstfall schon alles funktionieren wird.

Den Autoren von Uphold ist diese Art des Vabanquespieles zu gefährlich: Sie liefern in Form von Uphold ein Werkzeug, mit dem sich Datenbank-Backups automatisch auf ihre Restore-Fähigkeiten überprüfen lassen.

Komplettpaket

Dabei ist es den Entwicklern ein Anliegen, den Admins das Leben so leicht wie nur irgendwie möglich zu gestalten. Eben weil sich der Restore-Prozess im Betrieb praktisch nicht sinnvoll testen lässt, bietet Uphold das Komplettpaket: Docker kommt zum Einsatz, um Container mit einer frischen Datenbank anzulegen. Dann erfolgt die Wiederherstellung eines Datenbank-

Backups nach Maßgabe des Admins und im letzten Schritt spielt Uphold seine Stärke voll aus: Tests überprüfen völlig automatisch, ob nach dem Restore-Vorgang die Datenbank funktioniert. Das Programm bringt eine ganze Reihe eigener Tests mit, bietet aber auch eine User-Schnittstelle für Tests, die der Admin anlegt. Wer schon mal mit dem CI-Werkzeug Jenkins gearbeitet hat, fühlt sich sicher an viele der dort verfügbaren Funktionen erinnert.

Docker als Basis

Admins finden Uphold auf GitHub [1]. Allerdings ist es gar nicht notwendig, den Quelltext herunterzuladen. Denn die Uphold-Programmieren bieten ein fertiges Abbild eines Docker-Containers an, das sich per »docker« auf der Kommandozeile einfach laden lässt und das alle wichtigen Komponenten enthält. Deshalb geht es im ersten Schritt darum, die Voraussetzungen für den Uphold-Betrieb im System zu schaffen. Wer die Möglichkeit hat, startet Uphold am sinnvollsten in einer eigens zu diesem Zweck angelegten virtuellen Maschine. Das folgende Beispiel geht von einer frischen Installation von Ubuntu 16.04 aus, also der aktuellen LTS-Version von Ubuntu. Dass Uphold auf Docker setzt, stellt sich an dieser Stelle als äußerst praktisch heraus, denn Docker-Container lassen sich auch in virtuellen Maschinen problemlos nutzen – ganz im Gegensatz etwa zu geschachtelten VMs von KVM, die in vielen Fällen Probleme verursachen.

Es ist nicht kompliziert, Docker auf Ubuntu 16.04 einzurichten. Denn Docker selbst stellt passende Pakete bereit, die alle benötigten Komponenten direkt auf das System bringen. Der erste Schritt besteht darin, den GPG-Schlüssel für die Verifikation der Paketquellen des Docker-Projektes auf dem System zu hinterlegen. Der Befehl

$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers. net:80 recv-keys 58118E89F3 A912897C070ADBF76221572C52609D

erledigt das. Dann lassen sich die Docker-Paketquellen aktivieren (Bild 1):

$ echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

Der Befehl »apt-get update« aktualisiert danach das lokale Verzeichnis der auf den Paketservern verfügbaren Pakete. Das Kommando »apt-get install -y docker-engine« holt schließlich die nötigen Docker-Komponenten auf das lokale System. »systemctl status docker« sollte danach die Ausgabe "Active: active (running)" anzeigen – dann ist sicher, dass Docker läuft und das Starten von Docker-Containern grundsätzlich möglich ist.

Bild 1: Bevor es mit Uphold losgehen kann, steht zunächst die Installation von Docker auf Ubuntu ins Haus – dafür sind die Docker-Paketquellen zu aktivieren.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023