Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
tux:zfs_raid-z [2012/10/18 16:40] wikisysop |
tux:zfs_raid-z [2012/10/18 17:21] (aktuell) wikisysop [»RAID-Z Pools« anlegen] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
[[:tux|{{ :linux.png?40|}}]] | [[:tux|{{ :linux.png?40|}}]] | ||
=====ZFS RAID-Z Pool erstellen und verwalten===== | =====ZFS RAID-Z Pool erstellen und verwalten===== | ||
- | ZFS >><fc #008000>RAID-Z</fc><< Pools sind neben den [[:tux:zfs_mirror|»ZFS Mirror Pools«]] eine weitere Möglichkeit die Datenintegrität und Verfügbarkeit auch beim Ausfall einer oder sogar mehrerer Platten zu gewährleisten. Das Prinzip ist das gleiche wie bei konventionellen RAID-Systemen((http://de.wikipedia.org/wiki/RAID)), hier wird zu den Daten eine Parität ermittelt und sowohl die Daten, wie auch die Parität werden so auf den Platten verteilt, dass beim Fehlen der Informationen auf einer Platte (RAID-5) oder mehreren Platten ( ≥ RAID-6) aus den verbliebenen Informationen die fehlende Information restauriert werden kann. | + | ZFS >><fc #008000>RAID-Z</fc><< Pools sind neben den __[[:tux:zfs_mirror|»ZFS Mirror Pools«]]__ eine weitere Möglichkeit die Datenintegrität und Verfügbarkeit auch beim Ausfall einer oder sogar mehrerer Platten zu gewährleisten. Das Prinzip ist das gleiche wie bei konventionellen RAID-Systemen((http://de.wikipedia.org/wiki/RAID)), hier wird zu den Daten eine Parität ermittelt und sowohl die Daten, wie auch die Parität werden so auf den Platten verteilt, dass beim Fehlen der Informationen auf einer Platte (RAID-5) oder mehreren Platten ( ≥ RAID-6) aus den verbliebenen Informationen die fehlende Information restauriert werden kann. |
====Grundsätzliches==== | ====Grundsätzliches==== | ||
Vereinfacht, kann man sich das Paritätsschema folgendermaßen zB anhand einer >>ungeraden Kreuzparität<< vorstellen: | Vereinfacht, kann man sich das Paritätsschema folgendermaßen zB anhand einer >>ungeraden Kreuzparität<< vorstellen: | ||
Zeile 24: | Zeile 24: | ||
Legen wir also ein RAID-Z1 Pool >>tank<< mit drei Festplatten an: | Legen wir also ein RAID-Z1 Pool >>tank<< mit drei Festplatten an: | ||
- | <xterm># zpool create -f tank raidz1 /dev/sdb /dev/sdc /dev/sdd</xterm> | + | <xterm># <fc #008000>zpool create -f tank raidz1 /dev/sdb /dev/sdc /dev/sdd</fc></xterm> |
+ | |||
+ | <xterm># <fc #008000>zfs list</fc> | ||
+ | NAME USED AVAIL REFER MOUNTPOINT | ||
+ | tank 115K 1,94G 38,6K /tank</xterm> | ||
+ | |||
+ | Wir sehen in der Ausgabe des >><fc #008000>zfs list</fc><< Kommandos zB die totale Kapazität des RAID-Z Pools >><fc #008000>tank</fc><<, welche um die Größe einer Platte dezimiert wurde. Der Verband besteht aus drei 1GiB Platten und hat eine Kapazität von knappe 2GiB. __Die Gesamtkapazität eines RAID-Z1 Pools wird immer um die Kapazität einer Festplatte reduziert (single-parity)__. | ||
+ | |||
+ | Bei einem >><fc #008000>double-parity</fc><< basierten RAID-Z Pools, fehlen bei der Gesamtkapazität dann die Summe der Kapazitäten von zwei Platten, bei einer >>triple-parity<< dann analog dazu drei Platten: | ||
+ | |||
+ | * **>>double-parity<<:**\\ <xterm># <fc #008000>zpool create -f tank raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde</fc></xterm> <xterm># <fc #008000>zfs list</fc> | ||
+ | NAME USED AVAIL REFER MOUNTPOINT | ||
+ | tank 111K 1,93G 43,3K /tank</xterm> | ||
+ | * **>>triple-parity<<:**\\ <xterm># <fc #008000>zpool create -f tank raidz3 /dev/sdb /dev/sdc /dev/sdd /dev/sde</fc></xterm> <xterm># <fc #008000>zfs list</fc> | ||
+ | NAME USED AVAIL REFER MOUNTPOINT | ||
+ | tank 76,5K 976M 30K /tank</xterm> | ||
+ | ====»RAID-Z Pools« erweitern==== | ||
+ | Einem RAID-Z Pool können ebenso einfach weitere Platten während der Laufzeit hinzugefügt werden, wie in den anderen ZFS-Konzepten >>Simple-Pool<< und >>Mirror-Pool<<: | ||
+ | |||
+ | <xterm># <fc #008000>zpool status tank</fc> | ||
+ | pool: tank | ||
+ | state: ONLINE | ||
+ | scan: none requested | ||
+ | config: | ||
+ | |||
+ | NAME STATE READ WRITE CKSUM | ||
+ | tank ONLINE 0 0 0 | ||
+ | raidz1-0 ONLINE 0 0 0 | ||
+ | sdb ONLINE 0 0 0 | ||
+ | sdc ONLINE 0 0 0 | ||
+ | sdd ONLINE 0 0 0 | ||
+ | |||
+ | errors: No known data errors</xterm><xterm># <fc #008000>zpool add -f tank raidz1 /dev/sde /dev/sdf</fc></xterm><xterm># <fc #008000>zpool status tank</fc> | ||
+ | pool: tank | ||
+ | state: ONLINE | ||
+ | scan: none requested | ||
+ | config: | ||
+ | |||
+ | NAME STATE READ WRITE CKSUM | ||
+ | tank ONLINE 0 0 0 | ||
+ | raidz1-0 ONLINE 0 0 0 | ||
+ | sdb ONLINE 0 0 0 | ||
+ | sdc ONLINE 0 0 0 | ||
+ | sdd ONLINE 0 0 0 | ||
+ | raidz1-1 ONLINE 0 0 0 | ||
+ | sde ONLINE 0 0 0 | ||
+ | sdf ONLINE 0 0 0 | ||
+ | |||
+ | errors: No known data errors</xterm> | ||
+ |