diff --git a/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml b/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml
index 664b340ddf..fe66c19dc3 100644
--- a/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml
@@ -1,1440 +1,1440 @@
 <?xml version="1.0" encoding="ISO8859-1" standalone="no"?>
-<!--
-	The Vinum Volume Manager
-	By Greg Lehey (grog at lemis dot com)
-
-	Added to the Handbook by Hiten Pandya <hmp@FreeBSD.org>
-	and Tom Rhodes <trhodes@FreeBSD.org>
-
-	The FreeBSD Documentation Project
-	The FreeBSD German Documentation Project
-
-	$FreeBSD$
-	$FreeBSDde: de-docproj/books/handbook/vinum/chapter.sgml,v 1.19 2011/01/30 13:27:20 bcr Exp $
-	basiert auf: 1.49
--->
-
-<chapter id="vinum-vinum">
-  <chapterinfo>
-    <authorgroup>
-      <author>
-	<firstname>Greg</firstname>
-	<surname>Lehey</surname>
-	<contrib>Urspr�nglich geschrieben von </contrib>
-      </author>
-    </authorgroup>
-    <authorgroup>
-      <author>
-	<firstname>Johann</firstname>
-	<surname>Kois</surname>
-	<contrib>�bersetzt von </contrib>
-      </author>
-      <author>
-	<firstname>Kay</firstname>
-	<surname>Abendroth</surname>
-      </author>
-    </authorgroup>
-  </chapterinfo>
-
-  <title>Der Vinum Volume Manager</title>
-
-  <sect1 id="vinum-synopsis">
-    <title>�bersicht</title>
-
-
-    <para>Egal, �ber welche und wieviele Festplatten Ihr System
-      auch verf�gt, immer wieder werden Sie mit den folgenden
-      Problemen konfrontiert:</para>
-
-    <itemizedlist>
-      <listitem>
-        <para>Ihre Platten sind zu klein.</para>
-        </listitem>
-
-        <listitem>
-          <para>Sie sind zu langsam.</para>
-        </listitem>
-
-        <listitem>
-          <para>Ihre Platten sind unzuverl�ssig.</para>
-        </listitem>
-      </itemizedlist>
-
-      <para>Um derartige Probleme zu l�sen, wurden verschiedene
-	Methoden entwickelt.  Eine M�glichkeit bietet der
-	Einsatz von mehreren, manchmal auch redundant ausgelegten
-	Platten.  Zus�tzlich zur Unterst�tzung verschiedener
-	Erweiterungskarten und Controller f�r Hardware-RAID-Systeme
-	enth�lt das &os;-Basissystem auch den Vinum
-	Volume Manager, einen Blockger�tetreiber, der die
-	Einrichtung virtueller Platten unterst�tzt.  Bei
-	<emphasis>Vinum</emphasis> handelt es sich um einen
-	sogenannten <emphasis>Volume Manager</emphasis>, einen
-	virtuellen Plattentreiber, der obige drei Probleme l�st.
-	Vinum bietet Ihnen gr��ere Flexibilit�t,
-	Leistung und Zuverl�ssigkeit als die klassische
-	Datenspeicherung auf einzelne Festplatten.  Dazu unterst�tzt
-	Vinum RAID-0, RAID-1 und RAID-5 (sowohl einzeln als auch in
-	Kombination).</para>
-
-      <para>Dieses Kapitel bietet Ihnen einen �berblick �ber
-	potentielle Probleme der klassischen Datenspeicherung auf
-	Festplatten sowie eine Einf�hrung in den Vinum
-	Volume Manager.</para>
-
-      <note>
-	<para>F�r &os;&nbsp;5.X wurde Vinum �berarbeitet und
-	  an die GEOM-Architektur (<xref linkend="GEOM"/>) angepasst,
-	  wobei die urspr�nglichen Ideeen und Begriffe sowie die
-	  auf der Platte ben�tigten Metadaten beibehalten wurden.
-	  Die �berarbeitete Version wird als
-	  <emphasis>gvinum</emphasis> (f�r
-	  <emphasis>GEOM-Vinum</emphasis>) bezeichnet.  Die folgenden
-	  Ausf�hrungen verwenden den Begriff
-	  <emphasis>Vinum</emphasis> als abstrakten Namen, unabh�ngig
-	  davon, welche Variante implementiert wurde.  S�mtliche
-	  Befehlsaufrufe erfolgen �ber <command>gvinum</command>,
-	  welches nun das Kernelmodul <filename>geom_vinum.ko</filename>
-	  (statt <filename>vinum.ko</filename>) ben�tigt.  Analog
-	  finden sich alle Ger�tedateien nun unter <filename
-	  class="directory">/dev/gvinum</filename> statt unter <filename
-	  class="directory">/dev/vinum</filename>. Seit &os;&nbsp;6.x ist die
-	  alte Vinum-Implementierung nicht mehr im Basissystem enthalten.</para>
-      </note>
-  </sect1>
-
-  <sect1 id="vinum-intro">
-    <title>Ihre Platten sind zu klein.</title>
-
-    <indexterm><primary>Vinum</primary></indexterm>
-    <indexterm>
-      <primary>RAID</primary>
-      <secondary>Software</secondary>
-    </indexterm>
-
-    <para>Festplatten werden zwar immer gr��er, parallel
-      dazu steigt aber auch die Gr��e der zu speichernden
-      Daten an.  Es kann also nach wie vor vorkommen, dass Sie ein
-      Dateisystem ben�tigen, welches die Gr��e Ihrer
-      Platten �bersteigt.  Zwar ist dieses Problem nicht mehr
-      so akut wie noch vor einigen Jahren, aber es existiert nach
-      wie vor.   Einige Systeme l�sen dieses Problem durch die
-      Erzeugung eines abstrakten Ger�tes, das seine Daten auf
-      mehreren Platten speichert.</para>
-  </sect1>
-
-  <sect1 id="vinum-access-bottlenecks">
-    <title>M�gliche Engp�sse</title>
-
-    <para>Moderne Systeme m�ssen h�ufig parallel auf
-      Daten zugreifen.  Gro�e FTP- und HTTP-Server
-      k�nnen beispielsweise Tausende von parallelen Sitzungen
-      verwalten und haben mehrere 100&nbsp;MBit/s-Verbindungen
-      zur Au�enwelt.  Diese Bandbreite �berschreitet
-      die durchschnittliche Transferrate der meisten Platten
-      bei weitem.</para>
-
-    <para>Aktuelle Plattenlaufwerke k�nnen Daten mit bis zu
-      70&nbsp;MB/s sequentiell �bertragen, wobei dieser Wert
-      in einer Umgebung, in der viele unabh�ngige Prozesse auf
-      eine gemeinsame Platte zugreifen, die jeweils nur einen
-      Bruchteil dieses Wertes erreichen, von geringer Aussagekraft
-      ist.  In solchen F�llen ist es interessanter, das Problem
-      vom Blickwinkel des Platten-Subsystems aus zu betrachten.
-      Der wichtigste Parameter ist dabei die Last, die eine
-      �bertragung auf dem Subsystem verursacht.  Unter Last
-      versteht man dabei die Zeit, in der die Platte mit der
-      �bertragung der Daten besch�ftigt ist.</para>
-
-    <para>Bei jedem Plattenzugriff muss das Laufwerk zuerst die
-      K�pfe positionieren und auf den ersten Sektor warten, bis
-      er den Lesekopf passiert.  Dann wird die �bertragung
-      gestartet.  Diese Aktionen k�nnen als atomar betrachtet
-      werden, da es keinen Sinn macht, diese zu unterbrechen.</para>
-
-    <para><anchor id="vinum-latency"/>Nehmen wir beispielsweise an,
-      dass wir 10&nbsp;kB transferieren wollen.  Aktuelle
-      hochperformante Platten k�nnen die K�pfe im Durchschnitt
-      in 3,5&nbsp;ms positionieren und drehen sich mit maximal
-      15.000&nbsp;U/min.  Daher betr�gt die durchschnittliche
-      Rotationslatenz (eine halbe Umdrehung) 2&nbsp;ms.
-      Bei einer Transferrate von 70&nbsp;MB/s dauert die eigentliche
-      �bertragung von 10&nbsp;kB etwa 150&nbsp;&mu;s, fast
-      nichts im Vergleich zur Positionierungszeit.  In einem solchen
-      Fall betr�gt die effektive Transferrate nur etwas mehr
-      als 1&nbsp;MB/s.  Die Tranferrate ist also stark von der
-      Gr��e der zu tranferierenden Daten
-      abh�ngig.</para>
-
-    <para>Die traditionelle und offensichtliche L�sung zur
-      Beseitigung dieses Flaschenhalses sind <quote>mehr
-      Spindeln</quote>.  Statt einer einzigen gro�en Platte werden
-      mehrere kleinere Platten mit demselben Gesamtspeicherplatz
-      benutzt.  Jede Platte ist in der Lage, unabh�ngig zu
-      positionieren und zu transferieren, weshalb der effektive
-      Durchsatz um einen Faktor nahe der Zahl der eingesetzten Platten
-      steigt.</para>
-
-    <para>Obwohl die Platten Daten parallel transferieren k�nnen,
-      ist es nicht m�glich, Anfragen gleichm��ig auf
-      die einzelnen Platten zu verteilen.  Daher wird die Last auf
-      bestimmten Laufwerken immer h�her sein als auf anderen
-      Laufwerken.  Daraus ergibt sich auch, dass die exakte Verbesserung
-      des Datendurchsatzes immer kleiner ist als die Anzahl der
-      involvierten Platten.</para>
-
-    <indexterm>
-      <primary>Plattenkonkatenation</primary>
-    </indexterm>
-    <indexterm>
-      <primary>Vinum</primary>
-      <secondary>Konkatenation</secondary>
-    </indexterm>
-
-    <para>Die gleichm��ige Verteilung der Last auf die einzelnen
-      Platten ist stark abh�ngig von der Art, wie die Daten auf die
-      Laufwerke aufgeteilt werden.  In den folgenden Ausf�hrungen
-      wird eine Platte als eine gro�e Anzahl von Datensektoren
-      dargestellt, die durch Zahlen adressierbar sind (�hnlich
-      den Seiten eines Buches).  Die naheliegendste Methode ist es,
-      die virtuelle Platte (wieder analog den Seiten eines Buches)
-      in Gruppen aufeinanderfolgender Sektoren zu unterteilen, die
-      jeweils der Gr��e der einzelnen physischen Platten
-      entsprechen.  Diese Vorgehensweise wird als
-      <emphasis>Konkatenation</emphasis> bezeichnet und hat den
-      Vorteil, dass die Platten keine spezielle
-      Gr��enbeziehung haben m�ssen.  Sie funktioniert
-      gut, solange der Zugriff gleichm��ig auf den
-      Adressraum der virtuellen Platte verteilt wird.  Wenn sich der
-      Zugriff allerdings auf einen kleinen Bereich konzentriert, ist die
-      Verbesserung vernachl�ssigbar klein.
-      <xref linkend="vinum-concat"/> verdeutlicht die Verteilung der
-      Speichereinheiten in einer konkatenierten Anordnung.</para>
-
-    <para>
-      <figure id="vinum-concat">
-        <title>Konkatenierte Anordnung</title>
-          <graphic fileref="vinum/vinum-concat"/>
-      </figure>
-    </para>
-
-    <indexterm>
-      <primary>Striping von Platten</primary>
-    </indexterm>
-    <indexterm>
-      <primary>Vinum</primary>
-      <secondary>Striping</secondary>
-    </indexterm>
-    <indexterm>
-      <primary>RAID</primary>
-    </indexterm>
-
-    <para>Ein alternatives Mapping unterteilt den Adressraum in
-      kleinere, gleich gro�e Komponenten und speichert diese
-      sequentiell auf verschiedenen Ger�ten.  Zum Beispiel werden
-      die ersten 256 Sektoren auf der ersten Platte, die n�chsten
-      256 Sektoren auf der zweiten Platte gespeichert und so
-      weiter.  Nachdem die letzte Platte beschrieben wurde, wird dieser
-      Vorgang solange wiederholt, bis die Platten voll sind.  Dieses
-      Mapping nennt man <emphasis>Striping</emphasis> oder
+<!--
+	The Vinum Volume Manager
+	By Greg Lehey (grog at lemis dot com)
+
+	Added to the Handbook by Hiten Pandya <hmp@FreeBSD.org>
+	and Tom Rhodes <trhodes@FreeBSD.org>
+
+	The FreeBSD Documentation Project
+	The FreeBSD German Documentation Project
+
+	$FreeBSD$
+	$FreeBSDde: de-docproj/books/handbook/vinum/chapter.sgml,v 1.19 2011/01/30 13:27:20 bcr Exp $
+	basiert auf: 1.49
+-->
+
+<chapter id="vinum-vinum">
+  <chapterinfo>
+    <authorgroup>
+      <author>
+	<firstname>Greg</firstname>
+	<surname>Lehey</surname>
+	<contrib>Urspr�nglich geschrieben von </contrib>
+      </author>
+    </authorgroup>
+    <authorgroup>
+      <author>
+	<firstname>Johann</firstname>
+	<surname>Kois</surname>
+	<contrib>�bersetzt von </contrib>
+      </author>
+      <author>
+	<firstname>Kay</firstname>
+	<surname>Abendroth</surname>
+      </author>
+    </authorgroup>
+  </chapterinfo>
+
+  <title>Der Vinum Volume Manager</title>
+
+  <sect1 id="vinum-synopsis">
+    <title>�bersicht</title>
+
+
+    <para>Egal, �ber welche und wieviele Festplatten Ihr System
+      auch verf�gt, immer wieder werden Sie mit den folgenden
+      Problemen konfrontiert:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>Ihre Platten sind zu klein.</para>
+        </listitem>
+
+        <listitem>
+          <para>Sie sind zu langsam.</para>
+        </listitem>
+
+        <listitem>
+          <para>Ihre Platten sind unzuverl�ssig.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Um derartige Probleme zu l�sen, wurden verschiedene
+	Methoden entwickelt.  Eine M�glichkeit bietet der
+	Einsatz von mehreren, manchmal auch redundant ausgelegten
+	Platten.  Zus�tzlich zur Unterst�tzung verschiedener
+	Erweiterungskarten und Controller f�r Hardware-RAID-Systeme
+	enth�lt das &os;-Basissystem auch den Vinum
+	Volume Manager, einen Blockger�tetreiber, der die
+	Einrichtung virtueller Platten unterst�tzt.  Bei
+	<emphasis>Vinum</emphasis> handelt es sich um einen
+	sogenannten <emphasis>Volume Manager</emphasis>, einen
+	virtuellen Plattentreiber, der obige drei Probleme l�st.
+	Vinum bietet Ihnen gr��ere Flexibilit�t,
+	Leistung und Zuverl�ssigkeit als die klassische
+	Datenspeicherung auf einzelne Festplatten.  Dazu unterst�tzt
+	Vinum RAID-0, RAID-1 und RAID-5 (sowohl einzeln als auch in
+	Kombination).</para>
+
+      <para>Dieses Kapitel bietet Ihnen einen �berblick �ber
+	potentielle Probleme der klassischen Datenspeicherung auf
+	Festplatten sowie eine Einf�hrung in den Vinum
+	Volume Manager.</para>
+
+      <note>
+	<para>F�r &os;&nbsp;5.X wurde Vinum �berarbeitet und
+	  an die GEOM-Architektur (<xref linkend="GEOM"/>) angepasst,
+	  wobei die urspr�nglichen Ideeen und Begriffe sowie die
+	  auf der Platte ben�tigten Metadaten beibehalten wurden.
+	  Die �berarbeitete Version wird als
+	  <emphasis>gvinum</emphasis> (f�r
+	  <emphasis>GEOM-Vinum</emphasis>) bezeichnet.  Die folgenden
+	  Ausf�hrungen verwenden den Begriff
+	  <emphasis>Vinum</emphasis> als abstrakten Namen, unabh�ngig
+	  davon, welche Variante implementiert wurde.  S�mtliche
+	  Befehlsaufrufe erfolgen �ber <command>gvinum</command>,
+	  welches nun das Kernelmodul <filename>geom_vinum.ko</filename>
+	  (statt <filename>vinum.ko</filename>) ben�tigt.  Analog
+	  finden sich alle Ger�tedateien nun unter <filename
+	  class="directory">/dev/gvinum</filename> statt unter <filename
+	  class="directory">/dev/vinum</filename>. Seit &os;&nbsp;6.x ist die
+	  alte Vinum-Implementierung nicht mehr im Basissystem enthalten.</para>
+      </note>
+  </sect1>
+
+  <sect1 id="vinum-intro">
+    <title>Ihre Platten sind zu klein.</title>
+
+    <indexterm><primary>Vinum</primary></indexterm>
+    <indexterm>
+      <primary>RAID</primary>
+      <secondary>Software</secondary>
+    </indexterm>
+
+    <para>Festplatten werden zwar immer gr��er, parallel
+      dazu steigt aber auch die Gr��e der zu speichernden
+      Daten an.  Es kann also nach wie vor vorkommen, dass Sie ein
+      Dateisystem ben�tigen, welches die Gr��e Ihrer
+      Platten �bersteigt.  Zwar ist dieses Problem nicht mehr
+      so akut wie noch vor einigen Jahren, aber es existiert nach
+      wie vor.   Einige Systeme l�sen dieses Problem durch die
+      Erzeugung eines abstrakten Ger�tes, das seine Daten auf
+      mehreren Platten speichert.</para>
+  </sect1>
+
+  <sect1 id="vinum-access-bottlenecks">
+    <title>M�gliche Engp�sse</title>
+
+    <para>Moderne Systeme m�ssen h�ufig parallel auf
+      Daten zugreifen.  Gro�e FTP- und HTTP-Server
+      k�nnen beispielsweise Tausende von parallelen Sitzungen
+      verwalten und haben mehrere 100&nbsp;MBit/s-Verbindungen
+      zur Au�enwelt.  Diese Bandbreite �berschreitet
+      die durchschnittliche Transferrate der meisten Platten
+      bei weitem.</para>
+
+    <para>Aktuelle Plattenlaufwerke k�nnen Daten mit bis zu
+      70&nbsp;MB/s sequentiell �bertragen, wobei dieser Wert
+      in einer Umgebung, in der viele unabh�ngige Prozesse auf
+      eine gemeinsame Platte zugreifen, die jeweils nur einen
+      Bruchteil dieses Wertes erreichen, von geringer Aussagekraft
+      ist.  In solchen F�llen ist es interessanter, das Problem
+      vom Blickwinkel des Platten-Subsystems aus zu betrachten.
+      Der wichtigste Parameter ist dabei die Last, die eine
+      �bertragung auf dem Subsystem verursacht.  Unter Last
+      versteht man dabei die Zeit, in der die Platte mit der
+      �bertragung der Daten besch�ftigt ist.</para>
+
+    <para>Bei jedem Plattenzugriff muss das Laufwerk zuerst die
+      K�pfe positionieren und auf den ersten Sektor warten, bis
+      er den Lesekopf passiert.  Dann wird die �bertragung
+      gestartet.  Diese Aktionen k�nnen als atomar betrachtet
+      werden, da es keinen Sinn macht, diese zu unterbrechen.</para>
+
+    <para><anchor id="vinum-latency"/>Nehmen wir beispielsweise an,
+      dass wir 10&nbsp;kB transferieren wollen.  Aktuelle
+      hochperformante Platten k�nnen die K�pfe im Durchschnitt
+      in 3,5&nbsp;ms positionieren und drehen sich mit maximal
+      15.000&nbsp;U/min.  Daher betr�gt die durchschnittliche
+      Rotationslatenz (eine halbe Umdrehung) 2&nbsp;ms.
+      Bei einer Transferrate von 70&nbsp;MB/s dauert die eigentliche
+      �bertragung von 10&nbsp;kB etwa 150&nbsp;&mu;s, fast
+      nichts im Vergleich zur Positionierungszeit.  In einem solchen
+      Fall betr�gt die effektive Transferrate nur etwas mehr
+      als 1&nbsp;MB/s.  Die Tranferrate ist also stark von der
+      Gr��e der zu tranferierenden Daten
+      abh�ngig.</para>
+
+    <para>Die traditionelle und offensichtliche L�sung zur
+      Beseitigung dieses Flaschenhalses sind <quote>mehr
+      Spindeln</quote>.  Statt einer einzigen gro�en Platte werden
+      mehrere kleinere Platten mit demselben Gesamtspeicherplatz
+      benutzt.  Jede Platte ist in der Lage, unabh�ngig zu
+      positionieren und zu transferieren, weshalb der effektive
+      Durchsatz um einen Faktor nahe der Zahl der eingesetzten Platten
+      steigt.</para>
+
+    <para>Obwohl die Platten Daten parallel transferieren k�nnen,
+      ist es nicht m�glich, Anfragen gleichm��ig auf
+      die einzelnen Platten zu verteilen.  Daher wird die Last auf
+      bestimmten Laufwerken immer h�her sein als auf anderen
+      Laufwerken.  Daraus ergibt sich auch, dass die exakte Verbesserung
+      des Datendurchsatzes immer kleiner ist als die Anzahl der
+      involvierten Platten.</para>
+
+    <indexterm>
+      <primary>Plattenkonkatenation</primary>
+    </indexterm>
+    <indexterm>
+      <primary>Vinum</primary>
+      <secondary>Konkatenation</secondary>
+    </indexterm>
+
+    <para>Die gleichm��ige Verteilung der Last auf die einzelnen
+      Platten ist stark abh�ngig von der Art, wie die Daten auf die
+      Laufwerke aufgeteilt werden.  In den folgenden Ausf�hrungen
+      wird eine Platte als eine gro�e Anzahl von Datensektoren
+      dargestellt, die durch Zahlen adressierbar sind (�hnlich
+      den Seiten eines Buches).  Die naheliegendste Methode ist es,
+      die virtuelle Platte (wieder analog den Seiten eines Buches)
+      in Gruppen aufeinanderfolgender Sektoren zu unterteilen, die
+      jeweils der Gr��e der einzelnen physischen Platten
+      entsprechen.  Diese Vorgehensweise wird als
+      <emphasis>Konkatenation</emphasis> bezeichnet und hat den
+      Vorteil, dass die Platten keine spezielle
+      Gr��enbeziehung haben m�ssen.  Sie funktioniert
+      gut, solange der Zugriff gleichm��ig auf den
+      Adressraum der virtuellen Platte verteilt wird.  Wenn sich der
+      Zugriff allerdings auf einen kleinen Bereich konzentriert, ist die
+      Verbesserung vernachl�ssigbar klein.
+      <xref linkend="vinum-concat"/> verdeutlicht die Verteilung der
+      Speichereinheiten in einer konkatenierten Anordnung.</para>
+
+    <para>
+      <figure id="vinum-concat">
+        <title>Konkatenierte Anordnung</title>
+          <graphic fileref="vinum/vinum-concat"/>
+      </figure>
+    </para>
+
+    <indexterm>
+      <primary>Striping von Platten</primary>
+    </indexterm>
+    <indexterm>
+      <primary>Vinum</primary>
+      <secondary>Striping</secondary>
+    </indexterm>
+    <indexterm>
+      <primary>RAID</primary>
+    </indexterm>
+
+    <para>Ein alternatives Mapping unterteilt den Adressraum in
+      kleinere, gleich gro�e Komponenten und speichert diese
+      sequentiell auf verschiedenen Ger�ten.  Zum Beispiel werden
+      die ersten 256 Sektoren auf der ersten Platte, die n�chsten
+      256 Sektoren auf der zweiten Platte gespeichert und so
+      weiter.  Nachdem die letzte Platte beschrieben wurde, wird dieser
+      Vorgang solange wiederholt, bis die Platten voll sind.  Dieses
+      Mapping nennt man <emphasis>Striping</emphasis> oder
       <acronym>RAID-0</acronym>.
