Skip to content

Backup einrichten

Internen Backup-Datenträger/USB-Backup einrichten

Stellen Sie zunächst sicher, dass die interne Festplatte oder der USB-Datenträger korrekt verbaut bzw. angeschlossen sind.

Eine neuen Datenspeicher erkennt Linux automatisch und vergibt zunächst eine Laufwerksbezeichnung, z.B. sdb. Die genaue Bezeichnung erhält man durch Aufruf des Befehls lsblk oder auch fdisk -l.

Info

USB-Datenträger lassen sich mit dem Befehl lsusb auflisten.

fdisk

Der Datenspeicher ist im Auslieferungszustand noch unformatiert und muss daher erst noch partitioniert, gelabelt und mit einem Dateisystem versehen werden. Standardmäßig wird das Dateisystem ext4 verwendet.

Im Beispiel wird angenommen, dass die Backupfestplatte mit dem Gerätenamen /dev/sdc angesprochen wird.

  1. Erstellen einer Partition über die gesamte Backupfestplatte

    gdisk /dev/sdc

    Info

    Falls das Tool gdisk nicht verfügbar ist, müssen Sie dieses ggf. erst installieren.

    1
    2
    3
    4
    5
    6
    7
    n  (new partition)
    p  (primary partition)
    1  (number of partition)
    (first bit)
    (last bit)
    8300 (choose type 8300 = Linux)
    w  (write to disk)
    

    gdisk

  2. Formatieren der Partition mit dem Dateisystem EXT4 und Vergabe des Labels bk1 oder bk2. Zu Beginn wird bk1 genutzt, wenn lediglich eine Backupfestplatte am Server existiert. Bei mehreren Backup-Festplatten fortlaufend das Label hochzählen.

    mkfs.ext4 -L bk1 /dev/sdc1

  3. Anpassen der ext4-Dateisystem Parameter für die Partition.

    tune2fs -i0 -c0 /dev/sdc1

  4. Geänderte Partitionstabelle dem Kernel mitteilen.

    partprobe

  5. Backup-Ordner für Snapshots erstellen. Dazu wird die Partition manuell gemountet.

    1
    2
    3
    mount -L bk1 /mnt/
    cd /mnt
    mkdir snapshot
    
  6. Partition unmounten.

    cd /
    umount /mnt
    
  7. (Optional) Backup starten.

    screen
    ldsnapshot daily_bk1
    

    Info

    Aufgrund der Backupdauer wird das Backup in einer Screen-Session gestartet. Dadurch wird auch bei Unterbrechung der Remoteserver-Sitzung der Task weiterhin im Screen ausgeführt.

LD-USB-BAK

Der Sinn und Zweck der Hot-Plug-Sicherung auf eine externe USB-Platte besteht vor allem darin, dass man die Sicherung des gesamten Servers an einem anderen Ort aufbewahren kann. Für eine Sicherung muss diese lediglich an einen freien USB-Port des LD-Servers angeschlossen werden. Das Backup startet daraufhin automatisch.

Info

Hinsichtlich der Anzahl an USB-Backupplatten gibt es keine Einschränkung, d.h. man kann mehreren USB-Platten das gleiche Label LD-USB-BAK geben.

Die Einrichtung verläuft ähnlich wie vorangegangen bei bk1/bk2 beschrieben.

1
2
3
gdisk /dev/sdc
mkfs.ext4 -L LD-USB-BAK /dev/sdc1
tune2fs -i0 -c0 /dev/sdc1

Info

Im Gegensatz zu der Sicherung auf interne Backupgeräte ist das manuelle Erstellen von Ordnern beim Hot-Plug-Backup nicht notwendig. Die Ordner snapshot und lost+found werden beim Ausführen des Sicherungsskriptes automatisch erstellt, sofern sie nicht vorhanden sind.

Vor Ort kann das Backup nun über abstecken und wieder anstecken des USB-Datenträgers am LD-Server erzwungen werden. Oder man liest die Partitionstabelle mittels partprobe neu ein. Auch das führt zum gewünschten Effekt.

(Optional) Backupanzahl auf LD-USB-BAK definieren

Im Normalfall werden solange Backups auf den Datenträger geschrieben, bis kein freier Speicherplatz mehr zur Verfügung steht. In diesem Fall ist dann ein händisches Einschreiten erforderlich, um benötigten Platz freizuräumen. Möchte man nun die Anzahl der vorgehaltenen Backups auf der LD-USB-BAK begrenzen, so kann dies über eine separate Konfigurationsdatei erfolgen.

Im Beispiel wird davon ausgegangen, dass die LD-USB-BAK auf dem ldhost nach /mnt gemountet ist.

  1. Wechseln Sie in das Snapshot-Verzeichnis der LD-USB-BAK

    cd /mnt/snapshot/ldhost.schule.local/

  2. Erstellen Sie die Datei settings.conf

    touch settings.conf

  3. Ergänzen Sie die Datei um die nachfolgende Variable

    BACKUP_NUM=5

    5 steht hier für die Anzahl der zu schreibenden Backups. Diese Zahl kann je nach Wunsch angepasst werden. Speichern Sie die Datei.

Backup auf eine NAS mit ISCSI

Als NAS (Network Attached Storage) bezeichnet man ein Gerät im Netzwerk, welches über verschiedene Protokolle Speicherplatz im Netzwerk zur Verfügung stellt. Dazu gehören beispielsweise CIFS (= Windows-Freigaben), NFS (= Linux-Freigaben) und FTP. Um das Backup eines LogoDIDACT-Servers auf einem NAS anzulegen, ist es zwingend erforderlich, dass dies per iSCSI erfolgt.

Vom generellen Ablauf wird zunächst auf der NAS ein Speicherbereich (Speicherpool) für das Backup des LD-Servers definiert und anschließend eine sog. LUN (logischer Datenträger bei ISCSI-Anbindungen) erstellt. Der LD-Server erhält über das Verbindungsprotokoll iSCSI einen Zugriff auf die LUN. Der Zugriff kann bei Bedarf mit einer CHAP-Authentifizierung abgesichert werden.

Je nach Hersteller und Modell variiert die Einrichtung von iSCSI, weswegen im Folgenden der Fokus auf die Konfiguration in einer LogoDIDACT-Umgebung gelegt wird.

Gängige Anleitungen finden Sie beispielsweise bei Synology / QNAP:

Einrichtung Synology ISCSI

Einrichtung QNAP ISCSI

Info

Verwenden Sie nach Möglichkeit dateibasierte LUNs. Virtualisierungsfunktionen sowie erweitere Backupoptionen wie sie bei blockbasierten LUNs üblich sind, werden nicht benötigt.

Tipp

Für die Grundkonfiguration Ihrer NAS, hängen Sie diese per Netzwerkkabel zunächst ins interne Netzwerk. Im internen Netzwerk bekommt das Gerät per DHCP eine IP aus dem dynamischen Bereich, d.h. im Standardfall aus dem Adressbereich ab 10.31.X.X. Die IP-Adresse lässt sich im logosrv über die /var/log/dhcp.log ermitteln. Mit der IP-Adresse gelangen Sie dann per Web-Browser auf die Konfigurationsseite der NAS.

Konfiguration ISCSI am LD-Server

