FreeNAS

RSYNC Backups von FreeNAS/NAS4Free zurückkopieren

In dem Artikel „Automatisches Backup von FreeNAS/NAS4Free Freigaben“ habe ich beschrieben, wie man automatisierte Backups auf FreeNAS/NAS4Free eingerichtet. Diese Sicherung kann man natürlich auch eine oder mehrere Freigaben komplett wieder herstellen. Z.B. nach einem Festplattencrash.

Hier beschreibe ich, wie man eine komplette Sicherung auf eine neue Festplatte eines FreeNAS bzw. NAS4Free Servers zurück kopiert, ohne Datum, Besitzer und Rechte der Dateien und Ordner zu verändern.

Generell kann man mit diesem Befehl auch unter FreeBSD – auf das FreeNAS/NAS4Free basiert – verwenden. Unter GNU/Linux muss man ggf. nur eine Option austauschen.

Ich habe bereits einmal eine komplette Serversicherung auf diese Weise auf eine neue Freigabe kopiert.

Vorbereitungen

  1. FreeNAS/NAS4Free Server starten,
  2. Datenfestplatte einrichten (Festplatten|Management), die mindestens so groß ist, dass sie die Daten aufnehmen kann (falls nicht bereits vorhanden),
  3. Einhängepunkt für diese Platte festlegen (Festplatten|Einhängepunkt|Management),
  4. Backupfestplatte, wie in Punkt 2 und 3 beschrieben einrichten und
  5. SSH Dienst aktivieren (optional).

Es ist nicht relevant, ob FreeNAS/NAS4Free „embedded“ oder „full“ installiert wurde.

Grafisch oder Textkonsole

Leider gibt es keine grafischen Tools, die mir bekannt sind, um diese Aufgabe per Klick zu erledigen. Viel versprechende Kandidaten wie Filezilla oder WinSCP konnten leider die Anforderungen nicht erfüllen.

Man kommt nicht darum herum, die Kopieraktion an einer Textkonsole durchzuführen. Es ist aber viel einfacher als du erwartest.Man benötigt nur einen Befehl und man muss lediglich wissen, wo im Verzeichnisbaum sich das Backup und die leere Freigabe befindet, auf die das Backup kopiert werden soll. Bei einem Headless-System (s.u.) braucht man nur noch zusätzlich die IP-Adresse des Servers.

Headless System

Der oben vorausgesetzte SSH-Dienst ist nur bei einem Headless-System nötig, also an einem Server, an dem keine Tastatur und Monitor angeschlossen ist. Über SSH steuert man auf einem Arbeitsplatzcomputer (Windows, Mac, GNU/Linux, …) den Server fern. Unter Windows kann man dazu Putty verwenden:

SSH-Terminal Zugang mit Putty
SSH-Terminal Zugang mit Putty

Unter „Host Name“ gibt man die IP Adresse des Servers an, z.B. 192.168.111.111. Wenn du nicht mehr weißt, welche Adresse dein Server hat, kannst du z.B. Softperfect Network Scanner (Windows) verwenden bzw. in der Web-Administration deines Routers (Multi-Plattform) nachsehen. Den Port kann i.d.R. auf 22 belassen werden, wenn man in der SSH-Konfiguration der FreeNAS Web-Administration diesen Wert nicht verändert hat. „Connection type“ muss „SSH“ sein. Dann klickt man auf „Open“.

Bei der Anmeldung am Terminal meldet man sich als „admin“ an. Das Kennwort ist das gleiche wie in der Web-Administration des FreeNAS/NAS4Free-Servers. Für UNIX-Neulinge: Das Kennwort wird komplett blind eingegeben. Es erscheinen keine Sternchen oder sonstige Platzhalter!

Unter Mac OS X oder in Linux/UNIX steht im „Terminal“ bzw. der „Konsole“ das Programm ssh standardmäßig zur Verfügung. Einfach: „ssh benutzer@server-ip-adresse„, z.B. „ssh max@192.168.111.111“ eingeben. Das weitere Vorgehen entspricht exakt dem Absatz unter Windows/Putty.

SSH im Terminal von Linux (Ubuntu)
SSH im Terminal von GNU/Linux (Ubuntu)

Server-Arbeitsplatz

Sitzt man hingegen direkt am Server mit Tastatur und Monitor, startet man den FreeNAS/NAS4Free-Server neu und wählt beim Startscreen „6) Shell“:

"Welcome to NAS4Free"
"*********************" 
1) Assign Interface
2) Set LAN IP address
3) Reset WebGUI password
4) Reset to factory defaults
5) Ping host
6) Shell
7) Reboot system
8) Shutdown system
9) Install/Upgrade to hard drive/flash device, etc.

Daten kopieren

Nach den Vorbereitungen gibst du jetzt im Terminal/Konsole den Befehl:

cp -RvLpn /Pfad/der/Quelle/* /Pfad/des/Ziels/

ein. Man muss unbedingt auf Groß- und Kleinschreibung achten!

Wenn dein Backup, das du wiederherstellen willst, im Verzeichnis /mnt/backup/netzwerk_bak1/ liegt und die Freigabe, in das das Backup kopiert werden soll, in /mnt/freigabe1, dann lautet das Kommando:

cp -RvLpn /mnt/backup/netzwerk_bak1/* /mnt/freigabe1/

Exkurs: Will man unter GNU/Linux Verzeichnisbäume unter Beibehaltung der Dateiattribute kopieren, muss man nur die Option „-n“ gegen „-u“ austauschen (kann aber auch weggelassen werden, s.u.):

cp -RvLpu /Pfad/der/Quelle/* /Pfad/des/Ziels/

Zu den Optionen:

Option Erklärung
-R rekursives Kopieren (auch Unterordner und deren Inhalte kopieren)
-v Zeigt was es gerade macht/kopiert
-L folgt allen symbolischen Links und kopiert somit die verlinkten Dateien und nicht die Links selbst
-p Erhält soweit möglich Dateiattribute, wie Datum, Besitzer, Gruppe, etc.
-n Überschreibt keine existierenden Dateien (für GNU/Linux -u für update)

Nicht alle Optionen sind zwingend. -R, -L und -p sind aber essentiell. -v lässt die gerade kopierten Dateinamen durch das Terminalfenster oder den Bildschirm laufen. Ohne -v würde nur der Cursor blinken. -n könnte man weglassen, da sich ja in unserem Fall keine Dateien auf der Festplatte befinden. Will man allerdings alte Dateien überschreiben, muss dieser Schalter entfernt werden.

Schreibe einen Kommentar

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