Sie sind auf Seite 1von 36

ZFS - Datensicherung

www.as-systeme.de

Sichern von ZFS


Integriert: zfs send Third Party Backup-Produkte: IBM TSM, Veritas Netbackup, EMC Networker, Archivierungstools: tar, star, cpio, pax Opensource: Bacula, Zmanda (Cloud Backup) Replikation: rsync, zync
www.as-systeme.de

zfs send/receive
Erzeugt einen Datenstrom eines Snapshots. Bei der Wiederherstellung wird aus Datenstrom ein Dateisystem erstellt. dem

Ist die Streamdatei allerdings korrupt, lsst sich ein Restore nicht durchfhren.
www.as-systeme.de

Limitierungen von zfs send/receive


Wiederherstellung auf Datei-Basis * Verifikation der Sicherung Medienverwaltung Nach zfs upgrade - stream nicht kompatibel auf Systemen mit lterer ZFS-Version
* einfache Alternative: Snapshots
www.as-systeme.de

Enterprise-Backuptools
ZFS-spezifische Anforderungen: ACL Sicherung Snapshot-Support ZFS Properties (quotas, compression,) Schnelle Anpassung an Entwicklung (ZFSEncryption)

www.as-systeme.de

Enterprise Backuptools
Mittlerweile haben alle groen Anbieter von Enterprise-Backuptools Support fr ZFS: EMC Networker 7.3.2. Veritas Netbackup 6.5 IBM Tivoli Storage Manager 5.4.1.2 Allerdings muss man genau hinschauen, da etliche Beschrnkungen existieren.
www.as-systeme.de

Beispiel: TSM ZFS Support


ACL: Full Backup: Partielle Sicherung: Dateiwiederherstellung: Folgende Beschrnkungen sowie Limitierungen existieren in der Version 5.4.1.2
www.as-systeme.de

Beschrnkungen von TSM


Kein Snapshot-Support Kein Sichern von ZFS-Properties EFI-Label Problem (Kein Image-Backup fr Dateisystem > 1TB) Wechseln des Mountpoints fhrt zur erneuten Sicherung des Dateisystems. Da ACLs mit der Datei zusammenhngen: ndern ACL => Backup der kompletten Datei
www.as-systeme.de

Entwicklung der Backuptools


Fr ein komplettes Recovery sind die existierenden Backuptools aktuell nicht gut gerstet, da u.a. keine ZFS-Properties mitgesichert werden. ZFS entwickelt sich schnell. Wie schnell knnen die Tools neue Features untersttzen? Deduplizierte Datenstrme sichern la zfs send -D ZFS-Encryption
www.as-systeme.de

Sichern: Disks oder Tapes?


Vom Kostenfaktor kommt man zur Zeit auf den gleichen Wert. Von der Kapazitt/Geschwindigkeit her ist die LTO-5 Spezifikation mit native 1,6 TB und 180 MB/s fr viele Unternehmen ausreichend. Auf der anderen Seite knnen Disks parallel genutzt werden - werden billiger und schneller mit steigender Kapazitt. ZFS-Streams direkt auf Tapes zu sichern ist nicht zu empfehlen, da aufgrund eines Biterrors eine korrupte Datei nicht wiederhergestellt werden kann.
www.as-systeme.de

Virtual Tape Libraries


VTLs sind Kombinationen aus Hard- und Software, die Tapes und Tapelibraries emulieren. Interessant sind dann Systeme, deren Platten mit Hilfe von ZFS verwaltet werden. Beispiele: Falconstor VTL NetVault von BakBone
www.as-systeme.de

NAS/SAN - Storage
Tapes zu emulieren ist eher ein Relikt historischer Anforderungen. Direkt ein NAS/SAN-Storage anzubieten, basierend auf Opensolaris und ZFS, ist eine einfache Sache. Einige Hersteller bieten dies schon an. Beispiel: Sun OpenStorage S7000 Serie mit Deduplikation (2010-Q1) NexentaStor 3.0 mit Deduplikation
www.as-systeme.de

Datensicherung per Replikation


Beim Sichern auf ein Bandlaufwerk ist keineswegs garantiert, dass eine erfolgreiche Wiederherstellung der Daten mglich ist. Verifikation und Wiederherstellung ist bei der Replikation hingegen implizit gegeben. Darber hinaus kann man schneller einzelne Daten wieder herstellen, als von einen Bandlaufwerk aus. Replikationsanstze: zfs send | zfs receive zfs + rsync
www.as-systeme.de

zfs send/receive gegenber rsync


