Skip to content

Aus Backup wiederherstellen

Zur Wiederherstellung des LD-Servers in Notfallsituationen oder bei Hardware-Umzug bietet SBE eine spezielle Umgebung, die SBE-Toolbox, bereit. Die Toolbox ist an für sich eine Live-CD auf Basis von Linux und stellt einen Installer sowie Wiederherstellungsmöglichkeiten des LD-Servers zur Verfügung. Dafür muss die Toolbox auf einem bootbaren Medium, wie z. B. einem USB-Stick ausgeführt werden.

Info

Die Toolbox finden Sie im Downloadbereich der SBE-Website (www.sbe.de) für eingeloggte Benutzer!

Toolbox-Stick erstellen

Die Erstellung eines eigenen Toolbox-USB-Sticks ist denkbar einfach, dank der inzwischen vielen kostenpflichtigen und auch kostenlosen Hilfsprogramme, die im Internet zum Download angeboten werden und einen USB-Stick zu einem bootbaren Medium umfunktionieren.

Ein gängiges und auch sehr einfach zu bedienendes Tool ist Ventoy.

Download Ventoy

Natürlich steht es Ihnen frei, andere Tools zu verwenden. Im Beispiel wird der Einfachheit halber Ventoy verwendet.

  1. USB-Stick formatieren

    Stecken Sie zunächst einen USB-Stick an einen freien USB-Port Ihres Rechners an, wo das Programm Ventoy installiert ist und starten es. Wird der Stick erfolgreich von Ventoy erkannt, taucht dieser unter Device auf. Im Anschluss klicken Sie auf den Button Install. Eine Sicherheitsabfrage weißt nun nochmals darauf hin, dass der ausgewählte Datenträger formatiert wird. Dabei gehen alle darauf befindlichen Daten verloren.

    ventoy parted

    Tipp

    Ventoy erstellt im Standard über die gesamte Speichergröße des Gerätes hinweg eine Daten-Partition. Wenn Sie das nicht möchten, kann in den Optionen unter Partition Configuration die gewünschte Größe in GB. z.B. 10 GB, definiert werden. Somit lässt sich der Restspeicher für anderweitige Daten verwenden.

    Auf dem USB-Stick entstehen nun 2 Partitionen. Das Verzeichnis Ventoy, wo Imagedateien vom Format ISO abgelegt werden, sowie eine unsichtbare Bootpartition, welche den Bootloader für den Start beinhaltet.

    ventoy part

  2. Toolbox herunterladen

    Melden Sie sich mit Ihren Kundenzugangsdaten auf der SBE-Webseite an. In der Navigationsleiste unter Support\Toolbox lassen sich eine Vielzahl an aktuellen und älteren Version der Toolbox als ISO-Datei herunterladen.

    download toolbox

  3. Toolbox übertragen

    Die heruntergeladene Toolbox-ISO aus dem Downloadverzeichnis wird nun in das aus Schritt 1 erstellte Ventoy-Verzeichnis auf dem USB-Stick kopiert. Damit ist der Toolbox-Stick fertiggestellt.

    copy to ventoy

Toolbox Recovery

Info

Für das Recovery wird zwingend der LogoDIDACT-Key logodidact.keydes LD-Servers benötigt. Packen Sie diesen auf den USB-Stick in ein Verzeichnis oder in der Toolbox-Umgebung über Teamviewer.

Zunächst den Toolbox-Stick an den LD-Server auf einen freien USB-Port anstecken und den Server starten. Nun entweder über das Boot-Menü des Servers, meist F11 oder F12, vom USB-Stick booten oder im Server-BIOS kurzzeitig die Bootreihenfolge anpassen.

Nachdem der LD-Server in die Toolbox-Umgebung gebootet ist in der Schnellauswahlleiste den Button Recovery auswählen. Nun werden eine Reihe von Informationen abgefragt:

  1. Akzeptieren der AGB, sowie die Auswahl des LD-Keys logodidact.keydes Servers.

    Tipp

    Der logodidact.key wird in der Toolbox in ein temporäres Verzeichnis unter /tmp/keys/ abgelegt. Bei einer Fehlerausgabe kopieren Sie den Key manuell über die Shell in diesen Ordner.

  2. Systempartition zuweisen

    Wählen Sie nun die Partition aus auf die der LogoDIDACT-Server wiederhergestellt werden soll. In unserem Beispiel wäre das die Partition /dev/sda "Size: 127G.

    Parition

  3. Externes Interface

    Hier erfolgt die Zuweisung der physischen Schnittstelle p_extern.

    extInterface

  4. Internes Interface

    Nun das interne Interface p_intern auswählen.

    intInt

  5. Partitionslayout bestätigen

    Das Partitions-Layout ist nicht veränderbar. Das ist eine reine Information. Bestätigen Sie den Dialog mit OK.

    partLayout

  6. SWAP-Größe bestimmen

    Geben Sie die Größe der SWAP-Partition an. Standardmäßig liegt diese bei 16 GB.

    Swap

  7. Backup angeben

    Nun wird das Label des Backupmediums mitgegeben. Das wäre bk1, bk2 oder LD-USB-BAK.

    Info

    Falls das Backup auf einer NAS vorliegt und mit ISCSI am LD-Server verbunden war muss dieses in der Toolbox-Umgebung temporär wieder zur Verfügung gestellt werden.

    Label

  8. Recovery starten

    Recover

    Je nach Servergröße kann die Wiederherstellung einige Zeit in Anspruch nehmen.

