diff --git a/de_DE.ISO8859-1/books/handbook/Makefile b/de_DE.ISO8859-1/books/handbook/Makefile
index ece20f3a6d..0c4d9a0d49 100644
--- a/de_DE.ISO8859-1/books/handbook/Makefile
+++ b/de_DE.ISO8859-1/books/handbook/Makefile
@@ -243,6 +243,7 @@ SRCS+= dtrace/chapter.xml
 SRCS+= eresources/chapter.xml
 SRCS+= filesystems/chapter.xml
 SRCS+= firewalls/chapter.xml
+SRCS+= zfs/chapter.xml
 SRCS+= geom/chapter.xml
 SRCS+= install/chapter.xml
 SRCS+= introduction/chapter.xml
diff --git a/de_DE.ISO8859-1/books/handbook/book.xml b/de_DE.ISO8859-1/books/handbook/book.xml
index b588310474..fea1fd84cc 100644
--- a/de_DE.ISO8859-1/books/handbook/book.xml
+++ b/de_DE.ISO8859-1/books/handbook/book.xml
@@ -252,6 +252,7 @@
     &chap.audit;
     &chap.disks;
     &chap.geom;
+    &chap.zfs;
     &chap.filesystems;
     &chap.vinum;
     &chap.virtualization;
diff --git a/de_DE.ISO8859-1/books/handbook/chapters.ent b/de_DE.ISO8859-1/books/handbook/chapters.ent
index 250068f557..7d6855b14e 100644
--- a/de_DE.ISO8859-1/books/handbook/chapters.ent
+++ b/de_DE.ISO8859-1/books/handbook/chapters.ent
@@ -43,6 +43,7 @@
   <!ENTITY chap.audit		SYSTEM "audit/chapter.xml">
   <!ENTITY chap.disks		SYSTEM "disks/chapter.xml">
   <!ENTITY chap.geom		SYSTEM "geom/chapter.xml">
+  <!ENTITY chap.zfs		SYSTEM "zfs/chapter.xml">
   <!ENTITY chap.filesystems	SYSTEM "filesystems/chapter.xml">
   <!ENTITY chap.vinum		SYSTEM "vinum/chapter.xml">
   <!ENTITY chap.virtualization	SYSTEM "virtualization/chapter.xml">
