Skip to main content

ISP Disaster-Recovery unter Linux

Die folgende Anleitung beschreibt die Planung und Durchführung eines ISP Disaster Backups sowie die anschließende Wiederherstellung.

Vorbereitung: Backup regelmäßig erstellen

Um die Sicherung durchzuführen, erstellen Sie ein Shellskript mit folgendem Inhalt:

SET DSM_DIR=<ISP Installationspfad>/bin
SET DSM_CONFIG=“<Pfad der Konfigurationsdatei>
cd <ISP Installationspfad>/bin
dsmc backup

Ihnen wird sicherlich aufgefallen sein, das Sie nun eine Konfigurationsdatei benötigen. Um eine ISP Konfigurationsdatei zu erzeugen, erstellen Sie (z.B. Mit Notepad) eine Datei mit folgendem Inhalt:

TCPServeraddress <ISP-Serveradresse>
tcpport <TCP Port>
Nodename <Rechnername>
errorlogname <Errorlog-Pfad>

Die Platzhalter müssen an ihre Einstellungen angepasst werden. Beim Errorlog-Pfad muss ein beschreibbares Laufwerk angegeben werden, z.B. ein USB-Stick.

Speichern Sie die Konfigurationsdatei nun unter dem Namen „dsm.opt“ auf ein beschreibbares Laufwerk, auf welches das System Zugriff hat. Beachten sie das .opt nicht der Name der Datei sondern die Dateiendung ist!

Das Sicherungsskript kann nun ausgeführt werden. Wenn Sie ihre Daten auf einem Aktuellen Stand halten wollen, empfiehlt es sich dieses Skript in regelmäßigen Abständen auszuführen (oder mit in eine Aufgabenplanung zu integrieren.)

Alle Probleme die bei der Sicherung auftreten werden in das ISP Errorlog geschrieben.

Disaster Recovery - Ablauf

Schritt 1: Gauß-IT-Zentrum  benachrichtigen

Beim ersten Verbindungsaufbau wurden SSL-Zertifikatsdateien erstellt, welche für jede folgende Anmeldung benötigt werden. Wenn Sie jetzt den Knoten erneut benutzen müssen um das gesamte System wiederherzustellen, müssen Sie zuerst die Backup-Administration am Gauß-IT-Zentrum (GITZ) (backup@tu-braunschweig.de) kontaktieren, sodass sie für Sie den Knoten 'freischalten' können. Somit kommt keiner an Ihre Daten, wenn sie Ihre Knotenadministrator-ID und Passwort erraten.

Sie können auch selbst die SSL-Zertifikatsdateien auf ein anderes System kopieren, wenn Sie die Systemwiederherstellung nur testen möchten. Die dazu benötigte Dateien sind bei der Verwendung des Standardinstallationspfad unter dem folgendem Pfad zu finden:

/opt/tivoli/tsm/client/ba/bin/dsmcert.idx dsmcert.kdb dsmcert.sth

Schritt 2: Zugriff auf Festplatte

Hierzu gibt es zwei Wege.

a) Live-Boot USB-Stick

Hierbei installieren Sie Ihre bevorzugte Linux-Distribution auf ein USB-Stick, wovon Sie dann das System starten.

In dieser Anleitung wird dieser Weg nicht genauer erklärt.

b) Festplatte an ein Laufendes System anschließen

Sie schließen dazu die Festplatte, auf der das System wiederhergestellt werden, an ein bereits funktionierendes System. Danach müssen Sie ISP installieren. Hier ist dazu eine Anleitung.

Wenn auf das besagte System bereits ISP installiert ist, sollten Sie die Konfigurationsdateien und SSL-Zertifikate zuerst sichern. Dazu gehören die folgenden Dateien: /opt/tivoli/tsm/client/ba/bin/dsmcert.idx dsmcert.kdb dsmcert.sth dsm.opt dsm.sys

Schritt 3: ISP installieren und konfigurieren

Dazu gibt es Hier eine passende Anleitung.

Schritt 4: Festplatte und Dateisystem vorbereiten:

Zuerst müssen die Partitionen auf der Festplatte eingerichtet werden. In unserem Beispiel ist die Festplatte unter */dev/sdb* hinterlegt. Dabei eignen sich Werkzeuge wie z.B. fdisk.

Die meisten Linux-Distributionen haben mindestens zwei Partitionen: Eine große Partition unter dem Typ 'Linux' und eine weitere kleinere (~4GB) SWAP Partition unter dem gleichnamigen Typen. Es ist jedoch zu empfehlen sich zuerst zu informieren, welche Partitionen die wiederherzustellende Linux-Distribution vorsieht. Bei unserem Beispiel sieht es wie folgt aus: Zuerst wird die fdisk-Konsole geöffnet:

fdisk /dev/sdb

Danach wird die erste Partition erstellt(Eingaben sind mit '>' getrennt dargestellt.).

n > p > 1 > Default(einfach Enter drücken) > -4G

Standardmäßig sollte die Partition bereits dem Typen 'Linux' haben. Nun muss das selbe für die SWAP-Partition gemacht werden:

n > p > 2 > Default(einfach Enter drücken) > Default(einfach Enter drücken)

Bei der SWAP-Partition muss nun der Type eingestellt werden:

t > 2 > 82

Jetzt muss das Dateisystem auf der Partition erstellt werden. Dabei ist es wichtig, das selbe Dateisystem wie das wiederherzustellende System zu erstellen. Dazu werden viele Dateisysteme über ihre UUID erkannt und gemounted. Wenn Sie nicht dieselbe UUID benutzen, müssen Sie nach der Wiederherstellung die fstab anpassen. Deshalb macht es meistens Sinn zuerst die /etc/fstab alleine an einen anderen Ort wiederherzustellen:

/opt/tivoli/tsm/client/ba/bin/dsmc restore /etc/fstab /root/fstab_restored

Der Befehl selbst hängt von dem Dateisystem ab, in unserem Beispiel sieht es folgenderweise aus (Ersetzen Sie '[UUID] mit Ihrer UUID, Sie können die -U [UUID] Option weglassen, wenn keine UUID in der /etc/fstab erwähnt wird):

mkfs.ext2 /dev/sdb1 -U [UUID]

Dazu muss die SWAP-Partition formatiert werden (bei -U gilt das gleiche wie bei dem Dateisystem):

mkswap /dev/sdb2 -U [UUID]
Linux-Distributionen mit BTRFS-Dateisystemen haben meist sogenannte Subvolumes. Diese müssen vor der Systemwiederherstellung erstellt werden. Hier ist eine Anleitung zu der Linux-Distribution Suse, welche standardmäßig BTRFS benutzt:

https://rootco.de/2018-01-19-opensuse-btrfs-subvolumes/ (Beachte den Festplattenpfad! Es wird an einer Stelle „subvoulme“ anstatt „subvolume“ geschrieben)

Für weitere Linux-Distributionen hilft häufig eine Google-Suche. Alternativ kann auch die Linux-Distribution auf die Platte installiert werden, und danach mit der Wiederherstellung überschrieben werden.

Schritt 5: System wiederherstellen

Zu Beginn muss die Partition mit dem neu-erstellten Dateisystem gemountet werden In unserem Beispiel benutzen wird den Mountpunkt /mnt :

mount /dev/sdb1 /mnt

Danach können Sie schon das System wiederherstellen:

/opt/tivoli/tsm/client/ba/bin/dsmc restore / /mnt/ -sub=yes
Ordnerpfade müssen hierbei mit '/' enden!
Bei Datei-Systemen mit Subvolumen müssen die einzelnen Subvolumen nacheinander wiederhergestellt werden. Mit 'dsmc query volume' können alle 'Dateibereiche' gelistet werden. Mit dem folgendem Befehl für Suse können die einzelne Subvolumes hintereinander wiederhergestellt werden. Passen Sie es nach der Ausgabe von 'dsmc query volume' an:
for i in /var /usr/local /srv /root /opt /home /boot/grub2/x86_64-efi /boot/grub2/i386-pc ; do dsmc restore $i/ /mnt$i/ -sub=yes -replace=no ; done

Als nächstes werden die Lokalen Systempfade auf dem wiederherzustellenden Platte angemountet: Mit dem folgendem Befehl werden womöglich fehlende Mountpunkte erstellt und verlinkt:

for i in proc sys dev; do mkdir /mnt/$i ; mount --rbind /$i /mnt/$i ; done

Jetzt können Sie mit 'chroot' auf die Festplatte wechseln. Es ist normal wenn z.B. die falsche Distribution in der Konsole steht.

chroot /mnt

Damit man in der Zukunft von der Platte selbst starten kann. Muss der Bootloader einmal zur selbstkonfiguration gestartet werden. Hierbei ist es auch abhängig von der Linux-Distribution und dem Bootloader. Grub:

grub-install /dev/sdb1

Grub2:

grub2-install /dev/sdb1

LILO: lilo

Bei LILO muss eventuell die Konfigurationsdatei /etc/lilo.conf vor der Ausführung angepasst werden. In diesem Fall muss die Konfigurationsdatei auch nach dem ersten erfolgreichen Start erneut geändert werden.

Eventuell müssen jetzt noch weitere Änderungen vorgenommen werden, diese sind jedoch sehr Abhängig von der Linux Distribution. Für Suse musste in unserem Beispiel noch das folgende gemacht werden:

mkdir -p /var/log/YaST2/
mkinitrd

Die Wiederherstellung sollte damit beendet sein. Jetzt können Sie mit 'exit' aus dem wiederhergestellten System gehen. Die Mounts zu der wiederhergestellten Festplatte werden automatisch entfernt wenn Sie das System herunterfahren. Bauen Sie gegebenenfalls die Platte wieder in das alte System ein und starten sie das System neu.