Dateifreigaben (SMB und NFS)
Restow sichert SMB-Freigaben (ein Windows-Server, Samba, eine NAS) und NFS-Exporte vom Restow-Server aus, ohne Agent auf dem Dateiserver, und stellt sie mit ihren Berechtigungen wieder her. Es gehört zum Community-Kern, jede Edition hat es also, und es ist seit 0.4.0 (Beta) verfügbar. Wie jede andere Quelle wird eine Freigabe in der Wiederherstellbarkeit durch eine Restore-Prüfung bewertet, die ihr Backup zurückliest.
Wie eine Freigabe gesichert wird
Für jeden Lauf startet der Mounter, ein optionaler Restow-Container
(neue Installationen starten ihn standardmäßig), einen kurzlebigen
Runner-Container. Der Runner bindet die Freigabe nur lesend ein, sichert
sie mit restic in ein eigenes Repository
(file-shares/<share id>/ im primären Repository des
Mandanten), hält die Berechtigungen im selben Sicherungsstand fest und
wird wieder entfernt. Die Läufe sind wie die übrigen restic-Backups von
Restow inkrementell und dedupliziert. Hinzufügen, Testen, Sichern oder
Wiederherstellen einer Freigabe startet die API oder den Worker nie neu.
Seit 0.4.2 nennen die Seite einer Freigabe und ihr Job-Editor das Repository,
in dem die Sicherungen landen, und der Dialog zum Hinzufügen einer Freigabe
warnt „Sicherungen landen auf der eigenen Platte des Servers“, wenn das
primäre Repository ein Verzeichnis auf einer Platte des Restow-Servers selbst
ist.
Seit 0.4.2 lässt sich ein Lauf einer Freigabe in der Lauf-Schublade abbrechen, wie es bei Läufen von Microsoft 365 und IMAP schon ging. Er endet als „Abgebrochen“, nicht als fehlgeschlagen: kein Fehleralarm, und er zählt nicht als letzte Sicherung. Jedes Stoppen fragt vorher nach und wird im Audit-Log festgehalten.
Dateien, die exklusiv geöffnet, unlesbar oder offline sind, werden übersprungen und im Lauf nach Ursache aufgelistet; der Lauf endet dann „mit Warnungen“, und auf der Warnungsseite können Sie bestätigen, was erwartet war. Eine Freigabe, die plötzlich leer ist, obwohl der vorherige Sicherungsstand es nicht war, wird nicht gesichert (ein leerer Sicherungsstand würde die Aufbewahrung die guten löschen lassen); „Die leere Freigabe einmal sichern“ erlaubt es bewusst.
Was es braucht
-
Den Mounter. Neue Installationen starten ihn
standardmäßig (die Installer-Option
--no-mounterlässt ihn aus). Bei einer bestehenden Installation klickt der Provider-Inhaber auf „Netzlaufwerke einschalten“, wenn der optionale Updater läuft, oder führtdocker compose --profile mounts up -d mounteraus. Führen Sie nach dem Update auf 0.4.0 dasinstall.shvon 0.4.0 erneut aus, damit diedocker-compose.ymldie Änderungen hat, die Läufe für Freigaben brauchen. Der Mounter hält den Docker-Socket, also root-gleichen Zugriff auf den Host: Lesen Sie die Sicherheitshinweise zum Mounter, bevor Sie ihn einschalten. -
Den Client des Docker-Hosts. Der Kernel des Hosts
bindet die Freigabe ein, er braucht also das Modul
cifsfür SMB oder den NFS-Client für NFS, und er muss den Dateiserver erreichen: TCP 445 für SMB, TCP 2049 für NFS (NFSv3 braucht außerdem den Portmapper und den Mount-Daemon). -
Ein Konto. Für SMB ein Domänen- oder lokales Konto, das
alles Gesicherte lesen darf. Am besten ein Mitglied der
Sicherungs-Operatoren (Backup Operators) unter Windows, das auch Dateien
liest, deren Berechtigungen es sonst aussperren würden, samt ihrer
Berechtigungen. Für Wiederherstellungen in die Freigabe braucht es
Schreibzugriff. Bei NFS muss der Export den Docker-Host zulassen; mit
root_squashwerden Dateien übersprungen, die nur root lesen darf, exportieren Sie daher für ein vollständiges Backup mitno_root_squash.
Die Betriebsanleitung mit den Voraussetzungen, den Fehlerursachen und was jeweils zu tun ist, ist docs/FILESHARES.md im Produkt-Repository (englisch).
Eine Freigabe hinzufügen und ihr Backup-Job
„Freigaben“ steht im Menü neben „VMs & Container“. „Freigabe hinzufügen“ fragt nach Protokoll, Server, Freigabe oder Export, einem optionalen Unterordner, Konto und Passwort, testet die Verbindung (und ob die Berechtigungen lesbar sind) und speichert die Freigabe. Das Passwort wird mit dem Mandantenschlüssel versiegelt und nie wieder angezeigt. Dann nehmen Sie die Freigabe in einen Backup-Job der Art „Freigaben“ auf: ein Zeitplan (höchstens stündlich), die zu sichernden Ordner (standardmäßig alle), zu überspringende Dateitypen und die Aufbewahrung in täglichen, wöchentlichen und monatlichen Sicherungsständen, wie bei Rechnern. Eine Freigabe in keinem Job wird nicht gesichert, und Restow sagt das.
Mandanten-Administratoren verwalten ihre eigenen Freigaben. Eine Freigabe an einer privaten oder Loopback-Adresse, wie es die meisten Dateiserver sind, braucht die Freigabe durch einen Provider-Administrator oder den Installationsschalter „Mandanten dürfen Freigaben in privaten Netzen hinzufügen“.
Wiederherstellung
Aus einem Sicherungsstand können Sie durchsuchen, suchen und die Versionen einer Datei ansehen und dann einen von vier Wegen wählen: als ZIP herunterladen (ohne den Berechtigungsdatensatz), in einen neuen Ordner derselben Freigabe wiederherstellen, an den ursprünglichen Ort wiederherstellen (überschreiben, beide behalten oder vorhandene Dateien überspringen) oder in eine andere Freigabe wiederherstellen. Eine Wiederherstellung schreibt die Berechtigungen zurück, wo das Ziel es zulässt, und listet die Dateien auf, deren Berechtigungen sich nicht setzen ließen. Wiederherstellungen in eine Freigabe brauchen „Wiederherstellung in diese Freigabe erlauben“, das standardmäßig aus ist. Mandanten-Nutzer haben noch keine Selbstbedienungs-Wiederherstellung von Freigaben.
Nachweislich wiederherstellbar
Jeder neue Sicherungsstand wird geprüft: Restow liest bis zu 20
Stichproben-Dateien zurück und vergleicht sie mit dem Gesicherten. Ein
Sicherungsstand ohne Stichproben, weil sich jede Datei in der Stunde vor
dem Lauf geändert hat, wird gelb bewertet und sagt, warum. Zusätzlich
bekommt das Repository wöchentlich ein restic check von 5
Prozent seiner Daten. Die Wiederherstellbarkeit bewertet eine Freigabe
nach ihrem neuesten Sicherungsstand, derselbe Status wie bei Postfächern
und Rechnern. Siehe die
Verifizierungsseite.
Jeder neue Sicherungsstand wird außerdem auf Anzeichen von Ransomware beurteilt: Menge der Änderungen, Löschungen, umbenannte Endungen, bekannte Namen und Stichprobendateien, die verschlüsselt wirken. Einzelheiten auf der Seite zur Ransomware-Erkennung.
Kopierjobs
Ein Kopierjob schreibt nach Zeitplan den neuesten Sicherungsstand von Freigabe A, der seine Restore-Prüfung bestanden hat, in einen Ordner von Freigabe B. Im Modus „Überschreiben“ fügt er Dateien hinzu und ersetzt sie; im Modus „Spiegeln“ löscht er zusätzlich, was der Sicherungsstand nicht hat, aber nur in diesem Ordner. Spiegeln wird in eine Freigabe-Wurzel oder die Quellfreigabe abgelehnt, und ein Lauf hält an, wenn der Sicherungsstand weniger als die Hälfte der Dateien der letzten Kopie hat. Freigabe B muss Wiederherstellungen erlauben. Ein Kopierjob ist mit „Keine Sicherung: keine Versionen am Ziel“ gekennzeichnet: Das Ziel ist ein bequemer zweiter Ort für die aktuellen Dateien, keine zweite Sicherung.
Budgets
Ein Budget lässt sich je Freigabe, je Mandant und als Vorgabe für neue Freigaben setzen. Es ist standardmäßig aus und für Provider-Administratoren. Bei 80 Prozent warnt die Freigabe, bei 100 Prozent werden neue Backups abgelehnt; Wiederherstellungen, Aufbewahrung und Prüfungen laufen weiter.
Wo Freigaben auftauchen
Eine Freigabe in einem aktiven Job wird neben Postfächern, Rechnern und VMs
mitgezählt: im Status-Reiter, auf der Startseite, in der
Wiederherstellbarkeit, in den Warnungen, im Verlauf, in der Statistik und in
der Provider-Ansicht. Für sie gibt es zwei Alarme:
file_share_backup_failed und
file_shares_without_job, und eine überfällige Freigabe löst
backup.overdue aus. Welche davon welchen Kanal erreichen,
legt die Benachrichtigungsmatrix unter Integrationen, Benachrichtigungen
fest.
Unveränderbarkeit
Schalten Sie unveränderbare Backups für das primäre Repository des Mandanten ein (siehe Speicher), sind auch die restic-Repositories der Freigaben gesperrt. Eine Freigabe, deren Repository noch gesperrt ist, lässt sich vor dem Ende der Sperre nicht endgültig löschen.
Benannte Grenzen, nicht versteckte
- Keine Schattenkopie (VSS) über SMB: Dateien, die ein anderes Programm exklusiv geöffnet hält, werden übersprungen. Keine alternativen Datenströme, keine DFS-Namespaces, kein Kerberos, kein SMB1.
- Die Repositories liegen nur im primären Repository. Kopie-Repositories decken Freigaben nicht ab. Ein Verschieben des primären Repositorys nimmt sie mit (0.4.2), und „Vorhandene Backups dort belassen, wo sie sind“ wird abgelehnt, solange Freigaben restic-Repositories haben.
- Eine Dateifreigabe, deren Repository fehlt, wird noch nicht so geheilt wie ein Container (neue Sicherungskette). Das ist geplant.
- Mandanten-Nutzer haben noch keine Selbstbedienungs-Wiederherstellung von Freigaben, und die zeitgesteuerten Berichte haben noch keinen Block für Freigaben.
- Die Runner laufen auf dem Docker-Host von Restow, nicht in der Nähe des Dateiservers. Ein Dateiserver, der nur über eine langsame Leitung erreichbar ist, wird über diese Leitung gesichert.
- Das Backup von Dateifreigaben wurde in den Release-Prüfungen gegen Samba getestet (Prüfung 12: sichern, durchsuchen, suchen, ZIP-Download, Wiederherstellung mit Berechtigungen, Kopierjob). Es wurde nicht gegen Windows Server (NTFS-Berechtigungen, Backup Operators, eine in Excel geöffnete Datei), eine Synology- oder TrueNAS-Freigabe, echte NFS-Exporte (NFS gehört nicht zu dieser Prüfung) oder einen Host mit SELinux im Enforcing-Modus getestet.
- Der Mounter hält den Docker-Socket, das Einschalten ist also eine Sicherheitsentscheidung. Restow ist eine Beta: Betreiben Sie es neben Ihrer bestehenden Sicherung, bis Sie selbst daraus wiederhergestellt haben.
Häufig gefragt
Braucht Restow einen Agenten auf dem Dateiserver?
Nein. Restow bindet die Freigabe vom Restow-Server aus nur lesend für die Dauer eines Laufs ein, in einem kurzlebigen Runner-Container, den der Mounter startet. Auf dem Windows-Server, dem Samba-Server oder der NAS wird nichts installiert. Es braucht ein Konto, das die Freigabe lesen darf, und der Docker-Host von Restow muss den Dateiserver erreichen.
Welche Protokolle und Versionen werden unterstützt?
SMB 2.1 bis 3.1.1 (3.1.1 ist empfohlen; 2.1 ist veraltet und ohne Verschlüsselung) und NFS. SMB1 und NTLMv1 werden abgelehnt. Kerberos und DFS-Namespaces werden nicht unterstützt.
Werden Dateiberechtigungen mitgesichert?
Ja. NTFS-Berechtigungen werden mit jedem Sicherungsstand gespeichert, NFSv4- und POSIX-ACLs nach bestem Bemühen. Eine Wiederherstellung schreibt sie zurück, wo das Ziel es zulässt, und listet die Dateien auf, deren Berechtigungen sich nicht setzen ließen. Der Test beim Hinzufügen einer Freigabe sagt Ihnen, ob das Konto die Berechtigungen überhaupt lesen kann; ohne das werden Dateien ohne sie gesichert.
Was passiert mit geöffneten oder unlesbaren Dateien?
Sie werden übersprungen und im Lauf aufgelistet, der dann „mit Warnungen“ endet. Über SMB gibt es keine Schattenkopie (VSS), eine Datei, die ein anderes Programm exklusiv geöffnet hält, wird daher übersprungen. Sichern Sie nachts, wo Dateien lange offen bleiben, und geben Sie dem Konto das Recht der Sicherungs-Operatoren (Backup Operators), wenn Dateien unlesbar sind.
Ist ein Kopierjob ein Backup?
Nein, und die Oberfläche sagt es: „Keine Sicherung: keine Versionen am Ziel“. Ein Kopierjob schreibt nach Zeitplan den neuesten Sicherungsstand einer Freigabe, der seine Restore-Prüfung bestanden hat, in einen Ordner einer anderen Freigabe. Das Ziel behält keine Versionen.
Lässt sich eine Freigabe in ein zweites Repository kopieren?
Nein. Das restic-Repository einer Freigabe liegt nur im primären Repository des Mandanten; Kopie-Repositories decken Freigaben nicht ab. Die Unveränderbarkeit deckt sie ab, wenn Sie sie für das primäre Repository einschalten. Ein Verschieben des primären Repositorys („Vorhandene Backups verschieben“) nimmt die Repositories der Freigaben mit, geprüft per SHA-256 (seit 0.4.2).
Lässt sich ein laufendes Backup einer Freigabe stoppen?
Ja, seit 0.4.2: Ein Lauf einer Freigabe lässt sich in der Lauf-Schublade abbrechen, wie es bei Läufen von Microsoft 365 und IMAP schon ging. Er endet als „Abgebrochen“, nicht als fehlgeschlagen, löst keinen Fehleralarm aus und zählt nicht als letzte Sicherung. Jedes Stoppen fragt vorher nach und wird im Audit-Log festgehalten.
Was, wenn das Repository einer Freigabe nach einem Speicherwechsel fehlt?
Seit 0.4.2 wird „Vorhandene Backups dort belassen, wo sie sind“ abgelehnt, solange Freigaben restic-Repositories haben, und „Vorhandene Backups verschieben“ nimmt sie mit, sodass dieser Fall bei einem normalen Wechsel des primären Repositorys nicht mehr entsteht. Ein Repository, das aus einem anderen Grund fehlt, wird noch nicht mit einer neuen Sicherungskette geheilt, wie es bei einem Container geschieht; das ist geplant.
Ist das Backup von Dateifreigaben in der Community Edition?
Ja. Es gehört zum Community-Kern und damit zu jeder Edition. Restow ist eine Beta: Betreiben Sie es neben Ihrer bestehenden Sicherung, bis Sie selbst daraus wiederhergestellt haben.
Wie jeder Sicherungsstand auf Ransomware beurteilt wird →
Server- und Client-Backup mit einem Agenten →
Mehr in Wissen: die 3-2-1-Backup-Regel und wo ein Dateiserver hineinpasst →