Synchrone Kopien
Raspi als zentraler Backupserver mit Syncthing
Einmal eingerichtet, läuft Syncthing unauffällig im Hintergrund. Doch das allein ergibt noch keine Datensicherung – in diesem Artikel lesen Sie, wie Sie Syncthing unter Verwendung eines Raspberry Pi als zentralen Speicher dafür einrichten. So sind Ihre Daten sogar vor Erpressungs-Trojanern geschützt.
Wir gehen in diesem Artikel davon aus, dass Sie Syncthing auf den zu sichernden Geräten sowie auf einem Raspi mit einer externen Festplatte als zentralen Backuprechner installiert haben, wie im vorigen Artikel beschrieben. Hier geht es nun um die Einrichtung des Backups am Beispiel eines Datenordners, der von einem Windows-Rechner auf den Backupraspi synchronisiert werden soll. Das kann zum Beispiel der Ordner „Dokumente“ sein, in dem sich wichtige Dateien befinden, die sich häufig ändern. Genauso gut können Sie Ihre Fotos, Projekte und vieles mehr sichern lassen. Auch wenn Sie Daten von Linux-Rechnern, Macs oder Smartphones/Tablets sichern wollen, hilft Ihnen diese Anleitung weiter. Die zur Konfiguration genutzte Weboberfläche von Syncthing ist immer dieselbe. Ebenso können Sie auch eine andere Hardware als einen Raspi als Backupziel verwenden, zum Beispiel einen alten Linux- oder Windows-PC. Bedenken Sie aber den Stromverbrauch – 3 Watt im Leerlauf schafft kein normaler PC.
Die Bedienoberfläche eines installierten und laufenden Syncthing erreichen Sie auf Windows- und Linux-Systemen im Browser durch Aufruf von 127.0.0.1:8384. Bevor es an die Konfiguration der Datensicherung geht, sollten Sie aber ein paar grundlegende Einstellungen vornehmen. So ist die Syncthing-Oberfläche serienmäßig nicht kennwortgeschützt. Das ändern Sie in den Einstellungen, die Sie über das Aktionen-Menü oben rechts öffnen, und dort auf die Registerkarte „GUI“ klicken.
Als Gerätenamen übernimmt Syncthing automatisch den Netzwerknamen des Rechners. Je nach PC ist das mitunter kryptisch anmutender Zeichensalat – um die Einrichtung zu erleichtern, sollten Sie all Ihren Syncthing-Instanzen sprechende Namen geben, wie zum Beispiel „Desktop-PC“, „Arbeitsnotebook“ oder „Backup-Raspi“. Das erledigen Sie ebenfalls in den Einstellungen: Tragen Sie auf der Registerkarte „Allgemein“ bei „Gerätename“ den Namen ein.
Außerdem kann es sinnvoll sein, die Syncthing-Oberfläche des Raspi im internen Netzwerk verfügbar zu machen, sodass Sie die Konfiguration auch von einem anderen Rechner aus vornehmen können. Dafür tragen Sie auf der Registerkarte „GUI“ als „Adresse der Benutzeroberfläche“ 0.0.0.0:8384 ein. Nun können Sie die Oberfläche auch von anderen Geräten aus über den Hostnamen oder die IP-Adresse des Raspi aufrufen – im einfachsten Fall also über raspberrypi:8384, sofern Sie den Hostnamen des Raspi nicht geändert haben. Klappt das nicht, verwenden Sie stattdessen die IP-Adresse Ihres Raspi, die Sie mit dem Konsolenbefehl ifconfig ermitteln können.
Datenträger vorbereiten
Kommt ein Raspi als Backupziel zum Einsatz, gehören die Daten auf eine externe USB-Festplatte oder -SSD – die SD-Karten, auf denen bei Raspis das Betriebssystem läuft, sind bei Dauerbelastung weniger zuverlässig und oft auch langsamer. Im besten Fall kommt ein Raspi 4 zum Einsatz, dessen USB-3.0-Anschluss deutlich schneller überträgt als die USB-2.0-Schnittstelle älterer Raspis.
Das Formatieren der Platte ist schnell mit dem Standardwerkzeug GParted erledigt. Falls es nicht installiert ist, ändern Sie das mit dem Konsolenbefehl
sudo apt install gparted
Starten Sie das Programm dann aus dem Startmenü unter „Systemwerkzeuge“ oder per sudo gparted. In GParted wählen Sie oben rechts die externe Platte aus (meist /dev/sda) und verpassen ihr unter „Laufwerk/Partitionstabelle erstellen“ eine neue Partitionstabelle vom Typ gpt. Achtung: Alle auf der Platte befindlichen Daten werden dabei gelöscht.
Nun legen Sie über „Partition/Neu“ eine Partition für die Backupdaten an. Im Prinzip genügt es, im Partitionsdialog einfach nur im Feld „Bezeichnung“ einen Namen wie „Backup-Platte“ zu vergeben, der Rest passt so. Geschmackssache ist, ob Sie das Dateisystem von Ext4 (dem Debian-Linux-Standard) auf Microsofts NTFS umstellen. Das hat den Vorteil, dass Sie die externe Festplatte bei einem Ausfall des Raspi problemlos an einen Windows-PC anklemmen und ohne weitere Tools auslesen können. Die Performance ist mit Ext4 allerdings besser – deshalb haben wir uns dafür entschieden.
Nach einem Klick auf „Hinzufügen“ und auf das grüne Häkchen wird die neue Partition auf der Festplatte erstellt. Nun sollte das Laufwerk „Backup-Platte“ im Datei-Explorer des Raspi links oben auftauchen; ein Klick darauf mountet die Partition nach /media/pi/Backup-Platte.
Die frisch formatierte und eingebundene Ext4-Partition lässt sich nun zwar lesen, doch zum Schreiben, Ändern oder Löschen von Dateien bräuchten Sie Root-Rechte. Das ändern Sie mit dem Konsolenbefehl
sudo chmod 777 /media/pi/Backup-Platte
In unseren Versuchen erwies sich manche Hardware als bockig. Die Festplatten-Adapterbox Quickport XT von Sharkoon zum Beispiel wurde nach einem Neustart des Betriebssystems oftmals nicht mehr erkannt, und wenn doch, dann nicht mehr automatisch gemountet. Offenbar gelangt der Controller mitunter in einen Zustand, in dem er nicht mehr mit dem Raspi reden kann. Es hilft dann, die Stromzufuhr des Quickport für ein paar Sekunden zu unterbrechen.
Es ist sinnvoll, auf dem Backuplaufwerk eine Struktur mit Ordnern für die einzelnen Sync-Aufträge Ihrer Geräte anzulegen. Erstellen Sie also Ordner mit sprechenden Namen wie „Arbeitsnotebook“, „Desktop-PC“ oder „Smartphone“. Das geht recht simpel über den Datei-Explorer von Raspberry Pi OS per Rechtsklick in den leeren Bereich des Laufwerks und „New Folder“. Falls Sie mehrere Ordner eines Gerätes sichern möchten, bei einem Desktop-PC also zum Beispiel den Dokumenten- und den Bilderordner, erstellen Sie dafür wiederum Unterordner.
Einander vorstellen
Bevor Sie Synchronisierungsaufträge einrichten können, müssen Sie die Geräte, zwischen denen Daten synchronisiert werden sollen, miteinander bekannt machen. In diesem Fall bedeutet das: Der Raspi muss alle zu sichernden Geräte kennen, die aber nur jeweils den Raspi.
Um den Raspi dem Quellgerät vorzustellen, klicken Sie in der Syncthing-Oberfläche auf letzterem im Abschnitt „Externe Geräte“ auf „Gerät hinzufügen“. Auf der Registerkarte „Allgemein“ sollte Syncthing nun bereits Geräte-IDs vorschlagen, die es im lokalen Netzwerk findet und auf denen ebenfalls Syncthing läuft. Im Regelfall sind das alle, die per WLAN oder LAN am selben Router hängen. Wählen Sie den Raspi per Klick auf seine ID aus. Vergeben Sie unter „Gerätename“ noch einen eindeutigen Namen wie „mein Backup-Raspi“ und bestätigen Sie mit „Speichern“. In Syncthing auf dem Raspi erscheint nach ein paar Sekunden bis Minuten eine Benachrichtigung, dass er hinzugefügt wurde. Klicken Sie in dieser Meldung auf „Gerät hinzufügen“ und verfahren Sie wie eben beschrieben, um auch das Quellgerät dem Raspi bekannt zu machen.
Falls Sie mehr als nur einen PC und den Raspi mit Syncthing verwenden, erkennen Sie nicht auf Anhieb, welches Gerät welches ist. In diesem Fall öffnen Sie Syncthing auf dem Raspi, klicken im Aktionen-Menü auf „Eigene Kennung“ und merken sich die ersten drei, vier Ziffern der ID – dann gelingt die Identifizierung.
Ab und an erleben wir es beim Hinzufügen einer neuen Geräteverbindung, dass Syncthing auf dem einen oder anderen Rechner die IDs anderer lokaler Syncthing-Geräte partout nicht anbietet. Das ist nicht tragisch: Findet etwa Ihr Laptop den Raspi nicht, schauen Sie einfach auf dem Raspi nach, ob Syncthing dort den Laptop findet – die Reihenfolge, in der Sie die Geräte hinzufügen, ist egal. Einzig dann, wenn sich die Syncthing-Installationen auf beiden Geräten dauerhaft nicht finden, müssen Sie die Gerätekennung des einen auf dem anderen Rechner eintippen. Auf Geräten, die eine Kamera haben (etwa Smartphones), können Sie dafür auch den QR-Code benutzen, den Sie im Aktionen-Menü unter „Eigene Kennung“ angezeigt bekommen.
Syncs einrichten
Klicken Sie in Syncthing auf dem zu sichernden Gerät nun auf „Ordner hinzufügen“. Auf der Registerkarte „Allgemein“ geben Sie im Feld „Bezeichnung“ eine Klartext-Bezeichnung für das ein, was gesichert werden soll, zum Beispiel „Arbeitsrechner-Archivordner“. Die zufällig generierte „Ordnerkennung“ können Sie übernehmen. Als „Ordnerpfad“ geben Sie das Verzeichnis mit den zu sichernden Daten an. Leider gibt es hier keine Funktion zum Durchsuchen der Festplatte, mit der Sie sich zum gewünschten Ordner durchklicken könnten. Das Eingabefeld unterstützt aber immerhin automatisches Vervollständigen, wie es man es auch von modernen Suchmaschinen kennt – so müssen Sie nicht den kompletten Pfad von Hand eintippen. Setzen Sie noch auf der Registerkarte „Teilen“ ein Häkchen vor den Raspi und bestätigen Sie den Dialog abschließend mit „Speichern“.
Wenn Sie das Webinterface von Syncthing auf dem Raspi aufrufen, sollten Sie spätestens nach ein paar Minuten den Hinweis bekommen, dass ein Rechner einen Ordner teilen möchte. Klicken Sie innerhalb dieser Benachrichtigung auf „Hinzufügen“. Auch hier müssen Sie ein paar Dinge anpassen, als Erstes natürlich den Speicherort. Hier tragen Sie den für die jeweiligen Daten vorgesehenen Unterordner ein, den Sie zuvor auf der externen Festplatte angelegt haben, in unserem Beispiel /media/pi/Arbeitsrechner/Archivordner.
Auf der Registerkarte „Dateiversionierung“ sollten Sie die Versionierung einschalten. Ansonsten hätten Sie keinen Schutz vor versehentlichen Dateiänderungen und vor Erpressungstrojanern, die den Inhalt Ihrer Dateien verschlüsseln – wegen seiner Echtzeit-Synchronisierung würde Syncthing auch die Inhalte Ihres Backups unwiederbringlich durch die verschlüsselten Inhalte ersetzen. Sinnvoll ist die Einstellung „Einfache Dateiversionierung“ mit den vorausgewählten fünf alten Versionen. Klicken Sie auf „Speichern“ und warten Sie ein wenig; spätestens nach ein paar Minuten sollte die Sicherung beginnen. Mit weiteren Ordnern und/oder Geräten verfahren Sie nun ebenso.
Wiederherstellung nach Löschung oder Änderung
Daten aus dem Backup wiederherzustellen läuft je nach Szenario etwas unterschiedlich ab. Für einiges hilft der Versionsverlauf. So ist es recht einfach, eine frühere Version einer Datei wiederherzustellen. Klicken Sie in Syncthing auf dem Raspi auf den Ordnereintrag und dort auf „Versionen“, und Sie bekommen eine Liste zu sehen, die alle im Versionsarchiv liegenden älteren Dateiversionen umfasst. Navigieren Sie zur gewünschten Datei, wählen aus dem Pull-down-Menü rechts eine ältere Version aus und klicken Sie am Fuß der Liste auf „Wiederherstellen“.
Ähnlich können Sie vorgehen, um gelöschte Dateien wiederherzustellen, denn die Versionierung greift auch hier. Entfernen Sie etwa auf Ihrem Arbeitsrechner Dateien, werden sie nur scheinbar auch auf dem Raspi gelöscht – tatsächlich liegen sie als Versionen im Archiv. Wurden ganze Unterordner gelöscht, können Sie die betroffenen Objekte rechts in der Versionstabelle über das Pull-down-Menü „Massenbearbeitung“ auf die „Letzte Version“ wiederherstellen. Achtung: Auf schwachen Systemen wie einem Raspberry Pi kann es nach dem Klick auf „Wiederherstellen“ so wirken, als sei Syncthings Bedienoberfläche bei der Meldung „Daten werden geladen...“ abgestürzt – lassen Sie dem Kleinen Zeit, um die ganzen Wiederherstellungen zu verarbeiten. Früher oder später sollten die gelöschten Dateien auf Ihren PC zurück synchronisiert sein.
Ein Sonderfall ist es, wenn ein Erpressungstrojaner Ihre Daten verschlüsselt hat: Auch eine solche massenhafte Änderung Ihrer Dateien wird zwar an den Raspi übertragen, lässt sich dank Versionierung aber rückgängig machen. Allerdings sollten Sie davon absehen, die heilen Versionen Ihrer Dateien direkt auf den infizierten Rechner zurück zu synchronisieren, denn der Trojaner würde sie früher oder später abermals verschlüsseln. Besser ist es, den befallenen PC offline zu nehmen und ihn sauber neu zu installieren. Während das läuft, können Sie auf dem Raspi Ihre Dateien auf einen unverschlüsselten Zustand zurücksetzen. Dann installieren Sie Syncthing auf dem frisch installierten System und holen die Daten zurück.
Wiederherstellung nach Hardware-Ausfall
Etwas anders läuft die Wiederherstellung ab, wenn Daten auf einem Rechner nicht gelöscht oder verändert wurden, sondern der PC komplett ausfällt. Installieren und konfigurieren Sie Syncthing wie zuvor beschrieben und klicken Sie dann in Syncthing auf dem Raspi auf den Ordner, der auf den neuen Rechner synchronisiert werden soll und dann auf „Bearbeiten“. Setzen Sie in der Registerkarte „Teilen“ ein Häkchen vor den neuen Rechner und bestätigen Sie mit „Speichern“. Nach kurzer Zeit sollten Sie in Syncthing auf dem neuen System wieder einen Hinweis auf einen geteilten Ordner bekommen, den Sie dort wie gewohnt einbinden können. Den noch bestehenden Eintrag des alten Rechners auf dem Raspi können Sie entfernen, indem Sie ihn unter „Externe Geräte“ anklicken, dann „Bearbeiten“ und links unten „Entfernen“.
Ähnlich ist die Vorgehensweise, wenn auf dem PC bloß die Festplatte mit Ihren Daten ausgefallen ist. Die einfachste Lösung ist es dann, in Syncthing auf dem PC auf den betreffenden Ordnereintrag zu klicken, dann auf „Bearbeiten“ und links unten auf „Entfernen“. Nach kurzer Wartezeit bekommen Sie den auf dem Raspi gesicherten Ordner wieder angeboten und können die Synchronisierung per Klick auf „Hinzufügen“ neu anlegen.
Mobilgeräte
Auf Android sieht Syncthing etwas anders aus: Zwar gibt es auch hier eine Web-Oberfläche, viel praktischer ist allerdings das in der App direkt enthaltene Frontend. Das sieht zwar auf den ersten Blick sehr anders aus als die Oberfläche auf Windows & Co., folgt aber der gleichen Logik: Es gibt zwei Registerkarten für „Ordner“ und „Geräte“; die Funktionen des Aktionsmenüs und die Einstellungen erreichen Sie über das Drei-Strich-Menü oben links.
Gerade für Smartphones ist die Option wichtig, dass die App unter Mobilfunkverbindungen keine Daten synchronisiert, um das Transfervolumen des Datentarifs nicht unnötig zu belasten. Dafür hat die App ein Menü: In den Einstellungen können Sie unter „Betriebsbedingungen“ festlegen, ob Syncthing auch Mobilfunkverbindungen nutzen darf. Außerdem können Sie einstellen, dass Syncthing nur in ausgewählten WLANs funktionieren soll. In Möbius Sync auf iOS/iPadOS gibt es solch ein Menü nicht – das macht nichts, denn Sie können in den App-Optionen in den iOS-Einstellungen festlegen, ob die App Mobilfunkdaten nutzen darf. (jss@ct.de)