Einzelne Container wiederherstellen

Parallel zur kompletten Wiederherstellung eines Servers, besteht die Möglichkeit einzelne Container zurückzuspielen. Dadurch kann man z.B. auf einen funktionierenden Containerstand wechseln.

Es ist sehr wichtig, dass vor dem Recovery eines Containers folgende Voraussetzungen erfüllt sind:

  1. Der wiederherzustellende Container muss sich im ausgeschalteten Zustand befinden

    Hierzu auf dem ldhost folgende Befehle absetzen:

    lxc-stop -n CONTAINERNAME
    systemctl stop lxc@CONTAINERNAME.service
    
  2. prun auf dem Hostsystem ldhost deaktivieren.

Es kann sonst passieren, dass während dem Recovery ein prun den Container wieder startet. Im ldhost den Befehl pdis absetzen.


Die Wiederherstellung erfolgt mit dem Datenübertragungstool rsync. Es ermöglicht eine schnelle und effiziente Übertragung von Daten einer Quelle zu einem Zielverzeichnis. Eine Reihe zusätzlicher Schalter sorgt dafür, dass Berechtigungen und Dateiattribute bei der Wiederherstellung nicht verloren gehen.

Die Syntax eines typischen rsync-Befehls stellt sich folgendermaßen zusammen:

root@ldhost:~ # rsync -haxPHAX -v --numeric-ids --delete QUELLPFAD ZIELPFAD

Schalter Beschreibung
-v Fortschritt
-h human readable
-a alle Verzeichnisse rekursiv mit Berechtigungen
-x ausschließen temp. Daten/Ordner
-H erhält Hardlinks
-A erhält erweiterte ACLs (Dateirechte)
-X Wiederherstellung erweiterter Attribute
--delete löscht Dateien/Ordner im Zielverzeichnis, die im Quellverzeichnis nicht existieren
--numeric-ids Benutzer-und Gruppenrechte werden über die ID gemappt, nicht den Namen
--super Wiederherstellung spezieller Attribute, wie z.B. bei Domänencontrollern

Im Beispiel ergibt sich für den Container nexus-g1 folgendes:

root@ldhost:~ # rsync -haxPHAX -v --numeric-ids --delete /backup/bk1/snapshot/DATUM/var/lib/lxc/nexus-g1/rootfs/. /var/lib/lxc/nexus-g1/rootfs/.

Warnung

Sofern der Domänencontroller dc1 wiederhergestellt wird, den zusätzlichen Schalter --super mitgeben.

Neben dem Containerverzeichnis /var/lib/lxc legen viele Container ihre Daten in einem separaten Verzeichnis unter /var/lib/lxc.data ab. Diese Daten müssen bei einer Wiederherstellung gegebenenfalls mit zurückgesichert werden. Dazu denselben Befehl ausführen, jedoch den Pfad anpassen.

root@ldhost:~ # rsync -haxPHAX -v --numeric-ids --delete /backup/bk1/snapshot/DATUM/var/lib/lxc.data/nexus-g1/rootfs/. /var/lib/lxc.data/nexus-g1/rootfs/.

Info

Die Schalter können natürlich beliebig angepasst werden und es handelt sich hierbei um eine grobe Empfehlung. Ausführliche Informationen erhält man in den gängigen manpages oder Wiki-Seiten im Internet.

Ist der Recovery-Vorgang abgeschlossen, prun auf dem ldhost reaktivieren und ausführen.

root@ldhost:~ # pena
root@ldhost:~ # prun

Datenbank wiederherstellen

In seltenen Ausnahmefällen kann, verursacht durch Stromausfall, Hardwareschaden usw. eine Datenbank irreparabel crashen, da Einträge innerhalb der Datenbank nicht mehr konsistent sind, doppelt vorhanden sind oder gar ganz fehlen. In solchen Situationen bietet es sich an die Datenbank als solches auf einen funktionalen Stand wiederherzustellen.

Täglich wird von den Datenbanken in den Datenbank-Containern ein sog. Datenbank-Dump erstellt und im Container im Verzeichnis /backup/ abgelegt. Dieser Dump ist nichts anderes als eine konsistente Momentaufnahme der aktuell laufenden Datenbankinstanz.

Um einen Dump wiederherzustellen bedient sich LogoDIDACT den Standardtools, die von mysql oder postgresql zur Verwaltung mitgeliefert werden.

PostgreSQL-DB wiederherstellen

Achtung

Stoppen Sie vorab alle Dienste, die auf die Datenbank zugreifen oder fahren Sie ggf. den Anwendungs-Container herunter.

  1. Wechseln in den Ziel-Datenbank-Container

    root@ldhost:~ # ssh pgsql13

  2. In die postgreSQL-Umgebung wechseln

    root@pgsql13:~ # psql

  3. Alle Datenbanken anzeigen

    postgres [local] ~ =# \l

  4. Ausgewählte Datenbank löschen

    postgres [local] ~ =# drop database DATENBANKNAME;

  5. Leere Datenbank erstellen

    postgres [local] ~ =# create database DATENBANKNAME;
    postgres [local] ~ =# exit;
    
  6. Spezifische DB-Anpassungen setzen und Datenbank-Dump importieren

    root@pgsql13:~ # prun
    root@pgsql13:~ # pg_restore -c -C -d DATENBANKNAME -v /backup/postgres/DATUM/DATENBANKNAME
    

    Info

    Informationen zu den einzelnen Schaltern erhalten Sie über pg_restore --help