Nach der Bereitstellung der LUN auf der NAS und Zuweisung über iSCSI wird nun der LD-Server als iSCSI-Initiator eingerichtet. Alle Befehle werden auf dem ldhost ausgeführt.

  1. Notwendige ISCSI-Pakete installieren

    apt install open-iscsi ld-iscsi-systemd-timer

  2. In einem Editor die ISCSI-Konfigationsdatei anpassen

    vi /etc/iscsi/iscsid.conf

    1
    2
    3
    [...]
    node.startup = automatic
    # node.startup = manual
    

    Warnung

    Gegebenenfalls müssen noch weitere Anpassungen wie z.B. Authentifizierungsdaten (CHAP) angegeben werden, je nachdem wie Sie das ISCSI-LUN konfiguriert haben.

  3. Dienste und Timer neustarten und dauerhaft aktivieren

    1
    2
    3
    4
    5
    6
    7
    8
    systemctl restart iscsid.service
    systemctl enable --now iscsid.service
    
    systemctl restart open-iscsi.service
    systemctl enable --now open-iscsi.service
    
    systemctl restart iscsi-reconnect.timer
    systemctl enable --now iscsi-reconnect.timer
    

    Info

    Durch diese Kommandos wird ein Timer aktiviert, der täglich um 21:45 Uhr (d.h. 15 Minuten vor Beginn des LogoDIDACT Backups) versucht, das iSCSI-Device neu zu verbinden. Dies dient der Fehlervermeidung, falls die NAS zwischenzeitlich ausgeschaltet oder kurzzeitig vom Netzwerk getrennt wurde.

  4. ISCSI-Target verbinden

    iscsiadm -m discovery -t sendtargets -p NAS-IP:3260

  5. Spezifische Konfiguration des ISCSI-Target

    Der Dienst iscsid erstellt unter /etc/iscsi/nodes/iqn.<XYZ>/NAS-IP,3260,0/ eine Konfigurationsdatei namens default.

    Passen Sie nun diese Datei an:

    vi /etc/iscsi/nodes/iqn.<XYZ>/NAS-IP,3260,0/default

    1
    2
    3
    4
    5
    6
    7
    node.startup = automatic
    node.conn[0].startup = automatic
    [...]
    # Optional: Bei Verwendung von CHAP
    node.session.auth.authmethod = CHAP
    node.session.auth.username = Benutzername
    node.session.auth.password = Passwort
    
  6. Startreihenfolge der Dienste unter systemd anpassen

    Falls die NAS im internen Netzwerk dauerhaft angeschlossen wird, ist eine Verbindung zur iSCSI-LUN durch den ldhost erst möglich, nachdem die Software Open-vSwitch gestartet wurde. Daher muss die Startreihenfolge der Dienste open-iscsi <-> openvswitch-switch in Abhängigkeit zueinander konfiguriert werden.

    systemctl edit open-iscsi.service

    [Unit]
    After=openvswitch-switch.service
    

    Info

    Die NAS kann auch an einem eigenen physischen Interface am Server angeschlossen werden. Siehe: Separates Netzwerkinterface für die NAS

  7. Dienst zur Übernahme der Änderungen neu starten und Verfügbarkeit prüfen

    systemctl daemon-reload
    systemctl restart open-iscsi.service
    

    Sofern die Verbindung erfolgreich zustande kommt kann die aktive ISCSI-Session mit iscsiadm --mode session überprüft werden. Mit blkid bzw. fdisk -l ist ersichtlich, ob die LUN zur Verfügung steht.

  8. Konfiguration des Backup

    Gehen Sie dazu wie in Punkt Internen Backup-Datenträger USB-Backup einrichten beschrieben die Schritte 1-7 durch.

(Optional) Separates Netzwerkinterface für die NAS

Damit die NAS nicht im normalen internen Netzwerk hängt, sondern nur direkt vom Server aus erreichbar ist, kann diese über eine separate (physische) Netzwerkkarte in einem eigenen Netz angesprochen werden.

  1. Auslesen der Netzwerkinterfaces am ldhost

    Info

    Dazu wird das Hilfstool inxi verwendet. Ggf. müssen Sie dieses auf dem ldhost nachinstallieren.

    inxi -n

    Notieren Sie sich den Interface-Namen und die MAC-Adresse der gewünschten Schnittstelle.

  2. Schnittstelle definieren

    Definieren Sie einen passenden Namen wie z.B. p_nas über eine entsprechende Datei 80-p_nas.link, deren Inhalt wie in folgendem Beispiel aussieht:

    vi /etc/systemd/network/80-p_nas.link

    1
    2
    3
    4
    [Match]
    MACAddress=98:f2:b3:e6:25:dc
    [Link]
    Name=p_nas
    

    Damit Änderungen am Namen oder Schnittstellen übernommen werden, ist es wichtig, den folgenden Befehl auszuführen, damit das initramfs-Image neu aufgebaut wird, in welchem die Schnittstellen in Ubuntu 16.04 oder höher festgelegt sind.

    update-initramfs -u
    
  3. Netzwerkkonfiguration für das Interface

    In der Datei interfaces erfolgt die Zuweisung einer IP-Adresskonfiguration. Diese ist beliebig auf die Gegebenheiten vor Ort anpassbar.

    Warnung

    Verwenden Sie keine Netzwerkbereiche, die bereits vom LD-System verwendet werden. Das kann zu Störungen und totalen Netzwerkausfällen führen.

    vi /etc/network/interfaces
    
    1
    2
    3
    4
    5
    # Interface für Backup-NAS
    auto p_nas
    iface p_nas inet static
    address 192.168.5.1
    netmask 255.255.255.0 
    
  4. Serverneustart

    Mit dem Serverneustart erfolgt eine Re-Initialisierung aller Netzwerkschnittstellen, darunter auch des neuen Interfaces p_nas.

    ifconfig p_nas