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.
Natürlich steht es Ihnen frei, andere Tools zu verwenden. Im Beispiel wird der Einfachheit halber Ventoy verwendet.
-
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.
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.
-
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.
-
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.
Toolbox Recovery
Info
Für das Recovery wird zwingend der LogoDIDACT-Key logodidact.key
des 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:
-
Akzeptieren der AGB, sowie die Auswahl des LD-Keys
logodidact.key
des 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. -
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
. -
Externes Interface
Hier erfolgt die Zuweisung der physischen Schnittstelle p_extern.
-
Internes Interface
Nun das interne Interface p_intern auswählen.
-
Partitionslayout bestätigen
Das Partitions-Layout ist nicht veränderbar. Das ist eine reine Information. Bestätigen Sie den Dialog mit OK.
-
SWAP-Größe bestimmen
Geben Sie die Größe der SWAP-Partition an. Standardmäßig liegt diese bei 16 GB.
-
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.
-
Recovery starten
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:
-
Der wiederherzustellende Container muss sich im ausgeschalteten Zustand befinden
Hierzu auf dem ldhost folgende Befehle absetzen:
-
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.
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.
-
Wechseln in den Ziel-Datenbank-Container
root@ldhost:~ # ssh pgsql13
-
In die postgreSQL-Umgebung wechseln
root@pgsql13:~ # psql
-
Alle Datenbanken anzeigen
postgres [local] ~ =# \l
-
Ausgewählte Datenbank löschen
postgres [local] ~ =# drop database DATENBANKNAME;
-
Leere Datenbank erstellen
-
Spezifische DB-Anpassungen setzen und Datenbank-Dump importieren
Info
Informationen zu den einzelnen Schaltern erhalten Sie über
pg_restore --help