Es bestehen diverse Möglichkeiten, auch einem Windows-Rechner rsync “beizubringen”. Die Nutzung entsprechender Software von Drittanbietern stellt jedoch stets eine potentielle zusätzliche Fehlerquelle dar. Ein Benutzer beschreibt seine Erfahrung mit Deltacopy, einer rsync-Lösung für Windows, im FreeNAS-Forum wie folgt:
It was easy to make work with FreeNAS, but its behavior was very odd and small things would cause it to fail(such as a non-english character in a filename) while doing rsync to rsync via 2 FreeNAS boxes was without any problems. Deltacopy was also very very slow, didn’t always behave according to what I expected for the settings, etc.
Aus solchen Gründen ist es ratsam, kritische Anforderungen auf Basis bewährter Funktionalitäten zu lösen.
Im Folgenden ist beschrieben, wie FreeNAS genutzt werden kann, um Inhalte einer entfernten Windows-Freigabe zum lokalen Speicher zu ziehen.
Windows-Freigabe am FreeNAS-System einhängen
Funktionierende Verbindung sicherstellen
Verbindung permanent einrichten
Einrichtung überprüfen
Die Änderungen werden erst nach einem Neustart aktiv. Um sie sofort zu testen, geht man wie folgt vor.
Rsync konfigurieren
Mit obiger Einrichtung wird die Windows-Freigabe quasi als lokale Ressource behandelt.
rsync kann auch zum Kopieren zwischen lokalen Pfaden eingesetzt werden. Über das Web-Interface von FreeNAS ist allerdings lediglich die Konfiguration der Nutzung eines entfernten Rechners möglich.
Um Benutzers des Web-Interface dennoch eine einfache Einrichtung von “Rsync Tasks” zu ermöglichen, wird FreeNAS selbst logisch als “entfernter” Rechner konfiguriert.
Rsync-Task einrichten
An dieser Stelle ist alles Notwendige vorbereitet, um die Einrichtung eines Rsync-Task via FreeNAS-Web-Interface für das Kopieren der der Daten der Windows-Freigabe zum entsprechenden Ziel-Dataset zu ermöglichen (System > Rsync-Tasks > Add Rsync-Task).
Die Einrichtung an sich birgt noch ein relativ offensichtliches Risiko:
Schlägt das Einhängen der Windows-Freigabe fehl, werden, wenn die rsync-Option --delete
verwendet wird, die Inhalte aus dem Zielverzeichnis gelöscht.
Sinnvollerweise wird dem entgegen gewirkt indem vor Ausführen von rsync die Verfügbarkeit der Quelle sichergestellt wird.
Rein über das Web-Interface ist dies allerdings unmöglich. Ist das Risiko für diesen Fall als relativ gering einzuschätzen, minimieren regelmäßige ZFS Snapshots die Auswirkungen des Problems (Storage > Periodic Snapshot Tasks > Add Periodic Snapshot).
Ansonsten muss mit einem entsprechenden Skript behandelt werden.