ZFS
Zu ZFS kann man extrem viel schreiben, und es wurde auch schon extrem viel geschrieben. :-) Ich beschraenke mir vorerst auf die praktische Anwendung.
ZFS ist mittlerweile auf einigen Betriebssystemen verfügbar. Das feature set unterscheidet sich allerdings z.T. maßgeblich.
Für konkrete Anwendungen bitte immer die man-Pages des Betriebssystems konsultieren, z.B. für FreeBSD: zfs(8) und zpool(8)
ZFS im Einsatz[Bearbeiten]
ZFS befindet sich konstant in der Entwicklung. Es ist noch nicht 100%ig feature complete.
Alle dokumentierte Features sind allerdings in aktuellen Releases von Solaris oder OpenSolaris enthalten.
zfs-Kommando[Bearbeiten]
Eine Uebersicht ueber alle ZFS-Datasets innerhalb eines ZPools[Bearbeiten]
$ zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 14.9G 58.0G 77K /rpool rpool/ROOT 8.68G 58.0G 18K legacy rpool/ROOT/opensolaris 66.7M 58.0G 2.26G / rpool/ROOT/opensolaris-1 19.4M 58.0G 2.77G / rpool/ROOT/opensolaris-2 8.59G 58.0G 6.46G / rpool/ROOT/opensolaris-working 77K 58.0G 6.46G / rpool/dump 1.50G 58.0G 1.50G - rpool/export 3.04G 58.0G 21K /export rpool/export/home 3.04G 58.0G 22K /export/home rpool/export/home/public 96K 58.0G 26K /export/home/public rpool/export/home/shl 3.04G 58.0G 90.5M /export/home/shl rpool/export/home/shl/Documents 209K 58.0G 24K /export/home/shl/Documents rpool/swap 1.50G 59.5G 16K - rpool/zones 151M 58.0G 22K /zones rpool/zones/template 150M 58.0G 22K /zones/template rpool/zones/template/ROOT 150M 58.0G 19K legacy rpool/zones/template/ROOT/zbe 150M 58.0G 149M legacy
Erstellen eines neuen Datasets[Bearbeiten]
$ pfexec zfs create rpool/example $ pfexec zfs create -o compression=true rpool/compressed-example $ pfexec zfs create -o compression=true mountpoint=/tmp/examplemount rpool/mount-example
Beim Erstellen eines Datasets muss nichts in die /etc/fstab eingetragen werden. Alle Einstellungen handelt ZFS automagisch.
Erstellung eines Snapshots[Bearbeiten]
$ pfexec zfs snapshot rpool/example@`date` $ pfexec zfs snapshot rpool/example@work-in-progress
Siehe auch: Time Slider
Loeschen eines Datasets[Bearbeiten]
$ pfexec zfs destroy rpool/example
zpool-Kommando[Bearbeiten]
Status eines Pools[Bearbeiten]
$ zpool status pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c4t0d0s0 ONLINE 0 0 0 errors: No known data errors
Export (= Unmount) eines Pools[Bearbeiten]
$ pfexec zpool export datapool
Import (= Mount) eines Pools[Bearbeiten]
$ pfexec zpool import datapool
Ein ZPool kann somit von einer Maschine zu einer anderen Uebertragen oder Verschoben werden. Einstellungen wie Mountpoints muessen nicht angepasst weden. Der ZPool datapool wird auf jeder Maschine - sofern nicht anders konfiguriert - als /datapool gemountet.
Erstellung eines ZPools mit 4 Platten (Raid 10)[Bearbeiten]
$ pfexec zpool create examplepool mirror c1d0 c2d0 mirror c3d0 c4d0
Erstellung eines RAID-Z Verbunds[Bearbeiten]
$ pfexec zpool create raidexample raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0
ZFS Properties[Bearbeiten]
$ zfs get all rpool NAME PROPERTY VALUE SOURCE rpool type filesystem - rpool creation Sat Mar 21 13:13 2009 - rpool used 14.9G - rpool available 58.0G - rpool referenced 77K - rpool compressratio 1.12x - rpool mounted yes - rpool quota none default rpool reservation none default rpool recordsize 128K default rpool mountpoint /rpool default rpool sharenfs off default rpool checksum on default rpool compression off default rpool atime on default rpool devices on default rpool exec on default rpool setuid on default rpool readonly off default rpool zoned off default rpool snapdir hidden default rpool aclmode groupmask default rpool aclinherit restricted default rpool canmount on default rpool shareiscsi off default rpool xattr on default rpool copies 1 default rpool version 3 - rpool utf8only off - rpool normalization none - rpool casesensitivity sensitive - rpool vscan off default rpool nbmand off default rpool sharesmb off default rpool refquota none default rpool refreservation none default rpool primarycache all default rpool secondarycache all default rpool usedbysnapshots 264K - rpool usedbydataset 77K - rpool usedbychildren 14.9G - rpool usedbyrefreservation 0 - rpool org.opensolaris.caiman:install ready local rpool com.sun:auto-snapshot true local
Diese Liste stammt aus einer OpenSolaris 2008/11 Installation auf Stand snv109. Properties vererben sich innerhalb der Hierarchie!
Weblinks[Bearbeiten]
- http://blogs.sun.com/constantin/entry/think_twice_before_deleting_stuff
- http://www.thezonemanager.com/2009/03/filesystem-cache-optimization.html
- http://blogs.sun.com/dillon/entry/netapp_draft
- http://number9.hellooperator.net/articles/2007/10/11/fast-zone-cloning-on-solaris-10
- http://www.red91.com/2008/01/21/using-zfs-with-leopard
- http://zfs.macosforge.org/trac/wiki/downloads
- http://blogs.sun.com/acworkma/entry/adventures_in_opensolaris_journey_to1
- http://blogs.sun.com/constantin/entry/zfs_and_mac_os_x
- http://blogs.interdose.com/sebastian/tags/zfs/
- http://www.zpool.org
- http://wiki.bsdforen.de/howto/zfs
siehe auch[Bearbeiten]
- ZFS-Workshop hier im Wiki