Jan
23
2016

FreeNAS – BackupServer mit rsnapshot

FreeNAS Backup © Maximilian Riess / Riess Group.

Wir verwenden aktuell FreeNAS 9.3 als Storagelösung. Für das tägliche Backup soll täglich eine komplette Kopie auf einem dedizierten Backupserver erstellt werden. Der Backupserver wird ebenfalls mit FreeNAS betrieben und stellt durch das ZFS Filesystem eine verläßliche Datenablage zur Verfügung. Als Backuptool der Wahl kommt rsnapshot zum Einsatz. rsnapshot erstellt bei der Datensicherung zuerst eine komplette Kopie des letzten Backups. Danach wird mittels rsync geprüft, welche Daten sich seit dem letzten Backup geändert haben. Diese Daten werden dann zum Backupserver übertragen und aktualisieren damit die Kopie der letzten Sicherung.

Durch diesen Mechanismus wird eine performante Komplettsicherung erreicht, ohne dass jedes Mal die kompletten Daten über das Netzwerk kopiert werden müssen. Weiterhin werden Dateien, die sich nicht geändert haben, nur einmal abgelegt und belegen damit keinen zusätzlichen Speicherplatz. Da die Sicherung damit eine exakte Kopie der Originaldaten erstellt, können die Daten für eine Wiederherstellung einfach zurück kopiert werden, ohne dass spezielle Software dafür benötigt wird.

Das ZFS Filesystem stellt über die sogenannte deduplication eine weitere Möglichkeit zur Verfügung, den benötigten Speicherplatz zu reduzieren. Dabei werden Datenblöcke auf der Festplatte identifizert, die identische Inhalte haben. Solche Datenblöcke werden dann ebenfalls nur als Link abgelegt und belegen damit nur einmal Speicherplatz. Damit werden Dateien, die im Verlauf der Zeit umbenannt wurden, ebenfalls platzsparend verwaltet und belegen keinen zusätzlichen Speicherplatz.

Um rsnapshot auf FreeNAS 9.3 zu installieren, wird als erstes ein jail angelegt. In diesem muss zuerst der Paketmanager aktualisiert werden. Danach kann rsnapshot installiert und konfiguriert werden.

Jail anlegen:

Über das Menü Jails ein neues Jail – hier mit Namen „rsnapshot“ – erstellen.

Unter Jail -> Konfiguration kann das „Jail Root“ so angepasst werden, dass die Daten auf einem eigenen Volume abgelegt werden. In unserem Fall verwenden wir dafür einen USB-Stick, so dass die Festplatten zwischen den Backupläufen in den Stromsparmodus gehen können.

rsnapshot_jail

Wenn das Jail erstellt ist, über den Konsolenbutton in die Konsole des neuen Jails wechseln, um mit den nächsten Schritten weiter zu machen.

 rsnapshot_jail_console

In das angelegte Jail wechseln, bei Bedarf Paketmanager aktualisieren und rsnapshot installieren:

Um auf FreeNAS 9.3 Pakete installieren zu können, benötigt man gegebenenfalls einen aktualisierten Paketmanager. Bei der Installation des Template „virtualbox“, funktioniert der Packagemanager nicht. Diesen erzeugt man daher einfach aus dem Ports heraus. Mit dem aktualisierten Paketmanager ist rsnapshot schnell installiert:

root@rsnapshot:/ # pkg -v
root@rsnapshot:/ # portsnap fetch update 
root@rsnapshot:/ # portsnap extract 
root@rsnapshot:/ # cd /usr/ports/ports-mgmt/pkg 
root@rsnapshot:/ # make 
root@rsnapshot:/ # make reinstall 
root@rsnapshot:/ # pkg --v 
root@rsnapshot:/ # pkg install rsnapshot 
root@rsnapshot:/ # pkg -f install rsnapshot

rsnapshot konfigurieren:

Das Backup wird über die Konfigurationsdatei /etc/rsnapshot.conf gesteuert. Diese muss nach den eigenen Bedürfnissen angepasst werden.

Um auf den Festplattenplatz von FreeNAS zugreifen zu können, muss dieser dem Jail bekanntgemacht werden. Dies wird durch die Einstellung „Storage“ für das Jail konfiguriert.

Über einen CronJob wird das Backup zum entsprechenden Zeitpunkt gestartet.