diff --git a/de_DE.ISO8859-1/books/handbook/zfs/chapter.xml b/de_DE.ISO8859-1/books/handbook/zfs/chapter.xml
new file mode 100644
index 0000000000..ae54a75bd9
--- /dev/null
+++ b/de_DE.ISO8859-1/books/handbook/zfs/chapter.xml
@@ -0,0 +1,4769 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+     The FreeBSD Documentation Project
+     The FreeBSD German Documentation Project
+
+     $FreeBSD$
+     basiert auf: r45602
+-->
+
+<chapter xmlns="http://docbook.org/ns/docbook"
+  xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
+  xml:id="zfs">
+
+  <info>
+    <title>Das Z-Dateisystem (<acronym>ZFS</acronym>)</title>
+
+    <authorgroup>
+      <author>
+	<personname>
+	  <firstname>Tom</firstname>
+	  <surname>Rhodes</surname>
+	</personname>
+	<contrib>Geschrieben von </contrib>
+      </author>
+      <author>
+	<personname>
+	  <firstname>Allan</firstname>
+	  <surname>Jude</surname>
+	</personname>
+	<contrib>Geschrieben von </contrib>
+      </author>
+      <author>
+	<personname>
+	  <firstname>Benedict</firstname>
+	  <surname>Reuschling</surname>
+	</personname>
+	<contrib>Geschrieben von </contrib>
+      </author>
+      <author>
+	<personname>
+	  <firstname>Warren</firstname>
+	  <surname>Block</surname>
+	</personname>
+	<contrib>Geschrieben von </contrib>
+      </author>
+    </authorgroup>
+    <authorgroup>
+      <author>
+	<personname>
+	  <firstname>Benedict</firstname>
+	  <surname>Reuschling</surname>
+	</personname>
+	<contrib>�bersetzt von </contrib>
+      </author>
+    </authorgroup>
+  </info>
+
+  <para>Das <emphasis>Z-Dateisystem</emphasis>, oder kurz
+    <acronym>ZFS</acronym>, ist ein fortgeschrittenes Dateisystem, das
+    entwickelt wurde, um viele der grossen Probleme in vorherigen
+    Entwicklungen zu �berwinden.</para>
+
+  <para>Urspr�nglich von &sun; entworfen, wird die weitere Entwicklung
+    von <acronym>ZFS</acronym> heutzutage als Open Source vom <link
+    xlink:href="http://open-zfs.org">OpenZFS Projekt</link>
+    vorangetrieben.</para>
+
+  <para><acronym>ZFS</acronym> hat drei grosse Entwurfsziele:</para>
+
+  <itemizedlist>
+    <listitem>
+      <para>Datenintegrit�t: Alle Daten enthalten eine Pr�fsumme
+	(<link linkend="zfs-term-checksum">checksum</link>) der Daten.
+	Wenn Daten geschrieben werden, wird die Pr�fsumme berechnet
+	und zusammen mit den Daten gespeichert.  Wenn diese Daten
+	sp�ter wieder eingelesen werden, wird diese Pr�fsumme erneut
+	berechnet.  Falls die Pr�fsummen nicht �bereinstimmen, wurde
+	ein Datenfehler festgestellt.  <acronym>ZFS</acronym> wird
+	versuchen, diesen Fehler automatisch zu korrigieren, falls
+	genug Datenredundanz vorhanden ist.</para>
+    </listitem>
+
+    <listitem>
+      <para>Gepoolter Speicher: physikalische Speichermedien werden zu
+	einem Pool zusammengefasst und der Speicherplatz wird von
+	diesem gemeinsam genutzten Pool allokiert.  Der Speicherplatz
+	steht allen Dateisystemen zur Verf�gung und kann durch das
+	Hinzuf�gen von neuen Speichermedien vergr�ssert werden.</para>
+    </listitem>
+
+    <listitem>
+      <para>Geschwindigkeit: mehrere Zwischenspeichermechanismen
+	sorgen f�r erh�hte Geschwindigkeit.  Der <link
+	linkend="zfs-term-arc">ARC</link> ist ein weiterentwickelter,
+	hauptspeicherbasierter Zwischenspeicher f�r Leseanfragen.  Auf
+	einer zweiten Stufe kann ein plattenbasierter <link
+	linkend="zfs-term-l2arc">L2ARC</link>-Lesezwischenspeicher
+	hinzugef�gt werden. Zus�tzlich ist auch noch ein
+	plattenbasierter, synchroner Schreibzwischenspeicher
+	verf�gbar, der sog. <link
+	linkend="zfs-term-zil">ZIL</link>.</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>Eine vollst�ndige Liste aller Eigenschaften und der
+    dazugeh�rigen Terminologie ist in <xref linkend="zfs-term"/> zu
+    sehen.</para>
+
+  <sect1 xml:id="zfs-differences">
+    <title>Was <acronym>ZFS</acronym> anders macht</title>
+
+    <para><acronym>ZFS</acronym> ist signifikant unterschiedlich zu
+      allen bisherigen Dateisystemen, weil es mehr als nur ein
+      Dateisystem ist.  Durch die Kombination von traditionell
+      getrennten Rollen von Volumenmanager und Dateisystem ist
+      <acronym>ZFS</acronym> mit einzigartigen Vorteilen ausgestattet.
+      Das Dateisystem besitzt jetzt Kentniss von der zugrundeliegenden
+      Struktur der Speichermedien.  Traditionelle Dateisysteme konnten
+      nur auf einer einzigen Platte gleichzeitig angelegt werden.
+      Falls es zwei Festplatten gab, mussten auch zwei getrennte
+      Dateisysteme erstellt werden.  In einer traditionellen
+      Hardware-<acronym>RAID</acronym>-Konfiguration wurde dieses
+      Problem umgangen, indem dem Betriebssystem nur eine einzige
+      logische Platte angezeigt wurde, die sich aus dem Speicherplatz
+      von der Anzahl an physischen Platten zusammensetzte, auf dem
+      dann das Betriebssystem ein Dateisystem erstellte.  Sogar im
+      Fall von Software-<acronym>RAID</acronym>-L�sungen, wie die, die
+      von <acronym>GEOM</acronym> bereitgestellt werden, war das
+      <acronym>UFS</acronym>-Dateisystem der Ansicht, dass es auf nur
+      einem einzigen Ger�t angelegt wurde.  <acronym>ZFS</acronym>'
+      Kombination eines Volumenmanagers und eines Dateisystems l�st
+      dies und erlaubt das Erstellen von vielen Dateisystemen, die
+      sich alle den darunterliegenden Pool aus verf�gbarem Speicher
+      teilen.  Einer der gr�ssten Vorteile von <acronym>ZFS</acronym>'
+      Kentniss des physikalischen Layouts der Platten ist, dass
+      existierende Dateisysteme automatisch wachsen k�nnen, wenn
+      zus�tzliche Platten zum Pool hinzugef�gt werden.  Dieser neue
+      Speicherplatz wird dann allen Dateisystemen zur Verf�gung
+      gestellt.  <acronym>ZFS</acronym> besitzt ebenfalls eine Menge
+      an unterschiedlichen Eigenschaften, die f�r jedes Dateisystem
+      angepasst werden k�nnnen, was viele Vorteile bringt, wenn man
+      unterschiedliche Dateisysteme und Datasets anlegt, anstatt ein
+      einziges, monolitisches Dateisystem zu erzeugen.</para>
+  </sect1>
+
+  <sect1 xml:id="zfs-quickstart">
+    <title>Schnellstartanleitung</title>
+
+    <para>Es existiert ein Startmechanismus, der es &os; erlaubt,
+      <acronym>ZFS</acronym>-Pools w�hrend der Systeminitialisierung
+      einzubinden.  Um diesen zu aktivieren, f�gen Sie diese Zeile
+      in <filename>/etc/rc.conf</filename> ein:</para>
+
+    <programlisting>zfs_enable="YES"</programlisting>
+
+    <para>Starten Sie dann den Dienst:</para>
+
+    <screen>&prompt.root; <userinput>service zfs start</userinput></screen>
+
+    <para>Die Beispiele in diesem Abschnitt gehen von drei
+      <acronym>SCSI</acronym>-Platten mit den Ger�tenamen
+      <filename><replaceable>da0</replaceable></filename>,
+      <filename><replaceable>da1</replaceable></filename> und
+      <filename><replaceable>da2</replaceable></filename> aus.  Nutzer
+      von <acronym>SATA</acronym>-Hardware sollten stattdessen die
+      Bezeichnung <filename><replaceable>ada</replaceable></filename>
+      als Ger�tenamen verwenden.</para>
+
+    <sect2 xml:id="zfs-quickstart-single-disk-pool">
+      <title>Pools mit einer Platte</title>
+
+      <para>Um einen einfachen, nicht-redundanten Pool mit einem
+      einzigen Ger�t anzulegen, geben Sie folgendes ein:</para>
+
+      <screen>&prompt.root; <userinput>zpool create <replaceable>example</replaceable> <replaceable>/dev/da0</replaceable></userinput></screen>
+
+      <para>Um den neuen Pool anzuzeigen, pr�fen Sie die Ausgabe von
+	<command>df</command>:</para>
+
+      <screen>&prompt.root; <userinput>df</userinput>
+Filesystem  1K-blocks    Used    Avail Capacity  Mounted on
+/dev/ad0s1a   2026030  235230  1628718    13%    /
+devfs               1       1        0   100%    /dev
+/dev/ad0s1d  54098308 1032846 48737598     2%    /usr
+example      17547136       0 17547136     0%    /example</screen>
+
+      <para>Diese Ausgabe zeigt, dass der
+	<literal>example</literal>-Pool erstellt und eingeh�ngt wurde.
+	Er ist nun als Dateisystem verf�gbar.  Dateien k�nnen darauf
+	angelegt werden und Anwender k�nnen sich den Inhalt
+	ansehen:</para>
+
+      <screen>&prompt.root; <userinput>cd /example</userinput>
+&prompt.root; <userinput>ls</userinput>
+&prompt.root; <userinput>touch testfile</userinput>
+&prompt.root; <userinput>ls -al</userinput>
+total 4
+drwxr-xr-x   2 root  wheel    3 Aug 29 23:15 .
+drwxr-xr-x  21 root  wheel  512 Aug 29 23:12 ..
+-rw-r--r--   1 root  wheel    0 Aug 29 23:15 testfile</screen>
+
+      <para>Allerdings nutzt dieser Pool noch keine der Vorteile von
+	<acronym>ZFS</acronym>.  Um ein Dataset auf diesem Pool mit
+	aktivierter Komprimierung zu erzeugen, geben Sie ein:</para>
+
+      <screen>&prompt.root; <userinput>zfs create example/compressed</userinput>
+&prompt.root; <userinput>zfs set compression=gzip example/compressed</userinput></screen>
+
+      <para>Das <literal>example/compressed</literal>-Dataset ist nun
+	ein komprimiertes <acronym>ZFS</acronym>-Dateisystem.
+	Versuchen Sie, ein paar grosse Dateien auf
+	<filename>/example/compressed</filename> zu kopieren.</para>
+
+      <para>Deaktivieren l�sst sich die Komprimierung durch:</para>
+
+      <screen>&prompt.root; <userinput>zfs set compression=off example/compressed</userinput></screen>
+
+      <para>Um ein Dateisystem abzuh�ngen, verwenden Sie
+	<command>zfs umount</command> und �berpr�fen Sie dies
+	anschliessend mit <command>df</command>:</para>
+
+      <screen>&prompt.root; <userinput>zfs umount example/compressed</userinput>
+&prompt.root; <userinput>df</userinput>
+Filesystem  1K-blocks    Used    Avail Capacity  Mounted on
+/dev/ad0s1a   2026030  235232  1628716    13%    /
+devfs               1       1        0   100%    /dev
+/dev/ad0s1d  54098308 1032864 48737580     2%    /usr
+example      17547008       0 17547008     0%    /example</screen>
+
+      <para>Um das Dateisystem wieder einzubinden und erneut verf�gbar
+	zu machen, verwenden Sie <command>zfs mount</command> und
+	pr�fen Sie erneut mit <command>df</command>:</para>
+
+      <screen>&prompt.root; <userinput>zfs mount example/compressed</userinput>
+&prompt.root; <userinput>df</userinput>
+Filesystem         1K-blocks    Used    Avail Capacity  Mounted on
+/dev/ad0s1a          2026030  235234  1628714    13%    /
+devfs                      1       1        0   100%    /dev
+/dev/ad0s1d         54098308 1032864 48737580     2%    /usr
+example             17547008       0 17547008     0%    /example
+example/compressed  17547008       0 17547008     0%    /example/compressed</screen>
+
+      <para>Den Pool und die Dateisysteme k�nnen Sie auch �ber die
+	Ausgabe von <command>mount</command> pr�fen:</para>
+
+      <screen>&prompt.root; <userinput>mount</userinput>
+/dev/ad0s1a on / (ufs, local)
+devfs on /dev (devfs, local)
+/dev/ad0s1d on /usr (ufs, local, soft-updates)
+example on /example (zfs, local)
+example/compressed on /example/compressed (zfs, local)</screen>
+
+      <para>Nach der Erstellung k�nnen <acronym>ZFS</acronym>-Datasets
+	wie jedes undere Dateisystem verwendet werden.  Jedoch sind
+	jede Menge undere Besonderheiten verf�gbar, die individuell
+	auf Dataset-Basis eingestellt sein k�nnen.  Im Beispiel unten
+	wird ein neues Dateisystem namens <literal>data</literal>
+	angelegt.  Wichtige Dateien werden dort abgespeichert, deshalb
+	wird es so konfiguriert, dass zwei Kopien jedes Datenblocks
+	vorgehalten werden.</para>
+
+      <screen>&prompt.root; <userinput>zfs create example/data</userinput>
+&prompt.root; <userinput>zfs set copies=2 example/data</userinput></screen>
+
+      <para>Es ist jetzt m�glich, den Speicherplatzverbrauch der Daten
+	durch die Eingabe von <command>df</command> zu sehen:</para>
+
+      <screen>&prompt.root; <userinput>df</userinput>
+Filesystem         1K-blocks    Used    Avail Capacity  Mounted on
+/dev/ad0s1a          2026030  235234  1628714    13%    /
+devfs                      1       1        0   100%    /dev
+/dev/ad0s1d         54098308 1032864 48737580     2%    /usr
+example             17547008       0 17547008     0%    /example
+example/compressed  17547008       0 17547008     0%    /example/compressed
+example/data        17547008       0 17547008     0%    /example/data</screen>
+
+      <para>Sie haben vermutlich bemerkt, dass jedes Dateisystem auf
+	dem Pool die gleiche Menge an verf�gbarem Speicherplatz
+	besitzt.  Das ist der Grund daf�r, dass in diesen Beispielen
+	<command>df</command> verwendet wird, um zu zeigen, dass die
+	Dateisysteme nur die Menge an Speicher verbrauchen, den sie
+	ben�tigen und alle den gleichen Pool verwenden.
+	<acronym>ZFS</acronym> eliminiert Konzepte wie Volumen und
+	Partitionen und erlaubt es mehreren Dateisystemen den gleichen
+	Pool zu belegen.</para>
+
+      <para>Um das Dateisystem zu zerst�ren und anschliessend den
+	Pool, da dieser nicht mehr ben�tigt wird, geben Sie
+	ein:</para>
+
+      <screen>&prompt.root; <userinput>zfs destroy example/compressed</userinput>
+&prompt.root; <userinput>zfs destroy example/data</userinput>
+&prompt.root; <userinput>zpool destroy example</userinput></screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-quickstart-raid-z">
+      <title>RAID-Z</title>
+
+      <para>Platten fallen aus.  Eine Methode, um Datenverlust durch
+	Festplattenausfall zu vermeiden, ist die Verwendung von
+	<acronym>RAID</acronym>.  <acronym>ZFS</acronym> unterst�tzt
+	dies in seiner Poolgestaltung.  Pools mit
+	<acronym>RAID-Z</acronym> ben�tigen drei oder mehr Platten,
+	bieten aber auch mehr nutzbaren Speicher als gespiegelte
+	Pools.</para>
+
+      <para>Dieses Beispiel erstellt einen
+	<acronym>RAID-Z</acronym>-Pool, indem es die Platten angibt,
+	die dem Pool hinzugef�gt werden sollen:</para>
+
+      <screen>&prompt.root; <userinput>zpool create storage raidz da0 da1 da2</userinput></screen>
+
+      <note>
+	<para>&sun; empfiehlt, dass die Anzahl der Ger�te in einer
+	  <acronym>RAID</acronym>-Z Konfiguration zwischen drei und
+	  neun betr�gt.  F�r Umgebungen, die einen einzelnen Pool
+	  en�tigen, der aus 10 oder mehr Platten besteht, sollten Sie
+	  in Erw�gung ziehen, diesen in kleinere
+	  <acronym>RAID-Z</acronym>-Gruppen aufzuteilen.  Falls nur
+	  zwei Platten verf�gbar sind und Redundanz ben�tigt wird,
+	  ziehen Sie die Verwendung eines
+	  <acronym>ZFS</acronym>-Spiegels (mirror) in Betracht.  Lesen
+	  Sie dazu &man.zpool.8;, um weitere Details zu
+	  erhalten.</para>
+      </note>
+
+      <para>Das vorherige Beispiel erstellte einen ZPool namens
+	<literal>storage</literal>.  Dieses Beispiel erzeugt ein neues
+	Dateisystem, genannt <literal>home</literal>, in diesem
+	Pool:</para>
+
+      <screen>&prompt.root; <userinput>zfs create storage/home</userinput></screen>
+
+      <para>Komprimierung und das Vorhalten von mehreren Kopien von
+	Dateien und Verzeichnissen kann aktiviert werden:</para>
+
+      <screen>&prompt.root; <userinput>zfs set copies=2 storage/home</userinput>
+&prompt.root; <userinput>zfs set compression=gzip storage/home</userinput></screen>
+
+      <para>Um dies als das neue Heimatverzeichnis f�r Anwender zu
+	setzen, kopieren Sie die Benutzerdaten in dieses Verzeichnis
+	und erstellen passende symbolische Verkn�pfungen:</para>
+
+      <screen>&prompt.root; <userinput>cp -rp /home/* /storage/home</userinput>
+&prompt.root; <userinput>rm -rf /home /usr/home</userinput>
+&prompt.root; <userinput>ln -s /storage/home /home</userinput>
+&prompt.root; <userinput>ln -s /storage/home /usr/home</userinput></screen>
+
+      <para>Daten von Anwendern werden nun auf dem frisch erstellten
+	<filename>/storage/home</filename> abgelegt.  �berpr�fen Sie
+	dies durch das Anlegen eines neuen Benutzers und das
+	anschliessende Anmelden als dieser Benutzer.</para>
+
+      <para>Versuchen Sie, einen Dateisystemschnappschuss anzulegen,
+	den Sie sp�ter wieder zur�ckrollen k�nnen:</para>
+
+      <screen>&prompt.root; <userinput>zfs snapshot storage/home@08-30-08</userinput></screen>
+
+      <para>Schnappsch�sse k�nnen nur auf einem Dateisystem angelegt
+	werden, nicht auf einem einzelnen Verzeichnis oder einer
+	Datei.</para>
+
+      <para>Das Zeichen <literal>@</literal> ist der Trenner zwischen
+	dem Dateisystem- oder dem Volumennamen.  Wenn ein wichtiges
+	Verzeichnis aus Versehen gel�scht wurde, kann das Dateisystem
+	gesichert und dann zu einem fr�heren Schnappschuss
+	zur�ckgerollt werden, in welchem das Verzeichnis noch
+	existiert:</para>
+
+      <screen>&prompt.root; <userinput>zfs rollback storage/home@08-30-08</userinput></screen>
+
+      <para>Um all verf�gbaren Schnappsch�sse aufzulisten, geben Sie
+	<command>ls</command> im Verzeichnis
+	<filename>.zfs/snapshot</filename> dieses Dateisystems ein.
+	Beispielsweise l�sst sich der zuvor angelegte Schnappschuss
+	wie folgt anzeigen:</para>
+
+      <screen>&prompt.root; <userinput>ls /storage/home/.zfs/snapshot</userinput></screen>
+
+      <para>Es ist m�glich, ein Skript zu schreiben, um regelm�ssig
+	Schnappsch�sse von Benutzerdaten anzufertigen.  Allerdings
+	verbrauchen Schnappsch�sse �ber lange Zeit eine grosse Menge
+	an Speicherplatz.  Der zuvor angelegte Schnappschuss kann
+	durch folgendes Kommundo wieder entfernt werden:</para>
+
+      <screen>&prompt.root; <userinput>zfs destroy storage/home@08-30-08</userinput></screen>
+
+      <para>Nach erfolgreichen Tests kann
+	<filename>/storage/home</filename> zum echten
+	<filename>/home</filename>-Verzeichnis werden, mittels:</para>
+
+      <screen>&prompt.root; <userinput>zfs set mountpoint=/home storage/home</userinput></screen>
+
+      <para>Pr�fen Sie mit <command>df</command> und
+	<command>mount</command>, um zu best�tigen, dass das System
+	das Dateisystem nun als <filename>/home</filename>
+	verwendet:</para>
+
+      <screen>&prompt.root; <userinput>mount</userinput>
+/dev/ad0s1a on / (ufs, local)
+devfs on /dev (devfs, local)
+/dev/ad0s1d on /usr (ufs, local, soft-updates)
+storage on /storage (zfs, local)
+storage/home on /home (zfs, local)
+&prompt.root; <userinput>df</userinput>
+Filesystem   1K-blocks    Used    Avail Capacity  Mounted on
+/dev/ad0s1a    2026030  235240  1628708    13%    /
+devfs                1       1        0   100%    /dev
+/dev/ad0s1d   54098308 1032826 48737618     2%    /usr
+storage       26320512       0 26320512     0%    /storage
+storage/home  26320512       0 26320512     0%    /home</screen>
+
+      <para>Damit ist die <acronym>RAID-Z</acronym> Konfiguration
+	abgeschlossen.  T�gliche Informationen �ber den Status der
+	erstellten Dateisysteme k�nnen als Teil des n�chtlichen
+	&man.periodic.8;-Berichts generiert werden.  F�gen Sie dazu
+	die folgende Zeile in die Datei
+	<filename>/etc/periodic.conf</filename> ein:</para>
+
+      <programlisting>daily_status_zfs_enable="YES"</programlisting>
+    </sect2>
+
+    <sect2 xml:id="zfs-quickstart-recovering-raid-z">
+      <title><acronym>RAID-Z</acronym> wiederherstellen</title>
+
+      <para>Jedes Software-<acronym>RAID</acronym> besitzt eine
+	Methode, um den Zustund (<literal>state</literal>) zu
+	�berpr�fen.  Der Status von <acronym>RAID-Z</acronym> Ger�ten
+	wird mit diesem Befehl angezeigt:</para>
+
+      <screen>&prompt.root; <userinput>zpool status -x</userinput></screen>
+
+      <para>Wenn alle Pools
+	<link linkend="zfs-term-online">Online</link> sind und alles
+	normal ist, zeigt die Meldung folgendes an:</para>
+
+      <screen>all pools are healthy</screen>
+
+      <para>Wenn es ein Problem gibt, wom�glich ist eine Platte
+	im Zustund <link linkend="zfs-term-offline">Offline</link>,
+	dann wird der Poolzustund �hnlich wie dieser aussehen:</para>
+
+      <screen>  pool: storage
+ state: DEGRADED
+status: One or more devices has been taken offline by the administrator.
+	Sufficient replicas exist for the pool to continue functioning in a
+	degraded state.
+action: Online the device using 'zpool online' or replace the device with
+	'zpool replace'.
+ scrub: none requested
+config:
+
+	NAME        STATE     READ WRITE CKSUM
+	storage     DEGRADED     0     0     0
+	  raidz1    DEGRADED     0     0     0
+	    da0     ONLINE       0     0     0
+	    da1     OFFLINE      0     0     0
+	    da2     ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>Dies zeigt an, dass das Ger�t zuvor vom Administrator mit
+	diesem Befehl abgeschaltet wurde:</para>
+
+      <screen>&prompt.root; <userinput>zpool offline storage da1</userinput></screen>
+
+      <para>Jetzt kann das System heruntergefahren werden, um
+	<filename>da1</filename> zu ersetzen.  Wenn das System wieder
+	eingeschaltet wird, kann die fehlerhafte Platte im Pool
+	ersetzt werden:</para>
+
+      <screen>&prompt.root; <userinput>zpool replace storage da1</userinput></screen>
+
+      <para>Von diesem Punkt an kann der Status erneut gepr�ft werden.
+	Dieses Mal ohne die Option <option>-x</option>, damit alle
+	Pools angezeigt werden:</para>
+
+      <screen>&prompt.root; <userinput>zpool status storage</userinput>
+ pool: storage
+ state: ONLINE
+ scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008
+config:
+
+	NAME        STATE     READ WRITE CKSUM
+	storage     ONLINE       0     0     0
+	  raidz1    ONLINE       0     0     0
+	    da0     ONLINE       0     0     0
+	    da1     ONLINE       0     0     0
+	    da2     ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>In diesem Beispiel ist alles normal.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-quickstart-data-verification">
+      <title>Daten verifizieren</title>
+
+      <para><acronym>ZFS</acronym> verwendet Pr�fsummen, um die
+	Integrit�t der gespeicherten Daten zu gew�hrleisten.  Dies
+	wird automatisch beim Erstellen von Dateisystemen
+	aktiviert.</para>
+
+      <warning>
+	<para>Pr�fsummen k�nnen deaktiviert werden, dies wird jedoch
+	  <emphasis>nicht</emphasis> empfohlen!  Pr�fsummen
+	  verbrauchen nur sehr wenig Speicherplatz und sichern die
+	  Integrit�t der Daten.  Viele Eigenschaften vom
+	  <acronym>ZFS</acronym>  werden nicht richtig funktionieren,
+	  wenn Pr�fsummen deaktiviert sind.  Es gibt keinen merklichen
+	  Geschwindigkeitsunterschied durch das Deaktivieren dieser
+	  Pr�fsummen.</para>
+      </warning>
+
+      <para>Pr�fsummenverifikation ist unter der Bezeichnung
+	<emphasis>scrubbing</emphasis> bekannt.  Verifizieren Sie die
+	Integrit�t der Daten des <literal>storage</literal>-Pools mit
+	diesem Befehl:</para>
+
+      <screen>&prompt.root; <userinput>zpool scrub storage</userinput></screen>
+
+      <para>Die Laufzeit einer �berpr�fung h�ngt ab von der Menge an
+	Daten, die gespeichert sind.  Gr�ssere Mengen an Daten
+	ben�tigen proportional mehr Zeit zum �berpr�fen.  Diese
+	�berpr�fungen sind sehr <acronym>I/O</acronym>-intensiv und
+	es kann auch nur eine �berpr�fung zur gleichen Zeit
+	durchgef�hrt werden.  Nachdem eine Pr�fung beendet ist, kann
+	der Status mit dem Unterkommundo <command>status</command>
+	angezeigt werden:</para>
+
+      <screen>&prompt.root; <userinput>zpool status storage</userinput>
+ pool: storage
+ state: ONLINE
+ scrub: scrub completed with 0 errors on Sat Jan 26 19:57:37 2013
+config:
+
+	NAME        STATE     READ WRITE CKSUM
+	storage     ONLINE       0     0     0
+	  raidz1    ONLINE       0     0     0
+	    da0     ONLINE       0     0     0
+	    da1     ONLINE       0     0     0
+	    da2     ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>Das Datum der letzten Pr�foperation wird angezeigt, um zu
+	verfolgen, wann die n�chste Pr�fung ben�tigt wird.
+	Routinem�ssige �berpr�fungen helfen dabei, Daten vor stiller
+	Korrumpierung zu sch�tzen und die Integrit�t des Pools sicher
+	zu stellen.</para>
+
+      <para>Lesen Sie &man.zfs.8; und &man.zpool.8;, um �ber
+	weitere <acronym>ZFS</acronym>-Optionen zu erfahren.</para>
+    </sect2>
+  </sect1>
+
+  <sect1 xml:id="zfs-zpool">
+    <title><command>zpool</command> Administration</title>
+
+    <para>Administration von <acronym>ZFS</acronym> ist unterteilt
+      zwischen zwei Hauptkommandos.  Das
+      <command>zpool</command>-Wekzeug steuert die Operationen des
+      Pools und k�mmert sich um das Hinzuf�gen, entfernen, ersetzen
+      und verwalten von Platten.  Mit dem <link
+      linkend="zfs-zfs"><command>zfs</command></link>-Befehl k�nnen
+      Datasets erstellt, zerst�rt und verwaltet werden, sowohl
+      <link linkend="zfs-term-filesystem">Dateisysteme</link> als
+      auch <link linkend="zfs-term-volume">Volumes</link>.</para>
+
+    <sect2 xml:id="zfs-zpool-create">
+      <title>Pools anlegen und zerst�ren</title>
+
+      <para>Einen <acronym>ZFS</acronym>-Pool
+	(<emphasis>zpool</emphasis>) anzulegen beinhaltet das Treffen
+	von einer Reihe von Entscheidungen, die relativ dauerhaft
+	sind, weil die Struktur des Pools nachdem er angelegt wurde,
+	nicht mehr ge�ndert werden kann.  Die wichtigste Entscheidung
+	ist, welche Arten von vdevs als physische Platten
+	zusammengefasst werden soll.  Sehen Sie sich dazu die Liste
+	von <link linkend="zfs-term-vdev">vdev-Arten</link> an, um
+	Details zu m�glichen Optionen zu bekommen.  Nachdem der Pool
+	angelegt wurde, erlauben die meisten vdev-Arten es nicht mehr,
+	weitere Ger�te zu diesem vdev hinzuzuf�gen.  Die Ausnahme sind
+	Spiegel, die das Hinzuf�gen von weiteren Platten zum vdev
+	gestatten, sowie stripes, die zu Spiegeln umgewandelt werden
+	k�nnen, indem man zus�tzliche Platten zum vdev anh�ngt.
+	Obwohl weitere vdevs eingef�gt werden k�nnen, um einen Pool zu
+	vergr�ssern, kann das Layout des Pools nach dem Anlegen nicht
+	mehr ver�ndert werden.  Stattdessen m�ssen die Daten
+	gesichert, der Pool zerst�rt und danach neu erstellt
+	werden.</para>
+
+      <para>Erstellen eines einfachen gespiegelten Pools:</para>
+
+      <screen>&prompt.root; <userinput>zpool create <replaceable>mypool</replaceable> mirror <replaceable>/dev/ada1</replaceable> <replaceable>/dev/ada2</replaceable></userinput>
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: none requested
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada1    ONLINE       0     0     0
+            ada2    ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>Mehrere vdevs k�nnen gleichzeitig angelegt werden.  Geben
+	Sie zus�tzliche Gruppen von Platten, getrennt durch das
+	vdev-Typ Schl�sselwort, in diesem Beispiel
+	<literal>mirror</literal>, an:</para>
+
+      <screen>&prompt.root; <userinput>zpool create <replaceable>mypool</replaceable> mirror <replaceable>/dev/ada1</replaceable> <replaceable>/dev/ada2</replaceable> mirror <replaceable>/dev/ada3</replaceable> <replaceable>/dev/ada4</replaceable></userinput>
+  pool: mypool
+ state: ONLINE
+  scan: none requested
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada1    ONLINE       0     0     0
+            ada2    ONLINE       0     0     0
+          mirror-1  ONLINE       0     0     0
+            ada3    ONLINE       0     0     0
+            ada4    ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>Pools lassen sich auch durch die Angabe von Partitionen
+	anstatt von ganzen Platten erzeugen.  Durch die Verwendung von
+	<acronym>ZFS</acronym> in einer separaten Partition ist es
+	m�glich, dass die gleiche Platte andere Partitionen f�r andere
+	Zwecke besitzen kann.  Dies ist besonders von Interesse, wenn
+	Partitionen mit Bootcode und Dateisysteme, die zum starten
+	ben�tigt werden, hinzugef�gt werden k�nnen.  Das erlaubt es,
+	von Platten zu booten, die auch Teil eines Pools sind.  Es
+	gibt keinen Geschwindigkeitsnachteil unter &os; wenn eine
+	Partition anstatt einer ganzen Platte verwendet wird.  Durch
+	den Einsatz von Partitionen kann der Administrator die Platten
+	<emphasis>unter provisionieren</emphasis>, indem weniger als
+	die volle Kapazit�t Verwendung findet.  Wenn in Zukunft ein
+	Ersatzfestplatte mit der gleichen Gr�sse als die
+	Originalplatte eine kleinere Kapazit�t aufweist, passt die
+	kleinere Partition immer noch passen und die Ersatzplatte
+	immer noch verwendet werden.</para>
+
+      <para>Erstellen eines <link
+	linkend="zfs-term-vdev-raidz">RAID-Z2</link>-Pools mit
+	Partitionen:</para>
+
+      <screen>&prompt.root; <userinput>zpool create <replaceable>mypool</replaceable> raidz2 <replaceable>/dev/ada0p3</replaceable> <replaceable>/dev/ada1p3</replaceable> <replaceable>/dev/ada2p3</replaceable> <replaceable>/dev/ada3p3</replaceable> <replaceable>/dev/ada4p3</replaceable> <replaceable>/dev/ada5p3</replaceable></userinput>
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: none requested
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          raidz2-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0
+            ada2p3  ONLINE       0     0     0
+            ada3p3  ONLINE       0     0     0
+            ada4p3  ONLINE       0     0     0
+            ada5p3  ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>Ein Pool, der nicht l�nger ben�tigt wird, kann zerst�rt
+	werden, so dass die Platten f�r einen anderen Einsatzzweck
+	Verwendung finden k�nnen.  Um einen Pool zu zerst�ren, m�ssen
+	zuerst alle Datasets in diesem Pool abgeh�ngt werden.  Wenn
+	die Datasets verwendet werden, wird das Abh�ngen fehlschlagen
+	und der Pool nicht zerst�rt.  Die Zerst�rung des Pools kann
+	erzwungen werden durch die Angabe der Option
+	<option>-f</option>, jedoch kann dies undefiniertes Verhalten
+	in den Anwendungen ausl�sen, die noch offene Dateien auf
+	diesen Datasets hatten.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-attach">
+      <title>Hinzuf�gen und L�schen von Ger�ten</title>
+
+      <para>Es gibt zwei F�lle f�r das Hinzuf�gen von Platten zu einem
+	Pool: einh�ngen einer Platte zu einem existierenden vdev mit
+	<command>zpool attach</command> oder einbinden von vdevs zum
+	Pool mit <command>zpool add</command>.  Nur manche <link
+	linkend="zfs-term-vdev">vdev-Arten</link> gestatten es,
+	Platten zum vdev hinzuzuf�gen, nachdem diese angelegt
+	wurden.</para>
+
+      <para>Ein Pool mit nur einer einzigen Platte besitzt keine
+	Redundanz.  Datenverf�lschung kann erkannt, aber nicht
+	repariert werden, weil es keine weiteren Kopien der Daten
+	gibt.  Die Eigenschaft <link
+	linkend="zfs-term-copies">copies</link> kann genutzt werden,
+	um einen geringen Fehler wie einen besch�digtem Sektor
+	auszumerzen, enth�lt aber nicht die gleiche Art von Schutz,
+	die Spiegelung oder <acronym>RAID-Z</acronym> bieten.  Wenn
+	man mit einem Pool startet, der nur aus einer einzigen
+	vdev-Platte besteht, kann mit dem Kommando
+	<command>zpool attach</command> eine zust�tzliche Platte dem
+	vdev hinzugef�gt werden, um einen Spiegel zu erzeugen.  Mit
+	<command>zpool attach</command> k�nnen auch zus�tzliche
+	Platten zu einer Spiegelgruppe eingef�gt werden, was die
+	Redundanz und Lesegeschwindigkeit steigert.  Wenn die Platten,
+	aus denen der Pool besteht, aus partitioniert sind,
+	replizieren Sie das Layout der ersten Platte auf die Zweite
+	und verwenden dann <command>gpart backup</command>, gefolgt
+	von <command>gpart restore</command>, um diesen Vorgang
+	einfacher zu gestalten.</para>
+
+      <para>Umwandeln eines (stripe) vdevs namens
+	<replaceable>ada0p3</replaceable> mit einer einzelnen Platte
+	zu einem Spiegel durch das Einh�ngen von
+	<replaceable>ada1p3</replaceable>:</para>
+
+      <screen>&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: none requested
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          ada0p3    ONLINE       0     0     0
+
+errors: No known data errors
+&prompt.root; <userinput>zpool attach <replaceable>mypool</replaceable> <replaceable>ada0p3</replaceable> <replaceable>ada1p3</replaceable></userinput>
+Make sure to wait until resilver is done before rebooting.
+
+If you boot from pool 'mypool', you may need to update
+boot code on newly attached disk 'ada1p3'.
+
+Assuming you use GPT partitioning und 'da0' is your new boot disk
+you may use the following command:
+
+        gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
+&prompt.root; <userinput>gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 <replaceable>ada1</replaceable></userinput>
+bootcode written to ada1
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+status: One or more devices is currently being resilvered.  The pool will
+        continue to function, possibly in a degraded state.
+action: Wait for the resilver to complete.
+  scan: resilver in progress since Fri May 30 08:19:19 2014
+        527M scanned out of 781M at 47.9M/s, 0h0m to go
+        527M resilvered, 67.53% done
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0  (resilvering)
+
+errors: No known data errors
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: resilvered 781M in 0h0m with 0 errors on Fri May 30 08:15:58 2014
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>Wenn das Hinzuf�gen von Platten zu einem vdev keine Option
+	wie f�r <acronym>RAID-Z</acronym> ist, gibt es eine
+	Alternative, n�mlich einen anderen vdev zum Pool hinzuzuf�gen.
+	Zus�tzliche vdevs bieten h�here Geschwindigkeit, indem
+	Schreibvorg�nge �ber die vdevs verteilt werden.  Jedes vdev
+	ist daf�r verantwortlich, seine eigene Redundanz
+	sicherzustellen.  Es ist m�glich, aber nicht empfohlen,
+	vdev-Arten zu mischen, wie zum Beispiel
+	<literal>mirror</literal> und <literal>RAID-Z</literal>.
+	Durch das Einf�gen eines nicht-redundanten vdev zu einem
+	gespiegelten Pool oder einem <acronym>RAID-Z</acronym> vdev
+	riskiert man die Daten des gesamten Pools.  Schreibvorg�nge
+	werden verteilt, deshalb ist der Ausfall einer
+	nicht-redundanten Platte mit dem Verlust eines Teils von jedem
+	Block verbunden, der auf den Pool geschrieben wird.</para>
+
+      <para>Daten werden �ber jedes vdev gestriped.  Beispielsweise
+	sind zwei Spiegel-vdevs effektiv ein <acronym>RAID</acronym>
+	10, dass �ber zwei Sets von Spiegeln die Daten schreibt.
+	Speicherplatz wird so allokiert, dass jedes vdev zur gleichen
+	Zeit vollgeschrieben wird.  Es gibt einen
+	Geschwindigkeitsnachteil wenn die vdevs unterschiedliche Menge
+	von freiem Speicher aufweisen, wenn eine
+	unproportionale Menge an Daten auf das weniger volle vdev
+	geschrieben wird.</para>
+
+      <para>Wenn zus�tzliche Ger�te zu einem Pool, von dem gebootet
+	wird, hinzugef�gt werden, muss der Bootcode aktualisiert
+	werden.</para>
+
+      <para>Einbinden einer zweiten Spiegelgruppe
+	(<filename>ada2p3</filename> und <filename>ada3p3</filename>)
+	zu einem bestehenden Spiegel:</para>
+
+      <screen>&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: resilvered 781M in 0h0m with 0 errors on Fri May 30 08:19:35 2014
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0
+
+errors: No known data errors
+&prompt.root; <userinput>zpool add <replaceable>mypool</replaceable> mirror <replaceable>ada2p3</replaceable> <replaceable>ada3p3</replaceable></userinput>
+&prompt.root; <userinput>gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 <replaceable>ada2</replaceable></userinput>
+bootcode written to ada2
+&prompt.root; <userinput>gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 <replaceable>ada3</replaceable></userinput>
+bootcode written to ada3
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: scrub repaired 0 in 0h0m with 0 errors on Fri May 30 08:29:51 2014
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0
+          mirror-1  ONLINE       0     0     0
+            ada2p3  ONLINE       0     0     0
+            ada3p3  ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>Momentan k�nnen vdevs nicht von einem Pool entfernt und
+	Platten nur von einem Spiegel ausgeh�ngt werden, wenn genug
+	Redundanz �brig bleibt.  Wenn auch nur eine Platte in einer
+	Spiegelgruppe bestehen bleibt, h�rt der Spiegel auf zu
+	existieren und wird zu einem stripe, was den gesamten Pool
+	riskiert, falls diese letzte Platte ausf�llt.</para>
+
+      <para>Entfernen einer Platte aus einem Spiegel mit drei
+	Platten:</para>
+
+      <screen>&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: scrub repaired 0 in 0h0m with 0 errors on Fri May 30 08:29:51 2014
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0
+            ada2p3  ONLINE       0     0     0
+
+errors: No known data errors
+&prompt.root; <userinput>zpool detach <replaceable>mypool</replaceable> <replaceable>ada2p3</replaceable></userinput>
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: scrub repaired 0 in 0h0m with 0 errors on Fri May 30 08:29:51 2014
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0
+
+errors: No known data errors</screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-status">
+      <title>Den Status eines Pools �berpr�fen</title>
+
+      <para>Der Status eines Pools ist wichtig.  Wenn ein Ger�t sich
+	abschaltet oder ein Lese-, Schreib- oder Pr�fsummenfehler
+	festgestellt wird, wird der dazugeh�rige Fehlerz�hler erh�ht.
+	Die <command>status</command>-Ausgabe zeigt die Konfiguration
+	und den Status von jedem Ger�t im Pool und den Gesamtstatus
+	des Pools.  Aktionen, die durchgef�hrt werden sollten und
+	Details zum letzten <link
+	  linkend="zfs-zpool-scrub"><command>scrub</command></link>
+	werden ebenfalls angezeigt.</para>
+
+      <screen>&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: scrub repaired 0 in 2h25m with 0 errors on Sat Sep 14 04:25:50 2013
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          raidz2-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0
+            ada2p3  ONLINE       0     0     0
+            ada3p3  ONLINE       0     0     0
+            ada4p3  ONLINE       0     0     0
+            ada5p3  ONLINE       0     0     0
+
+errors: No known data errors</screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-clear">
+      <title>Clearing Errors</title>
+
+      <para>Wenn ein Fehler erkannt wurde, werden die Lese-, Schreib-
+	oder Pr�fsummenz�hler erh�ht.  Die Fehlermeldung kann
+	beseitigt und der Z�hler zur�ckgesetzt werden mit
+	<command>zpool clear
+	  <replaceable>mypool</replaceable></command>.  Den
+	Fehlerzustand zur�ckzusetzen kann wichtig sein, wenn
+	automatisierte Skripte ablaufen, die den Administrator
+	informieren, sobald der Pool Fehler anzeigt.  Weitere Fehler
+	werden nicht gemeldet, wenn der alte Fehlerbericht nicht
+	entfernt wurde.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-replace">
+      <title>Ein defektes Ger�t entfernen</title>
+
+      <para>Es gibt eine Reihe von Situationen, in denen es n�tig
+	wird, eine defekte Platte mit einer anderen auszutauschen.
+	Wenn eine funktionierende Platte ersetzt wird, h�lt der
+	Prozess die alte Platte w�hrend des Ersetzungsvorganges noch
+	aktiv.  Der Pool wird nie den Zustand <link
+	  linkend="zfs-term-degraded">degraded</link> erhalten, was
+	das Risiko eines Datenverlustes minimiert.  Alle Daten der
+	alten Platte werden durch das Kommando
+	<command>zpool replace</command> auf die Neue �bertragen.
+	Nachdem die Operation abgeschlossen ist, wird die alte Platte
+	vom vdev getrennt.  Falls die neue Platte gr�sser ist als die
+	alte Platte , ist es m�glich den Pool zu vergr�ssern, um den
+	neuen Platz zu nutzen.  Lesen Sie dazu <link
+	  linkend="zfs-zpool-online">Einen Pool vergr�ssern</link>.</para>
+
+      <para>Ersetzen eines funktionierenden Ger�ts in einem
+	Pool:</para>
+
+      <screen>&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: none requested
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0
+
+errors: No known data errors
+&prompt.root; <userinput>zpool replace <replaceable>mypool</replaceable> <replaceable>ada1p3</replaceable> <replaceable>ada2p3</replaceable></userinput>
+Make sure to wait until resilver is done before rebooting.
+
+If you boot from pool 'zroot', you may need to update
+boot code on newly attached disk 'ada2p3'.
+
+Assuming you use GPT partitioning und 'da0' is your new boot disk
+you may use the following command:
+
+        gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
+&prompt.root; <userinput>gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 <replaceable>ada2</replaceable></userinput>
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+status: One or more devices is currently being resilvered.  The pool will
+        continue to function, possibly in a degraded state.
+action: Wait for the resilver to complete.
+  scan: resilver in progress since Mon Jun  2 14:21:35 2014
+        604M scanned out of 781M at 46.5M/s, 0h0m to go
+        604M resilvered, 77.39% done
+config:
+
+        NAME             STATE     READ WRITE CKSUM
+        mypool           ONLINE       0     0     0
+          mirror-0       ONLINE       0     0     0
+            ada0p3       ONLINE       0     0     0
+            replacing-1  ONLINE       0     0     0
+              ada1p3     ONLINE       0     0     0
+              ada2p3     ONLINE       0     0     0  (resilvering)
+
+errors: No known data errors
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: resilvered 781M in 0h0m with 0 errors on Mon Jun  2 14:21:52 2014
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada2p3  ONLINE       0     0     0
+
+errors: No known data errors</screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-resilver">
+      <title>Behandlung von fehlerhaften Ger�ten</title>
+
+      <para>Wenn eine Platte in einem Pool ausf�llt, wird das vdev zu
+	dem diese Platte geh�rt, den Zustand <link
+	  linkend="zfs-term-degraded">degraded</link> erhalten.  Alle
+	Daten sind immer noch verf�gbar, jedoch wird die
+	Geschwindigkeit m�glicherweise reduziert, weil die fehlenden
+	Daten aus der verf�gbaren Redundanz heraus berechnet werden
+	m�ssen.  Um das vdev in einen funktionierenden Zustand zur�ck
+	zu versetzen, muss das physikalische Ger�t ersetzt werden.
+	<acronym>ZFS</acronym> wird dann angewiesen, den <link
+	  linkend="zfs-term-resilver">resilver</link>-Vorgang zu
+	beginnen.  Daten, die sich auf dem defekten Ger�t befanden,
+	werden neu aus der vorhandenen Pr�fsumme berechnet und auf das
+	Ersatzger�t geschrieben.  Nach Beendigung dieses Prozesses
+	kehrt das vdev zum Status <link
+	linkend="zfs-term-online">online</link> zur�ck.</para>
+
+      <para>Falls das vdev keine Redundanz besitzt oder wenn mehrere
+	Ger�te ausgefallen sind und es nicht genug Redundanz gibt, um
+	zu kompensieren, geht der Pool in den Zustand <link
+	linkend="zfs-term-faulted">faulted</link> �ber.  Wenn eine
+	ausreichende Anzahl von Ger�ten nicht wieder an den Pool
+	angeschlossen werden k�nnen, f�llt der Pool aus und die Daten
+	m�ssen von Sicherungen wieder eingespielt werden.</para>
+
+      <para>Wenn eine defekte Platte ausgewechselt wird, wird der Name
+	dieser defekten Platte mit der <acronym>GUID</acronym> des
+	Ger�ts ersetzt.  Ein neuer Ger�tename als Parameter f�r
+	<command>zpool replace</command> wird nicht ben�tigt, falls
+	das Ersatzger�t den gleichen Ger�tenamen besitzt.</para>
+
+      <para>Ersetzen einer defekten Platte durch
+	<command>zpool replace</command>:</para>
+
+      <screen>&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: DEGRADED
+status: One or more devices could not be opened.  Sufficient replicas exist for
+        the pool to continue functioning in a degraded state.
+action: Attach the missing device und online it using 'zpool online'.
+   see: http://illumos.org/msg/ZFS-8000-2Q
+  scan: none requested
+config:
+
+        NAME                    STATE     READ WRITE CKSUM
+        mypool                  DEGRADED     0     0     0
+          mirror-0              DEGRADED     0     0     0
+            ada0p3              ONLINE       0     0     0
+            316502962686821739  UNAVAIL      0     0     0  was /dev/ada1p3
+
+errors: No known data errors
+&prompt.root; <userinput>zpool replace <replaceable>mypool</replaceable> <replaceable>316502962686821739</replaceable> <replaceable>ada2p3</replaceable></userinput>
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: DEGRADED
+status: One or more devices is currently being resilvered.  The pool will
+        continue to function, possibly in a degraded state.
+action: Wait for the resilver to complete.
+  scan: resilver in progress since Mon Jun  2 14:52:21 2014
+        641M scanned out of 781M at 49.3M/s, 0h0m to go
+        640M resilvered, 82.04% done
+config:
+
+        NAME                        STATE     READ WRITE CKSUM
+        mypool                      DEGRADED     0     0     0
+          mirror-0                  DEGRADED     0     0     0
+            ada0p3                  ONLINE       0     0     0
+            replacing-1             UNAVAIL      0     0     0
+              15732067398082357289  UNAVAIL      0     0     0  was /dev/ada1p3/old
+              ada2p3                ONLINE       0     0     0  (resilvering)
+
+errors: No known data errors
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: resilvered 781M in 0h0m with 0 errors on Mon Jun  2 14:52:38 2014
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada2p3  ONLINE       0     0     0
+
+errors: No known data errors</screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-scrub">
+      <title>Einen Pool �berpr�fen</title>
+
+      <para>Es wird empfohlen, dass Pools regelm�ssig gepr�ft (<link
+	  linkend="zfs-term-scrub">scrubbed</link>) werden,
+	idealerweise mindestens einmal pro Monat.  Der
+	<command>scrub</command>-Vorgang ist beansprucht die Platte
+	sehr und reduziert die Geschwindigkeit w�hrend er l�uft.
+	Vermeiden Sie Zeiten, in denen grosser Bedarf besteht, wenn
+	Sie <command>scrub</command> starten oder benutzen Sie <link
+	  linkend="zfs-advanced-tuning-scrub_delay"><varname>vfs.zfs.scrub_delay</varname></link>,
+	um die relative Priorit�t vom <command>scrub</command>
+	einzustellen, um zu verhindern, dass es mit anderen Aufgaben
+	kollidiert.</para>
+
+      <screen>&prompt.root; <userinput>zpool scrub <replaceable>mypool</replaceable></userinput>
+&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+  scan: scrub in progress since Wed Feb 19 20:52:54 2014
+        116G scanned out of 8.60T at 649M/s, 3h48m to go
+        0 repaired, 1.32% done
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          raidz2-0  ONLINE       0     0     0
+            ada0p3  ONLINE       0     0     0
+            ada1p3  ONLINE       0     0     0
+            ada2p3  ONLINE       0     0     0
+            ada3p3  ONLINE       0     0     0
+            ada4p3  ONLINE       0     0     0
+            ada5p3  ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>Falls eine �berrp�faktion abgebrochen werden muss, geben
+	Sie <command>zpool scrub -s
+	  <replaceable>mypool</replaceable></command> ein.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-selfheal">
+      <title>Selbstheilung</title>
+
+      <para>Die Pr�fsummen, welche zusammen mit den Datenbl�cken
+	gespeichert werden, erm�glichen dem Dateisystem, sich
+	<emphasis>selbst zu heilen</emphasis>.  Diese Eigenschaft wird
+	automatisch Daten korrigieren, deren Pr�fsumme nicht mit der
+	Gespeicherten �bereinstimmt, die auf einem anderen Ger�t, das
+	Teil des Pools ist, vorhanden ist.  Beispielsweise bei
+	einem Spiegel aus zwei Platten, von denen eine anf�ngt, Fehler
+	zu produzieren und nicht mehr l�nger Daten speichern kann.
+	Dieser Fall ist sogar noch schlimmer, wenn auf die Daten seit
+	einiger Zeit nicht mehr zugegriffen wurde, zum Beispiel bei
+	einem Langzeit-Archivspeicher.  Traditionelle Dateisysteme
+	m�ssen dann Algorithmen wie &man.fsck.8; ablaufen lassen,
+	welche die Daten �berpr�fen und reparieren.  Diese Kommandos
+	ben�tigen einige Zeit und in gravierenden F�llen muss ein
+	Administrator manuelle Entscheidungen treffen, welche
+	Reparaturoperation vorgenommen werden soll.  Wenn 
+	<acronym>ZFS</acronym> einen defekten Datenblock mit einer
+	Pr�fsumme erkennt, die nicht �bereinstimmt, versucht es die
+	Daten von der gespiegelten Platte zu lesen.  Wenn diese Platte
+	die korrekten Daten liefern kann, wird nicht nur dieser
+	Datenblock an die anfordernde Applikation geschickt, sondern
+	auch die falschen Daten auf der Disk reparieren, welche die
+	falsche Pr�fsumme erzeugt hat.  Dies passiert w�hrend des
+	normalen Betriebs des Pools, ohne dass eine
+	Interaktion vom Systemadministrator notwendig w�re.</para>
+
+      <para>Das n�chste Beispiel demonstriert dieses Verhalten zur
+	Selbstheilung.  Ein gespiegelter Pool mit den beiden Platten
+	<filename>/dev/ada0</filename> und
+	<filename>/dev/ada1</filename> wird angelegt.</para>
+
+      <screen>&prompt.root; <userinput>zpool create <replaceable>healer</replaceable> mirror <replaceable>/dev/ada0</replaceable> <replaceable>/dev/ada1</replaceable></userinput>
+&prompt.root; <userinput>zpool status <replaceable>healer</replaceable></userinput>
+  pool: healer
+ state: ONLINE
+  scan: none requested
+config:
+
+    NAME        STATE     READ WRITE CKSUM
+    healer      ONLINE       0     0     0
+      mirror-0  ONLINE       0     0     0
+       ada0     ONLINE       0     0     0
+       ada1     ONLINE       0     0     0
+
+errors: No known data errors
+&prompt.root; <userinput>zpool list</userinput>
+NAME     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
+healer   960M  92.5K   960M     0%  1.00x  ONLINE  -</screen>
+
+      <para>Ein paar wichtige Daten, die es vor Datenfehlern mittels
+	der Selbstheilungsfunktion zu sch�tzen gilt, werden auf den
+	Pool kopiert.  Eine Pr�fsumme wird zum sp�teren Vergleich
+	berechnet.</para>
+
+      <screen>&prompt.root; <userinput>cp /some/important/data /healer</userinput>
+&prompt.root; <userinput>zfs list</userinput>
+NAME     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
+healer   960M  67.7M   892M     7%  1.00x  ONLINE  -
+&prompt.root; <userinput>sha1 /healer > checksum.txt</userinput>
+&prompt.root; <userinput>cat checksum.txt</userinput>
+SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f</screen>
+
+      <para>Datenfehler werden durch das Schreiben von zuf�lligen
+	Daten an den Anfang einer Platte des Spiegels simuliert.  Um
+	<acronym>ZFS</acronym> daran zu hindern, die Daten so schnell
+	zu reparieren, wie es diese entdeckt, wird der Pool vor der
+	Ver�nderung exportiert und anschliessend wieder
+	importiert.</para>
+
+      <warning>
+	<para>Dies ist eine gef�hrliche Operation, die wichtige Daten
+	  zerst�ren kann. Es wird hier nur zu Demonstrationszwecken
+	  gezeigt und sollte nicht w�hrend des normalen Betriebs des
+	  Pools versucht werden.  Dieses vors�tzliche
+	  Korrumpierungsbeispiel sollte auf gar keinen Fall auf einer
+	  Platte mit einem anderen Dateisystem durchgef�hrt werden.
+	  Verwenden Sie keine anderen Ger�tenamen als diejenigen, die
+	  hier gezeigt werden, die Teil des Pools sind.  Stellen Sie
+	  sicher, dass die passende Sicherungen angefertigt haben,
+	  bevor Sie dieses Kommando ausf�hren!</para>
+      </warning>
+
+      <screen>&prompt.root; <userinput>zpool export <replaceable>healer</replaceable></userinput>
+&prompt.root; <userinput>dd if=/dev/random of=/dev/ada1 bs=1m count=200</userinput>
+200+0 records in
+200+0 records out
+209715200 bytes transferred in 62.992162 secs (3329227 bytes/sec)
+&prompt.root; <userinput>zpool import healer</userinput></screen>
+
+      <para>Der Status des Pools zeigt an, dass bei einem Ger�t ein
+	Fehler aufgetreten ist.  Wichtig zu wissen ist, dass
+	Anwendungen, die Daten vom Pool lesen keine ung�ltigen Daten
+	erhalten haben.  <acronym>ZFS</acronym> lieferte Daten vom
+	<filename>ada0</filename>-Ger�t mit der korrekten Pr�fsumme
+	aus.  Das Ger�t mit der fehlerhaften Pr�fsumme kann sehr
+	einfach gefunden werden, da die Spalte
+	<literal>CKSUM</literal> einen Wert ungleich Null
+	enth�lt.</para>
+
+      <screen>&prompt.root; <userinput>zpool status <replaceable>healer</replaceable></userinput>
+    pool: healer
+   state: ONLINE
+  status: One or more devices has experienced an unrecoverable error.  An
+          attempt was made to correct the error.  Applications are unaffected.
+  action: Determine if the device needs to be replaced, und clear the errors
+          using 'zpool clear' or replace the device with 'zpool replace'.
+     see: http://www.sun.com/msg/ZFS-8000-9P
+    scan: none requested
+  config:
+
+      NAME        STATE     READ WRITE CKSUM
+      healer      ONLINE       0     0     0
+        mirror-0  ONLINE       0     0     0
+         ada0     ONLINE       0     0     0
+         ada1     ONLINE       0     0     1
+
+errors: No known data errors</screen>
+
+      <para>Der Fehler wurde erkannt und korrigiert durch die
+	vorhandene Redundanz, welche aus der nicht betroffenen Platte
+	<filename>ada0</filename> des Spiegels gewonnen wurde.
+	Ein Vergleich der Pr�fsumme mit dem Original wird zeigen, ob
+	sich der Pool wieder in einem konsistenten Zustand
+	befindet.</para>
+
+      <screen>&prompt.root; <userinput>sha1 /healer >> checksum.txt</userinput>
+&prompt.root; <userinput>cat checksum.txt</userinput>
+SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f
+SHA1 (/healer) = 2753eff56d77d9a536ece6694bf0a82740344d1f</screen>
+
+      <para>Die beiden Pr�fsummen, die vor und nach der vors�tzlichen
+	Korrumpierung der Daten des Pools angelegt wurden, stimmen
+	immer noch �berein.  Dies zeigt wie <acronym>ZFS</acronym> in
+	der Lage ist, Fehler automatisch zu erkennen und zu
+	korrigieren, wenn die Pr�fsummen nicht �bereinstimmen.
+	Beachten Sie, dass dies nur m�glich ist, wenn genug Redundanz
+	im Pool vorhanden ist.  Ein Pool, der nur aus einer einzigen
+	Platte besteht besitzt keine Selbstheilungsfunktion.  Dies ist
+	auch der Grund warum Pr�fsummen bei <acronym>ZFS</acronym> so
+	wichtig sind und deshalb aus keinem Grund deaktiviert werden
+	sollten.  Kein &man.fsck.8; ist n�tig, um diese Fehler zu
+	erkennen und zu korrigieren und der Pool war w�hrend der
+	gesamten Zeit, in der das Problem bestand, verf�gbar.  Eine
+	scrub-Aktion ist nun n�tig, um die fehlerhaften Daten auf
+	<filename>ada1</filename> zu beheben.</para>
+
+      <screen>&prompt.root; <userinput>zpool scrub <replaceable>healer</replaceable></userinput>
+&prompt.root; <userinput>zpool status <replaceable>healer</replaceable></userinput>
+  pool: healer
+ state: ONLINE
+status: One or more devices has experienced an unrecoverable error.  An
+            attempt was made to correct the error.  Applications are unaffected.
+action: Determine if the device needs to be replaced, und clear the errors
+            using 'zpool clear' or replace the device with 'zpool replace'.
+   see: http://www.sun.com/msg/ZFS-8000-9P
+  scan: scrub in progress since Mon Dec 10 12:23:30 2012
+        10.4M scanned out of 67.0M at 267K/s, 0h3m to go
+        9.63M repaired, 15.56% done
+config:
+
+    NAME        STATE     READ WRITE CKSUM
+    healer      ONLINE       0     0     0
+      mirror-0  ONLINE       0     0     0
+       ada0     ONLINE       0     0     0
+       ada1     ONLINE       0     0   627  (repairing)
+
+errors: No known data errors</screen>
+
+      <para>Durch das scrub werden die Daten von
+	<filename>ada0</filename> gelesen und alle Daten mit einer
+	falschen durch diejenigen mit der richtigen Pr�fsumme auf
+	<filename>ada1</filename> ersetzt.  Dies wird durch die
+	Ausgabe <literal>(repairing)</literal> des Kommandos
+	<command>zpool status</command> angezeigt.  Nachdem die
+	Operation abgeschlossen ist, �ndert sich der Poolstatus
+	zu:</para>
+
+      <screen>&prompt.root; <userinput>zpool status <replaceable>healer</replaceable></userinput>
+  pool: healer
+ state: ONLINE
+status: One or more devices has experienced an unrecoverable error.  An
+        attempt was made to correct the error.  Applications are unaffected.
+action: Determine if the device needs to be replaced, und clear the errors
+             using 'zpool clear' or replace the device with 'zpool replace'.
+   see: http://www.sun.com/msg/ZFS-8000-9P
+  scan: scrub repaired 66.5M in 0h2m with 0 errors on Mon Dec 10 12:26:25 2012
+config:
+
+    NAME        STATE     READ WRITE CKSUM
+    healer      ONLINE       0     0     0
+      mirror-0  ONLINE       0     0     0
+       ada0     ONLINE       0     0     0
+       ada1     ONLINE       0     0 2.72K
+
+errors: No known data errors</screen>
+
+      <para>Nach der scrub-Operation und der anschliessenden
+	Synchronisation der Daten von <filename>ada0</filename> nach
+	<filename>ada1</filename>, kann die Fehlermeldun vom
+	Poolstatus <link linkend="zfs-zpool-clear">bereinigt</link>
+	werden durch die Eingabe von
+	<command>zpool clear</command>.</para>
+
+      <screen>&prompt.root; <userinput>zpool clear <replaceable>healer</replaceable></userinput>
+&prompt.root; <userinput>zpool status <replaceable>healer</replaceable></userinput>
+  pool: healer
+ state: ONLINE
+  scan: scrub repaired 66.5M in 0h2m with 0 errors on Mon Dec 10 12:26:25 2012
+config:
+
+    NAME        STATE     READ WRITE CKSUM
+    healer      ONLINE       0     0     0
+      mirror-0  ONLINE       0     0     0
+       ada0     ONLINE       0     0     0
+       ada1     ONLINE       0     0     0
+
+errors: No known data errors</screen>
+
+      <para>Der Pool ist jetzt wieder in einen voll funktionsf�higen
+	Zustand versetzt worden und alle Fehler wurden
+	beseitigt.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-online">
+      <title>Einen Pool vergr�ssern</title>
+
+      <para>Die verwendbare Gr�sse eines redundant ausgelegten Pools
+	ist durch die Kapazit�t des kleinsten Ger�ts in jedem vdev
+	begrenzt.  Das kleinste Ger�t kann durch ein gr�sseres Ger�t
+	ersetzt werden.  Nachdem eine <link
+	  linkend="zfs-zpool-replace">replace</link> oder <link
+	  linkend="zfs-term-resilver">resilver</link>-Operation
+	abgeschlossen wurde, kann der Pool anwachsen, um die Kapazit�t
+	des neuen Ger�ts zu nutzen.  Nehmen wir als Beispiel einen
+	Spiegel mit einer 1&nbsp;TB und einer 2&nbsp;TB Platte. Der
+	verwendbare Plattenplatz betr�gt 1&nbsp;TB.  Wenn die
+	1&nbsp;TB Platte mit einer anderen 2&nbsp;TB Platte ersetzt
+	wird, kopiert der resilver-Prozess die existierenden Daten auf
+	die neue Platte.  Da beide Ger�te nun 2&nbsp;TB Kapazit�t
+	besitzen, kann auch der verf�gbare Plattenplatz auf die Gr�sse
+	von 2&nbsp;TB anwachsen.</para>
+
+      <para>Die Erweiterung wird durch das Kommando
+	<command>zpool online -e</command> auf jedem Ger�t ausgel�st.
+	Nachdem alle Ger�te expandiert wurden, wird der Speicher im
+	Pool zur Verf�gung gestellt.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-import">
+      <title>Importieren und Exportieren von Pools</title>
+
+      <para>Pools werden <emphasis>exportiert</emphasis> bevor diese
+	an ein anderes System angeschlossen werden.  Alle Datasets
+	werden abgeh�ngt und jedes Ger�t wird als exportiert markiert,
+	ist jedoch immer noch gesperrt, so dass es nicht von anderen
+	Festplattensubsystemen verwendet werden kann.  Dadurch k�nnen
+	Pools auf anderen Maschinen <emphasis>importiert</emphasis>
+	werden, die <acronym>ZFS</acronym> und sogar andere
+	Hardwarearchitekturen (bis auf ein paar Ausnahmen, siehe
+	&man.zpool.8;) unterst�tzen.  Besitzt ein Dataset offene
+	Dateien, kann <command>zpool export -f</command> den Export
+	des Pools erzwingen.  Verwenden Sie dies mit Vorsicht.  Die
+	Datasets werden dadurch gewaltsam abgeh�ngt, was bei
+	Anwendungen, die noch offene Dateien auf diesem Dataset
+	hatten, m�glicherweise zu unerwartetem Verhalten f�hren
+	kann.</para>
+
+      <para>Einen nichtverwendeten Pool exportieren:</para>
+
+      <screen>&prompt.root; <userinput>zpool export mypool</userinput></screen>
+
+      <para>Beim Importieren eines Pool werden auch automatisch alle
+	Datasets eingeh�ngt.  Dies ist m�glicherweise nicht das
+	bevorzugte Verhalten und wird durch 
+	<command>zpool import -N</command> verhindert. Durch
+	<command>zpool import -o</command> tempor�re Eigenschaften nur
+	f�r diesen Import gesetzt.  Mit dem Befehl
+	<command>zpool import altroot=</command> ist es m�glich, einen
+	Pool mit einem anderen Basiseinh�ngepunkt anstatt der Wurzel
+	des Dateisystems einzubinden.  Wenn der Pool zuletzt auf einem
+	anderen System verwendet und nicht korrekt exportiert
+	wurde, muss unter Umst�nden ein Import erzwungen werden durch
+	<command>zpool import -f</command>. Alle Pools lassen sich
+	durch <command>zpool import -a</command> importieren, die
+	nicht durch ein anderes System momemtan verwendet
+	werden.</para>
+
+      <para>Alle zum Import verf�gbaren Pools auflisten:</para>
+
+      <screen>&prompt.root; <userinput>zpool import</userinput>
+   pool: mypool
+     id: 9930174748043525076
+  state: ONLINE
+ action: The pool can be imported using its name or numeric identifier.
+ config:
+
+        mypool      ONLINE
+          ada2p3    ONLINE</screen>
+
+      <para>Den Pool mit einem anderen Wurzelverzeichnis
+	importieren:</para>
+
+      <screen>&prompt.root; <userinput>zpool import -o altroot=<replaceable>/mnt</replaceable> <replaceable>mypool</replaceable></userinput>
+&prompt.root; <userinput>zfs list</userinput>
+zfs list
+NAME                 USED  AVAIL  REFER  MOUNTPOINT
+mypool               110K  47.0G    31K  /mnt/mypool</screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-upgrade">
+      <title>Einen Pool aktualisieren</title>
+
+      <para>Nachdem &os; aktualisiert wurde oder wenn der Poo von
+	einem anderen System, das eine �ltere Version von
+	<acronym>ZFS</acronym> einsetzt, l�sst sich der Pool manuell
+	auf den aktuellen Stand von <acronym>ZFS</acronym> bringen, um
+	die neuesten Eigenschaften zu unterst�tzen.  Bedenken Sie, ob
+	der Pool jemals wieder von einem �lteren System eingebunden
+	werden muss, bevor Sie die Aktualisierung durchf�hren.  Das
+	aktualisieren eines Pools ist ein nicht umkehrbarer Prozess.
+	�ltere Pools lassen sich aktualisieren, jedoch lassen sich
+	Pools mit neueren Eigenschaften nicht wieder auf eine �ltere
+	Version bringen.</para>
+
+      <para>Aktualisierung eines v28-Pools, um
+	<literal>Feature Flags</literal> zu unterst�tzen:</para>
+
+      <screen>&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+status: The pool is formatted using a legacy on-disk format.  The pool can
+        still be used, but some features are unavailable.
+action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
+        pool will no longer be accessible on software that does not support feat
+        flags.
+  scan: none requested
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+	    ada0    ONLINE       0     0     0
+	    ada1    ONLINE       0     0     0
+
+errors: No known data errors
+&prompt.root; <userinput>zpool upgrade</userinput>
+This system supports ZFS pool feature flags.
+
+The following pools are formatted with legacy version numbers und can
+be upgraded to use feature flags.  After being upgraded, these pools
+will no longer be accessible by software that does not support feature
+flags.
+
+VER  POOL
+---  ------------
+28   mypool
+
+Use 'zpool upgrade -v' for a list of available legacy versions.
+Every feature flags pool has all supported features enabled.
+&prompt.root; <userinput>zpool upgrade mypool</userinput>
+This system supports ZFS pool feature flags.
+
+Successfully upgraded 'mypool' from version 28 to feature flags.
+Enabled the following features on 'mypool':
+  async_destroy
+  empty_bpobj
+  lz4_compress
+  multi_vdev_crash_dump</screen>
+
+      <para>Die neueren Eigenschaften von <acronym>ZFS</acronym>
+	werden nicht verf�gbar sein, bis
+	<command>zpool upgrade</command> abgeschlossen ist.
+	<command>zpool upgrade -v</command> kann verwendet werden, um
+	zu sehen, welche neuen Eigenschaften durch die Aktualisierung
+	bereitgestellt werden, genauso wie diejenigen, die momentan
+	schon verf�gbar sind.</para>
+
+      <para>Einen Pool um zus�tzliche Feature Flags erweitern:</para>
+
+      <screen>&prompt.root; <userinput>zpool status</userinput>
+  pool: mypool
+ state: ONLINE
+status: Some supported features are not enabled on the pool. The pool can
+        still be used, but some features are unavailable.
+action: Enable all features using 'zpool upgrade'. Once this is done,
+        the pool may no longer be accessible by software that does not support
+        the features. See zpool-features(7) for details.
+  scan: none requested
+config:
+
+        NAME        STATE     READ WRITE CKSUM
+        mypool      ONLINE       0     0     0
+          mirror-0  ONLINE       0     0     0
+	    ada0    ONLINE       0     0     0
+	    ada1    ONLINE       0     0     0
+
+errors: No known data errors
+&prompt.root; <userinput>zpool upgrade</userinput>
+This system supports ZFS pool feature flags.
+
+All pools are formatted using feature flags.
+
+
+Some supported features are not enabled on the following pools. Once a
+feature is enabled the pool may become incompatible with software
+that does not support the feature. See zpool-features(7) for details.
+
+POOL  FEATURE
+---------------
+zstore
+      multi_vdev_crash_dump
+      spacemap_histogram
+      enabled_txg
+      hole_birth
+      extensible_dataset
+      bookmarks
+      filesystem_limits
+&prompt.root; <userinput>zpool upgrade mypool</userinput>
+This system supports ZFS pool feature flags.
+
+Enabled the following features on 'mypool':
+  spacemap_histogram
+  enabled_txg
+  hole_birth
+  extensible_dataset
+  bookmarks
+  filesystem_limits</screen>
+
+      <warning>
+	<para>Der Bootcode muss auf Systemen, die von dem Pool
+	  starten, aktualisiert werden, um diese neue Version zu
+	  unterst�tzen. Verwenden Sie
+	 <command>gpart bootcode</command> auf der Partition, die den
+	  Bootcode enth�lt.  Lesen Sie f�r weitere Informationen
+	  &man.gpart.8;.</para>
+      </warning>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-history">
+      <title>Aufgezeichnete Historie des Pools anzeigen</title>
+
+      <para>Befehle, die den Pool in irgendeiner Form ver�ndern,
+	werden aufgezeichnet. Diese Befehle beinhalten das Erstellen
+	von Datasets, ver�ndern von Eigenschaften oder das Ersetzen
+	einer Platte.  Diese Historie ist n�tzlich um
+	nachzuvollziehen, wie ein Pool aufgebaut ist und welcher
+	Benutzer eine bestimmte Aktion wann und wie get�tigt hat. Die
+	aufgezeichnete Historie wird nicht in einer Logdatei
+	festgehalten, sondern ist Teil des Pools selbst.  Das Kommando
+	zum darstellen dieser Historie lautet passenderweise
+	<command>zpool history</command>:</para>
+
+      <screen>&prompt.root; <userinput>zpool history</userinput>
+History for 'tank':
+2013-02-26.23:02:35 zpool create tank mirror /dev/ada0 /dev/ada1
+2013-02-27.18:50:58 zfs set atime=off tank
+2013-02-27.18:51:09 zfs set checksum=fletcher4 tank
+2013-02-27.18:51:18 zfs create tank/backup</screen>
+
+      <para>Die Ausgabe zeigt <command>zpool</command> und
+	<command>zfs</command>-Befehle, die ausgef�hrt wurden zusammen
+	mit einem Zeitstempel.  Nur Befehle, die den Pool ver�ndern
+	werden aufgezeichnet. Befehle wie 
+	<command>zfs list</command> sind dabei nicht enthalten. Wenn
+	kein Name angegeben wird, erscheint die gesamte Historie aller
+	Pools.</para>
+
+      <para>Der Befehl <command>zpool history</command> kann sogar
+	noch mehr Informationen ausgeben, wenn die Optionen
+	<option>-i</option> oder <option>-l</option> angegeben
+	werden. Durch <option>-i</option> zeigt <acronym>ZFS</acronym>
+	vom Benutzer eingegebene, als auch interne Ereignisse
+	an.</para>
+
+      <screen>&prompt.root; <userinput>zpool history -i</userinput>
+History for 'tank':
+2013-02-26.23:02:35 [internal pool create txg:5] pool spa 28; zfs spa 28; zpl 5;uts  9.1-RELEASE 901000 amd64
+2013-02-27.18:50:53 [internal property set txg:50] atime=0 dataset = 21
+2013-02-27.18:50:58 zfs set atime=off tank
+2013-02-27.18:51:04 [internal property set txg:53] checksum=7 dataset = 21
+2013-02-27.18:51:09 zfs set checksum=fletcher4 tank
+2013-02-27.18:51:13 [internal create txg:55] dataset = 39
+2013-02-27.18:51:18 zfs create tank/backup</screen>
+
+      <para>Weitere Details lassen sich durch die Angabe von
+	<option>-l</option> entlocken.  Historische Eintr�ge werden in
+	einem langen Format ausgegeben, einschliesslich Informationen
+	wie der Name des Benutzers, welcher das Kommando eingegeben
+	hat und der Hostname, auf dem die �nderung erfolgte.</para>
+
+      <screen>&prompt.root; <userinput>zpool history -l</userinput>
+History for 'tank':
+2013-02-26.23:02:35 zpool create tank mirror /dev/ada0 /dev/ada1 [user 0 (root) on :global]
+2013-02-27.18:50:58 zfs set atime=off tank [user 0 (root) on myzfsbox:global]
+2013-02-27.18:51:09 zfs set checksum=fletcher4 tank [user 0 (root) on myzfsbox:global]
+2013-02-27.18:51:18 zfs create tank/backup [user 0 (root) on myzfsbox:global]</screen>
+
+      <para>Die Ausgabe zeigt, dass der Benutzer <systemitem
+	class="username">root</systemitem> den gespiegelten Pool mit
+	den beiden Platten  
+	<filename>/dev/ada0</filename> und
+	<filename>/dev/ada1</filename> angelegt hat.  Der Hostname
+	<systemitem class="systemname">myzfsbox</systemitem> wird
+	ebenfalls in den Kommandos angezeigt, nachdem der Pool erzeugt
+	wurde.  Die Anzeige des Hostnamens wird wichtig, sobald der
+	Pool von einem System exportiert und auf einem anderen
+	importiert wird.  Die Befehle, welche auf dem anderen System
+	verwendet werden, k�nnen klar durch den Hostnamen, der bei
+	jedem Kommando mit verzeichnet wird, unterschieden
+	werden.</para>
+
+      <para>Beide Optionen f�r <command>zpool history</command> lassen
+	sich auch kombinieren, um die meisten Details zur Historie
+	eines Pools auszugeben.  Die Pool Historie liefert wertvolle
+	Informationen, wenn Aktionen nachverfolgt werden m�ssen oder
+	zur Fehlerbeseitigung mehr Informationen gebraucht
+	werden.</para> 
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-iostat">
+      <title>Geschwindigkeits�berwachung</title>
+
+      <para>Ein eingebautes �berwachungssystem kann
+	<acronym>I/O</acronym>-Statistiken in Echtzeit liefern.  Es
+	zeigt die Menge von freiem und belegtem Speicherplatz auf dem
+	Pool an, wieviele Lese- und Schreiboperationen pro Sekunde
+	durchgef�hrt werden und die aktuell verwendete
+	<acronym>I/O</acronym>-Bandbreite.  Standardm�ssig werden alle
+	Pools in einem System �berwacht und angezeigt.  Ein Poolname
+	kann angegeben werden, um die Anzeige auf diesen Pool zu
+	beschr�nken.  Ein einfaches Beispiel:</para>
+
+      <screen>&prompt.root; <userinput>zpool iostat</userinput>
+               capacity     operations    bundwidth
+pool        alloc   free   read  write   read  write
+----------  -----  -----  -----  -----  -----  -----
+data         288G  1.53T      2     11  11.3K  57.1K</screen>
+
+      <para>Um kontinuierlich die <acronym>I/O</acronym>-Aktivit�t zu
+	�berpr�fen, kann eine Zahl als letzter Parameter angegeben
+	werden, die ein Intervall in Sekunden angibt, die zwischen den
+	Aktulisierungen vergeben soll.  Die n�chste Zeile mit
+	Statistikinformationen wird dann nach jedem Intervall
+	ausgegeben.  Dr�cken Sie
+	<keycombo action="simul">
+	  <keycap>Ctrl</keycap>
+	  <keycap>C</keycap>
+	</keycombo>, um diese kontinuierliche �berwachung zu stoppen.
+	Alternativ l�sst sich auch eine zweite Zahl nach dem
+	Intervall auf der Kommandozeile angeben, welche die Obergrenze
+	von Statistikausgaben darstellt, die angezeigt werden
+	sollen.</para>
+
+      <para>Noch mehr Informationen zu
+	<acronym>I/O</acronym>-Statistiken k�nnen durch Angabe der
+	Option <option>-v</option> angezeigt werden.  Jedes Ger�t im
+	Pool wird dann mit einer eigenen Statistikzeile aufgef�hrt.
+	Dies ist hilfreich um zu sehen, wieviele Lese- und
+	Schreiboperationen von jedem Ger�t durchgef�hrt werden und
+	kann bei der Diagnose eines langsamen Ger�ts, das den Pool
+	ausbremst, hilfreich sein.  Dieses Beispiel zeigt einen
+	gespiegelten Pool mit zwei Ger�ten:</para>
+
+      <screen>&prompt.root; <userinput>zpool iostat -v </userinput>
+                            capacity     operations    bundwidth
+pool                     alloc   free   read  write   read  write
+-----------------------  -----  -----  -----  -----  -----  -----
+data                      288G  1.53T      2     12  9.23K  61.5K
+  mirror                  288G  1.53T      2     12  9.23K  61.5K
+    ada1                     -      -      0      4  5.61K  61.7K
+    ada2                     -      -      1      4  5.04K  61.7K
+-----------------------  -----  -----  -----  -----  -----  -----</screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zpool-split">
+      <title>Einen Pool aufteilen</title>
+
+      <para>Ein Pool, der aus einem oder mehreren gespiegelten vdevs
+	besteht, kann in zwei Pools aufgespalten werden.  Falls nicht
+	anders angegeben, wird das letzte Mitglied eines Spiegels
+	abgeh�ngt und dazu verwendet, einen neuen Pool mit den
+	gleichen Daten zu erstellen.  Die Operation sollte zuerst mit
+	der Option <option>-n</option> versucht werden.  Die Details
+	der vorgeschlagenen Option werden dargestellt, ohne die Aktion
+	in Wirklichkeit durchzuf�hren.  Das hilft dabei zu best�tigen,
+	ob die Aktion das tut, was der Benutzer damit vor
+	hatte.</para>
+    </sect2>
+  </sect1>
+
+  <sect1 xml:id="zfs-zfs">
+    <title><command>zfs</command> Administration</title>
+
+    <para>Das <command>zfs</command>-Werkzeug ist daf�r
+      verantwortlich, alle <acronym>ZFS</acronym> Datasets innerhalb
+      eines Pools zu erstellen, zerst�ren und zu verwalten.  Der Pool
+      selbst wird durch <link
+	linkend="zfs-zpool"><command>zpool</command></link>
+      verwaltet.</para>
+
+    <sect2 xml:id="zfs-zfs-create">
+      <title>Datasets erstellen und zerst�ren</title>
+
+      <para>Anders als in traditionellen Festplatten- und
+	Volumenmanagern wird der Plattenplatz in
+	<acronym>ZFS</acronym> <emphasis>not</emphasis>
+	vorher allokiert.  Bei traditionellen Dateisystemen gibt es,
+	nachdem der Plattenplatz partitioniert und
+	zugeteilt wurde, keine M�glichkeit, ein zus�tzliches
+	Dateisystem hinzuzuf�gen, ohne eine neue Platte
+	anzuschliessen.  Mit
+	<acronym>ZFS</acronym> lassen sich neue Dateisysteme zu jeder
+	Zeit anlegen.  Jedes <link
+	  linkend="zfs-term-dataset"><emphasis>Dataset</emphasis></link>
+	besitzt Eigenschaften wie Komprimierung, Deduplizierung,
+	Zwischenspeicher (caching), Quotas, genauso wie andere
+	n�tzliche Einstellungen wie Schreibschutz, Unterscheidung
+	zwischen Gross- und Kleinschreibung, Netzwerkfreigaben und
+	einen Einh�ngepunkt.  Datasets k�nnen ineinander verschachtelt
+	werden und Kind-Datasets erben die Eigenschaften ihrer Eltern.
+	Jedes Dataset kann als eine Einheit verwaltet, 
+	<link linkend="zfs-zfs-allow">delegiert</link>,
+	<link linkend="zfs-zfs-send">repliziert</link>,
+	<link linkend="zfs-zfs-snapshot">mit Schnappsch�ssen
+	versehen</link>, <link linkend="zfs-zfs-jail">in Jails
+	gesteckt</link> und zerst�rt werden.  Es gibt viele Vorteile,
+	ein separates Dataset f�r jede Art von Dateien anzulegen.  Der
+	einzige Nachteil einer grossen Menge an Datasets ist, dass
+	manche Befehle wie <command>zfs list</command> langsamer sind
+	und dass das Einh�ngen von hunderten oder hunderttausenden von
+	Datasets de &os;-Bootvorgang verz�gert.</para>
+
+      <para>Erstellen eines neuen Datasets und aktivieren von <link
+	  linkend="zfs-term-compression-lz4">LZ4
+	Komprimierung</link>:</para>
+
+      <screen>&prompt.root; <userinput>zfs list</userinput>
+NAME                  USED  AVAIL  REFER  MOUNTPOINT
+mypool                781M  93.2G   144K  none
+mypool/ROOT           777M  93.2G   144K  none
+mypool/ROOT/default   777M  93.2G   777M  /
+mypool/tmp            176K  93.2G   176K  /tmp
+mypool/usr            616K  93.2G   144K  /usr
+mypool/usr/home       184K  93.2G   184K  /usr/home
+mypool/usr/ports      144K  93.2G   144K  /usr/ports
+mypool/usr/src        144K  93.2G   144K  /usr/src
+mypool/var           1.20M  93.2G   608K  /var
+mypool/var/crash      148K  93.2G   148K  /var/crash
+mypool/var/log        178K  93.2G   178K  /var/log
+mypool/var/mail       144K  93.2G   144K  /var/mail
+mypool/var/tmp        152K  93.2G   152K  /var/tmp
+&prompt.root; <userinput>zfs create -o compress=lz4 <replaceable>mypool/usr/mydataset</replaceable></userinput>
+&prompt.root; <userinput>zfs list</userinput>
+NAME                   USED  AVAIL  REFER  MOUNTPOINT
+mypool                 781M  93.2G   144K  none
+mypool/ROOT            777M  93.2G   144K  none
+mypool/ROOT/default    777M  93.2G   777M  /
+mypool/tmp             176K  93.2G   176K  /tmp
+mypool/usr             704K  93.2G   144K  /usr
+mypool/usr/home        184K  93.2G   184K  /usr/home
+mypool/usr/mydataset  87.5K  93.2G  87.5K  /usr/mydataset
+mypool/usr/ports       144K  93.2G   144K  /usr/ports
+mypool/usr/src         144K  93.2G   144K  /usr/src
+mypool/var            1.20M  93.2G   610K  /var
+mypool/var/crash       148K  93.2G   148K  /var/crash
+mypool/var/log         178K  93.2G   178K  /var/log
+mypool/var/mail        144K  93.2G   144K  /var/mail
+mypool/var/tmp         152K  93.2G   152K  /var/tmp</screen>
+
+      <para>Ein Dataset zu zerst�ren ist viel schneller, als alle
+	Dateien zu l�schen, die sich in dem Dataset befindet, da es
+	keinen Scan aller Dateien und aktualisieren der dazugeh�rigen
+	Metadaten erfordert.</para>
+
+      <para>Zerst�ren des zuvor angelegten Datasets:</para>
+
+      <screen>&prompt.root; <userinput>zfs list</userinput>
+NAME                   USED  AVAIL  REFER  MOUNTPOINT
+mypool                 880M  93.1G   144K  none
+mypool/ROOT            777M  93.1G   144K  none
+mypool/ROOT/default    777M  93.1G   777M  /
+mypool/tmp             176K  93.1G   176K  /tmp
+mypool/usr             101M  93.1G   144K  /usr
+mypool/usr/home        184K  93.1G   184K  /usr/home
+mypool/usr/mydataset   100M  93.1G   100M  /usr/mydataset
+mypool/usr/ports       144K  93.1G   144K  /usr/ports
+mypool/usr/src         144K  93.1G   144K  /usr/src
+mypool/var            1.20M  93.1G   610K  /var
+mypool/var/crash       148K  93.1G   148K  /var/crash
+mypool/var/log         178K  93.1G   178K  /var/log
+mypool/var/mail        144K  93.1G   144K  /var/mail
+mypool/var/tmp         152K  93.1G   152K  /var/tmp
+&prompt.root; <userinput>zfs destroy <replaceable>mypool/usr/mydataset</replaceable></userinput>
+&prompt.root; <userinput>zfs list</userinput>
+NAME                  USED  AVAIL  REFER  MOUNTPOINT
+mypool                781M  93.2G   144K  none
+mypool/ROOT           777M  93.2G   144K  none
+mypool/ROOT/default   777M  93.2G   777M  /
+mypool/tmp            176K  93.2G   176K  /tmp
+mypool/usr            616K  93.2G   144K  /usr
+mypool/usr/home       184K  93.2G   184K  /usr/home
+mypool/usr/ports      144K  93.2G   144K  /usr/ports
+mypool/usr/src        144K  93.2G   144K  /usr/src
+mypool/var           1.21M  93.2G   612K  /var
+mypool/var/crash      148K  93.2G   148K  /var/crash
+mypool/var/log        178K  93.2G   178K  /var/log
+mypool/var/mail       144K  93.2G   144K  /var/mail
+mypool/var/tmp        152K  93.2G   152K  /var/tmp</screen>
+
+      <para>In modernen Versionen von <acronym>ZFS</acronym> ist
+	<command>zfs destroy</command> asynchron und der freie
+	Speicherplatz kann erst nach ein paar Minuten im Pool
+	auftauchen.  Verwenden Sie <command>zpool get freeing
+	  <replaceable>poolname</replaceable></command>, um die
+	Eigenschaft <literal>freeing</literal> aufzulisten, die
+	angibt, bei wievielen Datasets die Bl�cke im Hintergrund
+	freigegeben werden.  Sollte es Kind-Datasets geben,
+	<link linkend="zfs-term-snapshot">Schnappsch�sse</link> oder
+	andere Datasets, dann l�sst sich der Elternknoten nicht
+	zerst�ren.  Um ein Dataset und all seine Kinder zu zerst�ren,
+	verwenden Sie die Option <option>-r</option>, um das Dataset
+	und all seine Kinder rekursiv zu entfernen.  Benutzen Sie die
+	Option <option>-n</option> und <option>-v</option>, um
+	Datasets und Snapshots anzuzeigen, die durch diese Aktion
+	zerst�rt werden w�rden, dies jedoch nur zu simulieren und
+	nicht wirklich durchzuf�hren.  Speicherplatz, der dadurch
+	freigegeben w�rde, wird ebenfalls angezeigt.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-volume">
+      <title>Volumes erstellen und zerst�ren</title>
+
+      <para>Ein Volume ist ein spezieller Typ von Dataset.  Anstatt
+	dass es als Dateisystem eingeh�ngt wird, stellt es ein
+	Block-Ger�t unter
+	<filename>/dev/zvol/<replaceable>poolname</replaceable>/<replaceable>dataset</replaceable></filename>
+	dar.  Dies erlaubt es, das Volume f�r andere Dateisysteme zu
+	verwenden, die Festplatten einer virtuellen Maschine
+	bereitzustellen oder �ber Protokolle wie
+	<acronym>iSCSI</acronym> oder <acronym>HAST</acronym>
+	exportiert zu werden.</para>
+
+      <para>Ein Volume kann mit einem beliebigen Dateisystem
+	formatiert werden oder auch ohne ein Dateisystem als reiner
+	Datenspeicher zu dienen.  F�r den Benutzer erscheint ein
+	Volume als eine gew�hnliche Platte.  Indem gew�hnliche
+	Dateisysteme auf diesen <emphasis>zvols</emphasis> angelegt
+	werden, ist es m�glich, diese mit Eigenschaften auszustatten,
+	welche diese normalerweise nicht besitzen.  Beispielsweise
+	wird durch Verwendung der Komprimierungseigenschaft auf einem
+	250&nbsp;MB Volume das Erstellen eines komprimierten
+	<acronym>FAT</acronym> Dateisystems m�glich.</para>
+
+      <screen>&prompt.root; <userinput>zfs create -V 250m -o compression=on tank/fat32</userinput>
+&prompt.root; <userinput>zfs list tank</userinput>
+NAME USED AVAIL REFER MOUNTPOINT
+tank 258M  670M   31K /tank
+&prompt.root; <userinput>newfs_msdos -F32 /dev/zvol/tank/fat32</userinput>
+&prompt.root; <userinput>mount -t msdosfs /dev/zvol/tank/fat32 /mnt</userinput>
+&prompt.root; <userinput>df -h /mnt | grep fat32</userinput>
+Filesystem           Size Used Avail Capacity Mounted on
+/dev/zvol/tank/fat32 249M  24k  249M     0%   /mnt
+&prompt.root; <userinput>mount | grep fat32</userinput>
+/dev/zvol/tank/fat32 on /mnt (msdosfs, local)</screen>
+
+      <para>Ein Volume zu zerst�ren ist sehr �hnlich wie ein
+	herk�mmliches Dataset zu entfernen.  Die Operation wird
+	beinahe sofort durchgef�hrt, jedoch kann es mehrere Minuten
+	dauern, bis der freie Speicherplatz im Hintergrund wieder
+	freigegeben ist.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-rename">
+      <title>Umbenennen eines Datasets</title>
+
+      <para>Der Name eines Datasets l�sst sich durch
+	<command>zfs rename</command> �ndern.  Das Eltern-Dataset kann
+	ebenfalls mit diesem Kommando umbenannt werden.  Ein Dataset
+	unter einem anderen Elternteil umzubenennen wird den Wert
+	dieser Eigenschaft ver�ndern, die vom Elternteil vererbt
+	wurden.  Wird ein Dataset umbenannt, wird es abgeh�ngt und
+	dann erneut unter der neuen Stelle eingeh�ngt (welche vom
+	neuen Elternteil geerbt wird).  Dieses Verhalten kann durch
+	die Option <option>-u</option> verhindert werden.</para>
+
+      <para>Ein Dataset umbenennen und unter einem anderes
+	Elterndataset verschieben:</para>
+
+      <screen>&prompt.root; <userinput>zfs list</userinput>
+NAME                   USED  AVAIL  REFER  MOUNTPOINT
+mypool                 780M  93.2G   144K  none
+mypool/ROOT            777M  93.2G   144K  none
+mypool/ROOT/default    777M  93.2G   777M  /
+mypool/tmp             176K  93.2G   176K  /tmp
+mypool/usr             704K  93.2G   144K  /usr
+mypool/usr/home        184K  93.2G   184K  /usr/home
+mypool/usr/mydataset  87.5K  93.2G  87.5K  /usr/mydataset
+mypool/usr/ports       144K  93.2G   144K  /usr/ports
+mypool/usr/src         144K  93.2G   144K  /usr/src
+mypool/var            1.21M  93.2G   614K  /var
+mypool/var/crash       148K  93.2G   148K  /var/crash
+mypool/var/log         178K  93.2G   178K  /var/log
+mypool/var/mail        144K  93.2G   144K  /var/mail
+mypool/var/tmp         152K  93.2G   152K  /var/tmp
+&prompt.root; <userinput>zfs rename <replaceable>mypool/usr/mydataset</replaceable> <replaceable>mypool/var/newname</replaceable></userinput>
+&prompt.root; <userinput>zfs list</userinput>
+NAME                  USED  AVAIL  REFER  MOUNTPOINT
+mypool                780M  93.2G   144K  none
+mypool/ROOT           777M  93.2G   144K  none
+mypool/ROOT/default   777M  93.2G   777M  /
+mypool/tmp            176K  93.2G   176K  /tmp
+mypool/usr            616K  93.2G   144K  /usr
+mypool/usr/home       184K  93.2G   184K  /usr/home
+mypool/usr/ports      144K  93.2G   144K  /usr/ports
+mypool/usr/src        144K  93.2G   144K  /usr/src
+mypool/var           1.29M  93.2G   614K  /var
+mypool/var/crash      148K  93.2G   148K  /var/crash
+mypool/var/log        178K  93.2G   178K  /var/log
+mypool/var/mail       144K  93.2G   144K  /var/mail
+mypool/var/newname   87.5K  93.2G  87.5K  /var/newname
+mypool/var/tmp        152K  93.2G   152K  /var/tmp</screen>
+
+      <para>Schnappsch�sse k�nnen auf diese Weise ebenfalls umbenannt
+	werden.  Aufgrund der Art von Schnappsch�ssen k�nnen diese
+	nicht unter einem anderen Elterndataset eingeh�ngt werden.  Um
+	einen rekursiven Schnappschuss umzubenennen, geben Sie die
+	Option <option>-r</option> an, um alle Schnappsch�sse mit dem
+	gleichen Namen im Kind-Dataset ebenfalls umzubenennen.</para>
+
+      <screen>&prompt.root; <userinput>zfs list -t snapshot</userinput>
+NAME                                USED  AVAIL  REFER  MOUNTPOINT
+mypool/var/newname@first_snapshot      0      -  87.5K  -
+&prompt.root; <userinput>zfs rename <replaceable>mypool/var/newname@first_snapshot</replaceable> <replaceable>new_snapshot_name</replaceable></userinput>
+&prompt.root; <userinput>zfs list -t snapshot</userinput>
+NAME                                   USED  AVAIL  REFER  MOUNTPOINT
+mypool/var/newname@new_snapshot_name      0      -  87.5K  -</screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-set">
+      <title>Festlegen von Dataset-Eigenschaften</title>
+
+      <para>Jedes <acronym>ZFS</acronym>-Dataset besitzt eine Menge
+	von Eigenschaften, die sein Verhalten beeinflussen.  Die
+	meisten Eigenschaften werden automatisch vom Eltern-Dataset
+	vererbt, k�nnen jedoch lokal �berschrieben werden.  Sie legen
+	eine Eigenschaft durch <command>zfs set
+	  <replaceable>property</replaceable>=<replaceable>value</replaceable>
+	  <replaceable>dataset</replaceable></command> fest.  Die
+	meisten Eigenschaften haben eine begrenzte Menge von g�ltigen
+	Werten. <command>zfs get</command> stellt diese dar und zeigt
+	jede m�gliche Eigenschaft und g�ltige Werte an. Die meisten
+	Eigenschaften k�nnen wieder auf ihren Ausgangswert
+	zur�ckgesetzt werden �ber
+	<command>zfs inherit</command>.</para>
+
+      <para>Benutzerdefinierte Eigenschaften lassen sich ebenfalls
+	setzen.  Diese werden Teil der Konfiguration des Datasets und
+	k�nnen dazu verwendet werden, zus�tzliche Informationen �ber
+	das Dataset oder seine Bestandteile zu speichern.  Um diese
+	benutzerdefinierten Eigenschaften von den
+	<acronym>ZFS</acronym>-eigenen zu unterscheiden, wird ein
+	Doppelpunkt (<literal>:</literal>) verwendet, um einen eigenen
+	Namensraum f�r diese Eigenschaft zu erstellen.</para>
+
+      <screen>&prompt.root; <userinput>zfs set <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable>=<replaceable>1234</replaceable> <replaceable>tank</replaceable></userinput>
+&prompt.root; <userinput>zfs get <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable> <replaceable>tank</replaceable></userinput>
+NAME PROPERTY           VALUE SOURCE
+tank custom:costcenter  1234  local</screen>
+
+      <para>Um eine selbstdefinierte Eigenschaft umzubenennen,
+	verwenden Sie <command>zfs inherit</command> mit der Option
+	<option>-r</option>.  Wenn die benutzerdefinierte Eigenschaft
+	nicht in einem der Eltern-Datasets definiert ist, wird diese
+	komplett entfernt (obwohl diese �nderungen nat�rlich in der
+	Historie des Pools noch aufgezeichnet sind).</para>
+
+      <screen>&prompt.root; <userinput>zfs inherit -r <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable> <replaceable>tank</replaceable></userinput>
+&prompt.root; <userinput>zfs get <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable> <replaceable>tank</replaceable></userinput>
+NAME    PROPERTY           VALUE              SOURCE
+tank    custom:costcenter  -                  -
+&prompt.root; <userinput>zfs get all <replaceable>tank</replaceable> | grep <replaceable>custom</replaceable>:<replaceable>costcenter</replaceable></userinput>
+&prompt.root;</screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-snapshot">
+      <title>Verwalten von Schnappsch�ssen</title>
+
+      <para><link linkend="zfs-term-snapshot">Schnappsch�sse</link>
+	sind eine der m�chtigen Eigenschaften von
+	<acronym>ZFS</acronym>.  Ein Schnappschuss bietet einen
+	nur-Lese Zustand eines Datasets zu einem bestimmten Zeitpunkt.
+	Mit Kopieren-beim-Schreiben (Copy-On-Write
+	<acronym>COW</acronym>), k�nnen Schnappsch�sse schnell
+	erstellt werden durch das Aufheben der �lteren Version der
+	Daten auf der Platte.  Falls kein Snapshot existiert, wird der
+	Speicherplatz wieder f�r zuk�nfitge Verwendung freigegeben
+	wenn Daten geschrieben oder gel�scht werden.  Schnappsch�sse
+	sparen Speicherplatz, indem diese nur die Unterschiede
+	zwischen dem momentanen Dataset und der vorherigen Version
+	aufzeichnen. Schnappsch�sse sind nur auf ganzen Datasets
+	erlaubt, nicht auf individuellen Dateien oder Verzeichnissen.
+	Wenn ein Schnappschuss eines Datasets erstellt wird, wird
+	alles was darin enthalten ist, dupliziert.  Das beinhaltet
+	Dateisystemeigenschaften, Dateien, Verzeichnisse, Rechte und
+	so weiter.  Schnappsch�sse ben�tigen keinen zus�tzlichen
+	Speicherplatz wenn diese erstmals angelegt werden, nur wenn
+	Bl�cke, die diese referenzieren, ge�ndert werden.  Rekursive
+	Schnappsch�sse, die mit der Option <option>-r</option>
+	erstellt, erzeugen einen mit dem gleichen Namen des Datasets
+	und all seinen Kindern, was eine konsistente Momentaufnahme
+	aller Dateisysteme darstellt.  Dies kann wichtig sein, wenn
+	eine Anwendung Dateien auf mehreren Datasets ablegt, die
+	miteinander in Verbindung stehen oder voneinander abh�ngig
+	sind.  Ohne Schnappsch�sse w�rde ein Backup Kopien dieser
+	Dateien zu unterschiedlichen Zeitpunkten enthalten.</para> 
+
+      <para>Schnappsch�sse in <acronym>ZFS</acronym> bieten eine
+	Vielzahl von Eigenschaften, die selbst in anderen
+	Dateisystemen mit Schnappschussfunktion nicht vorhanden sind.
+	Ein typisches Beispiel zur Verwendung von Schnappsch�ssen ist,
+	den momentanen Stand des Dateisystems zu sichern,
+	wenn eine riskante Aktion wie das Installieren von Softwre
+	oder eine Systemaktualisierung durchgef�hrt wird.  Wenn diese
+	Aktion fehlschl�gt, so kann der Schnappschuss zur�ckgerollt
+	werden und das System befindet sich wieder in dem gleichen
+	Zustand, wie zu dem, als der Schnappschuss erstellt wurde.
+	Wenn die Aktualisierung jedoch erfolgreich war, kann der
+	Schnappschuss gel�scht werden, um Speicherplatz frei zu geben.
+	Ohne Schnappsch�sse, wird durch ein fehlgeschlagenes Update
+	eine Wiederherstellung der Sicherung f�llig, was oft m�hsam
+	und zeitaufw�ndig ist, ausserdem ist w�hrenddessen das System
+	nicht verwendbar.  Schnappsch�sse lassen sich schnell
+	und mit wenig bis gar keiner Ausfallzeit zur�ckrollen, selbst
+	wenn das System im normalen Betrieb l�uft.  Die Zeitersparnis
+	ist enorm, wenn mehrere Terabyte grosse Speichersysteme
+	eingesetzt werden und viel Zeit f�r das Kopieren der Daten vom
+	Sicherungssystem ben�tigt wird.  Schnappsch�sse sind jedoch
+	keine Ersatz f�r eine Vollsicherung des Pools, k�nnen jedoch
+	als eine schnelle und einfache Sicherungsmethode verwendet
+	werden, um eine Kopie eines Datasets zu einem bestimmten
+	Zeitpunkt zu sichern.</para>
+
+      <sect3 xml:id="zfs-zfs-snapshot-creation">
+	<title>Schnappsch�sse erstellen</title>
+
+	<para>Schnappsch�sse werden durch das Kommando
+	  <command>zfs snapshot
+	    <replaceable>dataset</replaceable>@<replaceable>snapshotname</replaceable></command>
+	  angelegt.  Durch Angabe der Option <option>-r</option>
+	  werden Schnappsch�sse rekursive angelegt, mit dem gleichen
+	  Namen auf allen Datasets.</para>
+
+	<para>Einen rekursiven Schnappschuss des gesamten Pools
+	  erzeugen:</para>
+
+	<screen>&prompt.root; <userinput>zfs list -t all</userinput>
+NAME                                   USED  AVAIL  REFER  MOUNTPOINT
+mypool                                 780M  93.2G   144K  none
+mypool/ROOT                            777M  93.2G   144K  none
+mypool/ROOT/default                    777M  93.2G   777M  /
+mypool/tmp                             176K  93.2G   176K  /tmp
+mypool/usr                             616K  93.2G   144K  /usr
+mypool/usr/home                        184K  93.2G   184K  /usr/home
+mypool/usr/ports                       144K  93.2G   144K  /usr/ports
+mypool/usr/src                         144K  93.2G   144K  /usr/src
+mypool/var                            1.29M  93.2G   616K  /var
+mypool/var/crash                       148K  93.2G   148K  /var/crash
+mypool/var/log                         178K  93.2G   178K  /var/log
+mypool/var/mail                        144K  93.2G   144K  /var/mail
+mypool/var/newname                    87.5K  93.2G  87.5K  /var/newname
+mypool/var/newname@new_snapshot_name      0      -  87.5K  -
+mypool/var/tmp                         152K  93.2G   152K  /var/tmp
+&prompt.root; <userinput>zfs snapshot -r <replaceable>mypool@my_recursive_snapshot</replaceable></userinput>
+&prompt.root; <userinput>zfs list -t snapshot</userinput>
+NAME                                        USED  AVAIL  REFER  MOUNTPOINT
+mypool@my_recursive_snapshot                   0      -   144K  -
+mypool/ROOT@my_recursive_snapshot              0      -   144K  -
+mypool/ROOT/default@my_recursive_snapshot      0      -   777M  -
+mypool/tmp@my_recursive_snapshot               0      -   176K  -
+mypool/usr@my_recursive_snapshot               0      -   144K  -
+mypool/usr/home@my_recursive_snapshot          0      -   184K  -
+mypool/usr/ports@my_recursive_snapshot         0      -   144K  -
+mypool/usr/src@my_recursive_snapshot           0      -   144K  -
+mypool/var@my_recursive_snapshot               0      -   616K  -
+mypool/var/crash@my_recursive_snapshot         0      -   148K  -
+mypool/var/log@my_recursive_snapshot           0      -   178K  -
+mypool/var/mail@my_recursive_snapshot          0      -   144K  -
+mypool/var/newname@new_snapshot_name           0      -  87.5K  -
+mypool/var/newname@my_recursive_snapshot       0      -  87.5K  -
+mypool/var/tmp@my_recursive_snapshot           0      -   152K  -</screen>
+
+	<para>Schnappsch�sse werden nicht durch einen
+	  <command>zfs list</command>-Befehl angezeigt.  Um
+	  Schnappsch�sse mit aufzulisten, muss
+	  <option>-t snapshot</option> an das Kommando
+	  <command>zfs list</command> angeh�ngt werden.  Durch
+	  <option>-t all</option> werden sowohl Dateisysteme als auch
+	  Schnappsch�sse nebeneinander angezeigt.</para>
+
+	<para>Schnappsch�sse werden nicht direkt eingeh�ngt, deshalb
+	  wird auch kein Pfad in der Spalte
+	  <literal>MOUNTPOINT</literal> angezeigt.  Ebenso wird kein
+	  freier Speicherplatz in der Spalte <literal>AVAIL</literal>
+	  aufgelistet, da Schnappsch�sse nicht mehr geschrieben werden
+	  k�nnen, nachdem diese angelegt wurden.  Vergleichen Sie den
+	  Schnappschuss mit dem urspr�nglichen Dataset von dem es
+	  abstammt:</para>
+
+	<screen>&prompt.root; <userinput>zfs list -rt all <replaceable>mypool/usr/home</replaceable></userinput>
+NAME                                    USED  AVAIL  REFER  MOUNTPOINT
+mypool/usr/home                         184K  93.2G   184K  /usr/home
+mypool/usr/home@my_recursive_snapshot      0      -   184K  -</screen>
+
+	<para>Durch das Darstellen des Datasets und des
+	  Schnappschusses nebeneinander zeigt deutlich, wie
+	  Schnappsch�sse in <link linkend="zfs-term-cow">COW</link>
+	  Manier funktionieren.  Sie zeichnen nur die �nderungen
+	  (<emphasis>delta</emphasis>) auf, die w�hrenddessen
+	  enstanden sind und nicht noch einmal den gesamten Inhalt des
+	  Dateisystems.  Das bedeutet, dass Schnappsch�sse nur wenig
+	  Speicherplatz ben�tigen, wenn nur kleine �nderungen
+	  vorgenommen werden.  Der Speicherverbrauch kann sogar noch
+	  deutlicher gemacht werden, wenn eine Datei auf das Dataset
+	  kopiert wird und anschliessend ein zweiter Schnappschuss
+	  angelegt wird:</para>
+
+	<screen>&prompt.root; <userinput>cp <replaceable>/etc/passwd</replaceable> <replaceable>/var/tmp</replaceable></userinput>
+&prompt.root; zfs snapshot <replaceable>mypool/var/tmp</replaceable>@<replaceable>after_cp</replaceable>
+&prompt.root; <userinput>zfs list -rt all <replaceable>mypool/var/tmp</replaceable></userinput>
+NAME                                   USED  AVAIL  REFER  MOUNTPOINT
+mypool/var/tmp                         206K  93.2G   118K  /var/tmp
+mypool/var/tmp@my_recursive_snapshot    88K      -   152K  -
+mypool/var/tmp@after_cp                   0      -   118K  -</screen>
+
+	<para>Der zweite Schnappschuss enth�lt nur die �nderungen am
+	  Dataset, die nach der Kopieraktion gemacht wurden.  Dies
+	  bedeutet enorme Einsparungen von Speicherplatz.  Beachten
+	  Sie, dass sich die Gr�sse des Schnappschusses
+	  <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable>
+	  in der Spalte <literal>USED</literal> ebenfalls
+	  ge�ndert hat, um die �nderungen von sich selbst und dem
+	  Schnappschuss, der im Anschluss angelegt wurde,
+	  anzuzeigen.</para>
+      </sect3>
+
+      <sect3 xml:id="zfs-zfs-snapshot-diff">
+	<title>Schnappsch�sse vergleichen</title>
+
+	<para>ZFS enth�lt ein eingebautes Kommando, um die
+	  Unterschiede zwischen zwei Schnappsch�ssen miteinander zu
+	  vergleichen.  Das ist hilfreich, wenn viele Schnappsch�sse
+	  �ber l�ngere Zeit angelegt wurden und der Benutzer sehen
+	  will, wie sich das Dateisystem �ber diesen Zeitraum
+	  ver�ndert hat.  Beispielsweise kann
+	  <command>zfs diff</command> den letzten Schnappschuss
+	  finden, der noch eine Datei enth�lt, die aus Versehen
+	  gel�scht wurde.  Wenn dies f�r die letzten beiden
+	  Schnappsch�sse aus dem vorherigen Abschnitt durchgef�hrt
+	  wird, ergibt sich folgende Ausgabe:</para>
+
+	<screen>&prompt.root; <userinput>zfs list -rt all <replaceable>mypool/var/tmp</replaceable></userinput>
+NAME                                   USED  AVAIL  REFER  MOUNTPOINT
+mypool/var/tmp                         206K  93.2G   118K  /var/tmp
+mypool/var/tmp@my_recursive_snapshot    88K      -   152K  -
+mypool/var/tmp@after_cp                   0      -   118K  -
+&prompt.root; <userinput>zfs diff <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></userinput>
+M       /var/tmp/
++       /var/tmp/passwd</screen>
+
+	<para>Das Kommando zeigt alle �nderungen zwischen dem
+	  angegebenen Schnappschuss (in diesem Fall
+	  <literal><replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></literal>)
+	  und dem momentan aktuellen Dateisystem.  Die erste Spalte
+	  zeigt die Art der �nderung an:</para>
+
+	<informaltable pgwide="1">
+	  <tgroup cols="2">
+	    <tbody valign="top">
+	      <row>
+		<entry>+</entry>
+		<entry>Das Verzeichnis oder die Datei wurde
+		  hinzugef�gt.</entry>
+	      </row>
+
+	      <row>
+		<entry>-</entry>
+		<entry>Das Verzeichnis oder die Datei wurde
+		  gel�scht.</entry>
+	      </row>
+
+	      <row>
+		<entry>M</entry>
+		<entry>Das Verzeichnis oder die Datei wurde
+		  ge�ndert.</entry>
+	      </row>
+
+	      <row>
+		<entry>R</entry>
+		<entry>Das Verzeichnis oder die Datei wurde
+		  umbenannt.</entry>
+	      </row>
+	    </tbody>
+	  </tgroup>
+	</informaltable>
+
+	<para>Vergleicht man die Ausgabe mit der Tabelle, wird klar,
+	  dass <filename><replaceable>passwd</replaceable></filename>
+	  hinzugef�gt wurde, nachdem der Schnappschuss 
+	  <literal><replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></literal>
+	  erstellt wurde.  Das resultierte ebenfalls in einer �nderung
+	  am dar�berliegenden Verzeichnis, das unter
+	  <literal><replaceable>/var/tmp</replaceable></literal>
+	  eingeh�ngt ist.</para>
+
+	<para>Zwei Schnappsch�sse zu vergleichen ist hilfreich, wenn
+	  die Replikationseigenschaft von <acronym>ZFS</acronym>
+	  verwendet wird, um ein Dataset auf einen anderen Host zu
+	  Sicherungszwecken �bertragen.</para>
+
+	<para>Zwei Schnappsch�sse durch die Angabe des kompletten
+	  Namens des Datasets und dem Namen des Schnappschusses beider
+	  Datasets vergleichen:</para>
+
+	<screen>&prompt.root; <userinput>cp /var/tmp/passwd /var/tmp/passwd.copy</userinput>
+&prompt.root; <userinput>zfs snapshot <replaceable>mypool/var/tmp@diff_snapshot</replaceable></userinput>
+&prompt.root; <userinput>zfs diff <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable> <replaceable>mypool/var/tmp@diff_snapshot</replaceable></userinput>
+M       /var/tmp/
++       /var/tmp/passwd
++       /var/tmp/passwd.copy
+&prompt.root; <userinput>zfs diff <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable> <replaceable>mypool/var/tmp@after_cp</replaceable></userinput>
+M       /var/tmp/
++       /var/tmp/passwd</screen>
+
+	<para>Ein Administrator, der f�r die Sicherung zust�ndig ist,
+	  kann zwei Schnappsch�sse miteinander vergleichen, die vom
+	  sendenen Host empfangen wurden, um festzustellen, welche
+	  �nderungen am Dataset vorgenommen wurden. Lesen Sie dazu den
+	  Abschnitt <link linkend="zfs-zfs-send">Replication</link>
+	  um weitere Informationen zu erhalten.</para>
+      </sect3>
+
+      <sect3 xml:id="zfs-zfs-snapshot-rollback">
+	<title>Schnappsch�sse zur�ckrollen</title>
+
+	<para>Wenn zumindest ein Schnappschuss vorhanden ist, kann
+	  dieser zu einem beliebigen Zeitpunkt zur�ckgerollt werden.
+	  In den meisten F�llen passiert dies, wenn der aktuelle
+	  Zustand des Datasets nicht mehr ben�tigt wurd und eine
+	  �ltere Version bevorzugt wird.  Szenarien wie lokale
+	  Entwicklungstests, die fehlgeschlagen sind, defekte
+	  Systemaktualisierungen, welche die Funktionalit�t des
+	  Gesamtsystems einschr�nken oder die Anforderung,
+	  versehentlich gel�schte Dateien oder Verzeichnisse
+	  wiederherzustellen, sind allgegenw�rtig.  Gl�cklicherweise
+	  ist das zur�ckrollen eines Schnappschusses so leicht wie die
+	  Eingabe von
+	  <command>zfs rollback
+	    <replaceable>snapshotname</replaceable></command>.
+	  Abh�ngig davon, wie viele �nderungen betroffen sind, wird
+	  diese Operation innerhalb einer gewissen Zeit abgeschlossen
+	  sein.  W�hrend dieser Zeit bleibt das Dataset in einem
+	  konsistenten Zustand, sehr �hnlich den ACID-Prinzipien, die
+	  eine Datenbank beim Zur�ckrollen entspricht.  W�hrend all
+	  dies passiert, ist das Dataset immer noch aktiv und
+	  erreichbar ohne dass eine Ausfallzeit n�tig w�re.  Sobald
+	  der Schnappschuss zur�ckgerollt wurde, besitzt das Dataset
+	  den gleichen Zustand, den es besass, als der Schnappschuss
+	  angelegt wurde.  Alle anderen Daten in diesem Dataset, die
+	  nicht Teil des Schnappschusses sind, werden verworfen.
+	  Einen Schnappschuss des aktuellen Zustandes des Datasets vor
+	  dem Zur�ckrollen anzulegen ist eine gute Idee, wenn
+	  hinterher noch Daten ben�tigt werden.  Auf diese Weise kann
+	  der Benutzer vor und zur�ck zwischen den Schnappsch�ssen
+	  springen, ohne wertvolle Daten zu verlieren.</para>
+
+	<para>Im ersten Beispiel wird en Schnappschuss aufgrund eines
+	  unvorsichtigen <command>rm</command>-Befehls zur�ckgerollt,
+	  der zuviele Daten gel�scht hat, als vorgesehen.</para>
+
+	<screen>&prompt.root; <userinput>zfs list -rt all <replaceable>mypool/var/tmp</replaceable></userinput>
+NAME                                   USED  AVAIL  REFER  MOUNTPOINT
+mypool/var/tmp                         262K  93.2G   120K  /var/tmp
+mypool/var/tmp@my_recursive_snapshot    88K      -   152K  -
+mypool/var/tmp@after_cp               53.5K      -   118K  -
+mypool/var/tmp@diff_snapshot              0      -   120K  -
+&prompt.user; <userinput>ls /var/tmp</userinput>
+passwd          passwd.copy
+&prompt.user; <userinput>rm /var/tmp/passwd*</userinput>
+&prompt.user; <userinput>ls /var/tmp</userinput>
+vi.recover
+&prompt.user;</screen>
+
+	<para>Zu diesem Zeitpunkt bemerkt der Benutzer, dass zuviele
+	  Dateien gel�scht wurden und m�chte diese zur�ck haben.
+	  <acronym>ZFS</acronym> bietet eine einfache M�glichkeit,
+	  diese durch zur�ckrollen zur�ck zu bekommen, allerdings nur,
+	  wenn Schnappsch�sse von wichtigen Daten regelm�ssig angelegt
+	  werden.  Um die Dateien zur�ckzuerhalten und vom letzten
+	  Schnappschuss wieder zu beginnen, geben Sie ein:</para>
+
+	<screen>&prompt.root; <userinput>zfs rollback <replaceable>mypool/var/tmp@diff_snapshot</replaceable></userinput>
+&prompt.user; <userinput>ls /var/tmp</userinput>
+passwd          passwd.copy     vi.recover</screen>
+
+	<para>Die Operation zum Zur�ckrollen versetzt das Dataset in
+	  den Zustand des letzten Schnappschusses zur�ck.  Es ist
+	  ebenfalls m�glich, zu einem Schnappschuss zur�ckzurollen,
+	  der viel fr�her angelegt wurde und es noch Schnappsch�sse
+	  nach diesem gibt.  Wenn Sie dies versuchen, gibt
+	  <acronym>ZFS</acronym> die folgende Warnung aus:</para>
+
+	<screen>&prompt.root; <userinput>zfs list -rt snapshot <replaceable>mypool/var/tmp</replaceable></userinput>
+AME                                   USED  AVAIL  REFER  MOUNTPOINT
+mypool/var/tmp@my_recursive_snapshot    88K      -   152K  -
+mypool/var/tmp@after_cp               53.5K      -   118K  -
+mypool/var/tmp@diff_snapshot              0      -   120K  -
+&prompt.root; <userinput>zfs rollback <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></userinput>
+cannot rollback to 'mypool/var/tmp@my_recursive_snapshot': more recent snapshots exist
+use '-r' to force deletion of the following snapshots:
+mypool/var/tmp@after_cp
+mypool/var/tmp@diff_snapshot</screen>
+
+	<para>Diese Warnung bedeutet, dass noch Schnappsch�sse
+	  zwischen dem momentanen Stand des Datasets und dem
+	  Schnappschuss, zu dem der Benutzer zur�ckrollen m�chte,
+	  existieren.  Um das Zur�ckrollen durchzuf�hren, m�ssen die
+	  Schnappsch�sse gel�scht werden. <acronym>ZFS</acronym> kann
+	  nicht alle �nderungen zwischen verschiedenen Zust�nden
+	  eines Datasets verfolgen, da Schnappsch�sse zur gelesen
+	  werden k�nnen.  <acronym>ZFS</acronym> wird nicht die
+	  betroffenen Schnappsch�sse l�schen, es sei denn, der
+	  Benutzer verwendet die Option <option>-r</option>, um
+	  anzugeben, dass dies die gew�nschte Aktion ist.  Falls dies
+	  der Fall ist und die Konsequenzen alle dazwischenliegenden
+	  Schnappsch�sse zu verlieren verstanden wurden, kann der
+	  Befehl abgesetzt werden:</para>
+
+	<screen>&prompt.root; <userinput>zfs rollback -r <replaceable>mypool/var/tmp@my_recursive_snapshot</replaceable></userinput>
+&prompt.root; <userinput>zfs list -rt snapshot <replaceable>mypool/var/tmp</replaceable></userinput>
+NAME                                   USED  AVAIL  REFER  MOUNTPOINT
+mypool/var/tmp@my_recursive_snapshot     8K      -   152K  -
+&prompt.user; <userinput>ls /var/tmp</userinput>
+vi.recover</screen>
+
+	<para>Die Ausgabe von <command>zfs list -t snapshot</command>
+	  best�tigt, dass die dazwischenliegenden Schnappsch�sse als
+	  Ergebnis von <command>zfs rollback -r</command> entfernt
+	  wurden.</para>
+      </sect3>
+
+      <sect3 xml:id="zfs-zfs-snapshot-snapdir">
+	<title>Individuelle Dateien aus Schnappsch�ssen
+	  wiederherstellen</title>
+
+	<para>Schnappsch�sse sind unter einem versteckten Verzeichnis
+	  unter dem Eltern-Dataset eingeh�ngt:
+	  <filename>.zfs/snapshots/<replaceable>snapshotname</replaceable></filename>.
+	  Standardm�ssig werden diese Verzeichnisse nicht von einem
+	  gew�hnlichen <command>ls -a</command> angezeigt.  Obwohl
+	  diese Verzeichnisse nicht angezeigt werden, sind diese
+	  trotzdem vorhanden und der Zugriff darauf erfolgt wie auf
+	  jedes andere Verzeichnis.  Die Eigenschaft
+	  <literal>snapdir</literal> steuert, ob diese Verzeichnisse
+	  beim Auflisten eines Verzeichnisses angezeigt werden oder
+	  nicht.  Das Einstellen der Eigenschaft auf den Wert
+	  <literal>visible</literal> erlaubt es, diese in der Ausgabe
+	  von <command>ls</command> und anderen Kommandos, die
+	  mit Verzeichnisinhalten umgehen k�nnen, anzuzeigen.</para>
+
+	<screen>&prompt.root; <userinput>zfs get snapdir <replaceable>mypool/var/tmp</replaceable></userinput>
+NAME            PROPERTY  VALUE    SOURCE
+mypool/var/tmp  snapdir   hidden   default
+&prompt.user; <userinput>ls -a /var/tmp</userinput>
+.               ..              passwd          vi.recover
+&prompt.root; <userinput>zfs set snapdir=visible <replaceable>mypool/var/tmp</replaceable></userinput>
+&prompt.user; <userinput>ls -a /var/tmp</userinput>
+.               ..              .zfs            passwd          vi.recover</screen>
+
+	<para>Einzelne Dateien lassen sich einfach auf einen
+	  vorherigen Stand wiederherstellen, indem diese aus dem
+	  Schnappschuss zur�ck in das Eltern-Dataset kopiert werden.
+	  Die Verzeichnisstruktur unterhalb von
+	  <filename>.zfs/snapshot</filename> enth�lt ein Verzeichnis,
+	  das exakt wie der Schnappschuss benannt ist, der zuvor
+	  angelegt wurde, um es einfacher zu machen, diese zu
+	  identifizieren.  Im n�chsten Beispiel wird angenommen, dass
+	  eine Datei aus dem versteckten
+	  <filename>.zfs</filename> Verzeichnis durch kopieren aus dem
+	  Schnappschuss, der die letzte Version dieser Datei enthielt,
+	  wiederhergestellt wird:</para>
+
+	<screen>&prompt.root; <userinput>rm /var/tmp/passwd</userinput>
+&prompt.user; <userinput>ls -a /var/tmp</userinput>
+.               ..              .zfs            vi.recover
+&prompt.root; <userinput>ls /var/tmp/.zfs/snapshot</userinput>
+after_cp                my_recursive_snapshot
+&prompt.root; <userinput>ls /var/tmp/.zfs/snapshot/<replaceable>after_cp</replaceable></userinput>
+passwd          vi.recover
+&prompt.root; <userinput>cp /var/tmp/.zfs/snapshot/<replaceable>after_cp/passwd</replaceable> <replaceable>/var/tmp</replaceable></userinput></screen>
+
+	<para>Als <command>ls .zfs/snapshot</command> ausgef�hrt
+	  wurde, war die <literal>snapdir</literal>-Eigenschaft
+	  m�glicherweise nicht auf hidden gesetzt, trotzdem ist es
+	  immer noch m�glich, den Inhalt dieses Verzeichnisses
+	  aufzulisten.  Es liegt am Administrator zu entscheiden, ob
+	  diese Verzeichnisse angezeigt werden soll.  Es ist m�glich,
+	  diese f�r bestimmte Datasets anzuzeigen und f�r andere zu
+	  verstecken.  Das Kopieren von Dateien oder Verzeichnissen
+	  aus diesem versteckten <filename>.zfs/snapshot</filename>
+	  Verzeichnis ist einfach genug.  Jedoch f�hrt der umgekehrte
+	  Weg zu einem Fehler:</para>
+
+	<screen>&prompt.root; <userinput>cp <replaceable>/etc/rc.conf</replaceable> /var/tmp/.zfs/snapshot/<replaceable>after_cp/</replaceable></userinput>
+cp: /var/tmp/.zfs/snapshot/after_cp/rc.conf: Read-only file system</screen>
+
+	<para>Der Fehler erinnert den Benutzer daran, dass
+	  Schnappsch�sse nur gelesen aber nicht mehr ge�ndert werden
+	  k�nnen, nachdem diese angelegt wurden.  Es k�nnen keine
+	  Dateien in diese Schnappschuss-Verzeichnisse kopiert oder
+	  daraus gel�scht werden, da dies sonst den Zustand des
+	  Datasets ver�ndern w�rde, den sie repr�sentieren.</para>
+
+	<para>Schnappsch�sse verbrauchen Speicherplatz basierend auf
+	  der Menge an �nderungen, die am Eltern-Dataset durchgef�hrt
+	  wurden, seit der Zeit als der Schnappschuss erstellt wurde.
+	  Die Eigenschaft <literal>written</literal> eines
+	  Schnappschusses verfolgt, wieviel Speicherplatz vom
+	  Schnappschuss belegt wird.</para>
+
+	<para>Schnappsch�sse werden zerst�rt und der belegte Platz
+	  wieder freigegeben durch den Befehl
+	  <command>zfs destroy
+	    <replaceable>dataset</replaceable>@<replaceable>snapshot</replaceable></command>.
+	  Durch hinzuf�gen von <option>-r</option> werden alle
+	  Schnappsch�sse rekursiv gel�scht, die den gleichen Namen wie
+	  das Eltern-Dataset besitzen.  Mit der Option
+	  <option>-n -v</option> wird eine Liste von Schnappsch�ssen,
+	  die gel�scht werden w�rden, zusammen mit einer gesch�tzten
+	  Menge an zur�ckgewonnenem Speicherplatz angezeigt, ohne die
+	  eigentliche Zerst�roperation wirklich durchzuf�hren.</para>
+      </sect3>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-clones">
+      <title>Klone verwalten</title>
+
+      <para>Ein Klon ist eine Kopie eines Schnappschusses, der mehr
+	wie ein regul�res Dataset behandelt wird.  Im Gegensatz zu
+	Schnappsch�ssen kann man von einem Klon nicht nur lesen, er
+	ist eingeh�ngt und kann seine eigenen Eigenschaften haben.
+	Sobald ein Klon mittels <command>zfs clone</command> erstellt
+	wurde, l�sst sich der zugrundeliegende Schnappschuss nicht
+	mehr zerst�ren.  Die Eltern-/Kindbeziehung zwischen dem Klon
+	und dem Schnappschuss kann �ber
+	<command>zfs promote</command> aufgel�st werden.  Nachdem ein
+	Klon auf diese Weise bef�rdert wurde, wird der Schnappschuss
+	zum Kind des Klons, anstatt des urspr�nglichen Datasets.  Dies
+	wird die Art und Weise, wie der Speicherplatz berechnet wird,
+	ver�ndern, jedoch nicht den bereits belegten Speicher
+	anpassen.  Der Klon kann an einem beliebigen Punkt innerhalb
+	der <acronym>ZFS</acronym>-Dateisystemhierarchie eingeh�ngt
+	werden, nur nicht unterhalb der urspr�nglichen Stelle des
+	Schnappschusses.</para>
+
+      <para>Um diese Klon-Funktionalit�t zu demonstrieren, wird dieses
+        Beispiel-Dataset verwendet:</para>
+
+      <screen>&prompt.root; <userinput>zfs list -rt all <replaceable>camino/home/joe</replaceable></userinput>
+NAME                    USED  AVAIL  REFER  MOUNTPOINT
+camino/home/joe         108K   1.3G    87K  /usr/home/joe
+camino/home/joe@plans    21K      -  85.5K  -
+camino/home/joe@backup    0K      -    87K  -</screen>
+
+      <para>Ein typischer Einsatzzweck f�r Klone ist das
+	experimentieren mit einem bestimmten Dataset, w�hrend der
+	Schnappschuss beibehalten wird f�r den Fall, dass etwas
+	schiefgeht.  Da Schnappsch�sse nicht ver�ndert werden k�nnen,
+	wird ein Lese-/Schreibklon des Schnappschusses angelegt.
+	Nachdem das gew�nschte Ergebnis im Klon erreicht wurde, kann
+	der Klon zu einem Dataset ernannt und das alte Dateisystem
+	entfernt werden.  Streng genommen ist das nicht n�tig, da der
+	Klon und das Dataset ohne Probleme miteinander koexistieren
+	k�nnen.</para>
+
+      <screen>&prompt.root; <userinput>zfs clone <replaceable>camino/home/joe</replaceable>@<replaceable>backup</replaceable> <replaceable>camino/home/joenew</replaceable></userinput>
+&prompt.root; <userinput>ls /usr/home/joe*</userinput>
+/usr/home/joe:
+backup.txz     plans.txt
+
+/usr/home/joenew:
+backup.txz     plans.txt
+&prompt.root; <userinput>df -h /usr/home</userinput>
+Filesystem          Size    Used   Avail Capacity  Mounted on
+usr/home/joe        1.3G     31k    1.3G     0%    /usr/home/joe
+usr/home/joenew     1.3G     31k    1.3G     0%    /usr/home/joenew</screen>
+
+      <para>Nachdem ein Klon erstellt wurde, stellt er eine exakte
+	Kopie des Datasets zu dem Zeitpunkt dar, als der Schnappschuss
+	angelegt wurde.  Der Klon kann nun unabh�ngig vom
+	urspr�nglichen Dataset ge�ndert werden.  Die einzige
+	Verbindung zwischen den beiden ist der Schnappschuss.
+	<acronym>ZFS</acronym> zeichnet diese Verbindung in der
+	Eigenschaft namens <literal>origin</literal> auf.  Sobald die
+	Abh�ngigkeit zwischen dem Schnappschuss und dem Klon durch das
+	Bef�rdern des Klons mittels <command>zfs promote</command>
+	entfernt wurde, wird auch die 
+	<literal>origin</literal>-Eigenschaft des Klons entfernt, da
+	es sich nun um ein eigenst�ndiges Dataset handelt.  Dieses
+	Beispiel demonstriert dies:</para>
+
+      <screen>&prompt.root; <userinput>zfs get origin <replaceable>camino/home/joenew</replaceable></userinput>
+NAME                  PROPERTY  VALUE                     SOURCE
+camino/home/joenew    origin    camino/home/joe@backup    -
+&prompt.root; <userinput>zfs promote <replaceable>camino/home/joenew</replaceable></userinput>
+&prompt.root; <userinput>zfs get origin <replaceable>camino/home/joenew</replaceable></userinput>
+NAME                  PROPERTY  VALUE   SOURCE
+camino/home/joenew    origin    -       -</screen>
+
+      <para>Nachdem ein paar �nderungen, wie beispielsweise das
+	Kopieren von <filename>loader.conf</filename> auf den
+	bef�rderten Klon vorgenommen wurden, wird das alte Verzeichnis
+	in diesem Fall �berfl�ssig.  Stattdessen kann der bef�rderte
+	Klon diesen ersetzen.  Dies kann durch zwei
+	aufeinanderfolgende Befehl geschehen: <command>zfs
+	  destroy</command> auf dem alten Dataset und <command>zfs
+	  rename</command> auf dem Klon, um diesen genauso wie das
+	alte Dataset zu benennen (es kann auch einen ganz anderen
+	Namen erhalten).</para>
+
+      <screen>&prompt.root; <userinput>cp <replaceable>/boot/defaults/loader.conf</replaceable> <replaceable>/usr/home/joenew</replaceable></userinput>
+&prompt.root; <userinput>zfs destroy -f <replaceable>camino/home/joe</replaceable></userinput>
+&prompt.root; <userinput>zfs rename <replaceable>camino/home/joenew</replaceable> <replaceable>camino/home/joe</replaceable></userinput>
+&prompt.root; <userinput>ls /usr/home/joe</userinput>
+backup.txz     loader.conf     plans.txt
+&prompt.root; <userinput>df -h <replaceable>/usr/home</replaceable></userinput>
+Filesystem          Size    Used   Avail Capacity  Mounted on
+usr/home/joe        1.3G    128k    1.3G     0%    /usr/home/joe</screen>
+
+      <para>Der geklonte Schnappschuss wird jetzt wie ein
+	gew�hnliches Dataset behandelt.  Es enth�lt alle Daten aus dem
+	urspr�nglichen Schnappschuss inklusive der Dateien, die
+	anschliessend hinzugef�gt wurden, wie
+	<filename>loader.conf</filename>.  Klone k�nnen in
+	unterschiedlichen Szenarien eingesetzt werden, um n�tzliche
+	Eigenschaften f�r ZFS-Anwender zur Verf�gung zu stellen.
+	Zum Beispiel k�nnen Jails als Schnappsch�sse bereitgestellt
+	werden, die verschiedene Arten von installierten Anwendungen
+	anbieten.  Anwender k�nnen diese Schnappsch�sse klonen und
+	ihre eigenen Anwendungen nach belieben hinzuf�gen.  Sobald
+	sie mit den �nderungen zufrieden sind, k�nnen die Klone zu
+	vollst�ndigen Datasets ernannt werden und dem Anwender zur
+	Verf�gung gestellt werden, als w�rde es sich um echte
+	Datasets handeln.  Das spart Zeit und Administrationsaufwand,
+	wenn diese Jails auf diese Weise zur Verf�gung gestellt
+	werden.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-send">
+      <title>Replikation</title>
+
+      <para>Daten auf einem einzigen Pool an einem Platz
+	aufzubewahren, setzt diese dem Risiko aus, gestohlen oder
+	Opfer von Naturgewalten zu werden, sowie menschlichem
+	Versagen auszusetzen.   Regelm�ssige Sicherungen des gesamten
+	Pools ist daher unerl�sslich.  <acronym>ZFS</acronym> bietet
+	eine Reihe von eingebauten Serialisierungsfunktionen an, die
+	in der Lage ist, eine Repr�sentation der Daten als Datenstrom
+	auf die Standardausgabe zu schreiben.  Mit dieser Methode ist
+	es nicht nur m�glich, die Daten auf einen anderen Pool zu
+	schicken, der an das lokale System angeschlossen ist, sondern
+	ihn auch �ber ein Netzwerk an ein anderes System zu senden.
+	Schnappsch�sse stellen daf�r die Replikationsbasis bereit
+	(lesen Sie dazu den Abschnitt zu <link
+	linkend="zfs-zfs-snapshot"><acronym>ZFS</acronym>
+	  snapshots</link>).  Die Befehle, die f�r die Replikation
+	verwendet werden, sind <command>zfs send</command> und
+	<command>zfs receive</command>.</para>
+
+      <para>Diese Beispiele demonstrieren die Replikation von
+	<acronym>ZFS</acronym> anhand dieser beiden Pools:</para>
+
+      <screen>&prompt.root; <userinput>zpool list</userinput>
+NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
+backup  960M    77K   896M     0%  1.00x  ONLINE  -
+mypool  984M  43.7M   940M     4%  1.00x  ONLINE  -</screen>
+
+      <para>Der Pool namens <replaceable>mypool</replaceable> ist der
+	prim�re Pool, auf den regelm�ssig Daten geschrieben und auch
+	wieder gelesen werden. Ein zweiter Pool, genannt
+	<replaceable>backup</replaceable> wird verwendet, um als
+	Reserve zu dienen im Falle, dass der prim�re Pool nicht zur
+	Verf�gung steht.  Beachten Sie, dass diese Ausfallsicherung
+	nicht automatisch von <acronym>ZFS</acronym> durchgef�hrt
+	wird, sondern manuell von einem Systemadministrator bei Bedarf
+	eingerichtet werden muss.  Ein Schnappschuss wird verwendet,
+	um einen konsistenten Zustand des Dateisystems, das repliziert
+	werden soll, zu erzeugen.  Sobald ein Schnappschuss von
+	<replaceable>mypool</replaceable> angelegt wurde, kann er auf
+	den <replaceable>backup</replaceable>-Pool abgelegt werden.
+	Nur Schnappsch�sse lassen sich auf diese Weise replizieren.
+	�nderungen, die seit dem letzten Schnappschuss entstanden
+	sind, werden nicht mit repliziert.</para> 
+
+      <screen>&prompt.root; <userinput>zfs snapshot <replaceable>mypool</replaceable>@<replaceable>backup1</replaceable></userinput>
+&prompt.root; <userinput>zfs list -t snapshot</userinput>
+NAME                    USED  AVAIL  REFER  MOUNTPOINT
+mypool@backup1             0      -  43.6M  -</screen>
+
+      <para>Da nun ein Schnappschuss existiert, kann mit
+	<command>zfs send</command> ein Datenstrom, der den Inhalt des
+	Schnappschusses repr�sentiert, erstellt werden.  Dieser
+	Datenstrom kann als Datei gespeichert oder von einem
+	anderen Pool empfangen werden.  Der Datenstrom wird auf die
+	Standardausgabe geschrieben, muss jedoch in eine Datei oder
+	in eine Pipe umgeleitet werden, sonst wird ein Fehler
+	produziert:</para>
+
+      <screen>&prompt.root; <userinput>zfs send <replaceable>mypool</replaceable>@<replaceable>backup1</replaceable></userinput>
+Error: Stream can not be written to a terminal.
+You must redirect standard output.</screen>
+
+      <para>Um ein Dataset mit <command>zfs send</command> zu
+	replizieren, leiten Sie dieses in eine Datei auf dem
+	eingeh�ngten Backup-Pool um.  Stellen Sie sicher, dass der
+	Pool genug freien Speicherplatz besitzt, um die Gr�sse des
+	gesendeten Schnappschusses aufzunehmen.  Das beinhaltet alle
+	Daten im Schnappschuss, nicht nur die �nderungen zum
+	vorherigen Schnappschuss.</para> 
+
+      <screen>&prompt.root; <userinput>zfs send <replaceable>mypool</replaceable>@<replaceable>backup1</replaceable> > <replaceable>/backup/backup1</replaceable></userinput>
+&prompt.root; <userinput>zpool list</userinput>
+NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
+backup  960M  63.7M   896M     6%  1.00x  ONLINE  -
+mypool  984M  43.7M   940M     4%  1.00x  ONLINE  -</screen>
+
+      <para>Das Kommando <command>zfs send</command> transferierte
+	alle Daten im <replaceable>backup1</replaceable>-Schnappschuss
+	auf den Pool namens <replaceable>backup</replaceable>.
+	Erstellen und senden eines Schnappschusses kann automatisch
+	von &man.cron.8; durchgef�hrt werden.</para>
+
+      <para>Anstatt die Sicherungen als Archivdateien zu speichern,
+	kann <acronym>ZFS</acronym> diese auch als aktives Dateisystem
+	empfangen, was es erlaubt, direkt auf die gesicherten Daten
+	zuzugreifen.  Um an die eigentlichen Daten in diesem Strom zu
+	gelangen, wird <command>zfs receive</command> benutzt, um den
+	Strom wieder in Dateien und Verzeichnisse umzuwandeln.  Das
+	Beispiel unten kombiniert <command>zfs send</command> und
+	<command>zfs receive</command> durch eine Pipe, um die Daten
+	von einem Pool auf den anderen zu kopieren.  Die Daten k�nnen
+	direkt auf dem empfangenden Pool verwendet werden, nachdem der
+	Transfer abgeschlossen ist.  Ein Dataset kann nur auf ein
+	leeres Dataset repliziert werden.</para>
+
+      <screen>&prompt.root; <userinput>zfs snapshot <replaceable>mypool</replaceable>@<replaceable>replica1</replaceable></userinput>
+&prompt.root; <userinput>zfs send -v <replaceable>mypool</replaceable>@<replaceable>replica1</replaceable> | zfs receive <replaceable>backup/mypool</replaceable></userinput>
+send from @ to mypool@replica1 estimated size is 50.1M
+total estimated size is 50.1M
+TIME        SENT   SNAPSHOT
+
+&prompt.root; <userinput>zpool list</userinput>
+NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
+backup  960M  63.7M   896M     6%  1.00x  ONLINE  -
+mypool  984M  43.7M   940M     4%  1.00x  ONLINE  -</screen>
+
+      <sect3 xml:id="zfs-send-incremental">
+	<title>Inkrementelle Sicherungen</title>
+
+	<para>Die Unterschiede zwischen zwei Schnappsch�ssen kann
+	  <command>zfs send</command> ebenfalls erkennen und nur diese
+	  �bertragen.  Dies spart Speicherplatz und �bertragungszeit.
+	  Beispielsweise:</para>
+
+	<screen>&prompt.root; <userinput>zfs snapshot <replaceable>mypool</replaceable>@<replaceable>replica2</replaceable></userinput>
+&prompt.root; <userinput>zfs list -t snapshot</userinput>
+NAME                    USED  AVAIL  REFER  MOUNTPOINT
+mypool@replica1         5.72M      -  43.6M  -
+mypool@replica2             0      -  44.1M  -
+&prompt.root; <userinput>zpool list</userinput>
+NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
+backup  960M  61.7M   898M     6%  1.00x  ONLINE  -
+mypool  960M  50.2M   910M     5%  1.00x  ONLINE  -</screen>
+
+	<para>Ein zweiter Schnappschuss genannt
+	  <replaceable>replica2</replaceable> wurde angelegt.  Dieser
+	  zweite Schnappschuss enth�lt nur die �nderungen, die
+	  zwischen dem jetzigen Stand des Dateisystems und dem
+	  vorherigen Schnappschuss,
+	  <replaceable>replica1</replaceable>, vorgenommen wurden.
+	  Durch <command>zfs send -i</command> und die Angabe des
+	  Schnappschusspaares wird ein inkrementeller
+	  Replikationsstrom erzeugt, welcher nur die Daten enth�lt,
+	  die sich ge�ndert haben.  Das kann nur erfolgreich sein,
+	  wenn der initiale Schnappschuss bereits auf der
+	  Empf�ngerseite vorhanden ist.</para>
+
+	<screen>&prompt.root; <userinput>zfs send -v -i <replaceable>mypool</replaceable>@<replaceable>replica1</replaceable> <replaceable>mypool</replaceable>@<replaceable>replica2</replaceable> | zfs receive <replaceable>/backup/mypool</replaceable></userinput>
+send from @replica1 to mypool@replica2 estimated size is 5.02M
+total estimated size is 5.02M
+TIME        SENT   SNAPSHOT
+
+&prompt.root; <userinput>zpool list</userinput>
+NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
+backup  960M  80.8M   879M     8%  1.00x  ONLINE  -
+mypool  960M  50.2M   910M     5%  1.00x  ONLINE  -
+
+&prompt.root; <userinput>zfs list</userinput>
+NAME                         USED  AVAIL  REFER  MOUNTPOINT
+backup                      55.4M   240G   152K  /backup
+backup/mypool               55.3M   240G  55.2M  /backup/mypool
+mypool                      55.6M  11.6G  55.0M  /mypool
+
+&prompt.root; <userinput>zfs list -t snapshot</userinput>
+NAME                                         USED  AVAIL  REFER  MOUNTPOINT
+backup/mypool@replica1                       104K      -  50.2M  -
+backup/mypool@replica2                          0      -  55.2M  -
+mypool@replica1                             29.9K      -  50.0M  -
+mypool@replica2                                 0      -  55.0M  -</screen>
+
+	<para>Der inkrementelle Datenstrom wurde erfolgreich
+	  �bertragen.  Nur die Daten, die ver�ndert wurden, sind
+	  �bertragen worden, anstatt das komplette
+	  <replaceable>replica1</replaceable>.  Nur die Unterschiede
+	  wurden gesendet, was weniger Zeit und Speicherplatz in
+	  Anspruch genommen hat, statt jedesmal den gesamten Pool zu
+	  kopieren.  Das ist hilfreich wenn langsame Netzwerke oder
+	  Kosten f�r die �bertragene Menge Bytes in Erw�gung gezogen
+	  werden m�ssen.</para>
+
+	<para>Ein neues Dateisystem,
+	  <replaceable>backup/mypool</replaceable>, ist mit allen
+	  Dateien und Daten vom Pool
+	  <replaceable>mypool</replaceable> verf�gbar.  Wenn die
+	  Option <option>-P</option> angegeben wird, werden die
+	  Eigenschaften des Datasets kopiert, einschliesslich der
+	  Komprimierungseinstellungen, Quotas und Einh�ngpunkte. 
+	  Wird die Option <option>-R</option> verwendet, so werden
+	  alle Kind-Datasets des angegebenen Datasets kopiert,
+	  zusammen mit ihren Eigenschaften.  Senden und Empfangen kann
+	  automatisiert werden, so dass regelm�ssig Sicherungen auf
+	  dem zweiten Pool angelegt werden.</para>
+      </sect3>
+
+      <sect3 xml:id="zfs-send-ssh">
+	<title>Verschl�sselte Sicherungen �ber
+	  <application>SSH</application> senden</title>
+
+	<para>Datenstr�me �ber das Netzwerk zu schicken ist eine gute
+	  Methode, um Sicherungen ausserhalb des Systems anzulegen.
+	  Jedoch ist dies auch mit einem Nachteil verbunden.  Daten,
+	  die �ber die Leitung verschickt werden, sind nicht
+	  verschl�sselt, was es jedem erlaubt, die Daten abzufangen
+	  und die Str�me wieder zur�ck in Daten umzuwandeln, ohne dass
+	  der sendende Benutzer davon etwas merkt.  Dies ist eine
+	  unerw�nschte Situation, besonders wenn die Datenstr�me �ber
+	  das Internet auf ein entferntes System gesendet werden.
+	  <application>SSH</application> kann benutzt werden, um
+	  durch Verschl�sselung gesch�tzte Daten �ber eine
+	  Netzwerkverbindung zu �bertragen. Da <acronym>ZFS</acronym>
+	  nur die Anforderung hat, dass der Strom von der
+	  Standardausgaben umgeleitet wird, ist es relativ einfach,
+	  diesen durch <application>SSH</application> zu leiten.  Um
+	  den Inhalt des Dateisystems w�hrend der �bertragung und auf
+	  dem entfernten System weiterhin verschl�sselt zu lassen,
+	  denken Sie �ber den Einsatz von <link
+	    xlink:href="http://wiki.freebsd.org/PEFS">PEFS</link>
+	  nach.</para>
+
+	<para>Ein paar Einstellungen udn Sicherheitsvorkehrungen
+	  m�ssen zuvor abgeschlossen sein.  Es werden hier nur die
+	  n�tigen Schritte f�r die <command>zfs send</command>-Aktion
+	  gezeigt. Weiterf�hrende Informationen zu
+	  <application>SSH</application>, gibt es im Kapitel
+	  <xref linkend="openssh"/>.</para>
+
+	<para>Die folgende Konfiguration wird ben�tigt:</para>
+
+	<itemizedlist>
+	  <listitem>
+	    <para>Passwortloser <application>SSH</application>-Zugang
+	      zwischen dem sendenden und dem empfangenden Host durch
+	      den Einsatz von
+	      <application>SSH</application>-Schl�sseln.</para>
+	  </listitem>
+
+	  <listitem>
+	    <para>Normalerweise werden die Privilegien des <systemitem
+		class="username">root</systemitem>-Benutzers
+	      gebraucht, um Strom zu senden und zu empfangen.  Das
+	      beinhaltet das Anmelden auf dem empfangenden System als
+	      <systemitem class="username">root</systemitem>.
+	      Allerdings ist das Anmelden als <systemitem
+	      class="username">root</systemitem> aus
+	      Sicherheitsgr�nden standardm�ssig deaktiviert.  Mit
+	      <link linkend="zfs-zfs-allow">ZFS Delegation</link>
+	      lassen sich nicht-<systemitem
+	      class="username">root</systemitem>-Benutzer auf jedem
+	      System einrichten, welche die n�tigen Rechte besitzen,
+	      um die Sende- und Empfangsoperation
+	      durchzuf�hren.</para> 
+	  </listitem>
+
+	  <listitem>
+	    <para>Auf dem sendenden System:</para>
+
+	    <screen>&prompt.root; <command>zfs allow -u someuser send,snapshot <replaceable>mypool</replaceable></command></screen>
+	  </listitem>
+
+	  <listitem>
+	    <para>Um den Pool einzuh�ngen, muss der unpriviligierte
+	      Benutzer das Verzeichnis besitzen und gew�hnliche
+	      Benutzern muss die Erlaubnis gegeben werden, das
+	      Dateisystem einzuh�ngen.  Auf dem empfangenden System
+	      nehmen Sie dazu die folgenden Einstellungen vor:</para>
+
+	    <screen>&prompt.root; sysctl vfs.usermount=1
+vfs.usermount: 0 -> 1
+&prompt.root; echo vfs.usermount=1 >> /etc/sysctl.conf
+&prompt.root; <userinput>zfs create <replaceable>recvpool/backup</replaceable></userinput>
+&prompt.root; <userinput>zfs allow -u <replaceable>someuser</replaceable> create,mount,receive <replaceable>recvpool/backup</replaceable></userinput>
+&prompt.root; chown <replaceable>someuser</replaceable> <replaceable>/recvpool/backup</replaceable></screen>
+	  </listitem>
+	</itemizedlist>
+
+	<para>Der unpriviligierte Benutzer hat jetzt die F�higkeit,
+	  Datasets zu empfangen und einzuh�ngen und das
+	  <replaceable>home</replaceable>-Dataset auf das entfernte
+	  System zu replizieren:</para>
+
+	<screen>&prompt.user; <userinput>zfs snapshot -r <replaceable>mypool/home</replaceable>@<replaceable>monday</replaceable></userinput>
+&prompt.user; <userinput>zfs send -R <replaceable>mypool/home</replaceable>@<replaceable>monday</replaceable> | ssh <replaceable>someuser@backuphost</replaceable> zfs recv -dvu <replaceable>recvpool/backup</replaceable></userinput></screen>
+
+	<para>Ein rekursiver Schnappschuss namens
+	  <replaceable>monday</replaceable> wird aus dem Dataset
+	  <replaceable>home</replaceable> erstellt, dass auf dem Pool
+	  <replaceable>mypool</replaceable> liegt.  Es wird dann mit
+	  <command>zfs send -R</command> gesendet, um das Dataset,
+	  alle seine Kinder, Schnappsch�sse, Klone und Einstellungen
+	  in den Strom mit aufzunehmen.  Die Ausgabe wird an das
+	  wartende System <replaceable>backuphost</replaceable>
+	  mittels <command>zfs receive</command> durch
+	  <application>SSH</application> umgeleitet.  Die Verwendung
+	  des Fully Qulified Dom�nennamens oder der IP-Adresse wird
+	  empfohlen.  Die empfangende Maschine schreibt die Daten auf
+	  das <replaceable>backup</replaceable>-Dataset im
+	  <replaceable>recvpool</replaceable>-Pool.  Hinzuf�gen der
+	  Option <option>-d</option> zu <command>zfs recv</command>
+	  �berschreibt den Namen des Pools auf der empfangenden Seite
+	  mit dem Namen des Schnappschusses.  Durch Angabe von
+	  <option>-u</option> wird das Dateisystem nicht auf der
+	  Empf�ngerseite eingeh�ngt.  Wenn <option>-v</option>
+	  enthalten ist, werden mehr Details zum Transfer angezeigt
+	  werden, einschliesslich der vergangenen Zeit und der Menge
+	  an �bertragenen Daten.</para>
+      </sect3>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-quota">
+      <title>Dataset-, Benutzer- und Gruppenquotas</title>
+
+      <para><link linkend="zfs-term-quota">Dataset-Quotas</link>
+	werden eingesetzt, um den Speicherplatz einzuschr�nken, den
+	ein bestimmtes Dataset verbrauchen kann. <link
+	  linkend="zfs-term-refquota">Referenz-Quotas</link>
+	funktionieren auf eine �hnliche Weise, jedoch wird dabei der
+	Speicherplatz des Datasets selbst gez�hlt, wobei
+	Schnappsch�sse und Kind-Datasets dabei ausgenommen sind.
+	�hnlich dazu werden <link
+	  linkend="zfs-term-userquota">Benutzer</link>- und <link
+	  linkend="zfs-term-groupquota">Gruppen</link>-Quotas
+	dazu verwendet, um Benutzer oder Gruppen daran zu hindern, den
+	gesamten Speicherplatz im Pool oder auf dem Dataset zu
+	verbrauchen.</para>
+
+      <para>Um eine 10&nbsp;GB gr�sse Quota auf dem Dataset
+	<filename>storage/home/bob</filename> zu erzwingen, verwenden
+	Sie folgenden Befehl:</para>
+
+      <screen>&prompt.root; <userinput>zfs set quota=10G storage/home/bob</userinput></screen>
+
+      <para>Um eine Referenzquota von 10&nbsp;GB f�r
+	<filename>storage/home/bob</filename> festzulegen, geben Sie
+	ein:</para>
+
+      <screen>&prompt.root; <userinput>zfs set refquota=10G storage/home/bob</userinput></screen>
+
+      <para>Um eine Quota f�r <filename>storage/home/bob</filename>
+	wieder zu entfernen:</para>
+
+      <screen>&prompt.root; <userinput>zfs set quota=none storage/home/bob</userinput></screen>
+
+      <para>Das generelle Format ist
+	<literal>userquota@<replaceable>user</replaceable>=<replaceable>size</replaceable></literal>
+	und der Name des Benutzers muss in einem der folgenden Formate
+	vorliegen:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para><acronym>POSIX</acronym>-kompatibler Name wie
+	    <replaceable>joe</replaceable>.</para>
+	</listitem>
+
+	<listitem>
+	  <para><acronym>POSIX</acronym>-numerische ID wie
+	    <replaceable>789</replaceable>.</para>
+	</listitem>
+
+	<listitem>
+	  <para><acronym>SID</acronym>-Name wie
+	    <replaceable>joe.bloggs@example.com</replaceable>.</para>
+	</listitem>
+
+	<listitem>
+	  <para><acronym>SID</acronym>-numerische ID wie
+	    <replaceable>S-1-123-456-789</replaceable>.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Um beispielsweise eine Benutzerquota von 50&nbsp;GB f�r
+	den Benutzer names <replaceable>joe</replaceable> zu
+	erzwingen:</para>
+
+      <screen>&prompt.root; <userinput>zfs set userquota@joe=50G</userinput></screen>
+
+      <para>Um jegliche Quota zu entfernen:</para>
+
+      <screen>&prompt.root; <userinput>zfs set userquota@joe=none</userinput></screen>
+
+      <note>
+	<para>Benutzerquota-Eigenschaften werden nicht von
+	  <command>zfs get all</command> dargestellt.
+	  Nicht-<systemitem
+	  class="username">root</systemitem>-Benutzer k�nnen nur ihre
+	  eigenen Quotas sehen, ausser ihnen wurde das
+	  <literal>userquota</literal>-Privileg zugeteilt.  Benutzer
+	  mit diesem Privileg sind in der Lage, jedermanns Quota zu
+	  sehen und zu ver�ndern.</para>
+      </note>
+
+      <para>Das generelle Format zum Festlegen einer Gruppenquota
+	lautet:
+	<literal>groupquota@<replaceable>group</replaceable>=<replaceable>size</replaceable></literal>.</para>
+
+      <para>Um eine Quota f�r die Gruppe
+	<replaceable>firstgroup</replaceable> von 50&nbsp;GB zu
+	setzen, geben Sie ein:</para>
+
+      <screen>&prompt.root; <userinput>zfs set groupquota@firstgroup=50G</userinput></screen>
+
+      <para>Um eine Quota f�r die Gruppe
+	<replaceable>firstgroup</replaceable>zu setzen oder
+	sicherzustellen, dass diese nicht gesetzt ist, verwenden Sie
+	stattdessen:</para>
+
+      <screen>&prompt.root; <userinput>zfs set groupquota@firstgroup=none</userinput></screen>
+
+      <para>Genau wie mit der Gruppenquota-Eigenschaft, werden
+	nicht-<systemitem class="username">root</systemitem>-Benutzer
+	nur die Quotas sehen, die den Gruppen zugeordnet ist, in denen
+	Sie Mitglied sind.  Allerdings ist <systemitem
+	class="username">root</systemitem> oder ein Benutzer mit dem
+	<literal>groupquota</literal>-Privileg in der Lage, die Quotas
+	aller Gruppen zu sehen und festzusetzen.</para>
+
+      <para>Um die Menge an Speicherplatz zusammen mit der Quota
+	anzuzeigen, die von jedem Benutzer auf dem Dateisystem oder
+	Schnappschuss verbraucht wird, verwenden Sie
+	<command>zfs userspace</command>.  F�r Gruppeninformationen,
+	nutzen Sie <command>zfs groupspace</command>.  F�r weitere
+	Informationen zu unterst�tzten Optionen oder wie sich nur
+	bestimmte Optionen anzeigen lassen, lesen Sie
+	&man.zfs.1;.</para>
+
+      <para>Benutzer mit ausreichenden Rechten sowie <systemitem
+	  class="username">root</systemitem> k�nnen die Quota f�r
+	<filename>storage/home/bob</filename> anzeigen:</para>
+
+      <screen>&prompt.root; <userinput>zfs get quota storage/home/bob</userinput></screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-reservation">
+      <title>Reservierungen</title>
+
+      <para><link linkend="zfs-term-reservation">Reservierungen</link>
+	garantieren ein Minimum an Speicherplatz, der immer auf dem
+	Dataset verf�gbar sein wird.  Der reservierte Platz wird nicht
+	f�r andere Datasets zur Verf�gung stehen.  Diese Eigenschaft
+	kann besonders n�tzlich sein, um zu gew�hrleisten, dass freier
+	Speicherplatz f�r ein wichtiges Dataset oder f�r Logdateien
+	bereit steht.</para>
+
+      <para>Das generelle Format der
+	<literal>reservation</literal>-Eigenschaft ist
+	<literal>reservation=<replaceable>size</replaceable></literal>.
+	Um also eine Reservierung von 10&nbsp;GB auf 
+	<filename>storage/home/bob</filename> festzulegen, geben Sie
+	Folgendes ein:</para>
+
+      <screen>&prompt.root; <userinput>zfs set reservation=10G storage/home/bob</userinput></screen>
+
+      <para>Um die Reservierung zu beseitigen:</para>
+
+      <screen>&prompt.root; <userinput>zfs set reservation=none storage/home/bob</userinput></screen>
+
+      <para>Das gleiche Prinzip kann auf die
+	<literal>refreservation</literal>-Eigenschaft angewendet
+	werden, um eine <link
+	linkend="zfs-term-refreservation">Referenzreservierung</link>
+	mit dem generellen Format
+	<literal>refreservation=<replaceable>size</replaceable></literal>
+	festzulegen.</para>
+
+      <para>Dieser Befehl zeigt die Reservierungen oder
+	Referenzreservierungen an, die auf
+	<filename>storage/home/bob</filename> existieren:</para>
+
+      <screen>&prompt.root; <userinput>zfs get reservation storage/home/bob</userinput>
+&prompt.root; <userinput>zfs get refreservation storage/home/bob</userinput></screen>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-compression">
+      <title>Komprimierung</title>
+
+      <para><acronym>ZFS</acronym> bietet transparente Komprimierung.
+	Datenkomprimierung auf Blockebene w�hrend diese gerade
+	geschrieben werden, spart nicht nur Plattenplatz ein, sondern
+	kann auch den Durchsatz der Platte steigern.  Falls Daten zu
+	25% komprimiert sind, jedoch die komprimierten Daten im
+	gleichen Tempo wie ihre unkomprimierte Version, resultiert das
+	in einer effektiven Schreibgeschwindigkeit von 125%.
+	Komprimierung kann auch eine Alternative zu <link
+	linkend="zfs-zfs-deduplication">Deduplizierung</link>
+	darstellen, da es viel weniger zus�tzlichen Hauptspeicher
+	ben�tigt.</para>
+
+      <para><acronym>ZFS</acronym> bietet mehrere verschiedene
+	Kompressionsalgorithmen an, jede mit unterschiedlichen
+	Kompromissen.  Mit der Einf�hrung von
+	<acronym>LZ4</acronym>-Komprimierung in <acronym>ZFS</acronym>
+	v5000, ist es m�glich, Komprimierung f�r den gesamten Pool zu
+	aktivieren, ohne die grossen Geschwindigkeitseinbussen der
+	anderen Algorithmen.  Der gr�sste Vorteil von
+	<acronym>LZ4</acronym> ist die Eigenschaft <emphasis>fr�her
+	Abbruch</emphasis>.  Wenn <acronym>LZ4</acronym> nicht
+	mindestens 12,5% Komprimierung im ersten Teil der Daten
+	erreicht, wird der Block unkomprimiert geschrieben, um die
+	Verschwendung von CPU-Zyklen zu vermeiden, weil die Daten
+	entweder bereits komprimiert sind oder sich nicht komprimieren
+	lassen.  F�r Details zu den verschiedenen verf�gbaren
+	Komprimierungsalgorithmen in <acronym>ZFS</acronym>, lesen Sie
+	den Eintrag <link
+	linkend="zfs-term-compression">Komprimierung</link> im
+	Abschnitt Terminologie</para> 
+
+      <para>Der Administrator kann die Effektivit�t der Komprimierung
+	�ber eine Reihe von Dataset-Eigenschaften �berwachen.</para>
+
+      <screen>&prompt.root; <userinput>zfs get used,compressratio,compression,logicalused <replaceable>mypool/compressed_dataset</replaceable></userinput>
+NAME        PROPERTY          VALUE     SOURCE
+mypool/compressed_dataset  used              449G      -
+mypool/compressed_dataset  compressratio     1.11x     -
+mypool/compressed_dataset  compression       lz4       local
+mypool/compressed_dataset  logicalused       496G      -</screen>
+
+      <para>Dieses Dataset verwendet gerade 449&nbsp;GB Plattenplatz
+	(used-Eigenschaft.  Ohne Komprimierung w�rde es stattdessen
+	496&nbsp;GB Plattenplatz belegen
+	(<literal>logicalused</literal>).  Das ergibt eine
+	Kompressionsrate von 1,11:1.</para>
+
+      <para>Komprimierung kann einen unerwarteten Nebeneffekt haben,
+	wenn diese mit <link
+	  linkend="zfs-term-userquota">Benutzerquotas</link>
+	kombiniert wird.  Benutzerquotas beschr�nken, wieviel
+	Speicherplatz ein Benutzer auf einem Dataset verbrauchen kann.
+	Jedoch basieren die Berechnungen darauf, wieviel Speicherplatz
+	<emphasis>nach der Komprimierung</emphasis> belegt ist.  Wenn
+	also ein Benutzer eine Quota von10&nbsp;GB besitzt und
+	10&nbsp;GB von komprimierbaren Daten schreibt, wird dieser
+	immer noch in der Lage sein, zus�tzliche Daten zu speichern.
+	Wenn sp�ter eine Datei aktualisiert wird, beispielsweise eine
+	Datenbank, mit mehr oder weniger komprimierbaren Daten, wird
+	sich die Menge an verf�gbarem Speicherplatz �ndern.  Das
+	kann in einer merkw�rdigen Situation resultieren, in welcher
+	der Benutzer nicht die eigentliche Menge an Daten (die
+	Eigenschaft <literal>logicalused</literal>) �berschreitet,
+	jedoch die �nderung in der Komprimierung dazu f�hrt, dass das
+	Quota-Limit erreicht ist.</para>
+
+      <para>Kompression kann ein ebenso unerwartet mit Sicherungen
+	interagiereni. Quotas werden oft verwenden, um einzuschr�nken,
+	wieviele Daten gespeichert werden k�nnen um sicherzustellen,
+	dass ausreichend Speicherplatz f�r die Sicherung vorhanden
+	ist.  Wenn jedoch Quotas Komprimierung nicht ber�cksichtigen,
+	werden wom�glich mehr Daten geschrieben als in der
+	unkomprimierten Sicherung Platz ist.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-deduplication">
+      <title>Deduplizierung</title>
+
+      <para>Wenn aktiviert, verwendet <link
+	linkend="zfs-term-deduplication">Deduplizierung</link> die
+	Pr�fsumme jedes Blocks, um Duplikate dieses Blocks zu
+	ermitteln.  Sollte ein neuer Block ein Duplikat eines
+	existierenden Blocks sein, dann schreibt
+	<acronym>ZFS</acronym> eine zus�tzliche Referenz auf die
+	existierenden Daten anstatt des kompletten duplizierten
+	Blocks.  Gewaltige Speicherplatzeinsparungen sind m�glich wenn
+	die Daten viele Duplikate von Dateien oder wiederholte
+	Informationen enthalten.  Seien Sie gewarnt: Deduplizierung
+	ben�tigt eine extrem grosse Menge an Hauptspeicher und die
+	meistens Einsparungen k�nnen stattdessen durch das Aktivieren
+	von Komprimierung erreicht werden.</para>
+
+      <para>Um Deduplizierung zu aktivieren, setzen Sie die
+	<literal>dedup</literal>-Eigenschaft auf dem Zielpool:</para>
+
+      <screen>&prompt.root; <userinput>zfs set dedup=on <replaceable>pool</replaceable></userinput></screen>
+
+      <para>Nur neu auf den Pool geschriebene Daten werden
+	dedupliziert.  Daten, die bereits auf den Pool geschrieben
+	wurden, werden nicht durch das Aktivieren dieser Option
+	dedupliziert.  Ein Pool mit einer gerade aktivierten
+	Deduplizierung wird wie in diesem Beispiel aussehen:</para>
+
+      <screen>&prompt.root; <userinput>zpool list</userinput>
+NAME  SIZE ALLOC  FREE CAP DEDUP HEALTH ALTROOT
+pool 2.84G 2.19M 2.83G  0% 1.00x ONLINE -</screen>
+
+      <para>Die Spalte <literal>DEDUP</literal> zeigt das aktuelle
+	Verh�ltnis der Deduplizierung f�r diesen Pool an.  Ein Wert
+	von <literal>1.00x</literal> zeigt an, dass die Daten noch
+	nicht dedupliziert wurden.  Im n�chsten Beispiel wird die
+	Ports-Sammlung dreimal in verschiedene Verzeichnisse auf dem
+	deduplizierten Pool kopiert.</para>
+
+      <screen>&prompt.root; <userinput>zpool list</userinput>
+for d in dir1 dir2 dir3; do
+for> mkdir $d &amp;&amp; cp -R /usr/ports $d &amp;
+for> done</screen>
+
+      <para>Redundante Daten werden erkannt und dedupliziert:</para>
+
+      <screen>&prompt.root; <userinput>zpool list</userinput>
+NAME SIZE  ALLOC FREE CAP DEDUP HEALTH ALTROOT
+pool 2.84G 20.9M 2.82G 0% 3.00x ONLINE -</screen>
+
+      <para>Die <literal>DEDUP</literal>-Spalte zeigt einen Faktor von
+	<literal>3.00x</literal>.  Mehrere Kopien der Ports-Sammlung
+	wurden erkannt und dedupliziert, was nur ein Drittel des
+	Speicherplatzes ben�tigt.  Das Potential f�r Einsparungen beim
+	Speicherplatz ist enorm, wird jedoch damit erkauft, dass
+	gen�gend Speicher zur Verf�gung stehen muss, um die
+	deduplizierten Bl�cke zu verwalten.</para>
+
+      <para>Deduplizierung ist nicht immer gewinnbringend, besonders
+	die Daten auf dem Pool nicht redundant sind.
+	<acronym>ZFS</acronym> kann potentielle
+	Speicherplatzeinsparungen durch Deduplizierung auf einem Pool
+	simulieren:</para>
+
+      <screen>&prompt.root; <userinput>zdb -S <replaceable>pool</replaceable></userinput>
+Simulated DDT histogram:
+
+bucket              allocated                       referenced
+______   ______________________________   ______________________________
+refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
+------   ------   -----   -----   -----   ------   -----   -----   -----
+     1    2.58M    289G    264G    264G    2.58M    289G    264G    264G
+     2     206K   12.6G   10.4G   10.4G     430K   26.4G   21.6G   21.6G
+     4    37.6K    692M    276M    276M     170K   3.04G   1.26G   1.26G
+     8    2.18K   45.2M   19.4M   19.4M    20.0K    425M    176M    176M
+    16      174   2.83M   1.20M   1.20M    3.33K   48.4M   20.4M   20.4M
+    32       40   2.17M    222K    222K    1.70K   97.2M   9.91M   9.91M
+    64        9     56K   10.5K   10.5K      865   4.96M    948K    948K
+   128        2   9.50K      2K      2K      419   2.11M    438K    438K
+   256        5   61.5K     12K     12K    1.90K   23.0M   4.47M   4.47M
+    1K        2      1K      1K      1K    2.98K   1.49M   1.49M   1.49M
+ Total    2.82M    303G    275G    275G    3.20M    319G    287G    287G
+
+dedup = 1.05, compress = 1.11, copies = 1.00, dedup * compress / copies = 1.16</screen>
+
+      <para>Nachdem <command>zdb -S</command> die Analyse des Pool
+	abgeschlossen hat. zeigt es die Speicherplatzeinsparungen, die
+	durch aktivierte Deduplizierung erreichbar sind, an.  In
+	diesem Fall ist <literal>1.16</literal> ein sehr schlechter
+	Faktor, der gr�sstenteils von Einsparungen durch Komprimierung
+	beeinflusst wird.  Aktivierung von Deduplizierung auf diesem
+	Pool w�rde also keine signifikante Menge an Speicherplatz
+	einsparen und ist daher nicht die Menge an Speicher wert, die
+	n�tig sind, um zu deduplizieren.  �ber die Formel
+	<emphasis>ratio = dedup * compress / copies</emphasis> kann
+	ein Systemadministrator die Speicherplatzbelegung planen und
+	entscheiden, ob es sich lohnt, den zus�tzlichen Hauptspeicher
+	f�r die Deduplizierung anhand des sp�teren Workloads
+	aufzuwenden.  Wenn sich die Daten verh�ltnism�ssig gut
+	komprimieren lassen, sind die Speicherplatzeinsparungen sehr
+	gut.  Es wird empfohlen, in dieser Situation zuerst die
+	Komprimierung zu aktivieren, da diese auch erh�hte
+	Geschwindigkeit mit sich bringt.  Aktivieren Sie
+	Deduplizierung nur in solchen F�llen, bei denen die
+	Einsparungen betr�chtlich sind und genug Hauptspeicher zur
+	Verf�gung steht, um die <link
+	  linkend="zfs-term-deduplication"><acronym>DDT</acronym></link>
+	aufzunehmen.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-jail">
+      <title><acronym>ZFS</acronym> und Jails</title>
+
+      <para>Um ein <acronym>ZFS</acronym>-Dataset einem 
+	<link linkend="jails">Jail</link> zuzuweisen, wird der Befehl
+	<command>zfs jail</command> und die dazugeh�rige Eigenschaft
+	<literal>jailed</literal> verwendet.  Durch Angabe von
+	<command>zfs jail <replaceable>jailid</replaceable></command>
+	wird ein Dataset dem spezifizierten Jail zugewiesen und kann
+	mit <command>zfs unjail</command> wieder abgeh�ngt werden.
+	Damit das Dataset innerhalb der Jail kontrolliert werden kann,
+	muss die Eigenschaft <literal>jailed</literal> gesetzt sein.
+	Sobald ein Dataset sich im Jail befindet, kann es nicht mehr
+	l�nger auf dem Hostsystem eingeh�ngt werden, da es
+	Einh�ngpunkte aufweisen k�nnte, welche die Sicherheit des
+	Systems gef�rden.</para>
+    </sect2>
+  </sect1>
+
+  <sect1 xml:id="zfs-zfs-allow">
+    <title>Delegierbare Administration</title>
+
+    <para>Ein umfassendes System zur Berechtigungs�bertragung erlaubt
+	unpriviligierten Benutzern,
+      <acronym>ZFS</acronym>-Administrationsaufgaben durchzuf�hren.
+      Beispielsweise, wenn jedes Heimatverzeichnis eines Benutzers ein
+      Dataset ist, k�nnen Benutzer das Recht darin erhalten,
+      Schnappsch�sse zu erstellen und zu zerst�ren.  Einem Benutzer
+      f�r die Sicherung kann die Erlaubnis einger�umt werden, die
+      Replikationseigenschaft zu verwenden.  Einem Skript zum Sammeln
+      von Speicherplatzverbrauch kann die Berechtigung gegeben werden,
+      nur auf die Verbrauchsdaten aller Benutzer zuzugreifen.  Es ist
+      sogar m�glich, die M�glichkeit zum Delegieren zu delegieren.
+      Die Berechtigung zur Delegation ist f�r jedes Unterkommando und
+      die meisten Eigenschaften m�glich.</para>
+
+    <sect2 xml:id="zfs-zfs-allow-create">
+      <title>Delegieren, ein Dataset zu erstellen</title>
+
+      <para><command>zfs allow
+	  <replaceable>someuser</replaceable> create
+	  <replaceable>mydataset</replaceable></command> gibt dem
+	angegebenen Benutzer die Berechtigung, Kind-Datasets unter dem
+	ausgew�hlten Elterndataset anzulegen.  Es gibt einen Haken:
+	ein neues Dataset anzulegen beinhaltet, dass es eingeh�ngt
+	wird.  Dies bedeutet, dass &os;s
+	<literal>vfs.usermount</literal> &man.sysctl.8; auf
+	<literal>1</literal> gesetzt wird, um nicht-root Benutzern zu
+	erlauben, Dateisysteme einzubinden.  Es gibt eine weitere
+	Einschr�nkung um Missbrauch zu verhindern:
+	nicht-<systemitem class="username">root</systemitem>
+	Benutzer m�ssen Besitzer des Einh�ngpunktes sein, an dem das
+	Dateisystem eingebunden werden soll.</para>
+    </sect2>
+
+    <sect2 xml:id="zfs-zfs-allow-allow">
+      <title>Delegationsberechtigung delegieren</title>
+
+      <para><command>zfs allow
+	  <replaceable>someuser</replaceable> allow
+	  <replaceable>mydataset</replaceable></command> gibt dem
+	angegebenen Benutzer die F�higkeit, jede Berechtigung, die er
+	selbst auf dem Dataset oder dessen Kindern besitzt, an andere
+	Benutzer weiterzugeben.  Wenn ein Benutzer die
+	<literal>snapshot</literal>- und die
+	<literal>allow</literal>-Berechtigung besitzt, kann dieser
+	dann die <literal>snapshot</literal>-Berechtigung an andere
+	Benutzer delegieren.</para>
+    </sect2>
+  </sect1>
+
+  <sect1 xml:id="zfs-advanced">
+    <title>Themen f�r Fortgeschrittene</title>
+
+    <sect2 xml:id="zfs-advanced-tuning">
+      <title>Anpassungen</title>
+
+      <para>Eine Reihe von Anpassungen k�nnen vorgenommen werden, um
+	<acronym>ZFS</acronym> unter verschiedenen Belastungen w�hrend
+	des Betriebs bestm�glich einzustellen.</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-arc_max"><emphasis><varname>vfs.zfs.arc_max</varname></emphasis>
+	    - Maximale Gr�sse des <link
+	      linkend="zfs-term-arc"><acronym>ARC</acronym></link>.
+	    Die Voreinstellung ist der gesamte <acronym>RAM</acronym>
+	    weniger 1&nbsp;GB oder die H�lfte vom
+	    <acronym>RAM</acronym>, je nachdem, was mehr ist.
+	    Allerdings sollte ein niedriger Wert verwendet werden,
+	    wenn das System weitere Dienste oder Prozesse laudfen
+	    l�sst, welche Hauptspeicher ben�tigen.  Dieser Wert kann
+	    nur zur Bootzeit eingestellt werden und wird in
+	    <filename>/boot/loader.conf</filename> festgelegt.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-arc_meta_limit"><emphasis><varname>vfs.zfs.arc_meta_limit</varname></emphasis>
+	    - Schr�nkt die Menge des <link
+	      linkend="zfs-term-arc"><acronym>ARC</acronym></link>
+	    ein, welche f�r die Speicherung von Metadaten verwendet
+	    wird.  Die Voreinstellun ist ein Viertel von
+	    <varname>vfs.zfs.arc_max</varname>.  Diesen Wert zu
+	    erh�hen steigert die Geschwindigkeit, wenn die Arbeitslast
+	    Operationen auf einer grossen Menge an Dateien und
+	    Verzeichnissen oder h�ufigen Metadatenoperationen
+	    beinhaltet.  Jedoch bedeutet dies auch weniger Dateidaten,
+	    die in den <link
+	      linkend="zfs-term-arc"><acronym>ARC</acronym></link>
+	    passen.  Dieser Wert kann nur zur Bootzeit angepasst
+	    werden und wird in <filename>/boot/loader.conf</filename>
+	    gesetzt.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-arc_min"><emphasis><varname>vfs.zfs.arc_min</varname></emphasis>
+	    - Minimale Gr�sse des <link
+	      linkend="zfs-term-arc"><acronym>ARC</acronym></link>.
+	    Der Standard betr�gt die H�lfte von
+	    <varname>vfs.zfs.arc_meta_limit</varname>.  Passen Sie
+	    diesen Wert an, um zu verhindern, dass andere Anwendungen
+	    den gesamten <link
+	      linkend="zfs-term-arc"><acronym>ARC</acronym></link>
+	    verdr�ngen.  Dieser Wert kann nur zur Bootzeit ge�ndert
+	    und muss in <filename>/boot/loader.conf</filename>
+	    festgelegt werden.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-vdev-cache-size"><emphasis><varname>vfs.zfs.vdev.cache.size</varname></emphasis>
+	    - Eine vorallokierte Menge von Speicher, die als Cache f�r
+	    jedes Ger�t im Pool reserviert wird.  Die Gesamtgr�sse von
+	    verwendetem Speicher ist dieser Wert multipliziert mit der
+	    Anzahl an Ger�ten.  Nur zur Bootzeit kann dieser Wert
+	    angepasst werden und wird in
+	    <filename>/boot/loader.conf</filename> eingestellt.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-min-auto-ashift"><emphasis><varname>vfs.zfs.min_auto_ashift</varname></emphasis>
+	    - Minimaler <varname>ashift</varname>-Wert (Sektorgr�sse),
+	    welche zur Erstellungszeit des Pools automatisch verwendet
+	    wird.  Der Wert ist ein Vielfaches zur Basis Zwei.  Der
+	    Standardwert von <literal>9</literal> repr�sentiert
+	    <literal>2^9 = 512</literal>, eine Sektorgr�sse von 512
+	    Bytes. Um <emphasis>write amplification</emphasis> zu
+	    vermeiden und die bestm�gliche Geschwindigkeit zu
+	    erhalten, setzen Sie diesen Wert auf die gr�sste
+	    Sektorgr�sse, die bei einem Ger�t im Pool vorhanden
+	    ist.</para>
+
+	  <para>Viele Ger�te besitzen 4&nbsp;KB grosse Sektoren.  Die
+	    Verwendung der Voreinstellung <literal>9</literal> bei
+	    <varname>ashift</varname> mit diesen Ger�ten resultiert in
+	    einer write amplification auf diesen Ger�ten.  Daten,
+	    welche in einem einzelnen 4&nbsp;KB Schreibvorgang Platz
+	    finden w�rden, m�ssen stattdessen in acht 512-byte
+	    Schreibvorg�nge aufgeteilt werden.  <acronym>ZFS</acronym>
+	    versucht, die allen Ger�ten zugrundeliegende Sektorgr�sse
+	    w�hrend der Poolerstellung zu lesen, jedoch melden viele
+	    Ger�te mit 4&nbsp;KB Sektoren, dass ihre Sektoren aus
+	    Kompatibilit�tsgr�nden 512 Bytes betragen.  Durch das
+	    Setzen von <varname>vfs.zfs.min_auto_ashift</varname> auf
+	    <literal>12</literal> (<literal>2^12 = 4096</literal>)
+	    bevor der Pool erstellt wird, zwingt
+	    <acronym>ZFS</acronym> dazu, f�r diese Ger�te 4&nbsp;KB
+	    Bl�cke f�r bessere Geschwindigkeit zu nutzen.</para>
+
+	  <para>Erzwingen von 4&nbsp;KB Bl�cken ist ebenfalls
+	    hilfreich auf Pools bei denen Plattenaufr�stungen geplant
+	    sind.  Zuk�nftige Platten werden wahrscheinlich
+	    4&nbsp;KB grosse Sektoren und der Wert von
+	    <varname>ashift</varname> l�sst sich nach dem Erstellen
+	    des Pools nicht mehr �ndern.</para>
+
+	  <para>In besonderen F�llen ist die kleinere Blockgr�sse von 
+	    512-Bye vorzuziehen.  Weniger Daten werden bei kleinen,
+	    zuf�lligen Leseoperationen �bertragen, was besonders bei
+	    512-Byte grossen Platten f�r Datenbanken oder Plattenplatz
+	    f�r virtuelle Maschinen der Fall ist.  Dies kann bessere
+	    Geschwindigkeit bringen, ganz besonders wenn eine kleinere
+	    <acronym>ZFS</acronym> record size verwendet wird.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-prefetch_disable"><emphasis><varname>vfs.zfs.prefetch_disable</varname></emphasis>
+	    - Prefetch deaktivieren.  Ein Wert von <literal>0</literal>
+	    bedeutet aktiviert und <literal>1</literal> heisst
+	    deaktiviert.  Die Voreinstellung ist <literal>0</literal>,
+	    ausser, das System besitzt weniger als
+	    4&nbsp;GB <acronym>RAM</acronym>.  Prefetch funktioniert
+	    durch das Lesen von gr�sseren Bl�cken in den <link
+	    linkend="zfs-term-arc"><acronym>ARC</acronym></link> als
+	    angefordert wurden, in der Hoffnung, dass diese Daten
+	    ebenfalls bald ben�tigt werden.  Wenn die I/O-Last viele
+	    grosse Mengen von zuf�lligen Leseoperationen beinhaltet,
+	    ist das Deaktivieren von prefetch eine
+	    Geschwindigkeitssteigerung durch die Reduzierung von
+	    unn�tigen Leseoperationen.  Dieser Wert kann zu jeder Zeit
+	    �ber &man.sysctl.8; angepasst werden.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-vdev-trim_on_init"><emphasis><varname>vfs.zfs.vdev.trim_on_init</varname></emphasis>
+	    - Steuert, ob neue Ger�te, die dem Pool hinzugef�gt
+	    werden, das <literal>TRIM</literal>-Kommando ausf�hren
+	    sollen.  Das beinhaltet die beste Geschwindigkeit und
+	    Langlebigkeit f�r <acronym>SSD</acronym>s, ben�tigt jedoch
+	    zus�tzliche Zeit.  Wenn das Ger�t bereits sicher gel�scht
+	    wurde, kann durch deaktivieren dieser Option das
+	    Hinzuf�gen neuer Ger�te schneller geschehen. �ber
+	    &man.sysctl.8; l�sst sich dieser Wert jederzeit
+	    einstellen.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-write_to_degraded"><emphasis><varname>vfs.zfs.write_to_degraded</varname></emphasis>
+	    - Steuert, ob neue Daten auf ein vdev geschrieben werden,
+	    welches sich im Zustand <link
+	    linkend="zfs-term-degraded">DEGRADED</link> befindet.
+	    Standardm�ssig ist dieser Wert <literal>0</literal>, was
+	    Schreibvorg�nge zu jeglichem dar�berliegenden vdev
+	    verhindert, das sich in diesem Zustand befindet.  Der
+	    Administrator kann durch das Erlauben von Schreibvorg�ngen
+	    auf diese Art von vdevs verhindern, dass die Menge an
+	    freiem Speicherplatz �ber die vdevs nicht mehr
+	    ausbalanciert ist, was die Lese- und
+	    Schreibgeschwindigkeit verringert.  Anpassen l�sst sich
+	    dieser Wert �ber &man.sysctl.8;.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-vdev-max_pending"><emphasis><varname>vfs.zfs.vdev.max_pending</varname></emphasis>
+	    - Begrenzt die Menge von ausstehenden I/O-Anfragen pro
+	    Ger�t.  Ein gr�sserer Wert wird die Ger�tewarteschlange
+	    f�r Befehle gef�llt lassen und m�glicherweise besseren
+	    Durchsatz erzeugen.  Ein niedrigerer Wert reduziert die
+	    Latenz.  Jederzeit kann dieser Wert �ber &man.sysctl.8;
+	    angepasst werden.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-top_maxinflight"><emphasis><varname>vfs.zfs.top_maxinflight</varname></emphasis>
+	    - Maximale Anzahl von ausstehenden I/Os pro
+	    dar�berliegendem <link
+	      linkend="zfs-term-vdev">vdev</link>.  Begrenzt die Tiefe
+	    Kommandowarteschlange, um hohe Latenzen zu vermeiden.  Das
+	    Limit ist pro dar�berliegendem vdev, was bedeutet, dass
+	    das Limit f�r jeden <link
+	    linkend="zfs-term-vdev-mirror">mirror</link>, <link
+	    linkend="zfs-term-vdev-raidz">RAID-Z</link>, oder anderes
+	    vdev unabh�ngig gilt.  Mit &man.sysctl.8; kann dieser Wert
+	    jederzeit angepasst werden.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-l2arc_write_max"><emphasis><varname>vfs.zfs.l2arc_write_max</varname></emphasis>
+	    - Begrenzt die Menge an Daten, die pro Sekunde in den <link
+	      linkend="zfs-term-l2arc"><acronym>L2ARC</acronym></link>
+	    geschrieben wird.  Durch diese Einstellung l�sst sich die
+	    Lebensdauer von <acronym>SSD</acronym>s erh�hen, indem die
+	    Menge an Daten beschr�nkt wird, die auf das Ger�t
+	    geschrieben wird.  Dieser Wert ist �ber &man.sysctl.8; zu
+	    einem beliebigen Zeitpunkt �nderbar.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-l2arc_write_boost"><emphasis><varname>vfs.zfs.l2arc_write_boost</varname></emphasis>
+	    - Der Wert dieser Einstellung wird zu <link
+	      linkend="zfs-advanced-tuning-l2arc_write_max"><varname>vfs.zfs.l2arc_write_max</varname></link>
+	    addiert und erh�ht die Schreibgeschwindigkeit auf die
+	    <acronym>SSD</acronym> bis der erste Block aus dem <link
+	      linkend="zfs-term-l2arc"><acronym>L2ARC</acronym></link>
+	    verdr�ngt wurde.  Diese <quote>Turbo Warmup Phase</quote>
+	    wurde etwickelt, um den Geschwindigkeitsverlust eines
+	    leeren <link
+	      linkend="zfs-term-l2arc"><acronym>L2ARC</acronym></link>
+	    nach einem Neustart zu reduzieren.  Jederzeit kann dieser
+	    Wert mit &man.sysctl.8; ge�ndert werden.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-scrub_delay"><emphasis><varname>vfs.zfs.scrub_delay</varname></emphasis>
+	    - Anzahl von Ticks an Verz�gerung zwischen jedem I/O
+	    w�hrend eines <link
+	      linkend="zfs-term-scrub"><command>scrub</command></link>.
+	    Um zu gew�hrleisten, dass ein <command>scrub</command>
+	    nicht mit die normalen Vorg�nge eines Pools
+	    beeintr�chtigt.  Wenn w�hrenddessen andere
+	    <acronym>I/O</acronym>s durchgef�hrt werden, wird der
+	    <command>scrub</command> zwischen jedem Befehl verz�gert.
+	    Dieser Wert regelt die Gesamtmenge von
+	    <acronym>IOPS</acronym> (I/Os Per Second), die von
+	    <command>scrub</command> generiert werden.  Die
+	    Granularit�t der Einstellung ist bestimmt durch den Wert
+	    von <varname>kern.hz</varname>, welcher standardm�ssig auf
+	    auf 1000 Ticks pro Sekunde eingestellt ist.  Diese
+	    Einstellung kann ge�ndert werden, was in einer
+	    unterschiedlich effektiven Limitierung der
+	    <acronym>IOPS</acronym> resultiert.  Der Standardwert ist
+	    <literal>4</literal>, was ein Limit von
+	    1000&nbsp;ticks/sec / 4 =
+	    250&nbsp;<acronym>IOPS</acronym> ergibt.  Ein Wert von
+	    <replaceable>20</replaceable> w�rde ein Limit von
+	    1000&nbsp;ticks/sec / 20 =
+	    50&nbsp;<acronym>IOPS</acronym> ergeben.  Die
+	    <command>scrub</command>-Geschwindigkeit ist nur begrenzt,
+	    wenn es k�rzlich Aktivit�t auf dem Pool gab, wie der Wert
+	    von <link
+	      linkend="zfs-advanced-tuning-scan_idle"><varname>vfs.zfs.scan_idle</varname></link>
+	    verr�t.  Zu einem beliebigen Zeitpunkt kann �ber
+	    &man.sysctl.8; eine �nderung an diesem Wert
+	    erfolgen.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-resilver_delay"><emphasis><varname>vfs.zfs.resilver_delay</varname></emphasis>
+	    - Anzahl an Millisekunden Verz�gerung, die zwischen jedem
+	    I/O w�hrend eines <link
+	    linkend="zfs-term-resilver">resilver</link> eingef�gt
+	    wird.  Um zu versichern, dass ein resilver nicht die
+	    normalen Vorg�nge auf dem Pool st�rt, wird dieser zwischen
+	    jedem Kommando verz�gert, wenn andere I/Os auf dem Pool
+	    passieren.  Dieser Wert steuert das Limit der
+	    Gesamt-<acronym>IOPS</acronym> (I/Os Pro Sekunde), die vom
+	    resilver erzeugt werden.  Die Granularit�t der Einstellung
+	    wird durch den Wert von <varname>kern.hz</varname>
+	    bestimmt, welcher standardm�ssig 1000 Ticks pro Sekunde
+	    betr�gt.  Diese Einstellung l�sst sich �ndern, was in
+	    einem unterschiedlich effizienten
+	    <acronym>IOPS</acronym>-Limit resultiert.  Die
+	    Voreinstellung ist 2, was ein Limit von
+	    1000&nbsp;ticks/sec / 2 =
+	    500&nbsp;<acronym>IOPS</acronym> betr�gt.  Einen Pool
+	    wieder in den Zustand <link
+	    linkend="zfs-term-online">Online</link> zu versetzen ist
+	    m�glicherweise wichtiger wenn eine andere Platte den Pool
+	    in den <link
+	    linkend="zfs-term-faulted">Fault</link>-Zustand versetzt,
+	    was Datenverlust zur Folge hat.  Ein Wert von 0 wird der
+	    resilver-Operation die gleiche Priorit�t wie anderen
+	    Operationen geben, was den Heilungsprozess beschleunigt.
+	    Die Geschwindigkeit des resilver wird nur begrenzt, wenn
+	    es k�rzlich andere Aktivit�ten auf dem Pool gab, wie von
+	    <link
+	      linkend="zfs-advanced-tuning-scan_idle"><varname>vfs.zfs.scan_idle</varname></link>
+	    festgestellt wird.  Dieser Wert kann zu jeder Zeit �ber.
+	    &man.sysctl.8; eingestellt werden.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-scan_idle"><emphasis><varname>vfs.zfs.scan_idle</varname></emphasis>
+	    - Anzahl an Millisekunden seit der letzten Operation bevor
+	    der Pool als im Leerlauf befindlich deklariert wird.  Wenn
+	    sich der Pool im Leerlauf befindet, wird die Begrenzung
+	    f�r <link
+	      linkend="zfs-term-scrub"><command>scrub</command></link>
+	    und
+	    <link linkend="zfs-term-resilver">resilver</link>
+	    deaktiviert.  Dieser Wert kann mittels &man.sysctl.8;
+	    jederzeit angepasst werden.</para>
+	</listitem>
+
+	<listitem>
+	  <para
+	      xml:id="zfs-advanced-tuning-txg-timeout"><emphasis><varname>vfs.zfs.txg.timeout</varname></emphasis>
+	    - Maximale Anzahl von Sekunden zwischen
+	    <link linkend="zfs-term-txg">Transaktionsgruppen</link>
+	    (transaction group).  Die momentane Transaktionsgruppe
+	    wird auf den Pool geschrieben und eine frische
+	    Transaktionsgruppe begonnen, wenn diese Menge an Zeit seit
+	    der vorherigen Transaktionsgruppe abgelaufen ist.  Eine
+	    Transaktionsgruppe kann verfr�ht ausgel�st werden, wenn
+	    genug Daten geschrieben werden.  Der Standardwert betr�gt
+	    5 Sekunden.  Ein gr�sserer Wert kann die
+	    Lesegeschwindigkeit durch verz�gern von asynchronen
+	    Schreibvorg�ngen verbessern, allerdings kann dies
+	    ungleiche Geschwindigkeiten hervorrufen, wenn eine
+	    Transaktionsgruppe geschrieben wird.  Dieser Wert kann zu
+	    einem beliebigen Zeitpunkt mit &man.sysctl.8; ge�ndert
+	    werden.</para>
+	</listitem>
+      </itemizedlist>
+    </sect2>
+
+<!-- These sections will be added in the future
+    <sect2 xml:id="zfs-advanced-booting">
+      <title>Booting Root on <acronym>ZFS</acronym> </title>
+
+      <para></para>
+    </sect2>
+
+    <sect2 xml:id="zfs-advanced-beadm">
+      <title><acronym>ZFS</acronym> Boot Environments</title>
+
+      <para></para>
+    </sect2>
+
+    <sect2 xml:id="zfs-advanced-troubleshoot">
+      <title>Troubleshooting</title>
+
+      <para></para>
+    </sect2>
+-->
+
+    <sect2 xml:id="zfs-advanced-i386">
+      <title><acronym>ZFS</acronym> auf i386</title>
+
+      <para>Manche der Eigenschaften, die von <acronym>ZFS</acronym>
+	bereitgestellt werden, sind speicherintensiv und ben�tigen
+	Anpassungen f�r die maximale Effizienz auf Systemen mit
+	begrenztem <acronym>RAM</acronym>.</para>
+
+      <sect3>
+	<title>Hauptspeicher</title>
+
+	<para>Als absolutes Minimum sollte der gesamte verf�gbare
+	  Hauptspeicher mindestens ein Gigabyte betragen.  Die
+	  vorgeschlagene Menge an <acronym>RAM</acronym> ist bedingt
+	  durch die Poolgr�sse und welche Eigenschaften von
+	  <acronym>ZFS</acronym> verwendet werden. Eine Faustregel
+	  besagt, dass 1&nbsp;GB RAM f�r jedes 1&nbsp;TB Storage
+	  vorgesehen werden sollte.  Wenn Deduplizierung zum Einsatz
+	  kommt, besagt die Regel, dass 5&nbsp;GB RAM pro TB an
+	  Speicher, der dedupliziert werden soll, bereitgestellt sein
+	  muss.  Obwohl manche Anwender <acronym>ZFS</acronym> mit
+	  weniger <acronym>RAM</acronym> einsetzen, st�rzen Systeme
+	  h�ufiger wegen unzureichendem Hauptspeicher ab.  Weitere
+	  Anpassungen sind unter Umst�nden n�tig f�r Systeme mit
+	  weniger als die vorgeschlagene Menge an RAM.</para>
+      </sect3>
+
+      <sect3>
+	<title>Kernel-Konfiguration</title>
+
+	<para>Wegen des begrenzten Addressraumes der &i386;-Plattform
+	  m�ssen <acronym>ZFS</acronym>-Anwendern auf der
+	  &i386;-Architekture diese Option der
+	  Kernelkonfigurationsdatei hinzuf�gen, den Kernel erneut
+	  bauen und das System neu starten:</para>
+
+	<programlisting>options        KVA_PAGES=512</programlisting>
+
+	<para>Dies erweitert den Addressraum des Kernels, was es
+	  erlaubt, die Einstellung <varname>vm.kvm_size</varname>
+	  hinter die momentan vorgegebene Grenze von 1&nbsp;GB
+	  oder das Limit von 2&nbsp;GB f�r
+	  <acronym>PAE</acronym> zu bringen.  Um den passenden Wert
+	  f�r diese Option zu finden, teilen Sie den gew�nschten
+	  Addressraum in Megabyte durch vier.  In diesem Beispiel
+	  betr�gt sie <literal>512</literal> f�r 2&nbsp;GB.</para>
+      </sect3>
+
+      <sect3>
+	<title>Loader-Anpassungen</title>
+
+	<para>Der <filename>kmem</filename>-Addressraum kann auf allen
+	  &os;-Architekturen erh�ht werden.  Auf einem Testsystem mit
+	  1&nbsp;GB physischen Speichers wurden mit diesen Optionen in
+	  <filename>/boot/loader.conf</filename> und einem
+	  anschliessenden Systemneustart Erfolge erzielt:</para>
+
+	<programlisting>vm.kmem_size="330M"
+vm.kmem_size_max="330M"
+vfs.zfs.arc_max="40M"
+vfs.zfs.vdev.cache.size="5M"</programlisting>
+
+	<para>F�r eine detailliertere Liste an Empfehlungen f�r
+	  <acronym>ZFS</acronym>-bezogene Einstellungen, lesen Sie <link
+	    xlink:href="http://wiki.freebsd.org/ZFSTuningGuide"></link>.</para>
+      </sect3>
+    </sect2>
+  </sect1>
+
+  <sect1 xml:id="zfs-links">
+    <title>Zus�tzliche Informationen</title>
+
+    <itemizedlist>
+      <listitem>
+	<para><link xlink:href="https://wiki.freebsd.org/ZFS">FreeBSD
+	    Wiki - <acronym>ZFS</acronym></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    xlink:href="https://wiki.freebsd.org/ZFSTuningGuide">FreeBSD
+	    Wiki - <acronym>ZFS</acronym> Tuning</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    xlink:href="http://wiki.illumos.org/display/illumos/ZFS">Illumos
+	    Wiki - <acronym>ZFS</acronym></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    xlink:href="http://docs.oracle.com/cd/E19253-01/819-5461/index.html">Oracle
+	    Solaris <acronym>ZFS</acronym> Administration
+	    Guide</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    xlink:href="http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide"><acronym>ZFS</acronym>
+	    Evil Tuning Guide</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    xlink:href="http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide"><acronym>ZFS</acronym>
+	    Best Practices Guide</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    xlink:href="https://calomel.org/zfs_raid_speed_capacity.html">Calomel
+	    Blog - <acronym>ZFS</acronym> Raidz Performance, Capacity
+	    und Integrity</link></para>
+      </listitem>
+    </itemizedlist>
+  </sect1>
+
+  <sect1 xml:id="zfs-term">
+    <title><acronym>ZFS</acronym>-Eigenschaften und
+      Terminologie</title>
+
+    <para><acronym>ZFS</acronym> ist ein fundamental anderes
+      Dateisystem aufgrund der Tatsache, dass es mehr als ein
+      Dateisystem ist.  <acronym>ZFS</acronym> kombiniert die Rolle
+      eines Dateisystems mit dem Volumemanager, was es erm�glicht,
+      zus�tzliche Speichermedien zu einem laufenden System
+      hinzuzuf�gen und diesen neuen Speicher sofort auf allen auf dem
+      Pool existierenden Dateisystemen zur Verf�gung zu haben.  Durch
+      die Kombination von traditionell getrennten Rollen ist
+      <acronym>ZFS</acronym> in der Lage, Einschr�nkungen, die zuvor
+      <acronym>RAID</acronym>-Gruppen daran gehindert hatten, zu
+      wachsen.  Jedes Ger�t auf h�chster Ebene in einem Pool wird ein
+      <emphasis>vdev</emphasis> genannt, was eine einfache Platte oder
+      eine <acronym>RAID</acronym>-Transformation wie ein Spiegel oder
+      <acronym>RAID-Z</acronym>-Verbund sein kann.
+      <acronym>ZFS</acronym>-Dateisysteme
+      (<emphasis>datasets</emphasis> genannt), haben jeweils Zugriff
+      auf den gesamten freien Speicherplatz des gesamten Pools.  Wenn
+      Bl�cke aus diesem Pool allokiert werden, verringert sich auch
+      der freie Speicherplatz f�r jedes Dateisystem.  Dieser Ansatz
+      verhindert die allgegenw�rtige Falle von umfangreichen
+      Partitionen, bei denen freier Speicherplatz �ber alle
+      Partitionen hinweg fragmentiert wird.</para>
+
+    <informaltable pgwide="1">
+      <tgroup cols="2">
+	<tbody valign="top">
+	  <row>
+	    <entry xml:id="zfs-term-zpool">zpool</entry>
+
+	    <entry>Ein Speicher-<emphasis>Pool</emphasis> ist der
+	      grundlegendste Baustein von <acronym>ZFS</acronym>.  Ein
+	      Pool besteht aus einem oder mehreren vdevs, was die
+	      zugrundeliegenden Ger�te repr�sentiert, welche die Daten
+	      speichern.  Ein Pool wird dann verwendet, um ein oder
+	      mehrere Dateisysteme (Datasets) oder Blockger�te
+	      (Volumes) zu erstellen.  Diese Datasets und Volumes
+	      teilen sich den im Pool verf�gbaren freien
+	      Speicherplatz.  Jeder Pool wird eindeutig identifiziert
+	      durch einen Namen und eine <acronym>GUID</acronym>.  Die
+	      verf�gbaren Eigenschaften werden durch die
+	      <acronym>ZFS</acronym>-Versionsnummer des Pool
+	      bestimmt.
+
+	      <note>
+		<para>&os;&nbsp;9.0 und 9.1 enthalten Unterst�tzung
+		  f�r <acronym>ZFS</acronym> Version 28.  Sp�tere
+		  Versionen setzen <acronym>ZFS</acronym> Version 5000
+		  mit Feature Flags ein.  Das neue Feature Flag System
+		  erlaubt eine gr�ssere Kompatibilit�t mit anderen
+		  Implemtierungen von <acronym>ZFS</acronym>.</para>
+	      </note>
+	    </entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-vdev">vdev&nbsp;Arten</entry>
+
+	    <entry>Ein Pool besteht aus einem oder mehreren vdevs, die
+	      selbst eine einfache Platte oder im Fall von
+	      <acronym>RAID</acronym> eine Gruppe von Platten
+	      darstellt.  Wenn mehrere vdevs eingesetzt werden,
+	      verteilt <acronym>ZFS</acronym> die Daten �ber die
+	      vdevs, um die Geschwindigkeit zu steigern und den
+	      verf�gbaren Platz zu maximieren.
+
+	      <itemizedlist>
+		<listitem>
+		  <para
+		      xml:id="zfs-term-vdev-disk"><emphasis>Festplatte</emphasis>
+		    - Der einfachste Typ von vdev ist ein
+		    Standard-Blockger�t.  Dies kann die komplette
+		    Platte (wie
+		    <filename><replaceable>/dev/ada0</replaceable></filename>
+		    oder
+		    <filename><replaceable>/dev/da0</replaceable></filename>)
+		    oder auch eine Partition
+		    (<filename><replaceable>/dev/ada0p3</replaceable></filename>)
+		    sein.
+		    Auf &os; gibt es keine Geschwindigkeitseinbussen
+		    bei der Verwendung einer Partition anstatt einer
+		    kompletten Platte.  Dies unterscheidet sich von
+		    den Empfehlungen, welche in der Solaris
+		    Dokumentation gegeben werden.</para>
+		</listitem>
+
+		<listitem>
+		  <para
+		      xml:id="zfs-term-vdev-file"><emphasis>File</emphasis>
+		    - Zus�tzlich zu Festplatten k�nnen
+		    <acronym>ZFS</acronym>-Pools aus regul�ren Dateien
+		    aufgebaut sein, was bespnders hilfreich ist, um zu
+		    testen und zu experimentieren.  Verwenden Sie den
+		    kompletten Pfad zu der Datei als Ger�tepfad im
+		    Befehl zpool create.  Alle vdevs m�ssen mindestens
+		    128&nbsp;MB gross sein.</para>
+		</listitem>
+
+		<listitem>
+		  <para
+		      xml:id="zfs-term-vdev-mirror"><emphasis>Mirror</emphasis>
+		    - Wenn ein Spiegel erstellt wird, verwenden Sie
+		    das Schl�sselwort <literal>mirror</literal>,
+		    gefolgt von der Liste an Mitgliedsger�ten f�r den
+		    Spiegel.  Ein Spiegel besteht aus zwei oder mehr
+		    Ger�ten und s�mtliche Daten werden auf alle
+		    Ger�te, die Mitglied des Spiegels sind,
+		    geschrieben.  Ein Spiegel-vdev wird nur soviele
+		    Daten speichern, wie das kleinste Ger�t im Verbund aufnehmen
+		    kann.  Ein Spiegel-vdev kann den Verlust von allen
+		    Mitgliedsger�ten bis auf eines verkraften, ohne
+		    irgendwelche Daten zu verlieren.</para>
+
+		  <note>
+		    <para>Ein regul�re einzelne vdev-Platte kann
+		      jederzeit zu einem Spiegel-vdev �ber das
+		      Kommando <command>zpool <link
+			linkend="zfs-zpool-attach">attach</link></command>
+		      aktualisiert werden.</para>
+		  </note>
+		</listitem>
+
+		<listitem>
+		  <para
+		      xml:id="zfs-term-vdev-raidz"><emphasis><acronym>RAID-Z</acronym></emphasis>
+		    - <acronym>ZFS</acronym> implementiert
+		    <acronym>RAID-Z</acronym>, eine Varianten des
+		    <acronym>RAID-5</acronym>-Standards, der bessere
+		    Verteilung der Parit�t bietet und das
+		    <quote><acronym>RAID-5</acronym> write
+		    hole</quote> eliminiert, bei dem die Daten und
+		    Parit�t nach einem unerwarteten Neustart
+		    inkonsistent werden k�nnen.
+		    <acronym>ZFS</acronym> unterst�tzt drei Stufen von
+		    <acronym>RAID-Z</acronym>, die unterschiedliche
+		    Arten von Redundanz im Austausch gegen niedrigere
+		    Stufen von verwendbarem Speicher.
+		    Diese Typen werden <acronym>RAID-Z1</acronym>
+		    bis <acronym>RAID-Z3</acronym> genannt, basierend
+		    auf der Anzahl der Parit�tsger�te im Verbund und
+		    der Anzahl an Platten, die ausfallen k�nnen,
+		    w�hrend der Pool immer noch normal
+		    funktioniert.</para>
+
+		  <para>In einer
+		    <acronym>RAID-Z1</acronym>-Konfiguration mit
+		    vier Platten, bei der jede 1&nbsp;TB besitzt,
+		    betr�gt der verwendbare Plattenplatz 3&nbsp;TB und
+		    der Pool wird immer noch im Modus degraded
+		    weiterlaufen, wenn eine Platte davon ausf�llt.
+		    Wenn eine zus�tzliche Platte ausf�llt, bevor die
+		    defekte Platte ersetzt wird, k�nnen alle Daten im
+		    Pool verloren gehen.</para>
+
+		  <para>Eine Konfiguration von acht Platten zu je
+		    1&nbsp;TB als <acronym>RAID-Z3</acronym> wird
+		    5&nbsp;TB verwendbaren Speicher bieten und in der
+		    Lage sein, weiterhin zu funktionieren, wenn drei
+		    Platten ausgefallen sind.  &sun; empfiehlt nicht
+		    mehr als neun Platten in einem einzelnen vdev.
+		    Wenn die Konfiguration mehr Platten aufweist, wird
+		    empfohlen, diese in getrennten vdevs aufzuteilen,
+		    so dass die Daten des Pools zwischen diesen
+		    aufgeteilt werden.</para>
+
+		  <para>Eine Konfiguration von zwei
+		    <acronym>RAID-Z2</acronym>-vdevs, bestehend aus
+		    jeweils 8 Platten w�rde etwa einem
+		    <acronym>RAID-60</acronym>-Verbund entsprechen.
+		    Der Speicherplatz einer
+		    <acronym>RAID-Z</acronym>-Gruppe ist ungef�hr die
+		    Gr�sse der kleinsten Platte multipliziert mit der
+		    Anzahl von nicht-Parit�tsplatten.  Vier 1&nbsp;TB
+		    Platten in einem <acronym>RAID-Z1</acronym>
+		    besitzt eine effektive Gr�sse von ungef�hr
+		    3&nbsp;TB und ein Verbund von acht
+		    1&nbsp;TB-Platten als <acronym>RAID-Z3</acronym>
+		    enth�lt 5&nbsp;TB verf�gbarer Plattenplatz.</para>
+		</listitem>
+
+		<listitem>
+		  <para
+		      xml:id="zfs-term-vdev-spare"><emphasis>Spare</emphasis>
+		    - <acronym>ZFS</acronym> besitzt einen speziellen
+		    Pseudo-vdev Typ, um einen �berblick �ber die
+		    verf�gbaren hot spares zu behalten.  Beachten Sie,
+		    dass hot spares nicht automatisch eingesetzt
+		    werden.  Diese m�ssen manuell konfiguriert werden,
+		    um ein ausgefallenes Ger�t �ber <command>zfs
+		      replace</command> zu ersetzen.</para>
+		</listitem>
+
+		<listitem>
+		  <para
+		      xml:id="zfs-term-vdev-log"><emphasis>Log</emphasis>
+		    - <acronym>ZFS</acronym> Log-Ger�te, auch
+		    bezeichnet als ein <acronym>ZFS</acronym> Intent
+		    Log (<link
+		      linkend="zfs-term-zil"><acronym>ZIL</acronym></link>)
+		    verschieben das Intent Log von den regul�ren
+		    Ger�ten im Pool auf ein dediziertes Ger�t,
+		    typischerweise eine <acronym>SSD</acronym>.  Ein
+		    dediziertes Log-Ger�t zu besitzen kann die
+		    Geschwindigkeit von Anwendungen mit einer grossen
+		    Anzahl von synchronen Schreibvorg�ngen, besonders
+		    Datenbanken, signifikant steigern.  Log-Ger�te
+		    k�nnen gespiegelt werden, jedoch wird
+		    <acronym>RAID-Z</acronym> nicht unterst�tzt.
+		    Werden mehrere Log-Ger�te verwendet, so werden
+		    Schreibvorg�nge gleichm�ssig unter diesen
+		    aufgeteilt.</para>
+		</listitem>
+
+		<listitem>
+		  <para
+		      xml:id="zfs-term-vdev-cache"><emphasis>Cache</emphasis>
+		    - Ein Cache-vdev einem Pool hinzuzuf�gen, erh�ht
+		    den Speicher des <link
+		      linkend="zfs-term-l2arc"><acronym>L2ARC</acronym></link>
+		    Caches.  Cache-Ger�te lassen sich nicht spiegeln.
+		    Da ein Cache-Ger�t nur zus�tzliche Kopien von
+		    existierenden Daten speichert, gibt es kein
+		    Risiko, Daten zu verlieren.</para>
+		</listitem>
+	      </itemizedlist></entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-txg">Transaktionsgruppe
+	      (Transaction Group, <acronym>TXG</acronym>)</entry>
+
+	    <entry>Transaktionsgruppen sind die Art und Weise, wie
+	      ge�nderte Bl�cke zusammen gruppiert und letztendlich auf
+	      den Pool geschrieben werden.  Transaktionsgruppen sind
+	      die atomare Einheit, welche <acronym>ZFS</acronym>
+	      verwendet, um Konsistenz zu gew�hrleisten.  Jeder
+	      Transaktionsgruppe wird eine einzigartige, fortlaufende
+	      64-Bit Identifikationsnummer zugewiesen.  Es kann bis zu
+	      drei aktive Transaktionsgruppen gleichzeitig geben,
+	      wobei sich jede davon in einem der folgenden drei
+	      Zust�nde befinden kann:
+
+	      <itemizedlist>
+		<listitem>
+		  <para><emphasis>Open (Offen)</emphasis> - Wenn eine neue
+		    Transaktionsgruppe erstellt wird, befindet diese
+		    sich im Zustand offen und akzeptiert neue
+		    Schreibvorg�nge.  Es ist immer eine
+		    Transaktionsgruppe in diesem Zustand, jedoch kann
+		    die Transaktionsgruppe neue Schreibvorg�nge
+		    ablehnen, wenn diese ein Limit erreicht hat.
+		    Sobald eine offene Transaktionsgruppe an das Limit
+		    st�sst oder das <link
+		      linkend="zfs-advanced-tuning-txg-timeout"><varname>vfs.zfs.txg.timeout</varname></link>
+		    wurde erreicht, geht die Transaktionsgruppe in den
+		    n�chsten Zustand �ber.</para>
+		</listitem>
+
+		<listitem>
+		  <para><emphasis>Quiescing (Stilllegen)</emphasis> -
+		    Ein kurzer Zustand, der es noch ausstehenden
+		    Operationen erlaubt, zum Abschluss zu kommen,
+		    w�hrenddessen das Erstellen einer neuen
+		    Transaktionsgruppe jedoch nicht blockiert wird.
+		    Sobald alle Transaktionen in der Gruppe
+		    abgeschlossen sind, geht die Transaktionsgruppen
+		    in den letzten Zustand �ber.</para>
+		</listitem>
+
+		<listitem>
+		  <para><emphasis>Syncing (Sychronisieren)</emphasis>
+		    - Alle Daten in der Transaktionsgruppe werden auf
+		    das Speichermedium geschrieben.  Dieser Prozess
+		    wird wiederum andere Daten wie Metadaten und space
+		    maps ver�ndern, die ebenfalls auf das
+		    Speichermedium geschrieben werden m�ssen.  Der
+		    Prozess des Synchronisierens beinhaltet mehrere
+		    Durchl�ufe.  Der erste Prozess, welches der
+		    gr�sste, gefolgt von den Metadaten, ist,
+		    beinhaltet alle ge�nderten Datenbl�cke und kann
+		    mehrere Durchl�ufe ben�tigen, um zum Ende zu
+		    gelangen.  Da das Allokieren von Speicher f�r die
+		    Datenbl�cke neue Metadaten generiert, kann der
+		    Synchronisationsprozess nicht beendet werden, bis
+		    ein Durchlauf fertig ist, der keinen zus�tzlichen
+		    Speicher allokiert.  Der Synchronisierungszustand
+		    ist der Zustand, in dem auch
+		    <emphasis>synctasks</emphasis> abgeschlosse
+		    werden.  Synctasks sind administrative
+		    Operationen, wie das Erstellen oder zerst�ren von
+		    Schnappsch�ssen und Datasets, welche den �berblock
+		    ver�ndern, wenn sie abgeschlossen sind.  Sobald
+		    der Synchronisationszustand abgeschlossen ist,
+		    geht die Transaktionsgruppe aus dem
+		    Stilllegungszustand �ber in den
+		    Synchronisationszustand.</para>
+		</listitem>
+	      </itemizedlist>
+
+	      Alle administrativen Funktionen, wie <link
+		linkend="zfs-term-snapshot"><command>Schnappsch�sse</command></link>
+	      werden als Teil einer Transaktionsgruppe geschrieben.
+	      Wenn ein synctask erstellt ist, wird dieser der momentan
+	      ge�ffneten Transaktionsgruppe hinzugef�gt und diese
+	      Gruppe wird so schnell wie m�glich in den
+	      Synchronisationszustand versetzt, um die Latenz von
+	      administrativen Befehlen zu reduzieren.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-arc">Adaptive Replacement
+	      Cache (<acronym>ARC</acronym>)</entry>
+
+	    <entry><acronym>ZFS</acronym> verwendet einen Adaptive
+	      Replacement Cache (<acronym>ARC</acronym>), anstatt
+	      eines traditionellen Least Recently Used
+	      (<acronym>LRU</acronym>) Caches.  Ein
+	      <acronym>LRU</acronym>-Cache ist eine einfache Liste von
+	      Elementen im Cache, sortiert nach der letzten Verwendung
+	      jedes Elements in der Liste.  Neue Elemente werden an
+	      den Anfang der Liste eingef�gt.  Wenn der Cache voll
+	      ist, werden Elemente vom Ende der Liste verdr�ngt, um
+	      Platz f�r aktivere Objekte zu schaffen.  Ein
+	      <acronym>ARC</acronym> besteht aus vier Listen:
+	      derjenigen der Most Recently Used
+	      (<acronym>MRU</acronym>) und Most Frequently Used
+	      (<acronym>MFU</acronym>) Objekte, plus einer sogenannten
+	      ghost list f�r jede von beiden.  Diese Ghost Lists
+	      verfolgen die k�rzlich verdr�ngten Objekte, um zu
+	      verhindern, dass diese erneut in den Cache aufgenommen
+	      werden.  Dies erh�ht die Trefferrate (hit ratio) des
+	      Caches, indem verhindert wird, dass Elemente, die in der
+	      Vergangenheit nur ab und zu benutzt wurden, wieder im
+	      Cache landen.  Ein weiterer Vorteil der Verwendung
+	      sowohl einer <acronym>MRU</acronym> und einer
+	      <acronym>MFU</acronym> ist, dass das Scannen eines
+	      gesamten Dateisystems normalerweise alle Daten aus einem
+	      <acronym>MRU</acronym>- oder
+	      <acronym>LRU</acronym>-Cache verdr�ngt, um dem gerade
+	      frisch zugegriffenem Inhalt den Vorzug zu geben.  Mit
+	      <acronym>ZFS</acronym> gibt es also eine
+	      <acronym>MFU</acronym>, die nur die am h�ufigsten
+	      verwendeten Elemente beinhaltet und der Cache von am
+	      meisten zugegriffenen Bl�cken bleibt erhalten.</entry>
+	  </row>
+
+	  <row>
+	    <entry
+	      xml:id="zfs-term-l2arc"><acronym>L2ARC</acronym></entry>
+
+	    <entry><acronym>L2ARC</acronym> ist die zweite Stufe des
+	      Caching-Systems von <acronym>ZFS</acronym>.  Der
+	      Haupt-<acronym>ARC</acronym> wird im
+	      <acronym>RAM</acronym> abgelegt.  Da die Menge an
+	      verf�gbarem <acronym>RAM</acronym> meist begrenzt ist,
+	      kann <acronym>ZFS</acronym> auch <link
+	      linkend="zfs-term-vdev-cache">cache vdevs</link>
+	      verwenden.  Solid State Disks (<acronym>SSD</acronym>s)
+	      werden oft als diese Cache-Ger�te eingesetzt, aufgrund
+	      ihrer h�heren Geschwindigkeit und niedrigeren Latenz im
+	      Vergleich zu traditionellen drehenden Speichermedien wie
+	      Festplatten.  Der Einsatz des <acronym>L2ARC</acronym>
+	      ist optional, jedoch wird durch die Verwendung eine
+	      signifikante Geschwindigkeitssteigerung bei
+	      Lesevorg�ngen bei Dateien erzielt, welche auf der
+	      <acronym>SSD</acronym> zwischengespeichert sind, anstatt
+	      von der regul�ren Platte gelesen werden zu m�ssen.
+	      <acronym>L2ARC</acronym> kann ebenfalls die <link
+	      linkend="zfs-term-deduplication">Deduplizierung</link>
+	      beschleunigen, da eine <acronym>DDT</acronym>, welche
+	      nicht in den <acronym>RAM</acronym> passt, jedoch in den
+	      <acronym>L2ARC</acronym> wesentlich schneller sein wird
+	      als eine <acronym>DDT</acronym>, die von der Platte
+	      gelesen werden muss.  Die H�ufigkeit, in der Daten zum
+	      Cache-Ger�t hinzugef�gt werden, ist begrenzt, um  zu
+	      verhindern, dass eine <acronym>SSD</acronym> fr�hzeitig
+	      durch zu viele Schreibvorg�nge aufgebraucht ist.  Bis
+	      der Cache voll ist (also der erste Block verdr�ngt
+	      wurde, um Platz zu schaffen), wird das Schreiben auf den
+	      <acronym>L2ARC</acronym> begrenzt auf die Summe der
+	      Schreibbegrenzung und das Bootlimit, sowie hinterher auf
+	      das Schreiblimit.  Ein paar &man.sysctl.8;-Werte steuert
+	      diese Limits.  <link
+		linkend="zfs-advanced-tuning-l2arc_write_max"><varname>vfs.zfs.l2arc_write_max</varname></link>
+	      steuert, wie viele Bytes in den Cache pro Sekunde
+	      geschrieben werden, w�hrend <link
+		linkend="zfs-advanced-tuning-l2arc_write_boost"><varname>vfs.zfs.l2arc_write_boost</varname></link>
+	      zu diesem Limit w�hrend der <quote>Turbo Warmup
+	      Phase</quote> hinzuaddiert wird (Write Boost).</entry>
+	  </row>
+
+	  <row>
+	    <entry
+	      xml:id="zfs-term-zil"><acronym>ZIL</acronym></entry>
+
+	    <entry><acronym>ZIL</acronym> beschleunigt synchrone
+	      Transaktionen durch die Verwendung von Speichermedien
+	      wie <acronym>SSD</acronym>s, welche schneller sind als
+	      diejenigen, welche Teil des Speicherpools sind.  Wenn
+	      eine Anwendung einen synchronen Schreibvorgang anfordert
+	      (eine Garantie, dass die Daten sicher auf den Platten
+	      gespeichert wurden anstatt nur zwischengespeichert zu
+	      sein, um sp�ter geschrieben zu werden), werden die Daten
+	      auf den schnelleren <acronym>ZIL</acronym>-Speicher
+	      geschrieben und dann sp�ter auf die regul�ren
+	      Festplatten.  Dies reduziert die Latenz sehr und
+	      verbessert die Geschwindigkeit.  Nur synchrone Vorg�nge
+	      wie die von Datenbanken werden durch den Einsatz eines
+	      <acronym>ZIL</acronym> profitieren.  Regul�re,
+	      asynchrone Schreibvorg�nge wie das Kopieren von Dateien
+	      wird den <acronym>ZIL</acronym> �berhaupt nicht
+	      verwenden.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-cow">Copy-On-Write</entry>
+
+	    <entry>Im Gegensatz zu traditionellen Dateisystemen werden
+	      beim �berschreiben von Daten bei <acronym>ZFS</acronym>
+	      die neuen Daten an einen anderen Block geschrieben,
+	      anstatt die alten Daten an der gleichen Stelle zu
+	      �berschreiben.  Nur wenn dieser Schreibvorgang beendet
+	      wurde, werden die Metadaten aktualisiert, um auf die
+	      neue Position zu verweisen.  Im Falle eines kurzen
+	      Schreibvorgangs (ein Systemabsturz oder Spannungsverlust
+	      w�hrend eine Datei geschrieben wird) sind die gesamten
+	      Inhalte der Originaldatei noch vorhanden und der
+	      unvollst�ndige Schreibvorgang wird verworfen.  Das
+	      bedeutet auch, dass <acronym>ZFS</acronym> nach einem
+	      unvorhergesehenen Ausfall keinen &man.fsck.8;
+	      ben�tigt.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-dataset">Dataset</entry>
+
+	    <entry><emphasis>Dataset</emphasis> ist der generische
+	      Begriff f�r ein <acronym>ZFS</acronym>-Dateisystem,
+	      Volume, Schnappsch�sse oder Klone.  Jedes Dataset
+	      besitzt einen eindeutigen Namen in der Form
+	      <replaceable>poolname/path@snapshot</replaceable>  Die
+	      Wurzel des Pools ist technisch gesehen auch ein Dataset.
+	      Kind-Datasets werden hierarchisch wie Verzeichnisse
+	      benannt.  Beispielsweise ist
+	      <replaceable>mypool/home</replaceable> das
+	      Heimatdataset, ein Kind von
+	      <replaceable>mypool</replaceable> und erbt die
+	      Eigenschaften von diesem.  Dies kann sogar noch
+	      erweitert werden durch das Erstellen von
+	      <replaceable>mypool/home/user</replaceable>.  Dieses
+	      Enkelkind-Dataset wird alle Eigenschaften von den Eltern
+	      und Grosseltern erben.  Eigenschaften auf einem Kind
+	      k�nnen die geerbten Standardwerte der Eltern und
+	      Grosseltern �ndern und �berschreiben.  Die Verwaltung
+	      von Datasets und dessen Kindern l�sst sich
+	      <link linkend="zfs-zfs-allow">delegieren</link>.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-filesystem">Dateisystem</entry>
+
+	    <entry>Ein <acronym>ZFS</acronym>-Dataset wird meistens
+	      als ein Dateisystem verwendet. Wie jedes andere
+	      Dateisystem kann auch ein
+	      <acronym>ZFS</acronym>-Dateisystem irgendwo in der
+	      Verzeichnishierarchie eingeh�ngt werden und enth�lt
+	      seine eigenen Dateien und Verzeichnisse mit
+	      Berechtigungen, Flags und anderen Metadaten.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-volume">Volume</entry>
+
+	    <entry>Zus�tzlich zu regul�ren Dateisystem-Datasets, kann
+	      <acronym>ZFS</acronym> auch Volumes erstellen, die
+	      Blockger�te sind.  Volumes besitzen viele der gleichen
+	      Eigenschaften, inklusive copy-on-write, Schnappsch�sse,
+	      Klone und Pr�fsummen.  Volumes sind n�tzlich, um andere
+	      Dateisystemformate auf <acronym>ZFS</acronym>
+	      aufzusetzen, so wie <acronym>UFS</acronym>
+	      Virtualisierung, oder das Exportieren von
+	      <acronym>iSCSI</acronym>-Abschnitten.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-snapshot">Snapshot
+	      (Schnappschuss)</entry>
+
+	    <entry>Das <link
+	      linkend="zfs-term-cow">copy-on-write</link>
+	      (<acronym>COW</acronym>)-Entwicklung von
+	      <acronym>ZFS</acronym> erlaubt das Erstellen von beinahe
+	      sofortigen, konsistenten Schnappsch�ssen mit beliebigen
+	      Namen.  Nachdem ein Schnappschuss von einem Dataset
+	      angelegt oder ein rekursiver Schnappschuss eines
+	      Elterndatasets, welcher alle Kinddatasets enth�lt,
+	      erstellt wurde, werden neue Daten auf neue Bl�cke
+	      geschrieben, jedoch die alten Bl�cke nicht wieder als
+	      freier Speicher zur�ckgewonnen.  Der Schnappschuss
+	      enth�lt die Originalversion des Dateisystems und das
+	      aktive Dateisystem besitzt alle �nderungen, die seit dem
+	      Schnappschuss erstellt wurden.  Kein zus�tzlicher Platz
+	      wird ben�tigt.  Werden neue Daten auf das aktive
+	      Dateisystem geschrieben, werden neue Bl�cke allokiert,
+	      um diese Daten zu speichern.  Die scheinbare Gr�sse des
+	      Schnappschusses wird wachsen, da die Bl�cke nicht mehr
+	      l�nger im aktiven Dateisystem, sondern nur noch im
+	      Schnappschuss Verwendung finden.  Diese Schnappsch�sse
+	      k�nnen nur lesend eingeh�ngt werden, um vorherige
+	      Versionen von Dateien wiederherzustellen.  Ein <link
+		linkend="zfs-zfs-snapshot">rollback</link> eines
+	      aktiven Dateisystems auf einen bestimmten Schnappschuss
+	      ist ebenfalls m�glich, was alle �nderungen, die seit dem
+	      Anlegen des Schnappschusses vorgenommen wurden, wieder
+	      R�ckg�ngig macht.  Jeder Block im Pool besitzt einen
+	      Referenzz�hler, der verfolgt, wieviele Schnappsch�sse,
+	      Klone, Datasets oder Volumes diesen Block nutzen.  Wenn
+	      Dateien und Schnappsch�sse gel�scht werden, verringert
+	      dies auch den Referenzz�hler.  Wenn ein Block nicht mehr
+	      l�nger referenziert wird, kann er als freier Speicher
+	      wieder genutzt werden.  Schnappsch�sse k�nnen auch mit
+	      <link linkend="zfs-zfs-snapshot">hold</link> markiert
+	      werden.  Wenn versucht wird, einen solchen Schnappschuss
+	      zu zerst�ren, wird stattdessen ein
+	      <literal>EBUSY</literal>-Fehler ausgegeben.  Jeder
+	      Schnappschuss kann mehrere holds besitzen, jeder mit
+	      einem eindeutigen Namen.  Das Kommando <link
+		linkend="zfs-zfs-snapshot">release</link> entfernt
+	      diese, damit der Schnappschuss gel�scht werden kann.
+	      Schnappsch�sse lassen sich auf Volumes ebenfalls
+	      anlegen, allerdings k�nnen diese nur geklont oder
+	      zur�ckgerollt werden, nicht jedoch unabh�ngig
+	      eingeh�ngt.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-clone">Clone (Klone)</entry>
+
+	    <entry>Schnappsch�sse k�nnen auch geklont werden.  Ein
+	      Klon stellt eine ver�nderbare Version eines
+	      Schnappschusses dar, was es erm�glicht, das Dateisystem
+	      als neues Dataset aufzuspalten.  Genau wie bei einem
+	      Schnappschuss verbraucht ein Klon keinen zus�tzlichen
+	      Platz.  Wenn neue Daten auf einen Klon geschrieben und
+	      neue Bl�cke allokiert werden, w�chst auch die Gr�sse des
+	      Klons.  Wenn Bl�cke im geklonten Dateisystem oder Volume
+	      �berschrieben werden, verringert sich auch der
+	      Referenzz�hler im vorherigen Block.  Der Schnappschuss,
+	      auf dem der Klon basiert kann nicht gel�scht werden,
+	      weil der Klon darauf eine Abh�ngigkeit besitzt.  Der
+	      Schnappschuss stellt den Elternteil dar und der Klon das
+	      Kind.  Klone lassen sich <emphasis>promoted</emphasis>
+	      (bef�rdern), was die Abh�ngigkeit aufl�st und den Klon
+	      zum Elternteil macht und den vorherigen Elternteil das
+	      Kind.  Diese Operation ben�tigt keinen zus�tzlichen
+	      Plattenplatz.  Da die Menge an verwendetem Speicher vom
+	      Elternteil und dem Kind vertauscht wird, betrifft dies
+	      eventuell vorhandene Quotas und Reservierungen.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-checksum">Checksum (Pr�fsumme)</entry>
+
+	    <entry>Jeder Block, der allokiert wird erh�lt auch eine
+	      Pr�fsumme.  Der verwendete Pr�fsummenalgorithmus ist
+	      eine Eigenschaft jedes Datasets, siehe dazu <link
+		linkend="zfs-zfs-set"><command>set</command></link>.
+	      Die Pr�fsumme jedes Blocks wird transparent validiert
+	      wenn er gelesen wird, was es <acronym>ZFS</acronym>
+	      erm�glicht, stille Verf�lschung zu entdecken.  Wenn die
+	      gelesenen Daten nicht mit der erwarteten Pr�fsumme
+	      �bereinstimmen, wird <acronym>ZFS</acronym> versuchen,
+	      die Daten aus jeglicher verf�gbarer Redundanz (wie
+	      Spiegel oder <acronym>RAID-Z</acronym>) zu
+	      rekonstruieren.  Eine �berpr�fung aller Pr�fsummen kann
+	      durch das Kommando <link
+		linkend="zfs-term-scrub"><command>scrub</command></link>
+	      ausgel�st werden.
+	      Pr�fsummenalgorithmen sind:
+
+	      <itemizedlist>
+		<listitem>
+		  <para><literal>fletcher2</literal></para>
+		</listitem>
+
+		<listitem>
+		  <para><literal>fletcher4</literal></para>
+		</listitem>
+
+		<listitem>
+		  <para><literal>sha256</literal></para>
+		</listitem>
+	      </itemizedlist>
+
+	      Die <literal>fletcher</literal>-Algorithmen sind
+	      schneller, aber daf�r ist <literal>sha256</literal> ein
+	      starker kryptographischer Hash und besitzt eine viel
+	      niedrigere Chance auf Kollisionen zu stossen mit dem
+	      Nachteil geringerer Geschwindigkeit.  Pr�fsummen k�nnen
+	      deaktiviert werden, dies wird aber nicht
+	      empfohlen.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-compression">Compression</entry>
+
+	    <entry>Jedes Dataset besitzt eine compression-Eigenschaft,
+	      die standardm�ssig ausgeschaltet ist.  Diese Eigenschaft
+	      kann auf eine Reihe von Kompressionsalgorithmen
+	      eingestellt werden.  Dadurch werden alle neuen Daten,
+	      die auf das Dataset geschrieben werden, komprimiert.
+	      Neben einer Reduzierung von verbrauchtem Speicher wird
+	      oft der Lese- und Schreibdurchsatz erh�ht, weil weniger
+	      Bl�cke gelesen oder geschrieben werden m�ssen.
+
+	      <itemizedlist>
+		<listitem xml:id="zfs-term-compression-lz4">
+		  <para><emphasis><acronym>LZ4</acronym></emphasis> -
+		    Wurde in der <acronym>ZFS</acronym> Poolversion
+		    5000 (feature flags) hiinzugef�gt und
+		    <acronym>LZ4</acronym> ist jetzt der empfohlene
+		    Kompressionsalgorithmus.  <acronym>LZ4</acronym>
+		    komprimiert ungef�hr 50% schneller als
+		    <acronym>LZJB</acronym>, wenn er auf
+		    komprimierbaren Daten angewendet wird und ist �ber
+		    dreimal schneller, wenn unkomprimierbare Daten
+		    vorliegen.  <acronym>LZ4</acronym> entkomprimiert
+		    auch ungef�hr 80% schneller als
+		    <acronym>LZJB</acronym>.  Auf modernen
+		    <acronym>CPU</acronym>s, kann
+		    <acronym>LZ4</acronym> oft �ber 500&nbsp;MB/s
+		    komprimieren und entkomprimiert (pro einzelnem
+		    CPU-Kern) bei �ber 1.5&nbsp;GB/s.</para>
+
+		  <note>
+		    <para><acronym>LZ4</acronym>-Komprimierung ist nur
+		      verf�gbar nach &os;&nbsp;9.2.</para>
+		  </note>
+		</listitem>
+
+		<listitem xml:id="zfs-term-compression-lzjb">
+		  <para><emphasis><acronym>LZJB</acronym></emphasis> -
+		    Der Standardkompressionsalgorithmus wurde von
+		    Jeff Bonwick, einem der urspr�nglichen Entwickler
+		    von <acronym>ZFS</acronym>, entworfen.
+		    <acronym>LZJB</acronym> bietet gute Komprimierung
+		    mit weniger <acronym>CPU</acronym>-�berhang im
+		    Vergleich zu <acronym>GZIP</acronym>.  In der
+		    Zukunft wird der Standardkompressionsalgorithmus
+		    wahrscheinlich auf <acronym>LZ4</acronym>
+		    gewechselt.</para>
+		</listitem>
+
+		<listitem xml:id="zfs-term-compression-gzip">
+		  <para><emphasis><acronym>GZIP</acronym></emphasis> -
+		    Ein popul�rer Stromkompressionsalgorithmus ist
+		    auch in <acronym>ZFS</acronym> verf�gbar.  Einer
+		    der Hauptvorteile von der Verwendung von
+		    <acronym>GZIP</acronym> ist seine konfigurierbare
+		    Komprimierungsstufe.  Wenn die Eigenschaft
+		    <literal>compress</literal> gesetzt wird, kann der
+		    Administrator die Stufe der Komprimierung w�hlen,
+		    die von <literal>gzip1</literal>, der kleinsten
+		    Komprimierungsstufe, bis zu
+		    <literal>gzip9</literal>, der h�chsten
+		    Komprimierungsstufe, reicht.  Dies erlaubt es dem
+		    Administrator zu steuern, wieviel
+		    <acronym>CPU</acronym>-Zeit f�r eingesparten
+		    Plattenplatz eingetauscht werde soll.</para>
+		</listitem>
+
+		<listitem xml:id="zfs-term-compression-zle">
+		  <para><emphasis><acronym>ZLE</acronym></emphasis> -
+		    Zero Length Encoding ist ein besonderer
+		    Kompressionsalgorithmus, welcher nur fortlaufende
+		    Aneinanderreihungen von Nullen komprimiert.
+		    Dieser Komprimierungsalgorithmus ist nur sinnvoll,
+		    wenn das Dataset viele grosse Bl�cke von Nullen
+		    aufweist.</para>
+		</listitem>
+	      </itemizedlist></entry>
+	  </row>
+
+	  <row>
+	    <entry
+	      xml:id="zfs-term-copies">Copies</entry>
+
+	    <entry>Wenn die Eigenschaft <literal>copies</literal> auf
+	      einen Wert gr�sser als 1 gesetzt wird, weist das
+	      <acronym>ZFS</acronym> an, mehrere Kopien eines Blocks
+	      im <link linkend="zfs-term-filesystem">Dateisystem</link>
+	      oder
+	      <link linkend="zfs-term-volume">Volume</link> anzulegen.
+	      Diese Eigenschaft auf einem wichtigen Dataset
+	      einzustellen sorgt f�r zus�tzliche Redundanz, aus der
+	      ein Block wiederhergestellt werden kann, der nicht mehr
+	      mit seiner Pr�fsumme �bereinstimmt.  In Pools ohne
+	      Redundanz ist die copies-Eigenschaft die einzige Form
+	      von Redundanz.  Die Eigenschaft kann einen einzelnen
+	      schlechten Sektor oder andere Formen von kleineren
+	      Verf�lschungen wiederherstellen, sch�tzt jedoch nicht
+	      den Pool vom Verlust einer gesamten Platte.</entry>
+	  </row>
+
+	  <row>
+	    <entry
+	      xml:id="zfs-term-deduplication">Deduplizierung</entry>
+
+	    <entry>Pr�fsummen erm�glichen es, Duplikate von Bl�cken zu
+	      erkennen, wenn diese geschrieben werden.  Mit
+	      Deduplizierung erh�ht sich der Referenzz�hler eines
+	      existierenden, identischen Blocks, was Speicherplatz
+	      einspart.  Um Blockduplikate zu erkennen, wird im
+	      Speicher eine Deduplizierungstabelle
+	      (<acronym>DDT</acronym>) gef�hrt.  Die Tabelle enth�lt
+	      eine Liste von eindeutigen Pr�fsummen, die Position
+	      dieser Bl�cke und einen Referenzz�hler.  Werden neue
+	      Daten geschrieben, wird die Pr�fsumme berechnet und mit
+	      der Liste verglichen.  Wird eine �bereinstimmung
+	      gefunden, wird der existierende Block verwendet.  Der
+	      <acronym>SHA256</acronym>-Pr�fsummenalgorithmus wird mit
+	      Deduplizierung benutzt, um einen sicheren
+	      kryptographischen Hash zu bieten.  Deduplizierung l�sst
+	      sich konfigurieren.  Wenn <literal>dedup</literal> auf
+	      <literal>on</literal> steht, wird angenommen, dass eine
+	      �bereinstimmende Pr�fsumme bedeutet, dass die Daten
+	      identisch sind.  Steht <literal>dedup</literal> auf
+	      <literal>verify</literal>, werden die Daten in den
+	      beiden Bl�cken Byte f�r Byte gepr�ft, um
+	      sicherzustellen, dass diese wirklich identisch sind.
+	      Wenn die Daten nicht identisch sind, wird die Kollision
+	      im Hash vermerkt und die beiden Bl�cke separat
+	      gespeichert.  Da die <acronym>DDT</acronym> den Hash
+	      jedes einzigartigen Blocks speichern muss, ben�tigt sie
+	      eine grosse Menge an Speicher.  Eine generelle
+	      Faustregel besagt, dass 5-6&nbsp;GB RAM pro 1&nbsp;TB 
+	      deduplizierter Daten ben�tigt werden.  In Situationen,
+	      in denen es nicht praktikabel ist, genug
+	      <acronym>RAM</acronym> vorzuhalten, um die gesamte
+	      <acronym>DDT</acronym> im Speicher zu belassen, wird die
+	      Geschwindigkeit stark darunter leiden, da die
+	      <acronym>DDT</acronym> von der Platte gelesen werden
+	      muss, bevor jeder neue Block geschrieben wird.
+	      Deduplizierung kann den <acronym>L2ARC</acronym> nutzen,
+	      um die <acronym>DDT</acronym> zu speichern, was einen
+	      guten Mittelweg zwischen schnellem Systemspeicher und
+	      langsameren Platten darstellt.  Bedenken Sie, dass durch
+	      die Verwendung von Komprimierung meistens genauso grosse
+	      Platzersparnis m�glich ist, ohne den zus�tzlichen
+	      Hauptspeicherplatzbedarf.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-scrub">Scrub (Bereinigung)</entry>
+
+	    <entry>Anstat einer Konsistenzpr�fung wie &man.fsck.8;
+	      verwendet <acronym>ZFS</acronym>
+	      <command>scrub</command>.  <command>scrub</command>
+	      liest alle Datenbl�cke, die auf dem Pool gespeichert
+	      sind und pr�ft deren Pr�fsumme gegen die als richtig
+	      in den Metadaten gespeicherte Pr�fsumme.  Eine
+	      periodische Pr�fung aller im Pool gespeicherten Daten
+	      versichert, dass verf�lschte Bl�cke rekonstruiert werden
+	      k�nnen, bevor dies n�tig ist.  Ein Scrub wird nicht nach
+	      einem unsauberen Herunterfahren ben�tigt, wird jedoch
+	      einmal alle drei Monate angeraten.  Die Pr�fsumme von
+	      jedem Block wird verifiziert, wenn Bl�cke w�hrend des
+	      normalen Betriebs gelesen werden, jedoch stellt ein
+	      Scrub sicher, dass sogar weniger h�ufig verwendete
+	      Bl�cke auf stille Verf�lschungen hin untersucht werden.
+	      Datenintegrit�t wird dadurch erh�ht, besonders wenn es
+	      sich um Archivspeichersituationen handelt.  Die relative
+	      Priorit�t des <command>scrub</command> l�sst sich mit
+	      <link
+		linkend="zfs-advanced-tuning-scrub_delay"><varname>vfs.zfs.scrub_delay</varname></link>
+	      anpassen, um zu verhindern, dass der scrub die
+	      Geschwindigkeit von anderen Anfragen auf dem Pool
+	      beeintr�chtigt.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-quota">Dataset Quotas</entry>
+
+	    <entry><acronym>ZFS</acronym> bietet sehr schnelle und
+	      akkurate Dataset-, Benutzer- und
+	      Gruppenspeicherplatzbuchhaltung, zus�tzlich zu Quotas
+	      und Speicherplatzreservierungen.  Dies gibt dem
+	      Administrator feingranulare Kontrolle dar�ber, wie
+	      Speicherplatz allokiert und die Reservierung f�r
+	      kritische Dateisysteme vorgenommen wird
+
+	      <para><acronym>ZFS</acronym> unterst�tzt verschiedene
+		Arten von Quotas: die Dataset-Quota, die <link
+		linkend="zfs-term-refquota">Referenzquota
+		(<acronym>refquota</acronym>)</link>, die <link
+		linkend="zfs-term-userquota">Benutzerquota</link> und
+		die <link
+		linkend="zfs-term-groupquota">Gruppenquota</link>
+		sind verf�gbar.</para>
+
+	      <para>Quotas beschr�nken die Menge an Speicherplatz,
+		welche ein Dataset, seine Kinder, einschliesslich
+		Schnappsch�sse des Datasets, deren Kinder und die
+		Schnappsch�sse von diesen Datasets, verbrauchen
+		k�nnen.</para>
+
+	      <note>
+		<para>Quotas k�nnen nicht auf Volumes gesetzt werden,
+		  da die Eigenschaft <literal>volsize</literal> als
+		  eine implizite Quota agiert.</para>
+	      </note></entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-refquota">Referenzquota</entry>
+
+	    <entry>Eine Referenzquota beschr�nkt die Menge an
+	      Speicherplatz, die ein Dataset verbrauchen kann durch
+	      das Erzwingen einer harten Grenze.  Jedoch beinhaltet
+	      diese harte Grenze nur Speicherplatz, die das Dataset
+	      referenziert und beinhaltet nicht den Speicher, der von
+	      Kindern, wie Dateisystemen oder Schnappsch�ssen,
+	      verbraucht wird.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-userquota">Benutzerquota</entry>
+
+	    <entry>Benutzerquotas sind hilfreich, um die Menge an
+	      Speicherplatz, die ein bestimmter Benutzer verbrauchen
+	      kann, einzuschr�nken.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-groupquota">Gruppenquota</entry>
+
+	    <entry>Die Gruppenquota beschr�nkt die Menge an
+	      Speicherplatz, die eine bestimmte Gruppe verbrauchen
+	      darf.</entry>
+	  </row>
+
+	  <row>
+	    <entry
+	    xml:id="zfs-term-reservation">Dataset-Reservierung</entry>
+
+	    <entry>Die Eigenschaft <literal>reservation</literal>
+	      erm�glicht es, ein Minimum an Speicherplatz f�r ein
+	      bestimmtes Dataset und dessen Kinder zu garantieren.
+	      Wenn eine Reservierung von 10&nbsp;GB auf
+	      <filename>storage/home/bob</filename> gesetzt ist und
+	      ein anderes Dataset versucht, allen freien Speicherplatz
+	      zu verwenden, bleiben zumindest noch 10&nbsp;GB an
+	      Speicher reserviert.  Wenn von
+	      <filename>storage/home/bob</filename> ein Schnappschuss
+	      angelegt wird, wird dieser von der Reservierung
+	      abgezogen und z�hlt damit dagegen.
+	      Die Eigenschaft <link
+		linkend="zfs-term-refreservation"><literal>refreservation</literal></link>
+	      funktioniert auf �hnliche Weise, jedoch
+	      <emphasis>exkludiert</emphasis> diese Kinder wie
+	      Schnappsch�sse.
+
+	      <para>Reservierungen jeder Art sind in vielen
+		Situationen n�tzlich, so wie bei der Planung un dem
+		Testen der richtigen Speicherplatzallokation in einem
+		neuen System oder durch die Zusicherung, dass genug
+		Speicherplatz auf Dateisystemen f�r Audio-Logs oder
+		Systemwiederherstellungsprozeduren und Dateien
+		verf�gbar ist.</para>
+	    </entry>
+	  </row>
+
+	  <row>
+	    <entry
+	    xml:id="zfs-term-refreservation">Referenzreservierung</entry>
+
+	    <entry>Die Eigenschaft <literal>refreservation</literal>
+	      erm�glicht es, ein Minimum an Speicherplatz f�r die
+	      Verwendung eines bestimmten Datasets zu garantieren,
+	      <emphasis>exklusiv</emphasis> dessen Kinder.  Das
+	      bedeutet, dass wenn eine 10&nbsp;GB-Reservierung auf
+	      <filename>storage/home/bob</filename> vorhanden ist und
+	      ein anderes Dataset versucht, alle freien Speicherplatz
+	      aufzubrauchen, sind zumindest noch
+	      10&nbsp;GB Speicher reserviert.  Im Gegensatz zu einer
+	      regul�ren <link
+	      linkend="zfs-term-reservation">Reservierung</link> wird
+	      der Speicher von Schnappsch�ssen und Kinddataset nicht
+	      gegen die Reservierung gez�hlt.  Beispielsweise, wenn
+	      ein Schnappschuss von
+	      <filename>storage/home/bob</filename> angelegt wird,
+	      muss genug Plattenplatz ausserhalb der Menge an
+	      <literal>refreservation</literal> vorhanden sein, damit
+	      die Operation erfolgreich durchgef�hrt wird.  Kinder des
+	      Hauptdatasets werden nicht in die Menge an 
+	      <literal>refreservation</literal> gez�hlt und dringen
+	      auf diese Weise auch nicht in den gesetzten Speicher
+	      ein.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-resilver">Resilver</entry>
+
+	    <entry>Wenn eine Platte ausf�llt und ersetzt wird, muss
+	      die neue Platte mit den Daten gef�llt werden, die
+	      verloren gegangen sind.  Der Prozess der Verwendung der
+	      Parit�tsinformationen, welche �ber die �brigen Platten
+	      verteilt sind, um die fehlenden Daten zu berechnen und
+	      auf die neue Platte zu �bertragen, wird
+	      <emphasis>resilvering</emphasis> genannt.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-online">Online</entry>
+
+	    <entry>Ein Pool oder vdev im Zustand
+	      <literal>Online</literal> besitzt alle verbundenen
+	      Mitgliedsger�te und ist voll funktionsf�hig.
+	      Individuelle Ger�te im Zustand
+	      <literal>Online</literal> funktionieren normal.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-offline">Offline</entry>
+
+	    <entry>Individuelle Ger�te lassen sich vom Administrator
+	      in den Zustand <literal>Offline</literal> versetzen,
+	      wenn es ausreichend Redundanz gibt, um zu verhindern,
+	      dass der Pool oder das vdev in den Zustand
+	      <link linkend="zfs-term-faulted">Faulted</link> versetzt
+	      wird.  Ein Administrator kann eine Platte vor einem
+	      Austausch offline nehmen oder um es leichter zu machen,
+	      diese zu identifizieren.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-degraded">Degraded</entry>
+
+	    <entry>Ein Pool oder vdev im Zustand
+	      <literal>Degraded</literal> hat eine oder mehrere
+	      Platten, welche getrennt wurden oder ausgefallen sind.
+	      Der Pool kann immer noch verwendet werden, doch wenn
+	      noch weitere Ger�te ausfallen, kann der Pool nicht
+	      wiederhergestellt werden.  Die fehlenden Ger�te
+	      anzuschliessen oder die defekten Platten zu ersetzen
+	      wird den Pool wieder in den Zustand
+	      <link linkend="zfs-term-online">Online</link> versetzen,
+	      nachdem die angeschlossenen oder neuen Ger�te den
+	      <link
+	      linkend="zfs-term-resilver">Resilver</link>-Prozess
+	      abgeschlossen haben.</entry>
+	  </row>
+
+	  <row>
+	    <entry xml:id="zfs-term-faulted">Faulted</entry>
+
+	    <entry>Ein Pool oder vdev im Zustand
+	      <literal>Faulted</literal> funktioniert nicht l�nger.
+	      Die Daten darauf sind nicht mehr l�nger verf�gbar.  Ein
+	      Pool oder vdev geht in den Zustand
+	      <literal>Faulted</literal> �ber, wenn die Anzahl der
+	      fehlenden oder defekten Ger�te die Redundanzstufe im
+	      vdev �berschreiten.  Wenn fehlende Ger�te angeschlossen
+	      werden, geht der Pool wieder in den Zustand <link
+	      linkend="zfs-term-online">Online</link>.  Wenn es nicht
+	      gen�gend Redundanz gibt, um die Anzahl an defekten
+	      Platten zu kompensieren, sind die Inhalte des Pools
+	      verloren und m�ssen von der Sicherung wiederhergestellt
+	      werden.</entry>
+	  </row>
+	</tbody>
+      </tgroup>
+    </informaltable>
+  </sect1>
+</chapter>