Beide Mechanismen untersttzen: inkrementelles Sichern Sichern auf Dateisystemebene Bezglich der Performance sind beide I/O-lastig. rsync verwendet stat(), um herauszufinden, ob die Datei synchronisiert werden muss. In gewissen Szenarien, wo zum Beispiel fortlaufende nderungen in einem Verzeichnis stattfinden, ist rsync sehr langsam. rsync untersttzt zudem keine ZFS-Properties.
www.as-systeme.de

Backup to the Cloud


Anbieter wie zum Beispiel Amazon S3 bieten Speicherdienste an. Amanda bietet eine einfache API an, so dass sich auch Verschlsselung nutzen lsst. Verschiedene Methoden werden untersttzt: zfs send/receive | gnutar | star.

www.as-systeme.de

ZFS-Snapshots im berblick
ZFS-Snapshots: Basis fr konsistente Online-Sicherungen Wiederherstellungspunkte Schnellzugriff auf versehentlich genderte oder gelschte Dateien Wie richtet man Snapshots bezglich der Datensicherung mglichst einfach und bequem ein?
www.as-systeme.de

Rekursive Snapshots
Durch die Option -r lassen sich auf einen Schlag gleich mehrere Snapshots erstellen.
zfs snapshot -r rpool/export/home@$(date +%Y%m%d_%H:%M) (ber die Kommandosubstitution $() kann man die Namen gleich passend im Zeitstempelformat erzeugen.)
www.as-systeme.de

Anzeigen/Umbennen/Lschen
groo:/# zfs list -t snapshot -r rpool/export/home
NAME USED AVAIL REFER MOUNTPOINT rpool/export/home@20100409_09:59 0 - 268K rpool/export/home/anna@20100409_09:59 0 - 21K rpool/export/home/hugo@20100409_09:59 0 - 21K rpool/export/home/otto@20100409_09:59 0 - 21K -

zfs rename -r rpool/export/home@20100409_09:59 @old zfs destroy r rpool/export/home@old


www.as-systeme.de

Rechtedelegation fr Snapshots
Das Erstellen von Snapshots muss nicht root vorbehalten sein. Mit zfs allow knnen Rechte delegiert werden. Zum Erstellen von Snapshots werden folgende Rechte bentigt: mount snaphot
www.as-systeme.de

Delegation einrichten
groo:/# zfs allow -s @set1 mount,snapshot rpool/export/home/anna groo:/# zfs allow -l anna @set1 rpool/export/home/anna groo:/# zfs allow rpool/export/home/anna ---- Permissions on rpool/export/home/anna --------------------------Permission sets: @set1 mount,snapshot Local permissions: user anna @set1
www.as-systeme.de

Verwendung Delegationsrechte
$ id uid=101(anna) gid=1(other) $ /usr/sbin/zfs snapshot rpool/export/home/anna@test2 $ /usr/sbin/zfs list -r rpool/export/home/anna NAME USED AVAIL REFER MOUNTPOINT rpool/export/home/anna 21K 15,1G 21K /export/home/anna rpool/export/home/anna@test1 0 - 21K rpool/export/home/anna@test2 0 - 21K -

www.as-systeme.de

Lschen von Snapshots


Zum Lschen von Snapshots wird das Recht destroy bentigt:
$ /usr/sbin/zfs destroy rpool/export/home/anna@test2 cannot destroy 'rpool/export/home/anna@test2': permission denied

Vorsicht: Wird destroy hinzugefgt, knnte in dem Fall anna nicht nur ihre Snapshots, sondern auch das eigene Dateisystem lschen!
www.as-systeme.de

Opensolaris: ZFS-Autosnapshot
Unter Opensolaris existiert seit lngerem ein Framework fr automatische Snapshots:
chris@opengroo:~$ svcs auto-snapshot STATE STIME FMRI disabled 15:34:08 svc:/system/filesystem/zfs/auto-snapshot:frequent disabled 15:34:08 svc:/system/filesystem/zfs/auto-snapshot:hourly disabled 15:34:08 svc:/system/filesystem/zfs/auto-snapshot:daily disabled 15:34:08 svc:/system/filesystem/zfs/auto-snapshot:weekly disabled 15:34:08 svc:/system/filesystem/zfs/auto-snapshot:monthly

www.as-systeme.de

Funktion Auto-Snapshot
Durch das Starten eines Auto-Snapshot Dienstes wird ein Cron-Job angelegt, der gem dem spezifizierten Intervall einen Snapshot anlegt. Die ZFS-Eigenschaft com.sun:auto-snapshot legt pro Dateisystem fest, ob der Service einen Auto-Snapshot anlegen soll. Verwendet wird dies vom Time-Slider Dienst oder von einem Backup-Dienst.
www.as-systeme.de

Beispiel
chris@opengroo:~$ svcadm enable auto-snapshot:weekly chris@opengroo:~$ svcs auto-snapshot:weekly STATE STIME FMRI online 10:39:17 svc:/system/filesystem/zfs/auto-snapshot:weekly chris@opengroo:~$ crontab -l zfssnap 0 0 1,8,15,22,29 * * /lib/svc/method/zfs-auto-snapshot svc:/system/filesystem/zfs/auto-snapshot:weekly

www.as-systeme.de

com.sun:auto-snapshot
chris@opengroo:~$ zfs get com.sun:auto-snapshot rpool/export/home/chris NAME PROPERTY VALUE rpool/export/home/chris com.sun:auto-snapshot true from rpool SOURCE inherited

com.sun:auto-snapshot: Neben true | false kann die Eigenschaft auch ein spezifisches Label als Wert haben.
www.as-systeme.de

<Label> als Wert


Label: Eine Zeichenkette, mit dem der AutoSnapshot von anderen Snapshots unterschieden werden kann. Ist insbesondere fr Backups konzipiert worden, so dass Backuptools Snapshots unterscheiden knnen, die nicht fr Backupzwecke angelegt wurden. Zustzliche Konfigurationsparameter sind auf Serviceebene konfigurierbar.
www.as-systeme.de

svcprop -p zfs auto-snapshot:weekly


zfs/avoidscrub boolean false zfs/backup astring none zfs/backup-lock astring unlocked zfs/backup-save-cmd astring not\ set zfs/fs-name astring // zfs/interval astring days zfs/keep astring 4 zfs/label astring weekly zfs/period astring 7 zfs/snapshot-children boolean true
www.as-systeme.de

Rootpool Recovery
Wiederherstellungsprozeduren sollten auch mindestens einmal auf Testsystemen durchexerziert werden, um unliebsame berraschungen zu vermeiden. Im folgenden ein prinzipieller berblick einer Wiederherstellung Defekte Platten ersetzen boot net s Platten formatieren/labeln zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=/etc/zfs/zpool.cache rpool c0t0d0s0
www.as-systeme.de

Rootpool Recovery
Bootloader auf den Platten installieren
sparc: installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t0d0s0 x86: installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t0d0s0

Backup einspielen
stream: cat /mnt/rpool.backup | zfs receive -Fdu rpool pool: rsh remote-system zfs send tank/ROOT@backup | zfs receive -Fdu rpool

zpool set bootfs=rpool/ROOT/s10_u8 rpool


www.as-systeme.de

Referenzen: Thema ZFS allgemein


ZFS Root-Pool Recovery
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide #ZFS_Root_Pool_Recovery

ZFS mit Enterprise-Backup Lsungen


http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide# Using_ZFS_With_Enterprise_Backup_Solutions

www.as-systeme.de

Referenzen: Thema Snapshots


ZFS Rolling Snapshots
http://blogs.sun.com/mmusante/entry/rolling_snapshots_made_easy

Auto-Snapshots unter Opensolaris


http://blogs.sun.com/timf/en_IE/entry/zfs_automatic_snapshots_in_nv

www.as-systeme.de

Referenzen: Thema Replikation


Paralleles ZFS send/receive Blog
http://blog.richardelling.com/2009/01/parallel-zfs-sendreceive.html

ZFS mit rsync


http://wikis.sun.com/display/BigAdmin/How+to+use+ZFS+and+rsync+to+cre ate+a+backup+solution+with+versioning

Zync: Javaprogramm das ZFS und rsync nutzt


http://projects.firefang.net/wiki/Zync

www.as-systeme.de

Referenzen: Thema Cloud-Backup


Amanda: Simple ZFS Backup to S3
http://jmlittle.blogspot.com/2008/08/amanda-simple-zfs-backup-or-s3.html

Zmanda: Cloud-Backup
http://www.zmanda.com/blogs/?p=129

ZFS-Backup to S3
http://kenai.com/projects/zfs-backup-to-s3/pages/Home

Automatic snapshots into The Cloud


http://blogs.sun.com/timf/en_IE/entry/automatic_snapshots_into_the_cloud

www.as-systeme.de

Zum Schluss: Backup Zuhause


Automatisches Backup von ZFS initiieren, wenn eine bestimmte USB-Platte angeschlossen wird. ZFS Automatic Snapshot Service 0.9 ZFS Automatic Backup Service 0.2 Tim Fosters Blog:
http://blogs.sun.com/timf/entry/zfs_automatic_for_the_people
www.as-systeme.de

Anekdote: Erdlsuchschiff
Pro unterseeische seismische Sprengung erhalten wir zig Terabyte an Daten, durch die wir Rckschlsse auf Erdlvorkommen ziehen. Wie sichern sie diese Daten? Es kommt uns billiger, die Sprengungen zu wiederholen.
www.as-systeme.de

Das könnte Ihnen auch gefallen