-    <footnote>
-      <para><acronym>RAID</acronym> steht f�r <emphasis>Redundant
-        Array of Inexpensive Disks</emphasis> und bietet verschiedene
-        Formen der Fehlertorleranz, obwohl der letzte Begriff etwas
-        irref�hrend ist, da RAID keine Redundanz bietet.</para>
+    <footnote>
+      <para><acronym>RAID</acronym> steht f�r <emphasis>Redundant
+        Array of Inexpensive Disks</emphasis> und bietet verschiedene
+        Formen der Fehlertorleranz, obwohl der letzte Begriff etwas
+        irref�hrend ist, da RAID keine Redundanz bietet.</para>
     </footnote></para>
-
-    <para>Striping erfordert einen etwas gr��eren Aufwand,
-      um die Daten zu
-      lokalisieren, und kann zus�tzliche E/A-Last verursachen,
-      wenn eine �bertragung �ber mehrere Platten verteilt
-      ist.  Auf der anderen Seite erlaubt es aber eine
-      gleichm��igere Verteilung der Last auf die einzelnen
-      Platten.  <xref linkend="vinum-striped"/> veranschaulicht
-      die Abfolge, in der Speichereinheiten in einer striped-Anordnung
-      alloziert werden.</para>
-
-    <para>
-      <figure id="vinum-striped">
-        <title>Striped-Anordnung</title>
-          <graphic fileref="vinum/vinum-striped"/>
-      </figure>
-    </para>
-  </sect1>
-
-  <sect1 id="vinum-data-integrity">
-    <title>Datenintegrit�t</title>
-
-    <para>Das dritte Problem, welches aktuelle Platten haben, ist ihre
-      Unzuverl�ssigkeit.   Obwohl sich die Zuverl�ssigkeit
-      von Festplatten in den letzten Jahren stark verbessert hat,
-      handelt es sich bei ihnen nach wie vor um die Komponente eines
-      Servers, die am ehesten ausf�llt.  F�llt eine
-      Festplatte aus, k�nnen die Folgen katastrophal sein:  Es
-      kann Tage dauern, bis eine Platte ersetzt und alle Daten
-      wiederhergestellt sind.</para>
-
-      <indexterm>
-	<primary>disk mirroring</primary>
-      </indexterm>
-      <indexterm>
-	<primary>Vinum</primary>
-	<secondary>Spiegelung</secondary>
-      </indexterm>
-      <indexterm>
-	<primary>RAID-1</primary>
-      </indexterm>
-
-      <para>Die traditionelle Art, dieses Problem anzugehen, war es,
-        Daten zu <emphasis>spiegeln</emphasis>, also zwei Kopien der
-        Daten auf getrennten Platten zu verwahren.  Diese Technik wird
-        auch als <acronym>RAID Level 1</acronym> oder
-        <acronym>RAID-1</acronym> bezeichnet.  Jeder Schreibzugriff
-        findet auf beiden Datentr�gern statt.  Ein Lesezugriff
-        kann daher von beiden Laufwerken erfolgen, sodass beim Ausfall
-        eines Laufwerks die Daten immer noch auf dem anderen
-        Laufwerk verf�gbar sind.</para>
-
-      <para>Spiegeln verursacht allerdings zwei Probleme:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Es verursacht h�here Kosten, da doppelt so viel
-            Plattenspeicher wie bei einer nicht-redundanten
-            L�sung ben�tigt wird.</para>
-        </listitem>
-
-        <listitem>
-          <para>Die Gesamtleistung des Systems sinkt, da
-            Schreibzugriffe auf beiden Laufwerken ausgef�hrt
-            werden m�ssen, daher wird im Vergleich zu einem
-            nicht gespiegelten Datentr�ger die doppelte
-            Bandbreite ben�tigt.  Lesezugriffe hingegen sind
-            davon nicht betroffen, es sieht sogar so aus, als
-            w�rden diese schneller ausgef�hrt.</para>
-        </listitem>
-      </itemizedlist>
-
-      <indexterm><primary>RAID-5</primary></indexterm>
-
-      <para>Eine alternative L�sung ist
-        <emphasis>Parity</emphasis>, das in den
-        <acronym>RAID</acronym>-Leveln 2, 3, 4 und 5
-        implementiert ist.  Von diesen ist <acronym>RAID-5</acronym>
-        der interessanteste.  So wie in VINUM implementiert, ist es
-        eine Variante einer gestripten Anordung, welche einen Block
-        jedes Stripes als Parit�tsblock f�r einen der anderen
-        Bl�cke verwendet.  Wie in <acronym>RAID-5</acronym>
-        vorgeschrieben, ist die Position dieses Parit�tsblockes
-        auf jedem Stripe unterschiedlich.  Die Nummern in den
-        Datenbl�cken geben die relativen Blocknummern an.</para>
-
-      <para>
-	<figure id="vinum-raid5-org">
-	  <title>RAID-5 Aufbau</title>
-	    <graphic fileref="vinum/vinum-raid5-org"/>
-	</figure>
-      </para>
-
-      <para>Im Vergleich zur Spiegelung hat RAID-5 den Vorteil, dass
-        es signifikant weniger Speicherplatz ben�tigt.
-        Lesezugriffe sind vergleichbar schnell mit jenen bei einem
-        Striped-Aufbau, aber Schreibzugriffe sind deutlich langsamer
-        (etwa 25% der Lesegeschwindigkeit).  Wenn eine Platte
-        ausf�llt, kann das Array in einem "schwachen" Modus
-        weiterarbeiten:  Ein Lesezugriff auf eine der �brigen
-        erreichbaren Platten wird normal ausgef�hrt, ein
-        Lesezugriff auf die ausgefallene Platte muss aber
-        zun�chst mit dem zugeh�rigen Block aller
-        verbleibender Platten r�ckberechnet werden.</para>
-  </sect1>
-
-  <sect1 id="vinum-objects">
-    <title>Vinum-Objekte</title>
-      <para>Um die in den vorigen Abschnitte besprochenen Probleme zu
-        l�sen, verwendet Vinum eine vierstufige
-        Objekthierarchie:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para>Das auff�lligste Objekt ist die virtuelle Platte,
-	    die <emphasis>Volume</emphasis> genannt wird.  Volumes
-	    haben im Wesentlichen die gleichen Eigenschaften wie ein
-	    &unix;-Laufwerk, obwohl es ein paar kleine Unterschiede
-	    gibt.  So existieren f�r Volumes beispielsweise keine
-	    Gr��enbeschr�nkungen.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Volumes bestehen aus einem oder mehreren
-	    <emphasis>Plexus</emphasis>,
-	    von denen jeder den gesamten Adressraum eines
-	    Datentr�gers repr�sentiert.  Diese Hierarchieebene
-	    ist f�r die ben�tigte Redundanz der Daten
-	    erforderlich.  Stellen Sie sich die Plexus als
-	    eigenst�ndige Platten in einem gespiegelten
-	    Array vor, von denen jede die gleichen Daten
-	    enth�lt.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Da Vinum im &unix;-Plattenspeicher-Framework arbeitet,
-	    w�re es m�glich, als Grundbaustein f�r
-	    Multiplatten-Plexus &unix;-Partitionen zu verwenden.  In
-	    der Praxis ist dieser Ansatz aber zu unflexibel, da
-	    &unix;-Platten nur eine begrenzte Anzahl von Partitionen
-	    haben k�nnen.  Daher unterteilt Vinum stattdessen
-	    eine einzige &unix;-Partition (die
-	    <emphasis>Platte</emphasis>) in zusammenh�ngende
-	    Bereiche, die als <emphasis>Subdisks</emphasis> bezeichnet
-	    werden und als Grundbausteine f�r einen Plexus
-	    benutzt werden.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Subdisks befinden sich auf
-	    Vinum-<emphasis>Platten</emphasis>, eigentlich
-	    &unix;-Partitionen.  Vinum-Platten k�nnen eine
-	    beliebige Anzahl von Subdisks haben und den gesamten
-	    Speicher der Platte mit Ausnahme eines kleinen Bereiches
-	    am Anfang der Platte (welcher zur Speicherung von
-	    Konfigurations- und Statusinformationen verwenden wird)
-	    verwenden.</para>
-	</listitem>
-      </itemizedlist>
-
-      <para>Der folgende Abschnitt beschreibt, wie diese Objekte
-	die von Vinum ben�tigten Funktionen zur
-	Verf�gung stellen.</para>
-
-    <sect2>
-      <title>�berlegungungen zur Gr��e eines Volumes</title>
-
-      <para>Plexus k�nnen mehrere Subdisks beinhalten, die
-	�ber alle Platten der Vinum-Konfiguration verteilt sind.
-	Daraus folgt, dass die Gr��e einer Platte nicht die
-	Gr��e eines Plexus (und damit eines Volumes)
-	limitiert.</para>
-    </sect2>
-
-    <sect2>
-      <title>Redundante Datenspeicherung</title>
-
-      <para>Vinum implementiert die Datenspiegelung, indem es ein
-	Volume auf mehrere Plexus verteilt.  Jeder Plexus ist
-	dabei die Repr�sentation der Daten eines Volumes.
-	Ein Volume kann aus bis zu acht Plexus bestehen.</para>
-
-      <para>Obwohl ein Plexus die gesamten Daten eines Volumes
-	repr�sentiert, ist es m�glich, dass Teile der
-	Repr�sentation physisch fehlen, entweder aufgrund des
-	Designs (etwa durch nicht definierte Subdisks f�r Teile
-	des Plexus) oder durch Zufall (als ein Ergebnis eines
-	Plattenfehlers).  Solange wenigstens ein Plexus die gesamten
-	Daten f�r den kompletten Adressbereich des Volumes zur
-	Verf�gung stellen kann, ist das Volume voll
-	funktionsf�hig.</para>
-    </sect2>
-
-    <sect2>
-      <title>�berlegungen zur Leistung</title>
-
-      <para>Sowohl Konkatenation als auch Striping werden von Vinum
-	auf der Plexus-Ebene realisiert:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para>Ein <emphasis>konkatenierter Plexus</emphasis> benutzt
-	    abwechselnd den Adressraum jeder Subdisk.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Ein <emphasis>gestripter Plexus</emphasis> striped die
-	    Daten �ber jede Subdisk. Die Subdisks m�ssen alle
-	    die gleiche Gr��e haben, und es muss mindestens
-	    zwei Subdisks in Reihenfolge geben, um ihn von einem
-	    konkatenierten Plexus unterscheiden zu k�nnen.</para>
-	</listitem>
-      </itemizedlist>
-    </sect2>
-
-    <sect2>
-      <title>Wie ist ein Plexus aufgebaut?</title>
-
-      <para>Die Version von Vinum, welche von &os;-&rel.current;
-	bereitgestellt wird, implementiert zwei Arten von Plexus:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para>Konkatenierte Plexus sind die flexibelsten:  Sie
-	    k�nnen aus einer beliebigen Anzahl von Subdisks
-	    unterschiedlicher Gr��e bestehen.  Der Plexus
-	    kann erweitert werden, indem man zus�tzliche Subdisks
-	    hinzuf�gt.  Sie brauchen weniger
-	    <acronym>CPU</acronym>-Zeit als gestripte Plexus, obwohl
-	    der Unterschied des <acronym>CPU</acronym>-Overheads nicht
-	    messbar ist.  Auf der anderen Seite sind sie aber sehr
-	    anf�llig f�r das Entstehen von "hot spots", wobei
-	    eine Platte sehr aktiv ist, andere hingegen nahezu ungenutzt
-	    sind.</para>
-        </listitem>
-
-	<listitem>
-	  <para>Der gr��te Vorteil eines gestripten
-	    Plexus (<acronym>RAID-0</acronym>) ist die Verringerung von
-	    "hot spots".  Dies wird durch die Auswahl eines Stripes
-	    optimaler Gr��e (etwa 256&nbsp;kB) erreicht,
-	    wodurch die Last gleichm��ig auf die Platten
-	    verteilt werden kann. Nachteile dieser Vorgehensweise sind
-	    ein (geringf�gig) komplexerer Code sowie einige
-	    Restriktionen f�r die Subdisks:  Diese m�ssen alle
-	    die gleiche Gr��e haben, und das Erweitern eines
-	    Plexus durch das Hinzuf�gen neuer Subdisks ist so
-	    kompliziert, dass es von Vinum derzeit nicht
-	    unterst�tzt wird.  Vinum fordert noch eine weitere
-	    triviale Beschr�nkung:  Ein gestripter Plexus muss
-	    aus mindestens zwei Subdisks bestehen, da er ansonsten nicht
-	    von einem konkatenierten Plexus unterscheidbar ist.</para>
-	</listitem>
-      </itemizedlist>
-
-      <para><xref linkend="vinum-comparison"/> fasst die Vor- und
-	Nachteile jedes Plexus-Aufbaus zusammen.</para>
-
-      <table id="vinum-comparison" frame="none">
-	<title>Vinum-Plexus - Aufbau</title>
-
-	<tgroup cols="5">
-	  <thead>
-	    <row>
-	      <entry>Plexus-Typ</entry>
-	      <entry>Minimum an Subdisks?</entry>
-	      <entry>Kann Subdisks hinzuf�gen?</entry>
-	      <entry>M�ssen die gleiche Gr��e
-		haben</entry>
-	      <entry>Applikation</entry>
-	    </row>
-	  </thead>
-
-	  <tbody>
-	    <row>
-	      <entry>konkateniert</entry>
-	      <entry>1</entry>
-	      <entry>ja</entry>
-	      <entry>nein</entry>
-	      <entry>Gro�er Datenspeicher mit maximaler
-		Platzierungsflexibilit�t und moderater
-		Leistung</entry>
-	    </row>
-
-	    <row>
-	      <entry>gestriped</entry>
-	      <entry>2</entry>
-	      <entry>nein</entry>
-	      <entry>ja</entry>
-	      <entry>Hohe Leistung in Kombination mit
-		gleichzeitigem Zugriff</entry>
-	    </row>
-	  </tbody>
-	</tgroup>
-      </table>
-    </sect2>
-  </sect1>
-
-  <sect1 id="vinum-examples">
-    <title>Einige Beispiele</title>
-
-    <para>Vinum verwaltet eine
-      <emphasis>Konfigurationsdatenbank</emphasis> f�r alle
-      einem individuellen System bekannten Objekte.  Zu Beginn
-      erzeugt ein Benutzer mit &man.gvinum.8;
-      eine Konfigurationsdatenbank aus einer oder mehreren
-      Konfigurationsdateien.  Vinum speichert danach eine Kopie der
-      Konfigurationsdatenbank in jedem von ihm kontrollierten
-      Slice (von Vinum als <emphasis>Device</emphasis>
-      bezeichnet).  Da die Datenbank bei jedem Statuswechsel
-      aktualisiert wird, kann nach einem Neustart der Status
-      jedes Vinum-Objekts exakt wiederhergestellt werden.</para>
-
-    <sect2>
-      <title>Die Konfigurationsdatei</title>
-
-      <para>Die Konfigurationsdatei beschreibt individuelle
-        Vinum-Objekte.  Die Beschreibung eines einfachen Volumes
-        k�nnte beispielsweise so aussehen:</para>
-
-      <programlisting>
-    drive a device /dev/da3h
-    volume myvol
-      plex org concat
-        sd length 512m drive a</programlisting>
-
-      <para>Diese Datei beschreibt vier Vinum-Objekte:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para>Die <emphasis>drive</emphasis>-Zeile beschreibt eine
-	    Plattenpartition (<emphasis>drive</emphasis>) sowie ihre
-	    Position in Bezug auf die darunter liegende Hardware.
-	    Die Partition hat dabei den symbolischen Namen
-	    <emphasis>a</emphasis>.  Diese Trennung von symbolischen
-	    Namen und Ger�tenamen erlaubt es, die Position von
-	    Platten zu �ndern, ohne dass es zu Problemen
-	    kommt.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Die <emphasis>volume</emphasis>-Zeile beschreibt ein
-	    Volume.  Daf�r wird nur ein einziges Attribut, der
-	    Name des Volumes, ben�tigt.  In unserem Fall hat das
-	    Volume den Namen <emphasis>myvol</emphasis>.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Die <emphasis>plex</emphasis>-Zeile definiert einen
-	    Plexus.  Auch hier wird nur ein Parameter, und zwar die
-	    Art des Aufbau, ben�tigt (in unserem Fall
-	    <emphasis>concat</emphasis>).  Es wird kein Name
-	    ben�tigt, das System generiert automatisch einen
-	    Namen aus dem Volume-Namen und dem Suffix
-	    <emphasis>.p</emphasis><emphasis>x</emphasis> wobei
-	    <emphasis>x</emphasis> die Nummer des Plexus innerhalb
-	    des Volumes angibt.  So wird dieser Plexus den Namen
-	    <emphasis>myvol.p0</emphasis> erhalten.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Die <emphasis>sd</emphasis>-Zeile beschreibt eine
-	    Subdisk.  Um eine Subdisk einzurichten, m�ssen Sie
-	    zumindest den Namen der Platte, auf der Sie die
-	    Subdisk anlegen wollen, sowie die Gr��e der
-	    Subdisk angeben. Analog zur Definition eines Plexus wird
-	    auch hier kein Name ben�tigt:  Das System weist
-	    automatisch Namen zu, die aus dem Namen des Plexus und
-	    dem Suffix <emphasis>.s</emphasis><emphasis>x</emphasis>
-	    gebildet werden, wobei <emphasis>x</emphasis> die Nummer
-	    der Subdisk innerhalb des Plexus ist.  Folglich gibt
-	    Vinum dieser Subdisk den Namen
-	    <emphasis>myvol.p0.s0</emphasis>.</para>
-	</listitem>
-      </itemizedlist>
-
-      <para>Nach dem Verarbeiten dieser Datei erzeugt &man.gvinum.8;
-	die folgende Ausgabe:</para>
-
-      <programlisting width="97">
-      &prompt.root; gvinum -&gt; <userinput>create config1</userinput>
-      Configuration summary
-      Drives:         1 (4 configured)
-      Volumes:        1 (4 configured)
-      Plexes:         1 (8 configured)
-      Subdisks:       1 (16 configured)
-
-	D a                     State: up       Device /dev/da3h        Avail: 2061/2573 MB (80%)
-
-	V myvol                 State: up       Plexes:       1 Size:        512 MB
-
-	P myvol.p0            C State: up       Subdisks:     1 Size:        512 MB
-
-	S myvol.p0.s0           State: up       PO:        0  B Size:        512 MB</programlisting>
-
-      <para>Diese Ausgabe entspricht dem verk�rzten
-	Ausgabeformat von &man.gvinum.8; und wird in
-	<xref linkend="vinum-simple-vol"/> grafisch dargestellt.</para>
-
-      <para>
-	<figure id="vinum-simple-vol">
-	  <title>Ein einfaches Vinum-Volume</title>
-	  <graphic fileref="vinum/vinum-simple-vol"/>
-	</figure>
-      </para>
-
-      <para>Dieses und die folgenden Beispiele zeigen jeweils ein
-	Volume, welches die Plexus enth�lt, die wiederum die
-	Subdisk enthalten.  In diesem trivialen Beispiel enth�lt
-	das Volume nur einen Plexus, der wiederum nur aus einer
-	Subdisk besteht.</para>
-
-      <para>Eine solche Konfiguration h�tte allerdings keinen
-	Vorteil gegen�ber einer konventionellen Plattenpartion.
-	Das Volume enth�lt nur einen einzigen Plexus, daher
-	gibt es keine redundante Datenspeicherung.  Da der Plexus
-	au�erdem nur  eine einzige Subdisk enth�lt,
-	unterscheidet sich auch die Speicherzuweisung nicht von der
-	einer konventionellen Plattenpartition.  Die folgenden
-	Abschnitte beschreiben daher verschiedene interessantere
-	Konfigurationen.</para>
-    </sect2>
-
-    <sect2>
-      <title>Verbesserte Ausfallsicherheit durch Spiegelung</title>
-
-      <para>Die Ausfallsicherheit eines Volumes kann durch
-	Spiegelung der Daten erh�ht werden.  Beim Anlegen eines
-	gespiegelten Volumes ist es wichtig, die Subdisks jedes
-	Plexus auf verschiedene Platten zu verteilen, damit ein
-	Plattenausfall nicht beide Plexus unbrauchbar macht.  Die
-	folgende Konfiguration spiegelt ein Volume:</para>
-
-      <programlisting>
-	drive b device /dev/da4h
-	volume mirror
-      plex org concat
-        sd length 512m drive a
-	  plex org concat
-	    sd length 512m drive b</programlisting>
-
-      <para>Bei diesem Beispiel war es nicht n�tig, noch einmal
-	eine Platte <emphasis>a</emphasis> zu spezifizieren, da
-	Vinum die �bersicht �ber alle Objekte und seine
-	Konfigurationsdatenbank beh�lt.  Nach dem Abarbeiten
-	dieser Definition sieht die Konfiguration wie folgt aus:</para>
-
-      <programlisting width="97">
-	Drives:         2 (4 configured)
-	Volumes:        2 (4 configured)
-	Plexes:         3 (8 configured)
-	Subdisks:       3 (16 configured)
-
-	D a                     State: up       Device /dev/da3h        Avail: 1549/2573 MB (60%)
-	D b                     State: up       Device /dev/da4h        Avail: 2061/2573 MB (80%)
-
-    V myvol                 State: up       Plexes:       1 Size:        512 MB
-    V mirror                State: up       Plexes:       2 Size:        512 MB
-
-    P myvol.p0            C State: up       Subdisks:     1 Size:        512 MB
-    P mirror.p0           C State: up       Subdisks:     1 Size:        512 MB
-    P mirror.p1           C State: initializing     Subdisks:     1 Size:        512 MB
-
-    S myvol.p0.s0           State: up       PO:        0  B Size:        512 MB
-    S mirror.p0.s0          State: up       PO:        0  B Size:        512 MB
-    S mirror.p1.s0          State: empty    PO:        0  B Size:        512 MB</programlisting>
-
-      <para><xref linkend="vinum-mirrored-vol"/> stellt diese Struktur
-	grafisch dar.</para>
-
-      <para>
-	<figure id="vinum-mirrored-vol">
-	  <title>Ein gespiegeltes Vinum Volume</title>
-	  <graphic fileref="vinum/vinum-mirrored-vol"/>
-	</figure>
-      </para>
-
-      <para>In diesem Beispiel enth�lt jeder Plexus die vollen
-	512&nbsp;MB des Adressraumes.  Wie im vorangegangenen Beispiel
-	enth�lt jeder Plexus nur eine Subdisk.</para>
-    </sect2>
-
-    <sect2>
-      <title>Die Leistung optimieren</title>
-
-      <para>Das gespiegelte Volume des letzten Beispieles ist
-	resistenter gegen�ber Fehlern als ein ungespiegeltes
-	Volume, seine Leistung ist hingegen schlechter, da jeder
-	Schreibzugriff auf das Volume einen Schreibzugriff auf beide
-	Platten erfordert und damit mehr der insgesamt verf�gbaren
-	Datentransferrate  ben�tigt.  Steht also die optimale
-	Leistung im Vordergrund, muss anders vorgegangen werden:
-	Statt alle Daten zu spiegeln, werden die Daten �ber
-	so viele Platten wie m�glich gestriped.  Die folgende
-	Konfiguration zeigt ein Volume
-	mit einem �ber vier Platten hinwegreichenden Plexus:</para>
-
-	<programlisting>
-	drive c device /dev/da5h
-	drive d device /dev/da6h
-	volume stripe
-	plex org striped 512k
-	  sd length 128m drive a
-	  sd length 128m drive b
-	  sd length 128m drive c
-	  sd length 128m drive d</programlisting>
-
-      <para>Wie zuvor ist es nicht n�tig, die Platten zu
-	definieren, die Vinum schon bekannt sind.  Nach dem Abarbeiten
-	dieser Definition sieht die Konfiguration wie folgt aus:</para>
-
-      <programlisting width="92">
-	Drives:         4 (4 configured)
-	Volumes:        3 (4 configured)
-	Plexes:         4 (8 configured)
-	Subdisks:       7 (16 configured)
-
-    D a                     State: up       Device /dev/da3h        Avail: 1421/2573 MB (55%)
-    D b                     State: up       Device /dev/da4h        Avail: 1933/2573 MB (75%)
-    D c                     State: up       Device /dev/da5h        Avail: 2445/2573 MB (95%)
-    D d                     State: up       Device /dev/da6h        Avail: 2445/2573 MB (95%)
-
-    V myvol                 State: up       Plexes:       1 Size:        512 MB
-    V mirror                State: up       Plexes:       2 Size:        512 MB
-    V striped               State: up       Plexes:       1 Size:        512 MB
-
-    P myvol.p0            C State: up       Subdisks:     1 Size:        512 MB
-    P mirror.p0           C State: up       Subdisks:     1 Size:        512 MB
-    P mirror.p1           C State: initializing     Subdisks:     1 Size:        512 MB
-    P striped.p1            State: up       Subdisks:     1 Size:        512 MB
-
-    S myvol.p0.s0           State: up       PO:        0  B Size:        512 MB
-    S mirror.p0.s0          State: up       PO:        0  B Size:        512 MB
-    S mirror.p1.s0          State: empty    PO:        0  B Size:        512 MB
-    S striped.p0.s0         State: up       PO:        0  B Size:        128 MB
-    S striped.p0.s1         State: up       PO:      512 kB Size:        128 MB
-    S striped.p0.s2         State: up       PO:     1024 kB Size:        128 MB
-    S striped.p0.s3         State: up       PO:     1536 kB Size:        128 MB</programlisting>
-
-      <para>
-	<figure id="vinum-striped-vol">
-	  <title>Ein Striped Vinum Volume</title>
-	    <graphic fileref="vinum/vinum-striped-vol"/>
-	</figure>
-      </para>
-
-      <para>Dieses Volume wird in <xref linkend="vinum-striped-vol"/>
-        dargestellt.  Die Schattierung der Stripes zeigt die Position
-	innerhalb des Plexus-Adressraumes an.  Die hellsten Stripes
-	kommen zuerst, die dunkelsten zuletzt.</para>
-    </sect2>
-
-    <sect2>
-      <title>Ausfallsicherheit und Leistung</title>
-
-      <para><anchor id="vinum-resilience"/>Mit entsprechender Hardware
-	ist es m�glich, Volumes zu bauen, welche gegen�ber
-	Standard-&unix;-Partitionen beides, n�mlich erh�hte
-	Ausfallsicherheit und erh�hte Leistung, aufweisen
-	k�nnen.  Eine typische Konfigurationsdatei k�nnte
-	etwa so aussehen:</para>
-
-      <programlisting>
-	volume raid10
-      plex org striped 512k
-        sd length 102480k drive a
-        sd length 102480k drive b
-        sd length 102480k drive c
-        sd length 102480k drive d
-        sd length 102480k drive e
-      plex org striped 512k
-        sd length 102480k drive c
-        sd length 102480k drive d
-        sd length 102480k drive e
-        sd length 102480k drive a
-        sd length 102480k drive b</programlisting>
-
-      <para>Die Subdisks des zweiten Plexus sind gegen�ber denen
-	des ersten Plexus um zwei Platten verschoben.  Dadurch wird
-	sichergestellt, dass Schreibzugriffe nicht auf den gleichen
-	Subdisks auftreten, auch wenn eine �bertragung �ber
-	zwei Platten geht.</para>
-
-      <para><xref linkend="vinum-raid10-vol"/> veranschaulicht die
-	Struktur dieses Volumes.</para>
-
-      <para>
-	<figure id="vinum-raid10-vol">
-	  <title>Ein gespiegeltes, Striped Vinum Volume</title>
-	    <graphic fileref="vinum/vinum-raid10-vol"/>
-        </figure>
-      </para>
-    </sect2>
-  </sect1>
-
-  <sect1 id="vinum-object-naming">
-    <title>Objektbenennung</title>
-
-    <para>Wie oben beschrieben, weist Vinum den Plexus und
-      Subdisks Standardnamen zu, wenngleich diese �berschrieben
-      werden k�nnen. Das �berschreiben dieser Standardnamen
-      wird allerdings nicht empfohlen.  Erfahrungen mit dem VERITAS
-      Volume Manager (der eine willk�rliche Benennung von
-      Objekten erlaubt) haben gezeigt, dass diese Flexibilit�t
-      keinen entscheidenden Vorteil bringt und zudem Verwirrung
-      stiften kann.</para>
-
-    <para>Namen d�rfen zwar alle nichtleeren Zeichen enthalten,
-      es ist aber sinnvoll, nur Buchstaben, Ziffern und den
-      Unterstrich zu verwenden.  Die Namen von Volumes, Plexus und
-      Subdisks k�nnen bis zu 64 Zeichen lang sein, die Namen
-      von Platten d�rfen hingegen nur bis zu 32 Zeichen lang
-      sein.</para>
-
-    <para>Vinum-Objekten werden Ger�tedateien in der <filename
-      class="directory">/dev/gvinum</filename>-Hierarchie zugewiesen.  Die
-      weiter oben dargestellte Konfiguration w�rde Vinum dazu
-      veranlassen, die folgenden Ger�tedateien zu erstellen:</para>
-
-    <itemizedlist>
-      <listitem>
-	<para>Ger�te-Eintr�ge f�r jedes Volume.
-	  Dieses sind die Hauptger�te, die von Vinum benutzt
-	  werden.  Somit w�rde die Konfiguration von oben
-	  folgende Ger�te beinhalten:
-	  <filename class="devicefile">/dev/gvinum/myvol</filename>,
-	  <filename class="devicefile">/dev/gvinum/mirror</filename>,
-	  <filename class="devicefile">/dev/gvinum/striped</filename>,
-	  <filename class="devicefile">/dev/gvinum/raid5</filename> sowie
-	  <filename class="devicefile">/dev/gvinum/raid10</filename>.</para>
-      </listitem>
-
-      <listitem>
-	<para>Alle Volumes bekommen direkte Eintr�ge unter <filename
-	  class="directory">/dev/gvinum/</filename>.</para>
-      </listitem>
-
-      <listitem>
-	<para>Die Verzeichnisse <filename
-	  class="directory">/dev/gvinum/plex</filename> und <filename
-	  class="directory">/dev/gvinum/sd</filename>, die Ger�tedateien
-	  f�r jeden Plexus sowie jede Subdisk enthalten.</para>
-      </listitem>
-    </itemizedlist>
-
-    <para>Stellen Sie sich folgende Konfigurationsdatei vor:</para>
-
-	<programlisting>
-	drive drive1 device /dev/sd1h
-	drive drive2 device /dev/sd2h
-	drive drive3 device /dev/sd3h
-	drive drive4 device /dev/sd4h
-    volume s64 setupstate
-      plex org striped 64k
-        sd length 100m drive drive1
-        sd length 100m drive drive2
-        sd length 100m drive drive3
-        sd length 100m drive drive4</programlisting>
-
-    <para>Nach Abarbeitung dieser Datei erstellt &man.gvinum.8; die
-      folgende Struktur unter <filename
-      class="directory">/dev/gvinum</filename>:</para>
-
-    <programlisting>
-	drwxr-xr-x  2 root  wheel       512 Apr 13 16:46 plex
-	crwxr-xr--  1 root  wheel   91,   2 Apr 13 16:46 s64
-	drwxr-xr-x  2 root  wheel       512 Apr 13 16:46 sd
-
-    /dev/vinum/plex:
-    total 0
-    crwxr-xr--  1 root  wheel   25, 0x10000002 Apr 13 16:46 s64.p0
-
-    /dev/vinum/sd:
-    total 0
-    crwxr-xr--  1 root  wheel   91, 0x20000002 Apr 13 16:46 s64.p0.s0
-    crwxr-xr--  1 root  wheel   91, 0x20100002 Apr 13 16:46 s64.p0.s1
-    crwxr-xr--  1 root  wheel   91, 0x20200002 Apr 13 16:46 s64.p0.s2
-    crwxr-xr--  1 root  wheel   91, 0x20300002 Apr 13 16:46 s64.p0.s3</programlisting>
-
-    <para>Es wird empfohlen, f�r Plexus und Subdisks keine
-      eigenen Namen zu vergeben.  Dies gilt aber nicht f�r
-      Vinum-Platten.  Durch die Benennung von Vinum-Platten
-      wird es erst m�glich, eine Platte an einen anderen Ort zu
-      verschieben und sie trotzdem noch automatisch erkennen zu lassen.
-      Plattennamen k�nnen bis zu 32 Zeichen lang sein.</para>
-
-    <sect2>
-      <title>Dateisysteme erstellen</title>
-
-      <para>Volumes erscheinen (mit einer Ausnahme) dem System nicht
-	anders als Platten.  Anders als &unix;-Platten partitioniert
-	Vinum seine Volumes nicht, weshalb diese auch keine
-	Partitionstabellen haben.  Dies wiederum hat Modifikationen an
-	einigen Platten-Tools, insbesondere &man.newfs.8;, n�tig
-	gemacht, welche bis dahin den letzten Buchstaben eines
-	Vinum-Volume-Namen als Partitionsbezeichner identifiziert haben.
-	Zum Beispiel k�nnte eine Platte einen Namen wie
-	<filename class="devicefile">/dev/ad0a</filename> oder
-	<filename class="devicefile">/dev/da2h</filename> haben.  Diese Namen
-	bedeuten, dass es sich um die erste Partition
-	(<devicename>a</devicename>) der ersten (0) IDE-Platte
-	(<devicename>ad</devicename>) und respektive die achte
-	Partition (<devicename>h</devicename>) der dritten (2)
-	SCSI-Platte (<devicename>da</devicename>) handelt.  Im Vergleich
-	dazu k�nnte ein Vinum-Volume beispielsweise <filename
-	class="devicefile">/dev/gvinum/concat</filename> hei�en, ein Name,
-	der in keiner Beziehung mit einem Partitionsnamen steht.</para>
-
-      <para>Um nun ein Dateisystem auf diesem Volume anzulegen, benutzen
-	Sie &man.newfs.8;:</para>
-
-      <screen>&prompt.root; <userinput>newfs /dev/gvinum/concat</userinput></screen>
-    </sect2>
-  </sect1>
-
-  <sect1 id="vinum-config">
-    <title>Vinum konfigurieren</title>
-
-    <para>Der <filename>GENERIC</filename>-Kernel enth�t kein
-      Vinum.  Es ist zwar m�glich, einen speziellen Kernel zu
-      bauen, der Vinum beinhaltet, empfohlen wird aber, Vinum als
-      ein Kernelmodul (�ber <acronym>kld</acronym>) zu laden.
-      Dazu m�ssen Sie nicht einmal &man.kldload.8; benutzen,
-      da beim Start von &man.gvinum.8; automatisch �berpr�ft
-      wird, ob das Modul bereits geladen wurde.  Falls das Modul noch
-      nicht geladen wurde, wird es daraufhin geladen.</para>
-
-    <sect2>
-      <title>Inbetriebnahme</title>
-
-      <para>Vinum speichert seine Konfigurationsinformationen auf den
-	Platten-Slices im Wesentlichen genauso ab wie in den
-	Konfigurationsdateien.  Beim Lesen der Konfigurationsdatenbank
-	erkennt Vinum eine Anzahl von Schl�sselw�rtern, die
-	in den Konfigurationsdateien nicht erlaubt sind.  Zum Beispiel
-	k�nnte eine Platten-Konfiguration den folgenden Text
-	enthalten:</para>
-
-      <programlisting width="119">volume myvol state up
-volume bigraid state down
-plex name myvol.p0 state up org concat vol myvol
-plex name myvol.p1 state up org concat vol myvol
-plex name myvol.p2 state init org striped 512b vol myvol
-plex name bigraid.p0 state initializing org raid5 512b vol bigraid
-sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b
-sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b
-sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b
-sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b
-sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b
-sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b
-sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b
-sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b
-sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b
-sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b
-sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b
-sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b
-sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b</programlisting>
-
-      <para>Die offensichtlichen Unterschiede sind hier die Anwesenheit
-	von Informationen �ber explizite Speicherorte und
-	Benennungen (beides ist zwar erlaubt, aber es wird dem Benutzer
-	davon abgeraten, es zu benutzen) und Informationen �ber die
-	Zust�nde (welche f�r den Benutzer nicht zur
-	Verf�gung stehen).  Vinum speichert keine Informationen
-	�ber Platten in den Konfigurationsinformationen, es findet
-	die Platten durch Scannen nach Vinum-Markierungen auf den
-	eingerichteten Laufwerken.  Dies erm�glicht es,
-	Vinum-Platten auch dann noch korrekt zu identifizieren, wenn
-	sie schon andere &unix;-Platten-IDs zugewiesen bekommen
-	haben.</para>
-
-      <sect3 id="vinum-rc-startup">
-	<title>Automatische Inbetriebnahme</title>
-
-	<note>
-	  <para><emphasis>Gvinum</emphasis>
-	    unterst�tzt eine automatische Inbetriebnahme immer,
-	    wenn das Kernelmodul �ber &man.loader.conf.5; geladen ist.
-	    Um das <emphasis>Gvinum</emphasis> Modul beim Hochfahren des
-	    Systems zu laden, f�gen Sie die Zeile
-	    <literal>geom_vinum_load="YES"</literal> in
-	    <filename>/boot/loader.conf</filename> ein.</para>
-	</note>
-
-	<para>Beim starten von Vinum durch den Befehl <command>vinum
-	  start</command> liest Vinum die Konfigurationsdatenbank von
-	  einer der Vinum-Platten.  Unter normalen Umst�nden
-	  enth�lt jede Platte eine identische Kopie der
-	  Konfigurationsdatenbank, so dass es keine Rolle spielt, von
-	  welcher der Platten diese eingelesen wird.  Nach einem
-	  Plattencrash muss Vinum allerdings zun�chst feststellen,
-	  welche der Platten zuletzt aktualisiert wurde und dann die
-	  Konfiguration von dieser Platte lesen.  Danach werden (falls
-	  n�tig) die Konfigurationen der "alten" Platten
-	  aktualisiert.</para>
-      </sect3>
-    </sect2>
-  </sect1>
-<!--  2006-01-04__16:15 -->
-  <sect1 id="vinum-root">
-    <title>Vinum f�r das Root-Dateisystem benutzen</title>
-
-    <para>Auf einem System, das mit Hilfe von Vinum
-      vollgespiegelte Dateisysteme hat, ist es w�nschenswert, auch
-      das Root-Dateisystem zu spiegeln.  Solch eine Konfiguration ist
-      allerdings weniger trivial als das Spiegeln eines
-      gew�hnlichen Dateisystems, weil:</para>
-
-    <itemizedlist>
-      <listitem>
-	<para>Das Root-Dateisystem in einer sehr fr�hen Phase
-	  des Bootvorgangs verf�gbar sein muss, und damit auch
-	  die Vinum-Infrastruktur.</para>
-      </listitem>
-
-      <listitem>
-	<para>Das Volume, welches das Root-Dateisystem enth�lt,
-	  auch den Bootstrap und den Kernel enth�lt, die
-	  wiederum nur mit den systemeigenen Tools (zum Beispiel
-	  dem BIOS bei handels�blichen PCs) gelesen werden
-	  k�nnen und meist nicht dazu gebracht werden k�nnen,
-	  Vinum zu verstehen.</para>
-      </listitem>
-    </itemizedlist>
-
-    <para>Im folgenden Abschnitt wird der Begriff
-      <quote>Root-Volume</quote> benutzt, um das Vinum-Volume zu
-      beschreiben, welches das Root-Dateisystem enth�lt.  Es ist
-      eine gute Idee, f�r dieses Volume den Namen
-      <literal>"root"</literal> zu benutzen, aber es ist in keiner
-      Weise technisch n�tig (Das folgende Beispiel geht allerdings
-      davon aus, dass dies der Fall ist.).</para>
-
-    <sect2>
-      <title>Vinum f�r das Root-Dateisystem rechtzeitig
-	starten</title>
-
-      <para>Damit dies gelingt, m�ssen Sie folgende Aufgaben
-	erledigen:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para>Vinum muss zum Zeitpunkt des Bootvorganges im
-	     Kernel zur Verf�gung stehen.  Deswegen ist die
-	     Methode zum Start von Vinum, die in
-	     <xref linkend="vinum-rc-startup"/> beschrieben wird,
-	     f�r diese Aufgabe nicht geeignet.  Also muss
-	     auch der <literal>start_vinum</literal>-Parameter
-	     eigentlich <emphasis>nicht</emphasis> gesetzt werden,
-	     wenn man das folgende Setup einrichtet.  Die erste
-	     M�glichkeit w�re es, Vinum statisch in den
-	     Kernel zu kompilieren, so dass es st�ndig
-	     verf�gbar ist, was aber in der Regel nicht
-	     erw�nscht ist.  Ebenso gibt es die M�glichkeit
-	     <filename>/boot/loader</filename>
-	     (<xref linkend="boot-loader"/>) das Vinum-Kernelmodul
-	     fr�h genug laden zu lassen (und zwar noch bevor
-	     der Kernel gestartet wird).  Dies kann bewerkstelligt
-	     werden, indem die Zeile</para>
-
-	  <programlisting>geom_vinum_load="YES"</programlisting>
-
-	  <para>in die Datei <filename>/boot/loader.conf</filename>
-	    eingetragen wird.</para>
-	</listitem>
-
-	<listitem>
-	  <para>F�r <emphasis>Gvinum</emphasis> ist das oben
-	    beschriebene Prozedere alles, was Sie tun m�ssen,
-	    da der gesamte Startvorgang automatisch erledigt wird,
-	    sobald das Kernelmodul geladen wurde.</para>
-	</listitem>
-      </itemizedlist>
-    </sect2>
-
-    <sect2>
-      <title>Ein Vinum-basiertes Root-Volume dem Bootstrap
-	verf�gbar machen</title>
-
-      <para>Da der aktuelle &os;-Bootstrap nur 7,5 KB Code
-	enth�lt und schon ohne Vinum die Aufgabe hat,
-	bestimmte Dateien (wie <filename>/boot/loader</filename>)
-	von einem UFS-Dateisystem zu lesen, ist es schier
-	unm�glich, ihm auch noch die Interna von Vinum
-	beizubringen, damit er die Vinum-Konfigurationsdaten
-	auslesen und die Elemente eines Boot-Volumes selbst
-	herausfinden k�nnte.  Daher sind ein paar Tricks
-	n�tig, um dem Bootstrap-Code die Illusion
-	einer Standard-<literal>"a"</literal>-Partition mit
-	einem Root-Dateisystem vorzugaukeln.</para>
-
-      <para>Damit dies �berhaupt m�glich wird,
-	m�ssen die folgenden Bedingungen f�r das
-	Root-Dateisystem erf�llt sein:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para>Das Root-Volume darf weder gestriped noch
-	    RAID-5 sein.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Das Root-Volume darf nicht mehr als eine konkatenierte
-	    Subdisk pro Plexus enthalten.</para>
-	</listitem>
-      </itemizedlist>
-
-      <para>Beachten Sie, dass es m�glich und
-	w�nschenswert ist, mehrere Plexus zu haben, von denen
-	jeder eine Kopie des Root-Dateisystems enth�lt.  Der
-	Bootstrap-Prozess wird hingegen nur einen dieser Plexus
-	benutzen, um den Bootstrap und alle Dateien zu finden, bis der
-	Kernel letztendlich das Root-Dateisystem selbst laden wird.
-	Jede einzelne Subdisk innerhalb dieser Plexus wird dann ihre
-	eigene Illusion der Partition <literal>"a"</literal> brauchen,
-	damit das entsprechende Ger�t bootbar wird.  Es ist nicht
-	unbedingt notwendig, dass sich jede dieser gef�lschten
-	<literal>"a"</literal>-Partitionen auf seinem Ger�t an
-	einem Ort befindet, der um den selben Wert verschoben ist wie
-	auf den anderen Ger�ten, die Plexus des Root-Dateisystems
-	enthalten.  Um Unklarheiten zu verhindern, ist es jedoch eine
-	gute Idee, die Vinum-Volumes so zu erstellen, dass die
-	gespiegelten Ger�te symmetrisch sind.</para>
-
-      <para>Damit diese <literal>"a"</literal>-Partitionen eingerichtet
-	werden k�nnen, muss f�r alle Ger�te, die Teil des
-	Root-Dateisystems sind, folgendes getan werden:</para>
-
-      <procedure>
-	<step>
-	  <para>Der Ort (Verschiebung vom Beginn des Ger�tes) und
-	    die Gr��e der Subdisk, die Teil des Root-Volumes
-	    ist, muss untersucht werden:</para>
-
-	  <screen>&prompt.root; <userinput>gvinum l -rv root</userinput></screen>
-
-	  <para>Beachten Sie, dass Vinum-Verschiebungen und
-	    -Gr��en in Bytes gemessen werden.  Sie m�ssen
-	    deshalb durch 512 geteilt werden, um die Blockanzahl zu
-	    erhalten, wie sie das <command>bsdlabel</command>-Kommando
-	    verwendet.</para>
-	</step>
-
-	<step>
-	  <para>F�hren Sie den Befehl</para>
-
-	  <screen>&prompt.root; <userinput>bsdlabel -e <replaceable>devname</replaceable></userinput></screen>
-
-	  <para>f�r jedes Ger�t, dass am Root-Volume beteiligt
-	    ist, aus.  <replaceable>devname</replaceable> muss entweder
-	    der Name der Platte (wie <devicename>da0</devicename>), im
-	    Falle einer Platte ohne Slice-Tabelle oder der Name des
-	    Slices (wie <devicename>ad0s1</devicename>) sein.</para>
-
-	  <para>Wenn es schon eine <literal>"a"</literal>-Partition auf
-	    dem Ger�t (in der Regel wahrscheinlich ein
-	    Pr�-Vinum-Root-Dateisystem) gibt, sollte diese
-	    umbenannt werden, damit sie weiterhin verf�gbar bleibt
-	    (nur f�r den Fall).  Sie wird aber nicht l�nger
-	    benutzt, um das System zu starten.  Beachten Sie aber, dass
-	    aktive Partitionen (wie ein gemountetes Root-Dateisystem)
-	    nicht umbenannt werden k�nnen, sodass Sie entweder von
-	    einem <quote>Fixit</quote>-Medium booten m�ssen, oder
-	    aber mittels eines zweistufigen Prozesses (sofern Sie in einer
-	    gespiegelten Umgebung arbeiten) zuerst die Platte
-	    �ndern, von der gerade nicht gebootet wurde.</para>
-
-	  <para>Nun muss die Verschiebung der Vinum-Partition (sofern
-	    vorhanden) auf diesem Ger�t mit der Veschiebung der
-	    entsprechenden Root-Volume-Subdisk addiert werden. Das
-	    Resultat wird der <literal>"offset"</literal>-Wert f�r
-	    die neue <literal>"a"</literal>-Partition. Der
-	    <literal>"size"</literal>-Wert f�r diese Partition
-	    kann entsprechend der Berechnung ermittelt werden.
-	    <literal>"fstype"</literal> sollte <literal>4.2BSD</literal>
-	    sein.  Die <literal>"fsize"</literal>-,
-	    <literal>"bsize"</literal>-, und
-	    <literal>"cpg"</literal>- Werte sollten entsprechend dem
-	    eigentlichen Dateisystem gew�hlt werden, obwohl sie in
-	    diesem Kontext ziemlich unwichtig sind.</para>
-
-	  <para>Auf diese Art und Weise wird eine neue Partition
-	    <literal>"a"</literal> etabliert, die die Vinum-Partition
-	    auf diesem Ger�t �berschneidet.  Beachte Sie, dass
-	    das <command>bsdlabel</command>-Kommando diese
-	    �berschneidung nur erlaubt, wenn die Partition richtig
-	    mit dem <literal>"vinum"</literal>-fstype markiert ist.</para>
-	</step>
-
-	<step>
-	  <para>Das ist alles.  Auf jedem Ger�t befindet sich nun
-	    eine gef�lschte <literal>"a"</literal>-Partition, die
-	    eine Kopie des Root-Volumes enth�lt. Es wird dringend
-	    empfohlen, das Resultat dieser Konfiguration zu
-	    �berpr�fen:</para>
-
-	  <screen>&prompt.root; <userinput>fsck -n /dev/<replaceable>devname</replaceable>a</userinput></screen>
-	</step>
-      </procedure>
-
-      <para>Denken Sie stets daran, dass alle Dateien, die
-	Kontrollinformationen enthalten, nun relativ zum
-	Root-Dateisystem innerhalb des Vinum-Volumes sein m�ssen.
-	Denn ein neu eingerichtetes Vinum-Root-Dateisystem ist
-	m�glicherweise inkompatibel zum gerade aktiven
-	Root-Dateisystem.  Deshalb m�ssen insbesondere die
-	Dateien <filename>/etc/fstab</filename> und
-	<filename>/boot/loader.conf</filename> �berpr�ft
-	werden.</para>
-
-      <para>Beim n�chsten Systemstart sollte der Bootstrap die
-	ad�quaten Kontrollinformationen des neuen
-	Vinum-basierten Root-Dateisystems automatisch herausfinden und
-	entsprechend handeln.  Am Ende des
-	Kernel-Initialisierungsprozesses (nachdem alle Ger�te
-	angezeigt wurden) erhalten Sie bei einer erfolgreichen
-	Konfiguration eine Nachricht �hnlich der folgenden:</para>
-
-      <screen>Mounting root from ufs:/dev/gvinum/root</screen>
-    </sect2>
-
-    <sect2>
-      <title>Beispiel eines Vinum-basierten Root-Setups</title>
-
-      <para>Nachdem das Vinum-Root-Volume eingerichtet wurde,
-	k�nnte die Ausgabe von <command>gvinum l -rv root</command>
-	bespielsweise so aussehen:</para>
-
-	<screen>
-...
-Subdisk root.p0.s0:
-		Size:        125829120 bytes (120 MB)
-		State: up
-		Plex root.p0 at offset 0 (0  B)
-		Drive disk0 (/dev/da0h) at offset 135680 (132 kB)
-
-Subdisk root.p1.s0:
-		Size:        125829120 bytes (120 MB)
-		State: up
-		Plex root.p1 at offset 0 (0  B)
-		Drive disk1 (/dev/da1h) at offset 135680 (132 kB)
-	</screen>
-
-      <para>Wichtig ist hier insbesondere ist der Wert
-	<literal>135680</literal> f�r die Verschiebung (relativ zur
-	Partition <filename
-	class="devicefile">/dev/da0h</filename>).  Das entspricht
-	beim Einsatz von <command>bsdlabel</command> 265
-	512-Byte-Plattenbl�cken.  Dieses Root-Volume ist ebenso
-	245760 512-Byte-Bl�cke gro�.
-	<filename class="devicefile">/dev/da1h</filename> enth�lt die
-	zweite Kopie dieses Root-Volumes und ist symmetrisch aufgebaut.</para>
-
-      <para>Das Bsdlabel f�r diese Ger�te k�nnte
-	so aussehen:</para>
-
-	<screen>
-...
-8 partitions:
-#        size   offset    fstype   [fsize bsize bps/cpg]
-  a:   245760      281    4.2BSD     2048 16384     0   # (Cyl.    0*- 15*)
-  c: 71771688        0    unused        0     0         # (Cyl.    0 - 4467*)
-  h: 71771672       16     vinum                        # (Cyl.    0*- 4467*)
-	</screen>
-
-      <para>Wie man leicht feststellen kann, entspricht der Parameter
-	<literal>"size"</literal> der gef�lschten
-	<literal>"a"</literal>-Partition dem ausgewiesenen Wert von
-	oben, w�hrend der Parameter
-	<literal>"offset"</literal> gleich der Summe der Verschiebung
-	innerhalb der Vinum-Partition <literal>"h"</literal> und der
-	Verschiebung innerhalb des Ger�ts (oder Slice) ist.  Dies
-	ist ein typischer Aufbau, der n�tig ist, um die in
-	<xref linkend="vinum-root-panic"/> beschriebenen Probleme zu
-	vermeiden.  Die gesamte Partition <literal>"a"</literal> befindet
-	sich in	<literal>"h"</literal>, die alle Vinum-Daten f�r
-	dieses Ger�t enth�lt.</para>
-
-      <para>Beachten Sie, dass in dem oben beschriebenen Beispiel das
-	gesamte Ger�t Vinum gewidmet ist und keine
-	Pr�-Vinum-Partition zur�ckgelassen wurde, da es sich
-	im Beispiel um eine neu eingerichtete Platte handelt, die nur
-	f�r die Vinum-Konfiguration bestimmt war.</para>
-    </sect2>
-
-    <sect2>
-      <title>Fehlerbehebung</title>
-
-      <para>Der folgende Abschnitt beschreibt einige bekannte
-	Probleme und Fallstricke bei der Vinum-Konfiguration sowie
-	deren Behebung.</para>
-
-      <sect3>
-	<title>Der System-Bootstrap l�dt zwar, das System startet
-	  aber nicht.</title>
-
-	<para>Wenn aus irgendeinem Grund das System nicht mit dem Booten
-	  fortf�hrt, kann man den Bootstrap w�hrend der
-	  10-Sekunden-Warnung durch Dr�cken der
-	  <keycap>Leertaste</keycap> unterbrechen.  Die
-	  <foreignphrase>loader</foreignphrase>-Variablen (wie
-	  <literal>vinum.autostart</literal>) k�nnen mittels des
-	  <command>show</command>-Kommandos untersucht, und mit
-	  <command>set</command> oder <command>unset</command>
-	  ge�ndert werden.</para>
-
-	<para>Wenn das einzige Problem das Fehlen des
-	  Vinum-Kernelmoduls in der Liste der automatisch zu ladenden
-	  Module ist, hilft ein einfaches
-	  <command>load geom_vinum</command>.</para>
-
-	<para>Danach k�nnen Sie den Bootvorgang mit
-	  <command>boot -as</command> fortsetzen.  Die Optionen
-	  <option>-as</option> fordern den Kernel auf, nach dem zu
-	  mountenden Root-Dateisystem zu fragen (<option>-a</option>),
-	  und den Bootvorgang im Single-User-Modus
-	  (<option>-s</option>) zu beenden, in dem das
-	  Root-Dateisystem schon schreibgesch�tzt gemountet ist.
-	  Auf diese Weise wird keine Dateninkonsistenz zwischen den
-	  Plexus riskiert, auch wenn nur ein Plexus eines
-	  Multi-Plexus-Volumes gemountet wurde.</para>
-
-	<para>Beim Prompt, das nach einem Root-Dateisystem fragt,
-	  kann jedes Ger�t angegeben werden, dass ein
-	  g�ltiges Root-Dateisystem hat.  Wenn
-	  <filename>/etc/fstab</filename> richtig konfiguriert
-	  wurde, sollte die Vorgabe etwas wie
-	  <literal>ufs:/dev/gvinum/root</literal> sein.  Eine typische
-	  Alternative w�rde etwas wie
-	  <literal>ufs:da0d</literal> sein, welches eine
-	  hypothetische Partition sein k�nnte, die ein
-	  Pre-Vinum-Root-Dateisystem enth�lt. Vorsicht sollte
-	  walten, wenn eine der <foreignphrase>alias</foreignphrase>
-	  <literal>"a"</literal>-Partitionen hier eingegeben wird, die
-	  eigentlich Referenzen auf die Subdisks des
-	  Vinum-Root-Dateisystems sind, da so nur ein St�ck eines
-	  gespiegelten Root-Ger�tes gemountet werden w�rde.
-	  Wenn das Dateisystem sp�ter zum Lesen und Schreiben
-	  gemountet werden soll, ist es n�tig, die anderen Plexus
-	  des Vinum-Root-Volumes zu entfernen, weil diese Plexus
-	  andernfalls inkonsistente Daten enthalten w�rden.</para>
-      </sect3>
-
-      <sect3>
-	<title>Nur der prim�re Bootstrap l�dt</title>
-
-	<para>Wenn das Laden von <filename>/boot/loader</filename>
-	  fehlschl�gt, aber der prim�re Bootstrap dennoch
-	  l�dt (sichtbar an dem einzelnen Strich in der linken
-	  Spalte des Bildschirms gleich nachdem der Bootprozess
-	  startet), kann man versuchen, den prim�ren Bootstrap
-	  an diesem Punkt durch Benutzen der
-	  <keycap>Leertaste</keycap> zu unterbrechen.  Dies wird
-	  den Bootstrap in der zweiten Phase stoppen (siehe dazu auch
-	  <xref linkend="boot-boot1"/>).  Hier kann nun der Versuch
-	  unternommen werden, von einer anderen Partition zu booten,
-	  wie beispielsweise dem vorhergehenden Root-Dateisystem,
-	  das von <literal>"a"</literal> verschoben wurde.</para>
-      </sect3>
-
-      <sect3 id="vinum-root-panic">
-	<title>Nichts bootet, der Bootstrap h�ngt sich auf</title>
-
-	<para>Diese Situation wird vorkommen, wenn der Bootstrap durch
-	  die Vinum-Installation zerst�rt worden ist.
-	  Ungl�cklicherweise l�sst Vinum am Anfang seiner
-	  Partition nur 4&nbsp;KB frei und schreibt dahinter seine
-	  Kopfinformationen.  Allerdings ben�tigen Stufe-Eins-
-	  und -Zwei-Bootstraps plus dem dazwischen eingebetteten
-	  <foreignphrase>bsdlabel</foreignphrase> momentan 8&nbsp;KB.
-	  Demzufolge wird die Vinum-Installation, wenn die
-	  Vinum-Partition mit der Verschiebung 0 (innerhalb eines
-	  Slice oder einer Platte, die zum Start bestimmt waren)
-	  eingerichtet wurde, den Bootstrap zerst�ren.</para>
-
-	<para>Analog wird eine anschlie�ende
-	  Reinstallation eines Bootstrap (zum Beispiel durch Booten
-	  eines <quote>Fixit</quote>-Mediums) mit
-	  <command>bsdlabel -B</command>, wie in
-	  <xref linkend="boot-boot1"/> beschrieben, den Vinum-Kopf
-	  zerst�ren und Vinum wird seine Platte(n) nicht mehr
-	  finden k�nnen.  Obwohl keine eigentlichen
-	  Vinum-Konfigurationsdaten oder Daten in den Vinum-Volumes
-	  zerst�rt werden und es m�glich w�re, alle
-	  Daten wiederherzustellen, indem die exakt gleichen
-	  Vinum-Konfigurationsdaten noch einmal eingegeben werden,
-	  bleibt die Situation schwer zu bereinigen, da es n�tig
-	  ist, die gesamte Vinum-Partition um mindestens
-	  4&nbsp;KB nach hinten zu verschieben, damit Bootstrap
-	  und Vinum-Kopf nicht mehr kollidieren.</para>
-      </sect3>
-    </sect2>
-  </sect1>
+
+    <para>Striping erfordert einen etwas gr��eren Aufwand,
+      um die Daten zu
+      lokalisieren, und kann zus�tzliche E/A-Last verursachen,
+      wenn eine �bertragung �ber mehrere Platten verteilt
+      ist.  Auf der anderen Seite erlaubt es aber eine
+      gleichm��igere Verteilung der Last auf die einzelnen
+      Platten.  <xref linkend="vinum-striped"/> veranschaulicht
+      die Abfolge, in der Speichereinheiten in einer striped-Anordnung
+      alloziert werden.</para>
+
+    <para>
+      <figure id="vinum-striped">
+        <title>Striped-Anordnung</title>
+          <graphic fileref="vinum/vinum-striped"/>
+      </figure>
+    </para>
+  </sect1>
+
+  <sect1 id="vinum-data-integrity">
+    <title>Datenintegrit�t</title>
+
+    <para>Das dritte Problem, welches aktuelle Platten haben, ist ihre
+      Unzuverl�ssigkeit.   Obwohl sich die Zuverl�ssigkeit
+      von Festplatten in den letzten Jahren stark verbessert hat,
+      handelt es sich bei ihnen nach wie vor um die Komponente eines
+      Servers, die am ehesten ausf�llt.  F�llt eine
+      Festplatte aus, k�nnen die Folgen katastrophal sein:  Es
+      kann Tage dauern, bis eine Platte ersetzt und alle Daten
+      wiederhergestellt sind.</para>
+
+      <indexterm>
+	<primary>disk mirroring</primary>
+      </indexterm>
+      <indexterm>
+	<primary>Vinum</primary>
+	<secondary>Spiegelung</secondary>
+      </indexterm>
+      <indexterm>
+	<primary>RAID-1</primary>
+      </indexterm>
+
+      <para>Die traditionelle Art, dieses Problem anzugehen, war es,
+        Daten zu <emphasis>spiegeln</emphasis>, also zwei Kopien der
+        Daten auf getrennten Platten zu verwahren.  Diese Technik wird
+        auch als <acronym>RAID Level 1</acronym> oder
+        <acronym>RAID-1</acronym> bezeichnet.  Jeder Schreibzugriff
+        findet auf beiden Datentr�gern statt.  Ein Lesezugriff
+        kann daher von beiden Laufwerken erfolgen, sodass beim Ausfall
+        eines Laufwerks die Daten immer noch auf dem anderen
+        Laufwerk verf�gbar sind.</para>
+
+      <para>Spiegeln verursacht allerdings zwei Probleme:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Es verursacht h�here Kosten, da doppelt so viel
+            Plattenspeicher wie bei einer nicht-redundanten
+            L�sung ben�tigt wird.</para>
+        </listitem>
+
+        <listitem>
+          <para>Die Gesamtleistung des Systems sinkt, da
+            Schreibzugriffe auf beiden Laufwerken ausgef�hrt
+            werden m�ssen, daher wird im Vergleich zu einem
+            nicht gespiegelten Datentr�ger die doppelte
+            Bandbreite ben�tigt.  Lesezugriffe hingegen sind
+            davon nicht betroffen, es sieht sogar so aus, als
+            w�rden diese schneller ausgef�hrt.</para>
+        </listitem>
+      </itemizedlist>
+
+      <indexterm><primary>RAID-5</primary></indexterm>
+
+      <para>Eine alternative L�sung ist
+        <emphasis>Parity</emphasis>, das in den
+        <acronym>RAID</acronym>-Leveln 2, 3, 4 und 5
+        implementiert ist.  Von diesen ist <acronym>RAID-5</acronym>
+        der interessanteste.  So wie in VINUM implementiert, ist es
+        eine Variante einer gestripten Anordung, welche einen Block
+        jedes Stripes als Parit�tsblock f�r einen der anderen
+        Bl�cke verwendet.  Wie in <acronym>RAID-5</acronym>
+        vorgeschrieben, ist die Position dieses Parit�tsblockes
+        auf jedem Stripe unterschiedlich.  Die Nummern in den
+        Datenbl�cken geben die relativen Blocknummern an.</para>
+
+      <para>
+	<figure id="vinum-raid5-org">
+	  <title>RAID-5 Aufbau</title>
+	    <graphic fileref="vinum/vinum-raid5-org"/>
+	</figure>
+      </para>
+
+      <para>Im Vergleich zur Spiegelung hat RAID-5 den Vorteil, dass
+        es signifikant weniger Speicherplatz ben�tigt.
+        Lesezugriffe sind vergleichbar schnell mit jenen bei einem
+        Striped-Aufbau, aber Schreibzugriffe sind deutlich langsamer
+        (etwa 25% der Lesegeschwindigkeit).  Wenn eine Platte
+        ausf�llt, kann das Array in einem "schwachen" Modus
+        weiterarbeiten:  Ein Lesezugriff auf eine der �brigen
+        erreichbaren Platten wird normal ausgef�hrt, ein
+        Lesezugriff auf die ausgefallene Platte muss aber
+        zun�chst mit dem zugeh�rigen Block aller
+        verbleibender Platten r�ckberechnet werden.</para>
+  </sect1>
+
+  <sect1 id="vinum-objects">
+    <title>Vinum-Objekte</title>
+      <para>Um die in den vorigen Abschnitte besprochenen Probleme zu
+        l�sen, verwendet Vinum eine vierstufige
+        Objekthierarchie:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Das auff�lligste Objekt ist die virtuelle Platte,
+	    die <emphasis>Volume</emphasis> genannt wird.  Volumes
+	    haben im Wesentlichen die gleichen Eigenschaften wie ein
+	    &unix;-Laufwerk, obwohl es ein paar kleine Unterschiede
+	    gibt.  So existieren f�r Volumes beispielsweise keine
+	    Gr��enbeschr�nkungen.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Volumes bestehen aus einem oder mehreren
+	    <emphasis>Plexus</emphasis>,
+	    von denen jeder den gesamten Adressraum eines
+	    Datentr�gers repr�sentiert.  Diese Hierarchieebene
+	    ist f�r die ben�tigte Redundanz der Daten
+	    erforderlich.  Stellen Sie sich die Plexus als
+	    eigenst�ndige Platten in einem gespiegelten
+	    Array vor, von denen jede die gleichen Daten
+	    enth�lt.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Da Vinum im &unix;-Plattenspeicher-Framework arbeitet,
+	    w�re es m�glich, als Grundbaustein f�r
+	    Multiplatten-Plexus &unix;-Partitionen zu verwenden.  In
+	    der Praxis ist dieser Ansatz aber zu unflexibel, da
+	    &unix;-Platten nur eine begrenzte Anzahl von Partitionen
+	    haben k�nnen.  Daher unterteilt Vinum stattdessen
+	    eine einzige &unix;-Partition (die
+	    <emphasis>Platte</emphasis>) in zusammenh�ngende
+	    Bereiche, die als <emphasis>Subdisks</emphasis> bezeichnet
+	    werden und als Grundbausteine f�r einen Plexus
+	    benutzt werden.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Subdisks befinden sich auf
+	    Vinum-<emphasis>Platten</emphasis>, eigentlich
+	    &unix;-Partitionen.  Vinum-Platten k�nnen eine
+	    beliebige Anzahl von Subdisks haben und den gesamten
+	    Speicher der Platte mit Ausnahme eines kleinen Bereiches
+	    am Anfang der Platte (welcher zur Speicherung von
+	    Konfigurations- und Statusinformationen verwenden wird)
+	    verwenden.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Der folgende Abschnitt beschreibt, wie diese Objekte
+	die von Vinum ben�tigten Funktionen zur
+	Verf�gung stellen.</para>
+
+    <sect2>
+      <title>�berlegungungen zur Gr��e eines Volumes</title>
+
+      <para>Plexus k�nnen mehrere Subdisks beinhalten, die
+	�ber alle Platten der Vinum-Konfiguration verteilt sind.
+	Daraus folgt, dass die Gr��e einer Platte nicht die
+	Gr��e eines Plexus (und damit eines Volumes)
+	limitiert.</para>
+    </sect2>
+
+    <sect2>
+      <title>Redundante Datenspeicherung</title>
+
+      <para>Vinum implementiert die Datenspiegelung, indem es ein
+	Volume auf mehrere Plexus verteilt.  Jeder Plexus ist
+	dabei die Repr�sentation der Daten eines Volumes.
+	Ein Volume kann aus bis zu acht Plexus bestehen.</para>
+
+      <para>Obwohl ein Plexus die gesamten Daten eines Volumes
+	repr�sentiert, ist es m�glich, dass Teile der
+	Repr�sentation physisch fehlen, entweder aufgrund des
+	Designs (etwa durch nicht definierte Subdisks f�r Teile
+	des Plexus) oder durch Zufall (als ein Ergebnis eines
+	Plattenfehlers).  Solange wenigstens ein Plexus die gesamten
+	Daten f�r den kompletten Adressbereich des Volumes zur
+	Verf�gung stellen kann, ist das Volume voll
+	funktionsf�hig.</para>
+    </sect2>
+
+    <sect2>
+      <title>�berlegungen zur Leistung</title>
+
+      <para>Sowohl Konkatenation als auch Striping werden von Vinum
+	auf der Plexus-Ebene realisiert:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Ein <emphasis>konkatenierter Plexus</emphasis> benutzt
+	    abwechselnd den Adressraum jeder Subdisk.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Ein <emphasis>gestripter Plexus</emphasis> striped die
+	    Daten �ber jede Subdisk. Die Subdisks m�ssen alle
+	    die gleiche Gr��e haben, und es muss mindestens
+	    zwei Subdisks in Reihenfolge geben, um ihn von einem
+	    konkatenierten Plexus unterscheiden zu k�nnen.</para>
+	</listitem>
+      </itemizedlist>
+    </sect2>
+
+    <sect2>
+      <title>Wie ist ein Plexus aufgebaut?</title>
+
+      <para>Die Version von Vinum, welche von &os;-&rel.current;
+	bereitgestellt wird, implementiert zwei Arten von Plexus:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Konkatenierte Plexus sind die flexibelsten:  Sie
+	    k�nnen aus einer beliebigen Anzahl von Subdisks
+	    unterschiedlicher Gr��e bestehen.  Der Plexus
+	    kann erweitert werden, indem man zus�tzliche Subdisks
+	    hinzuf�gt.  Sie brauchen weniger
+	    <acronym>CPU</acronym>-Zeit als gestripte Plexus, obwohl
+	    der Unterschied des <acronym>CPU</acronym>-Overheads nicht
+	    messbar ist.  Auf der anderen Seite sind sie aber sehr
+	    anf�llig f�r das Entstehen von "hot spots", wobei
+	    eine Platte sehr aktiv ist, andere hingegen nahezu ungenutzt
+	    sind.</para>
+        </listitem>
+
+	<listitem>
+	  <para>Der gr��te Vorteil eines gestripten
+	    Plexus (<acronym>RAID-0</acronym>) ist die Verringerung von
+	    "hot spots".  Dies wird durch die Auswahl eines Stripes
+	    optimaler Gr��e (etwa 256&nbsp;kB) erreicht,
+	    wodurch die Last gleichm��ig auf die Platten
+	    verteilt werden kann. Nachteile dieser Vorgehensweise sind
+	    ein (geringf�gig) komplexerer Code sowie einige
+	    Restriktionen f�r die Subdisks:  Diese m�ssen alle
+	    die gleiche Gr��e haben, und das Erweitern eines
+	    Plexus durch das Hinzuf�gen neuer Subdisks ist so
+	    kompliziert, dass es von Vinum derzeit nicht
+	    unterst�tzt wird.  Vinum fordert noch eine weitere
+	    triviale Beschr�nkung:  Ein gestripter Plexus muss
+	    aus mindestens zwei Subdisks bestehen, da er ansonsten nicht
+	    von einem konkatenierten Plexus unterscheidbar ist.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para><xref linkend="vinum-comparison"/> fasst die Vor- und
+	Nachteile jedes Plexus-Aufbaus zusammen.</para>
+
+      <table id="vinum-comparison" frame="none">
+	<title>Vinum-Plexus - Aufbau</title>
+
+	<tgroup cols="5">
+	  <thead>
+	    <row>
+	      <entry>Plexus-Typ</entry>
+	      <entry>Minimum an Subdisks?</entry>
+	      <entry>Kann Subdisks hinzuf�gen?</entry>
+	      <entry>M�ssen die gleiche Gr��e
+		haben</entry>
+	      <entry>Applikation</entry>
+	    </row>
+	  </thead>
+
+	  <tbody>
+	    <row>
+	      <entry>konkateniert</entry>
+	      <entry>1</entry>
+	      <entry>ja</entry>
+	      <entry>nein</entry>
+	      <entry>Gro�er Datenspeicher mit maximaler
+		Platzierungsflexibilit�t und moderater
+		Leistung</entry>
+	    </row>
+
+	    <row>
+	      <entry>gestriped</entry>
+	      <entry>2</entry>
+	      <entry>nein</entry>
+	      <entry>ja</entry>
+	      <entry>Hohe Leistung in Kombination mit
+		gleichzeitigem Zugriff</entry>
+	    </row>
+	  </tbody>
+	</tgroup>
+      </table>
+    </sect2>
+  </sect1>
+
+  <sect1 id="vinum-examples">
+    <title>Einige Beispiele</title>
+
+    <para>Vinum verwaltet eine
+      <emphasis>Konfigurationsdatenbank</emphasis> f�r alle
+      einem individuellen System bekannten Objekte.  Zu Beginn
+      erzeugt ein Benutzer mit &man.gvinum.8;
+      eine Konfigurationsdatenbank aus einer oder mehreren
+      Konfigurationsdateien.  Vinum speichert danach eine Kopie der
+      Konfigurationsdatenbank in jedem von ihm kontrollierten
+      Slice (von Vinum als <emphasis>Device</emphasis>
+      bezeichnet).  Da die Datenbank bei jedem Statuswechsel
+      aktualisiert wird, kann nach einem Neustart der Status
+      jedes Vinum-Objekts exakt wiederhergestellt werden.</para>
+
+    <sect2>
+      <title>Die Konfigurationsdatei</title>
+
+      <para>Die Konfigurationsdatei beschreibt individuelle
+        Vinum-Objekte.  Die Beschreibung eines einfachen Volumes
+        k�nnte beispielsweise so aussehen:</para>
+
+      <programlisting>
+    drive a device /dev/da3h
+    volume myvol
+      plex org concat
+        sd length 512m drive a</programlisting>
+
+      <para>Diese Datei beschreibt vier Vinum-Objekte:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Die <emphasis>drive</emphasis>-Zeile beschreibt eine
+	    Plattenpartition (<emphasis>drive</emphasis>) sowie ihre
+	    Position in Bezug auf die darunter liegende Hardware.
+	    Die Partition hat dabei den symbolischen Namen
+	    <emphasis>a</emphasis>.  Diese Trennung von symbolischen
+	    Namen und Ger�tenamen erlaubt es, die Position von
+	    Platten zu �ndern, ohne dass es zu Problemen
+	    kommt.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Die <emphasis>volume</emphasis>-Zeile beschreibt ein
+	    Volume.  Daf�r wird nur ein einziges Attribut, der
+	    Name des Volumes, ben�tigt.  In unserem Fall hat das
+	    Volume den Namen <emphasis>myvol</emphasis>.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Die <emphasis>plex</emphasis>-Zeile definiert einen
+	    Plexus.  Auch hier wird nur ein Parameter, und zwar die
+	    Art des Aufbau, ben�tigt (in unserem Fall
+	    <emphasis>concat</emphasis>).  Es wird kein Name
+	    ben�tigt, das System generiert automatisch einen
+	    Namen aus dem Volume-Namen und dem Suffix
+	    <emphasis>.p</emphasis><emphasis>x</emphasis> wobei
+	    <emphasis>x</emphasis> die Nummer des Plexus innerhalb
+	    des Volumes angibt.  So wird dieser Plexus den Namen
+	    <emphasis>myvol.p0</emphasis> erhalten.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Die <emphasis>sd</emphasis>-Zeile beschreibt eine
+	    Subdisk.  Um eine Subdisk einzurichten, m�ssen Sie
+	    zumindest den Namen der Platte, auf der Sie die
+	    Subdisk anlegen wollen, sowie die Gr��e der
+	    Subdisk angeben. Analog zur Definition eines Plexus wird
+	    auch hier kein Name ben�tigt:  Das System weist
+	    automatisch Namen zu, die aus dem Namen des Plexus und
+	    dem Suffix <emphasis>.s</emphasis><emphasis>x</emphasis>
+	    gebildet werden, wobei <emphasis>x</emphasis> die Nummer
+	    der Subdisk innerhalb des Plexus ist.  Folglich gibt
+	    Vinum dieser Subdisk den Namen
+	    <emphasis>myvol.p0.s0</emphasis>.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Nach dem Verarbeiten dieser Datei erzeugt &man.gvinum.8;
+	die folgende Ausgabe:</para>
+
+      <programlisting width="97">
+      &prompt.root; gvinum -&gt; <userinput>create config1</userinput>
+      Configuration summary
+      Drives:         1 (4 configured)
+      Volumes:        1 (4 configured)
+      Plexes:         1 (8 configured)
+      Subdisks:       1 (16 configured)
+
+	D a                     State: up       Device /dev/da3h        Avail: 2061/2573 MB (80%)
+
+	V myvol                 State: up       Plexes:       1 Size:        512 MB
+
+	P myvol.p0            C State: up       Subdisks:     1 Size:        512 MB
+
+	S myvol.p0.s0           State: up       PO:        0  B Size:        512 MB</programlisting>
+
+      <para>Diese Ausgabe entspricht dem verk�rzten
+	Ausgabeformat von &man.gvinum.8; und wird in
+	<xref linkend="vinum-simple-vol"/> grafisch dargestellt.</para>
+
+      <para>
+	<figure id="vinum-simple-vol">
+	  <title>Ein einfaches Vinum-Volume</title>
+	  <graphic fileref="vinum/vinum-simple-vol"/>
+	</figure>
+      </para>
+
+      <para>Dieses und die folgenden Beispiele zeigen jeweils ein
+	Volume, welches die Plexus enth�lt, die wiederum die
+	Subdisk enthalten.  In diesem trivialen Beispiel enth�lt
+	das Volume nur einen Plexus, der wiederum nur aus einer
+	Subdisk besteht.</para>
+
+      <para>Eine solche Konfiguration h�tte allerdings keinen
+	Vorteil gegen�ber einer konventionellen Plattenpartion.
+	Das Volume enth�lt nur einen einzigen Plexus, daher
+	gibt es keine redundante Datenspeicherung.  Da der Plexus
+	au�erdem nur  eine einzige Subdisk enth�lt,
+	unterscheidet sich auch die Speicherzuweisung nicht von der
+	einer konventionellen Plattenpartition.  Die folgenden
+	Abschnitte beschreiben daher verschiedene interessantere
+	Konfigurationen.</para>
+    </sect2>
+
+    <sect2>
+      <title>Verbesserte Ausfallsicherheit durch Spiegelung</title>
+
+      <para>Die Ausfallsicherheit eines Volumes kann durch
+	Spiegelung der Daten erh�ht werden.  Beim Anlegen eines
+	gespiegelten Volumes ist es wichtig, die Subdisks jedes
+	Plexus auf verschiedene Platten zu verteilen, damit ein
+	Plattenausfall nicht beide Plexus unbrauchbar macht.  Die
+	folgende Konfiguration spiegelt ein Volume:</para>
+
+      <programlisting>
+	drive b device /dev/da4h
+	volume mirror
+      plex org concat
+        sd length 512m drive a
+	  plex org concat
+	    sd length 512m drive b</programlisting>
+
+      <para>Bei diesem Beispiel war es nicht n�tig, noch einmal
+	eine Platte <emphasis>a</emphasis> zu spezifizieren, da
+	Vinum die �bersicht �ber alle Objekte und seine
+	Konfigurationsdatenbank beh�lt.  Nach dem Abarbeiten
+	dieser Definition sieht die Konfiguration wie folgt aus:</para>
+
+      <programlisting width="97">
+	Drives:         2 (4 configured)
+	Volumes:        2 (4 configured)
+	Plexes:         3 (8 configured)
+	Subdisks:       3 (16 configured)
+
+	D a                     State: up       Device /dev/da3h        Avail: 1549/2573 MB (60%)
+	D b                     State: up       Device /dev/da4h        Avail: 2061/2573 MB (80%)
+
+    V myvol                 State: up       Plexes:       1 Size:        512 MB
+    V mirror                State: up       Plexes:       2 Size:        512 MB
+
+    P myvol.p0            C State: up       Subdisks:     1 Size:        512 MB
+    P mirror.p0           C State: up       Subdisks:     1 Size:        512 MB
+    P mirror.p1           C State: initializing     Subdisks:     1 Size:        512 MB
+
+    S myvol.p0.s0           State: up       PO:        0  B Size:        512 MB
+    S mirror.p0.s0          State: up       PO:        0  B Size:        512 MB
+    S mirror.p1.s0          State: empty    PO:        0  B Size:        512 MB</programlisting>
+
+      <para><xref linkend="vinum-mirrored-vol"/> stellt diese Struktur
+	grafisch dar.</para>
+
+      <para>
+	<figure id="vinum-mirrored-vol">
+	  <title>Ein gespiegeltes Vinum Volume</title>
+	  <graphic fileref="vinum/vinum-mirrored-vol"/>
+	</figure>
+      </para>
+
+      <para>In diesem Beispiel enth�lt jeder Plexus die vollen
+	512&nbsp;MB des Adressraumes.  Wie im vorangegangenen Beispiel
+	enth�lt jeder Plexus nur eine Subdisk.</para>
+    </sect2>
+
+    <sect2>
+      <title>Die Leistung optimieren</title>
+
+      <para>Das gespiegelte Volume des letzten Beispieles ist
+	resistenter gegen�ber Fehlern als ein ungespiegeltes
+	Volume, seine Leistung ist hingegen schlechter, da jeder
+	Schreibzugriff auf das Volume einen Schreibzugriff auf beide
+	Platten erfordert und damit mehr der insgesamt verf�gbaren
+	Datentransferrate  ben�tigt.  Steht also die optimale
+	Leistung im Vordergrund, muss anders vorgegangen werden:
+	Statt alle Daten zu spiegeln, werden die Daten �ber
+	so viele Platten wie m�glich gestriped.  Die folgende
+	Konfiguration zeigt ein Volume
+	mit einem �ber vier Platten hinwegreichenden Plexus:</para>
+
+	<programlisting>
+	drive c device /dev/da5h
+	drive d device /dev/da6h
+	volume stripe
+	plex org striped 512k
+	  sd length 128m drive a
+	  sd length 128m drive b
+	  sd length 128m drive c
+	  sd length 128m drive d</programlisting>
+
+      <para>Wie zuvor ist es nicht n�tig, die Platten zu
+	definieren, die Vinum schon bekannt sind.  Nach dem Abarbeiten
+	dieser Definition sieht die Konfiguration wie folgt aus:</para>
+
+      <programlisting width="92">
+	Drives:         4 (4 configured)
+	Volumes:        3 (4 configured)
+	Plexes:         4 (8 configured)
+	Subdisks:       7 (16 configured)
+
+    D a                     State: up       Device /dev/da3h        Avail: 1421/2573 MB (55%)
+    D b                     State: up       Device /dev/da4h        Avail: 1933/2573 MB (75%)
+    D c                     State: up       Device /dev/da5h        Avail: 2445/2573 MB (95%)
+    D d                     State: up       Device /dev/da6h        Avail: 2445/2573 MB (95%)
+
+    V myvol                 State: up       Plexes:       1 Size:        512 MB
+    V mirror                State: up       Plexes:       2 Size:        512 MB
+    V striped               State: up       Plexes:       1 Size:        512 MB
+
+    P myvol.p0            C State: up       Subdisks:     1 Size:        512 MB
+    P mirror.p0           C State: up       Subdisks:     1 Size:        512 MB
+    P mirror.p1           C State: initializing     Subdisks:     1 Size:        512 MB
+    P striped.p1            State: up       Subdisks:     1 Size:        512 MB
+
+    S myvol.p0.s0           State: up       PO:        0  B Size:        512 MB
+    S mirror.p0.s0          State: up       PO:        0  B Size:        512 MB
+    S mirror.p1.s0          State: empty    PO:        0  B Size:        512 MB
+    S striped.p0.s0         State: up       PO:        0  B Size:        128 MB
+    S striped.p0.s1         State: up       PO:      512 kB Size:        128 MB
+    S striped.p0.s2         State: up       PO:     1024 kB Size:        128 MB
+    S striped.p0.s3         State: up       PO:     1536 kB Size:        128 MB</programlisting>
+
+      <para>
+	<figure id="vinum-striped-vol">
+	  <title>Ein Striped Vinum Volume</title>
+	    <graphic fileref="vinum/vinum-striped-vol"/>
+	</figure>
+      </para>
+
+      <para>Dieses Volume wird in <xref linkend="vinum-striped-vol"/>
+        dargestellt.  Die Schattierung der Stripes zeigt die Position
+	innerhalb des Plexus-Adressraumes an.  Die hellsten Stripes
+	kommen zuerst, die dunkelsten zuletzt.</para>
+    </sect2>
+
+    <sect2>
+      <title>Ausfallsicherheit und Leistung</title>
+
+      <para><anchor id="vinum-resilience"/>Mit entsprechender Hardware
+	ist es m�glich, Volumes zu bauen, welche gegen�ber
+	Standard-&unix;-Partitionen beides, n�mlich erh�hte
+	Ausfallsicherheit und erh�hte Leistung, aufweisen
+	k�nnen.  Eine typische Konfigurationsdatei k�nnte
+	etwa so aussehen:</para>
+
+      <programlisting>
+	volume raid10
+      plex org striped 512k
+        sd length 102480k drive a
+        sd length 102480k drive b
+        sd length 102480k drive c
+        sd length 102480k drive d
+        sd length 102480k drive e
+      plex org striped 512k
+        sd length 102480k drive c
+        sd length 102480k drive d
+        sd length 102480k drive e
+        sd length 102480k drive a
+        sd length 102480k drive b</programlisting>
+
+      <para>Die Subdisks des zweiten Plexus sind gegen�ber denen
+	des ersten Plexus um zwei Platten verschoben.  Dadurch wird
+	sichergestellt, dass Schreibzugriffe nicht auf den gleichen
+	Subdisks auftreten, auch wenn eine �bertragung �ber
+	zwei Platten geht.</para>
+
+      <para><xref linkend="vinum-raid10-vol"/> veranschaulicht die
+	Struktur dieses Volumes.</para>
+
+      <para>
+	<figure id="vinum-raid10-vol">
+	  <title>Ein gespiegeltes, Striped Vinum Volume</title>
+	    <graphic fileref="vinum/vinum-raid10-vol"/>
+        </figure>
+      </para>
+    </sect2>
+  </sect1>
+
+  <sect1 id="vinum-object-naming">
+    <title>Objektbenennung</title>
+
+    <para>Wie oben beschrieben, weist Vinum den Plexus und
+      Subdisks Standardnamen zu, wenngleich diese �berschrieben
+      werden k�nnen. Das �berschreiben dieser Standardnamen
+      wird allerdings nicht empfohlen.  Erfahrungen mit dem VERITAS
+      Volume Manager (der eine willk�rliche Benennung von
+      Objekten erlaubt) haben gezeigt, dass diese Flexibilit�t
+      keinen entscheidenden Vorteil bringt und zudem Verwirrung
+      stiften kann.</para>
+
+    <para>Namen d�rfen zwar alle nichtleeren Zeichen enthalten,
+      es ist aber sinnvoll, nur Buchstaben, Ziffern und den
+      Unterstrich zu verwenden.  Die Namen von Volumes, Plexus und
+      Subdisks k�nnen bis zu 64 Zeichen lang sein, die Namen
+      von Platten d�rfen hingegen nur bis zu 32 Zeichen lang
+      sein.</para>
+
+    <para>Vinum-Objekten werden Ger�tedateien in der <filename
+      class="directory">/dev/gvinum</filename>-Hierarchie zugewiesen.  Die
+      weiter oben dargestellte Konfiguration w�rde Vinum dazu
+      veranlassen, die folgenden Ger�tedateien zu erstellen:</para>
+
+    <itemizedlist>
+      <listitem>
+	<para>Ger�te-Eintr�ge f�r jedes Volume.
+	  Dieses sind die Hauptger�te, die von Vinum benutzt
+	  werden.  Somit w�rde die Konfiguration von oben
+	  folgende Ger�te beinhalten:
+	  <filename class="devicefile">/dev/gvinum/myvol</filename>,
+	  <filename class="devicefile">/dev/gvinum/mirror</filename>,
+	  <filename class="devicefile">/dev/gvinum/striped</filename>,
+	  <filename class="devicefile">/dev/gvinum/raid5</filename> sowie
+	  <filename class="devicefile">/dev/gvinum/raid10</filename>.</para>
+      </listitem>
+
+      <listitem>
+	<para>Alle Volumes bekommen direkte Eintr�ge unter <filename
+	  class="directory">/dev/gvinum/</filename>.</para>
+      </listitem>
+
+      <listitem>
+	<para>Die Verzeichnisse <filename
+	  class="directory">/dev/gvinum/plex</filename> und <filename
+	  class="directory">/dev/gvinum/sd</filename>, die Ger�tedateien
+	  f�r jeden Plexus sowie jede Subdisk enthalten.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>Stellen Sie sich folgende Konfigurationsdatei vor:</para>
+
+	<programlisting>
+	drive drive1 device /dev/sd1h
+	drive drive2 device /dev/sd2h
+	drive drive3 device /dev/sd3h
+	drive drive4 device /dev/sd4h
+    volume s64 setupstate
+      plex org striped 64k
+        sd length 100m drive drive1
+        sd length 100m drive drive2
+        sd length 100m drive drive3
+        sd length 100m drive drive4</programlisting>
+
+    <para>Nach Abarbeitung dieser Datei erstellt &man.gvinum.8; die
+      folgende Struktur unter <filename
+      class="directory">/dev/gvinum</filename>:</para>
+
+    <programlisting>
+	drwxr-xr-x  2 root  wheel       512 Apr 13 16:46 plex
+	crwxr-xr--  1 root  wheel   91,   2 Apr 13 16:46 s64
+	drwxr-xr-x  2 root  wheel       512 Apr 13 16:46 sd
+
+    /dev/vinum/plex:
+    total 0
+    crwxr-xr--  1 root  wheel   25, 0x10000002 Apr 13 16:46 s64.p0
+
+    /dev/vinum/sd:
+    total 0
+    crwxr-xr--  1 root  wheel   91, 0x20000002 Apr 13 16:46 s64.p0.s0
+    crwxr-xr--  1 root  wheel   91, 0x20100002 Apr 13 16:46 s64.p0.s1
+    crwxr-xr--  1 root  wheel   91, 0x20200002 Apr 13 16:46 s64.p0.s2
+    crwxr-xr--  1 root  wheel   91, 0x20300002 Apr 13 16:46 s64.p0.s3</programlisting>
+
+    <para>Es wird empfohlen, f�r Plexus und Subdisks keine
+      eigenen Namen zu vergeben.  Dies gilt aber nicht f�r
+      Vinum-Platten.  Durch die Benennung von Vinum-Platten
+      wird es erst m�glich, eine Platte an einen anderen Ort zu
+      verschieben und sie trotzdem noch automatisch erkennen zu lassen.
+      Plattennamen k�nnen bis zu 32 Zeichen lang sein.</para>
+
+    <sect2>
+      <title>Dateisysteme erstellen</title>
+
+      <para>Volumes erscheinen (mit einer Ausnahme) dem System nicht
+	anders als Platten.  Anders als &unix;-Platten partitioniert
+	Vinum seine Volumes nicht, weshalb diese auch keine
+	Partitionstabellen haben.  Dies wiederum hat Modifikationen an
+	einigen Platten-Tools, insbesondere &man.newfs.8;, n�tig
+	gemacht, welche bis dahin den letzten Buchstaben eines
+	Vinum-Volume-Namen als Partitionsbezeichner identifiziert haben.
+	Zum Beispiel k�nnte eine Platte einen Namen wie
+	<filename class="devicefile">/dev/ad0a</filename> oder
+	<filename class="devicefile">/dev/da2h</filename> haben.  Diese Namen
+	bedeuten, dass es sich um die erste Partition
+	(<devicename>a</devicename>) der ersten (0) IDE-Platte
+	(<devicename>ad</devicename>) und respektive die achte
+	Partition (<devicename>h</devicename>) der dritten (2)
+	SCSI-Platte (<devicename>da</devicename>) handelt.  Im Vergleich
+	dazu k�nnte ein Vinum-Volume beispielsweise <filename
+	class="devicefile">/dev/gvinum/concat</filename> hei�en, ein Name,
+	der in keiner Beziehung mit einem Partitionsnamen steht.</para>
+
+      <para>Um nun ein Dateisystem auf diesem Volume anzulegen, benutzen
+	Sie &man.newfs.8;:</para>
+
+      <screen>&prompt.root; <userinput>newfs /dev/gvinum/concat</userinput></screen>
+    </sect2>
+  </sect1>
+
+  <sect1 id="vinum-config">
+    <title>Vinum konfigurieren</title>
+
+    <para>Der <filename>GENERIC</filename>-Kernel enth�t kein
+      Vinum.  Es ist zwar m�glich, einen speziellen Kernel zu
+      bauen, der Vinum beinhaltet, empfohlen wird aber, Vinum als
+      ein Kernelmodul (�ber <acronym>kld</acronym>) zu laden.
+      Dazu m�ssen Sie nicht einmal &man.kldload.8; benutzen,
+      da beim Start von &man.gvinum.8; automatisch �berpr�ft
+      wird, ob das Modul bereits geladen wurde.  Falls das Modul noch
+      nicht geladen wurde, wird es daraufhin geladen.</para>
+
+    <sect2>
+      <title>Inbetriebnahme</title>
+
+      <para>Vinum speichert seine Konfigurationsinformationen auf den
+	Platten-Slices im Wesentlichen genauso ab wie in den
+	Konfigurationsdateien.  Beim Lesen der Konfigurationsdatenbank
+	erkennt Vinum eine Anzahl von Schl�sselw�rtern, die
+	in den Konfigurationsdateien nicht erlaubt sind.  Zum Beispiel
+	k�nnte eine Platten-Konfiguration den folgenden Text
+	enthalten:</para>
+
+      <programlisting width="119">volume myvol state up
+volume bigraid state down
+plex name myvol.p0 state up org concat vol myvol
+plex name myvol.p1 state up org concat vol myvol
+plex name myvol.p2 state init org striped 512b vol myvol
+plex name bigraid.p0 state initializing org raid5 512b vol bigraid
+sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b
+sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b
+sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b
+sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b
+sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b
+sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b
+sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b
+sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b
+sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b
+sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b
+sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b
+sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b
+sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b</programlisting>
+
+      <para>Die offensichtlichen Unterschiede sind hier die Anwesenheit
+	von Informationen �ber explizite Speicherorte und
+	Benennungen (beides ist zwar erlaubt, aber es wird dem Benutzer
+	davon abgeraten, es zu benutzen) und Informationen �ber die
+	Zust�nde (welche f�r den Benutzer nicht zur
+	Verf�gung stehen).  Vinum speichert keine Informationen
+	�ber Platten in den Konfigurationsinformationen, es findet
+	die Platten durch Scannen nach Vinum-Markierungen auf den
+	eingerichteten Laufwerken.  Dies erm�glicht es,
+	Vinum-Platten auch dann noch korrekt zu identifizieren, wenn
+	sie schon andere &unix;-Platten-IDs zugewiesen bekommen
+	haben.</para>
+
+      <sect3 id="vinum-rc-startup">
+	<title>Automatische Inbetriebnahme</title>
+
+	<note>
+	  <para><emphasis>Gvinum</emphasis>
+	    unterst�tzt eine automatische Inbetriebnahme immer,
+	    wenn das Kernelmodul �ber &man.loader.conf.5; geladen ist.
+	    Um das <emphasis>Gvinum</emphasis> Modul beim Hochfahren des
+	    Systems zu laden, f�gen Sie die Zeile
+	    <literal>geom_vinum_load="YES"</literal> in
+	    <filename>/boot/loader.conf</filename> ein.</para>
+	</note>
+
+	<para>Beim starten von Vinum durch den Befehl <command>vinum
+	  start</command> liest Vinum die Konfigurationsdatenbank von
+	  einer der Vinum-Platten.  Unter normalen Umst�nden
+	  enth�lt jede Platte eine identische Kopie der
+	  Konfigurationsdatenbank, so dass es keine Rolle spielt, von
+	  welcher der Platten diese eingelesen wird.  Nach einem
+	  Plattencrash muss Vinum allerdings zun�chst feststellen,
+	  welche der Platten zuletzt aktualisiert wurde und dann die
+	  Konfiguration von dieser Platte lesen.  Danach werden (falls
+	  n�tig) die Konfigurationen der "alten" Platten
+	  aktualisiert.</para>
+      </sect3>
+    </sect2>
+  </sect1>
+<!--  2006-01-04__16:15 -->
+  <sect1 id="vinum-root">
+    <title>Vinum f�r das Root-Dateisystem benutzen</title>
+
+    <para>Auf einem System, das mit Hilfe von Vinum
+      vollgespiegelte Dateisysteme hat, ist es w�nschenswert, auch
+      das Root-Dateisystem zu spiegeln.  Solch eine Konfiguration ist
+      allerdings weniger trivial als das Spiegeln eines
+      gew�hnlichen Dateisystems, weil:</para>
+
+    <itemizedlist>
+      <listitem>
+	<para>Das Root-Dateisystem in einer sehr fr�hen Phase
+	  des Bootvorgangs verf�gbar sein muss, und damit auch
+	  die Vinum-Infrastruktur.</para>
+      </listitem>
+
+      <listitem>
+	<para>Das Volume, welches das Root-Dateisystem enth�lt,
+	  auch den Bootstrap und den Kernel enth�lt, die
+	  wiederum nur mit den systemeigenen Tools (zum Beispiel
+	  dem BIOS bei handels�blichen PCs) gelesen werden
+	  k�nnen und meist nicht dazu gebracht werden k�nnen,
+	  Vinum zu verstehen.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>Im folgenden Abschnitt wird der Begriff
+      <quote>Root-Volume</quote> benutzt, um das Vinum-Volume zu
+      beschreiben, welches das Root-Dateisystem enth�lt.  Es ist
+      eine gute Idee, f�r dieses Volume den Namen
+      <literal>"root"</literal> zu benutzen, aber es ist in keiner
+      Weise technisch n�tig (Das folgende Beispiel geht allerdings
+      davon aus, dass dies der Fall ist.).</para>
+
+    <sect2>
+      <title>Vinum f�r das Root-Dateisystem rechtzeitig
+	starten</title>
+
+      <para>Damit dies gelingt, m�ssen Sie folgende Aufgaben
+	erledigen:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Vinum muss zum Zeitpunkt des Bootvorganges im
+	     Kernel zur Verf�gung stehen.  Deswegen ist die
+	     Methode zum Start von Vinum, die in
+	     <xref linkend="vinum-rc-startup"/> beschrieben wird,
+	     f�r diese Aufgabe nicht geeignet.  Also muss
+	     auch der <literal>start_vinum</literal>-Parameter
+	     eigentlich <emphasis>nicht</emphasis> gesetzt werden,
+	     wenn man das folgende Setup einrichtet.  Die erste
+	     M�glichkeit w�re es, Vinum statisch in den
+	     Kernel zu kompilieren, so dass es st�ndig
+	     verf�gbar ist, was aber in der Regel nicht
+	     erw�nscht ist.  Ebenso gibt es die M�glichkeit
+	     <filename>/boot/loader</filename>
+	     (<xref linkend="boot-loader"/>) das Vinum-Kernelmodul
+	     fr�h genug laden zu lassen (und zwar noch bevor
+	     der Kernel gestartet wird).  Dies kann bewerkstelligt
+	     werden, indem die Zeile</para>
+
+	  <programlisting>geom_vinum_load="YES"</programlisting>
+
+	  <para>in die Datei <filename>/boot/loader.conf</filename>
+	    eingetragen wird.</para>
+	</listitem>
+
+	<listitem>
+	  <para>F�r <emphasis>Gvinum</emphasis> ist das oben
+	    beschriebene Prozedere alles, was Sie tun m�ssen,
+	    da der gesamte Startvorgang automatisch erledigt wird,
+	    sobald das Kernelmodul geladen wurde.</para>
+	</listitem>
+      </itemizedlist>
+    </sect2>
+
+    <sect2>
+      <title>Ein Vinum-basiertes Root-Volume dem Bootstrap
+	verf�gbar machen</title>
+
+      <para>Da der aktuelle &os;-Bootstrap nur 7,5 KB Code
+	enth�lt und schon ohne Vinum die Aufgabe hat,
+	bestimmte Dateien (wie <filename>/boot/loader</filename>)
+	von einem UFS-Dateisystem zu lesen, ist es schier
+	unm�glich, ihm auch noch die Interna von Vinum
+	beizubringen, damit er die Vinum-Konfigurationsdaten
+	auslesen und die Elemente eines Boot-Volumes selbst
+	herausfinden k�nnte.  Daher sind ein paar Tricks
+	n�tig, um dem Bootstrap-Code die Illusion
+	einer Standard-<literal>"a"</literal>-Partition mit
+	einem Root-Dateisystem vorzugaukeln.</para>
+
+      <para>Damit dies �berhaupt m�glich wird,
+	m�ssen die folgenden Bedingungen f�r das
+	Root-Dateisystem erf�llt sein:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Das Root-Volume darf weder gestriped noch
+	    RAID-5 sein.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Das Root-Volume darf nicht mehr als eine konkatenierte
+	    Subdisk pro Plexus enthalten.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Beachten Sie, dass es m�glich und
+	w�nschenswert ist, mehrere Plexus zu haben, von denen
+	jeder eine Kopie des Root-Dateisystems enth�lt.  Der
+	Bootstrap-Prozess wird hingegen nur einen dieser Plexus
+	benutzen, um den Bootstrap und alle Dateien zu finden, bis der
+	Kernel letztendlich das Root-Dateisystem selbst laden wird.
+	Jede einzelne Subdisk innerhalb dieser Plexus wird dann ihre
+	eigene Illusion der Partition <literal>"a"</literal> brauchen,
+	damit das entsprechende Ger�t bootbar wird.  Es ist nicht
+	unbedingt notwendig, dass sich jede dieser gef�lschten
+	<literal>"a"</literal>-Partitionen auf seinem Ger�t an
+	einem Ort befindet, der um den selben Wert verschoben ist wie
+	auf den anderen Ger�ten, die Plexus des Root-Dateisystems
+	enthalten.  Um Unklarheiten zu verhindern, ist es jedoch eine
+	gute Idee, die Vinum-Volumes so zu erstellen, dass die
+	gespiegelten Ger�te symmetrisch sind.</para>
+
+      <para>Damit diese <literal>"a"</literal>-Partitionen eingerichtet
+	werden k�nnen, muss f�r alle Ger�te, die Teil des
+	Root-Dateisystems sind, folgendes getan werden:</para>
+
+      <procedure>
+	<step>
+	  <para>Der Ort (Verschiebung vom Beginn des Ger�tes) und
+	    die Gr��e der Subdisk, die Teil des Root-Volumes
+	    ist, muss untersucht werden:</para>
+
+	  <screen>&prompt.root; <userinput>gvinum l -rv root</userinput></screen>
+
+	  <para>Beachten Sie, dass Vinum-Verschiebungen und
+	    -Gr��en in Bytes gemessen werden.  Sie m�ssen
+	    deshalb durch 512 geteilt werden, um die Blockanzahl zu
+	    erhalten, wie sie das <command>bsdlabel</command>-Kommando
+	    verwendet.</para>
+	</step>
+
+	<step>
+	  <para>F�hren Sie den Befehl</para>
+
+	  <screen>&prompt.root; <userinput>bsdlabel -e <replaceable>devname</replaceable></userinput></screen>
+
+	  <para>f�r jedes Ger�t, dass am Root-Volume beteiligt
+	    ist, aus.  <replaceable>devname</replaceable> muss entweder
+	    der Name der Platte (wie <devicename>da0</devicename>), im
+	    Falle einer Platte ohne Slice-Tabelle oder der Name des
+	    Slices (wie <devicename>ad0s1</devicename>) sein.</para>
+
+	  <para>Wenn es schon eine <literal>"a"</literal>-Partition auf
+	    dem Ger�t (in der Regel wahrscheinlich ein
+	    Pr�-Vinum-Root-Dateisystem) gibt, sollte diese
+	    umbenannt werden, damit sie weiterhin verf�gbar bleibt
+	    (nur f�r den Fall).  Sie wird aber nicht l�nger
+	    benutzt, um das System zu starten.  Beachten Sie aber, dass
+	    aktive Partitionen (wie ein gemountetes Root-Dateisystem)
+	    nicht umbenannt werden k�nnen, sodass Sie entweder von
+	    einem <quote>Fixit</quote>-Medium booten m�ssen, oder
+	    aber mittels eines zweistufigen Prozesses (sofern Sie in einer
+	    gespiegelten Umgebung arbeiten) zuerst die Platte
+	    �ndern, von der gerade nicht gebootet wurde.</para>
+
+	  <para>Nun muss die Verschiebung der Vinum-Partition (sofern
+	    vorhanden) auf diesem Ger�t mit der Veschiebung der
+	    entsprechenden Root-Volume-Subdisk addiert werden. Das
+	    Resultat wird der <literal>"offset"</literal>-Wert f�r
+	    die neue <literal>"a"</literal>-Partition. Der
+	    <literal>"size"</literal>-Wert f�r diese Partition
+	    kann entsprechend der Berechnung ermittelt werden.
+	    <literal>"fstype"</literal> sollte <literal>4.2BSD</literal>
+	    sein.  Die <literal>"fsize"</literal>-,
+	    <literal>"bsize"</literal>-, und
+	    <literal>"cpg"</literal>- Werte sollten entsprechend dem
+	    eigentlichen Dateisystem gew�hlt werden, obwohl sie in
+	    diesem Kontext ziemlich unwichtig sind.</para>
+
+	  <para>Auf diese Art und Weise wird eine neue Partition
+	    <literal>"a"</literal> etabliert, die die Vinum-Partition
+	    auf diesem Ger�t �berschneidet.  Beachte Sie, dass
+	    das <command>bsdlabel</command>-Kommando diese
+	    �berschneidung nur erlaubt, wenn die Partition richtig
+	    mit dem <literal>"vinum"</literal>-fstype markiert ist.</para>
+	</step>
+
+	<step>
+	  <para>Das ist alles.  Auf jedem Ger�t befindet sich nun
+	    eine gef�lschte <literal>"a"</literal>-Partition, die
+	    eine Kopie des Root-Volumes enth�lt. Es wird dringend
+	    empfohlen, das Resultat dieser Konfiguration zu
+	    �berpr�fen:</para>
+
+	  <screen>&prompt.root; <userinput>fsck -n /dev/<replaceable>devname</replaceable>a</userinput></screen>
+	</step>
+      </procedure>
+
+      <para>Denken Sie stets daran, dass alle Dateien, die
+	Kontrollinformationen enthalten, nun relativ zum
+	Root-Dateisystem innerhalb des Vinum-Volumes sein m�ssen.
+	Denn ein neu eingerichtetes Vinum-Root-Dateisystem ist
+	m�glicherweise inkompatibel zum gerade aktiven
+	Root-Dateisystem.  Deshalb m�ssen insbesondere die
+	Dateien <filename>/etc/fstab</filename> und
+	<filename>/boot/loader.conf</filename> �berpr�ft
+	werden.</para>
+
+      <para>Beim n�chsten Systemstart sollte der Bootstrap die
+	ad�quaten Kontrollinformationen des neuen
+	Vinum-basierten Root-Dateisystems automatisch herausfinden und
+	entsprechend handeln.  Am Ende des
+	Kernel-Initialisierungsprozesses (nachdem alle Ger�te
+	angezeigt wurden) erhalten Sie bei einer erfolgreichen
+	Konfiguration eine Nachricht �hnlich der folgenden:</para>
+
+      <screen>Mounting root from ufs:/dev/gvinum/root</screen>
+    </sect2>
+
+    <sect2>
+      <title>Beispiel eines Vinum-basierten Root-Setups</title>
+
+      <para>Nachdem das Vinum-Root-Volume eingerichtet wurde,
+	k�nnte die Ausgabe von <command>gvinum l -rv root</command>
+	bespielsweise so aussehen:</para>
+
+	<screen>
+...
+Subdisk root.p0.s0:
+		Size:        125829120 bytes (120 MB)
+		State: up
+		Plex root.p0 at offset 0 (0  B)
+		Drive disk0 (/dev/da0h) at offset 135680 (132 kB)
+
+Subdisk root.p1.s0:
+		Size:        125829120 bytes (120 MB)
+		State: up
+		Plex root.p1 at offset 0 (0  B)
+		Drive disk1 (/dev/da1h) at offset 135680 (132 kB)
+	</screen>
+
+      <para>Wichtig ist hier insbesondere ist der Wert
+	<literal>135680</literal> f�r die Verschiebung (relativ zur
+	Partition <filename
+	class="devicefile">/dev/da0h</filename>).  Das entspricht
+	beim Einsatz von <command>bsdlabel</command> 265
+	512-Byte-Plattenbl�cken.  Dieses Root-Volume ist ebenso
+	245760 512-Byte-Bl�cke gro�.
+	<filename class="devicefile">/dev/da1h</filename> enth�lt die
+	zweite Kopie dieses Root-Volumes und ist symmetrisch aufgebaut.</para>
+
+      <para>Das Bsdlabel f�r diese Ger�te k�nnte
+	so aussehen:</para>
+
+	<screen>
+...
+8 partitions:
+#        size   offset    fstype   [fsize bsize bps/cpg]
+  a:   245760      281    4.2BSD     2048 16384     0   # (Cyl.    0*- 15*)
+  c: 71771688        0    unused        0     0         # (Cyl.    0 - 4467*)
+  h: 71771672       16     vinum                        # (Cyl.    0*- 4467*)
+	</screen>
+
+      <para>Wie man leicht feststellen kann, entspricht der Parameter
+	<literal>"size"</literal> der gef�lschten
+	<literal>"a"</literal>-Partition dem ausgewiesenen Wert von
+	oben, w�hrend der Parameter
+	<literal>"offset"</literal> gleich der Summe der Verschiebung
+	innerhalb der Vinum-Partition <literal>"h"</literal> und der
+	Verschiebung innerhalb des Ger�ts (oder Slice) ist.  Dies
+	ist ein typischer Aufbau, der n�tig ist, um die in
+	<xref linkend="vinum-root-panic"/> beschriebenen Probleme zu
+	vermeiden.  Die gesamte Partition <literal>"a"</literal> befindet
+	sich in	<literal>"h"</literal>, die alle Vinum-Daten f�r
+	dieses Ger�t enth�lt.</para>
+
+      <para>Beachten Sie, dass in dem oben beschriebenen Beispiel das
+	gesamte Ger�t Vinum gewidmet ist und keine
+	Pr�-Vinum-Partition zur�ckgelassen wurde, da es sich
+	im Beispiel um eine neu eingerichtete Platte handelt, die nur
+	f�r die Vinum-Konfiguration bestimmt war.</para>
+    </sect2>
+
+    <sect2>
+      <title>Fehlerbehebung</title>
+
+      <para>Der folgende Abschnitt beschreibt einige bekannte
+	Probleme und Fallstricke bei der Vinum-Konfiguration sowie
+	deren Behebung.</para>
+
+      <sect3>
+	<title>Der System-Bootstrap l�dt zwar, das System startet
+	  aber nicht.</title>
+
+	<para>Wenn aus irgendeinem Grund das System nicht mit dem Booten
+	  fortf�hrt, kann man den Bootstrap w�hrend der
+	  10-Sekunden-Warnung durch Dr�cken der
+	  <keycap>Leertaste</keycap> unterbrechen.  Die
+	  <foreignphrase>loader</foreignphrase>-Variablen (wie
+	  <literal>vinum.autostart</literal>) k�nnen mittels des
+	  <command>show</command>-Kommandos untersucht, und mit
+	  <command>set</command> oder <command>unset</command>
+	  ge�ndert werden.</para>
+
+	<para>Wenn das einzige Problem das Fehlen des
+	  Vinum-Kernelmoduls in der Liste der automatisch zu ladenden
+	  Module ist, hilft ein einfaches
+	  <command>load geom_vinum</command>.</para>
+
+	<para>Danach k�nnen Sie den Bootvorgang mit
+	  <command>boot -as</command> fortsetzen.  Die Optionen
+	  <option>-as</option> fordern den Kernel auf, nach dem zu
+	  mountenden Root-Dateisystem zu fragen (<option>-a</option>),
+	  und den Bootvorgang im Single-User-Modus
+	  (<option>-s</option>) zu beenden, in dem das
+	  Root-Dateisystem schon schreibgesch�tzt gemountet ist.
+	  Auf diese Weise wird keine Dateninkonsistenz zwischen den
+	  Plexus riskiert, auch wenn nur ein Plexus eines
+	  Multi-Plexus-Volumes gemountet wurde.</para>
+
+	<para>Beim Prompt, das nach einem Root-Dateisystem fragt,
+	  kann jedes Ger�t angegeben werden, dass ein
+	  g�ltiges Root-Dateisystem hat.  Wenn
+	  <filename>/etc/fstab</filename> richtig konfiguriert
+	  wurde, sollte die Vorgabe etwas wie
+	  <literal>ufs:/dev/gvinum/root</literal> sein.  Eine typische
+	  Alternative w�rde etwas wie
+	  <literal>ufs:da0d</literal> sein, welches eine
+	  hypothetische Partition sein k�nnte, die ein
+	  Pre-Vinum-Root-Dateisystem enth�lt. Vorsicht sollte
+	  walten, wenn eine der <foreignphrase>alias</foreignphrase>
+	  <literal>"a"</literal>-Partitionen hier eingegeben wird, die
+	  eigentlich Referenzen auf die Subdisks des
+	  Vinum-Root-Dateisystems sind, da so nur ein St�ck eines
+	  gespiegelten Root-Ger�tes gemountet werden w�rde.
+	  Wenn das Dateisystem sp�ter zum Lesen und Schreiben
+	  gemountet werden soll, ist es n�tig, die anderen Plexus
+	  des Vinum-Root-Volumes zu entfernen, weil diese Plexus
+	  andernfalls inkonsistente Daten enthalten w�rden.</para>
+      </sect3>
+
+      <sect3>
+	<title>Nur der prim�re Bootstrap l�dt</title>
+
+	<para>Wenn das Laden von <filename>/boot/loader</filename>
+	  fehlschl�gt, aber der prim�re Bootstrap dennoch
+	  l�dt (sichtbar an dem einzelnen Strich in der linken
+	  Spalte des Bildschirms gleich nachdem der Bootprozess
+	  startet), kann man versuchen, den prim�ren Bootstrap
+	  an diesem Punkt durch Benutzen der
+	  <keycap>Leertaste</keycap> zu unterbrechen.  Dies wird
+	  den Bootstrap in der zweiten Phase stoppen (siehe dazu auch
+	  <xref linkend="boot-boot1"/>).  Hier kann nun der Versuch
+	  unternommen werden, von einer anderen Partition zu booten,
+	  wie beispielsweise dem vorhergehenden Root-Dateisystem,
+	  das von <literal>"a"</literal> verschoben wurde.</para>
+      </sect3>
+
+      <sect3 id="vinum-root-panic">
+	<title>Nichts bootet, der Bootstrap h�ngt sich auf</title>
+
+	<para>Diese Situation wird vorkommen, wenn der Bootstrap durch
+	  die Vinum-Installation zerst�rt worden ist.
+	  Ungl�cklicherweise l�sst Vinum am Anfang seiner
+	  Partition nur 4&nbsp;KB frei und schreibt dahinter seine
+	  Kopfinformationen.  Allerdings ben�tigen Stufe-Eins-
+	  und -Zwei-Bootstraps plus dem dazwischen eingebetteten
+	  <foreignphrase>bsdlabel</foreignphrase> momentan 8&nbsp;KB.
+	  Demzufolge wird die Vinum-Installation, wenn die
+	  Vinum-Partition mit der Verschiebung 0 (innerhalb eines
+	  Slice oder einer Platte, die zum Start bestimmt waren)
+	  eingerichtet wurde, den Bootstrap zerst�ren.</para>
+
+	<para>Analog wird eine anschlie�ende
+	  Reinstallation eines Bootstrap (zum Beispiel durch Booten
+	  eines <quote>Fixit</quote>-Mediums) mit
+	  <command>bsdlabel -B</command>, wie in
+	  <xref linkend="boot-boot1"/> beschrieben, den Vinum-Kopf
+	  zerst�ren und Vinum wird seine Platte(n) nicht mehr
+	  finden k�nnen.  Obwohl keine eigentlichen
+	  Vinum-Konfigurationsdaten oder Daten in den Vinum-Volumes
+	  zerst�rt werden und es m�glich w�re, alle
+	  Daten wiederherzustellen, indem die exakt gleichen
+	  Vinum-Konfigurationsdaten noch einmal eingegeben werden,
+	  bleibt die Situation schwer zu bereinigen, da es n�tig
+	  ist, die gesamte Vinum-Partition um mindestens
+	  4&nbsp;KB nach hinten zu verschieben, damit Bootstrap
+	  und Vinum-Kopf nicht mehr kollidieren.</para>
+      </sect3>
+    </sect2>
+  </sect1>
 </chapter>
diff --git a/en_US.ISO8859-1/htdocs/layout/Makefile b/en_US.ISO8859-1/htdocs/layout/Makefile
index 64c5e8d595..e468f29618 100644
--- a/en_US.ISO8859-1/htdocs/layout/Makefile
+++ b/en_US.ISO8859-1/htdocs/layout/Makefile
@@ -1,4 +1,4 @@
-# $FreeBSD$
+# $FreeBSD$
 
 .if exists(../Makefile.conf)
 .include "../Makefile.conf"
diff --git a/ja_JP.eucJP/htdocs/ports/comments.ja b/ja_JP.eucJP/htdocs/ports/comments.ja
index 292c1c9e64..3d2927f21d 100644
--- a/ja_JP.eucJP/htdocs/ports/comments.ja
+++ b/ja_JP.eucJP/htdocs/ports/comments.ja
@@ -610,7 +610,7 @@ devel/SpecTcl|Sun 
 devel/a2dev|Apple II 6502 �ѤΥ�����֥顦��󥫡��������ȥ��֥������ȥե�����ӥ塼��
 ###|devel/adabroker|A full Ada ORB to develop CORBA application
 devel/amulet|�ե꡼�� C++ GUI �饤�֥��
-###|devel/arm-aout-binutils|FSF Binutils for embedded ARM cross-development
+###|devel/arm-aout-binutils|FSF Binutils for embedded ARM cross-development
 ###|devel/arm-aout-gcc295|FSF Gcc 2.95.2 for embedded ARM cross-development
 ###|devel/arm-elf-binutils|GNU binutils for vanilla ARM cross-development
 ###|devel/arm-elf-gcc295|GNU cross compiler suite for vanilla ARM targets.