Die „ziemlich sorgenfreie Nextcloud“ für den kleinen Homeserver. Teil 3

Die Nextcloud läuft auf dem Homeserver, System und Daten befinden sich auf unterschiedlichen Speichermedien – nun wird es Zeit, an ein gutes Backup zu denken. Im einfachsten Fall erfolgt dies lokal auf einem zusätzlichen Speicher. Hier habe ich z. B. an meinen Raspberry Pi 5 per USB-Adapter einfach eine 500-GB-SSD gestöpselt:

In diesem Fall befindet sich das System auf der microSD-Karte (1), die NVMe M.2 (2) nimmt die Nextcloud-Dokumente auf. Da der Raspberry Pi von beiden Medien booten kann, könnte man das auch umkehren: Das System auf der M.2 und die Dokumente auf der microSD-Karte, sofern diese groß genug ist (z. B. 512 GB). Mit einem einfachen USB-Adapter wird eine SSD für das Backup angeschlossen (3).

Auf diese Weise erhält man ohne großen Aufwand ein kompaktes System, das die Grundversorgung eines Backups übernimmt. Der Nachteil: Lokale Speicher in der Nähe des zu sichernden Geräts sind nicht ganz ideal. Durch Wasserschäden, Stromspitzen, spielende Kinder usw. können auf einen Schlag Original und Backup beschädigt werden.

Sofern man über ein NAS oder einen zweiten PC verfügt, kann das Backup via WLAN auf einen dort freigegebenen Ordner erfolgen. Damit spart man sich ein wenig Kabelsalat und sorgt für eine größere Distanz zwischen System und Backup-Speicher. Mit DietPi lassen sich beide Varianten gut umsetzen.

Zusätzlich gibt es die Möglichkeit, das Nextcloud-Backup zeitgesteuert ausführen zu lassen. So was gefällt mir persönlich gut. Auch mein Paperless-ngx-Archiv und andere wichtige Daten lasse ich nachts nach 3 Uhr sichern. Ich schlafe dann und es ist auch egal, ob ein Vorgang 2 Minuten länger benötigt. Damit bin ich in den vergangenen Jahren recht gut gefahren.

Ist die Einrichtung des Backups kompliziert?

Nein und Jein. Einen lokalen Speicher anzusprechen ist recht einfach möglich. Prinzipiell muss er nur formatiert, angeschlossen und im System als Backup-Ziel eingerichtet werden. Das sollte in knapp 10 Minuten erledigt sein. Wenn die Sicherung auf ein Laufwerk im WLAN erfolgen soll, kommt die Freigabe hinzu. Eigentlich auch nicht schwierig, wir werden aber statt der in der Windows-Welt bekannten Samba-Freigabe eine sogenannte NFS-Freigabe dafür nehmen. Die ist bei NAS-Systemen ohnehin vorhanden, aber auf anderen Geräten muss man diese eventuell erst aktivieren. Dazu müssen ein paar zusätzliche Befehle ausgeführt werden – aber dann hat es sich. Für beide Arten der Sicherung gilt: Die Einrichtung macht man einmal zu Beginn, danach läuft alles automatisch ab.

Belegen die Backups mit der Zeit nicht sehr viel Speicherplatz?

Nein. Durch die auf rsync basierende Sicherung benötigt ein DietPi-Backup nach der ersten vollständigen Sicherung meist nur wenig zusätzlichen Speicherplatz. Es werden anschließend nur neue oder geänderte Dateien übertragen. Daher erfordern die täglichen Backups nur wenig Zeit. Die Technik dahinter ist allerdings auf Linux-Systeme ausgerichtet. Aus diesem Grund wird der Backup-Speicher im Linux-Format ext4 formatiert bzw. statt Samba eine NFS-Freigabe genommen.

1. Lokaler Backup-Speicher

Bei eingangs abgebildeten Beispiel-Aufbau wird an den Raspberry Pi eine SATA-SSD mit einem USB-Adapter angeschlossen. Alternativ könnte ein – qualitativ hochwertiger! – USB-Stick mit ausreichend Speicherplatz oder eine USB-Festplatte verwendet werden. Im vorangegangenen Kapitel wurde bereits gezeigt, wie einfach unter DietPi ein solcher Speicher in ext4 formatiert werden kann.

Speicher zugänglich machen (einhängen/mounten)

Den Speicher anschließen und mit „Refresh“ (1) vom System finden lassen. Es wird „Not mounted“ ausgegeben (2). Speicher einhängen („mount“) …

… und einen Namen vergeben. In diesem Beispiel lautet der Name „usbbackup“.

Damit haben wir das Ziel-Medium für unser Backup.

Backup einrichten

Der Menüpunkt „DietPi-Backup“ legt ein Backup des Hauptsystems an, aber es sollen ja gleichzeitig die Nextcloud-Dokumente gesichert werden. Diese müssen als Quelle hinzugefügt werden. Dies geschieht mit der Auswahl „Filter“:

Dadurch wird eine kleine Text-Konfigurationsdatei im Editor aufgerufen. Mit dem „+“-Zeichen wird der Pfad aus der letzten Folge eingetragen: „/mnt/usbdaten/dietpi_userdata/“ (1). Mit Strg+O (2) und Strg+X (3) den Editor beenden.

Zurück im Backup-Menü noch „Daily Backup“ mit einem Klick von „Off“ auf „On“ setzen.

Backup-Ziel wählen

Mit „Location“ wird das vorhin eingehängte Backup-Ziel ausgewählt. Dieses erscheint in der Liste möglicher Ziele/Laufwerke:

Nach erfolgter Auswahl erscheint in der oberen linken Ecke eine Zusammenfassung. „Current backup and restore location: -/mnt/usbbackup (der eingehängte USB-Speicher) /dietpi-backup (der Ziel-Ordner auf dem USB-Speicher). – Backup not found (wir haben ja noch kein Backup durchgeführt).“

Nun mit „Backup“ das erste Voll-Backup durchführen. Je nach vorhandenen Dateien kann dies etwas dauern. Unter „Amount“ kann die Anzahl der vorgehaltenen Backups festgehalten werden. DietPi-Backup arbeitet dateibasiert mit rsync. Jede Sicherungsiteration bleibt grundsätzlich vollständig wiederherstellbar. Bei mehreren vorgehaltenen Sicherungen können unveränderte Dateien per Hardlinks wiederverwendet werden; dadurch sinken Schreibaufwand und tatsächlicher Speicherbedarf deutlich. Während der Vorgang abläuft, ist auf dem Screen zu sehen, dass zunächst alle Dienste angehalten werden. Erst nachdem die Dateien gesichert wurden, wird alles wieder gestartet.

Während des Backups können daher keine Änderungen an den Nextcloud-Dokumenten vorgenommen werden. Zusätzlich sollte eine Sicherung der Datenbank (ein Datenbank-Dump) erfolgen, der aber den Rahmen dieses Artikels sprengen würde. Da aber unsere kleine Familien-Cloud keinen hohen Traffic hat und das Backup in Zeiten ausgeführt wird, in denen die Nextcloud nicht genutzt wird, sollte das bisher beschriebene Vorgehen aber ausreichend sein.

So, damit wurde das erste Backup „per Hand“ ausgeführt. DietPi bietet aber zusätzlich die Möglichkeit, die Backups regelmäßig automatisch durchzuführen.

Zeitgesteuerte Backups

Die Zeitsteuerung von Aufgaben erledigen unter Linux sogenannte Cron-Jobs. Wichtig: Zunächst mit „DietPi-Config“ (1) überprüfen, ob die korrekte Zeitzone (Europa/Berlin) eingestellt ist! Anschließend „DietPi-Cron“ (2) auswählen.

Nach diesen Menüpunkt werden eine Reihe von Beispielen eingeblendet – wöchentliche, monatliche Backups usw. Für mein nächtliches Backup habe ich hier „cron.daily“ gewählt und für die Uhrzeit „03:30 Uhr“ eingetragen (1). Wichtig: Mit „Apply“ die Einstellung sichern (2).

2. Laufwerk im Netzwerk (NAS usw.)

Wie bereits erwähnt: Sofern ein Netzwerklaufwerk für ein Backup genutzt wird, sollte dieses statt Samba eine NFS-Freigabe erhalten. Die typischen NAS-Systeme bringen entsprechende Einstellmöglichkeiten mit (hier Synology):

Diese Freigabeart lässt sich aber auch auf anderen Geräten Umsetzen. In meinem Fall habe ich auf dem zweiten eingebauten Speicher in meinem Mini-PC einen Ordner „nc_nfs_backup“ erstellt:

Dieser erhielt eine NFS-Freigabe, sodass DietPi den Ordner für Backups nutzen kann.

Freigabe-Laufwerk einbinden

Im Drive_Manager „Add network drive“ auswählen …

… anschließend die Option „NFS“ wählen.

Hier (anders als bei Samba-Freigaben) zunächst nur die IP des Empfangsgeräts eintragen:

DietPi listet anschließend die NFS-Freigaben auf diesem Gerät auf – im Beispiel also „nc_nfs_backup“ auf dem zweiten eingebauten Speicher „ssd128“:

Nun einen Namen für den Mountpunkt vergeben – hier: „nfsbackup“.

Nun erscheint alles in der korrekten Syntax im Drive-Manger. „[IP]:NFS-Ziel : Mount-Name“:

Wenn nun – wie oben bei einem lokalen Speicher – im Backup-Menü die Liste möglicher Ziele aufgerufen wird …

… so erscheint der NFS-Ordner und kann ausgewählt werden.

Von hier ab ist es dann kein Unterschied mehr, ob ein USB-Speicher oder ein Netzwerklaufwerk für Zeitsteuerung, Backup oder Ziel ausgewählt wird.

Zusammenfassung

Die vielen Screenshots sehen zwar nach einem komplizierten Handling aus, das täuscht aber. DietPi ist außerordentlich gut durchdacht und hat schon alles an Bord, was im Backup-Bereich benötigt wird. Das macht komplizierte Terminalbefehle überflüssig. Viel wichtiger ist es, zu wissen, was man in welcher Reihenfolge „anklicken“ muss – dann ergibt das eine runde Sache.

Die Einrichtung eines guten Backups ist ein wichtiger Schritt für eine „sorgenfreie“ Nextcloud. Aber ein Backup ist nur ein Backup, wenn es im Ernstfall auch tatsächlich funktioniert. In der nächsten Folge soll daher unter anderem ein Restore-Test besprochen werden: Wir machen unsere schöne funktionierende Nextcloud „kaputt“. Trotzdem wird mit wenigen Klicks alles wieder laufen, als hätte es nie ein Problem gegeben.

Sorgenfreie Nextcloud, Teil 1 – Einführung
Sorgenfreie Nextcloud, Teil 2 – Installation
Sorgenfreie Nextcloud, Teil 3 – Backup
Sorgenfreie Nextcloud, Teil 4 (in Vorbereitung).

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert