svn commit: r48461 - head/de_DE.ISO8859-1/books/handbook/geom

Bjoern Heidotting <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
Author: bhd
Date: Wed Mar 23 19:45:48 2016
New Revision: 48461
URL: https://svnweb.freebsd.org/changeset/doc/48461

Log:
  Update to r39909:
  
  Rework the gmirror section to create mirrors properly.

Modified:
  head/de_DE.ISO8859-1/books/handbook/geom/chapter.xml

Modified: head/de_DE.ISO8859-1/books/handbook/geom/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/geom/chapter.xml	Wed Mar 23 15:28:38 2016	(r48460)
+++ head/de_DE.ISO8859-1/books/handbook/geom/chapter.xml	Wed Mar 23 19:45:48 2016	(r48461)
@@ -5,7 +5,7 @@
 
      $FreeBSD$
      $FreeBSDde$
-     basiert auf: r38401
+     basiert auf: r39909
 -->
 <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="GEOM">
   <info><title>GEOM: Modulares Framework zur
@@ -246,210 +246,578 @@ Done.</screen>
     <indexterm>
       <primary>Disk Mirroring</primary>
     </indexterm>
+    <indexterm>
+      <primary>RAID1</primary>
+    </indexterm>
 
-    <para>Spiegelung (Mirroring) ist eine Technik, welche von vielen
-      Firmen und Heimnutzern eingesetzt wird, um Daten ohne
-      Unterbrechung zu sichern. Wenn ein Spiegel existiert, dann
-      bedeutet dies einfach nur, dass PlatteB die PlatteA
-      dupliziert. Oder PlatteC+D duplizieren PlatteA+A. Der
-      wichtigste Aspekt ist, dass Daten einer Platte oder
-      Partition dupliziert werden, unabhängig von der
-      Konfiguration der Platte. Dadurch kann später diese
-      Information leichter wiederhergestellt, ohne
-      Zugriffsunterbrechung gesichert oder sogar physisch in einem
-      Datentresor gelagert werden.</para>
-
-    <para>Stellen Sie zu Beginn sicher, dass ihr System zwei
-      Platten mit identischer Größe aufweist. In dieser
-      Übung gehen wir davon aus, dass es direkt
-      zugängliche (&man.da.4;) <acronym>SCSI</acronym>-Platten
-      sind.</para>
+    <para>Spiegelung (<acronym>RAID1</acronym> / Mirroring) ist eine
+      Technik, bei der identische Daten auf mehr als ein Laufwerk
+      geschrieben werden.  Spiegel werden in der Regel zum Schutz vor
+      Datenverlust aufgrund von Festplattenausfällen verwendet.  Jedes
+      Laufwerk in einem Spiegel enthält eine identische Kopie der
+      Daten.  Wenn ein einzelnes Laufwerk ausfällt, funktioniert der
+      Spiegel weiterhin und die Daten werden von den restlichen
+      Festplatten bereit gestellt.  Der Rechner läuft einfach weiter
+      und der Administrator hat die Gelegentheit, das defekte Laufwerk
+      auszutauschen.</para>
+
+    <para>Zwei häufige Situationen werden in diesem Beispiel
+      erläutert.  Im ersten Beispiel wird ein Spiegel aus zwei
+      neuen Laufwerken erstellt, der die existierende Platte ersetzt.
+      Das zweite Beispiel erzeugt ein Spiegel mit einem einzigen
+      Laufwerk, kopiert dann die Daten von der alten Platte und fügt
+      die alte Platte zum Spiegel hinzu.  Obwohl dieses Verfahren
+      etwas komplizierter ist, wird nur ein neues Laufwerk
+      benötigt.</para>
+
+    <para>Traditionell sind die Laufwerke in einem Spiegel vom
+      gleichen Modell und besitzen die gleiche Kapazität.  Dies ist
+      jedoch keine Voraussetzung für &man.gmirror.8;.  Hier können
+      Spiegel mit unterschiedlichen Kapazitäten verwendet werden.  Die
+      Kapazität richtet sich dann nach dem kleinsten Laufwerk im
+      Spiegel.  Zusätzlicher Speicherplatz auf größeren Laufwerken
+      bleibt dann ungenutzt.  Werden später weitere Laufwerke zum
+      Spiegel hinzugefügt, müssen diese mindestens so viel Kapazität
+      haben wie das kleinste Laufwerk im Spiegel.</para>
+
+    <warning>
+      <para>Die hier gezeigten Verfahren löschen keine Daten. Dennoch
+	sollte, wie bei jeder größeren Operation, zuerst eine
+	vollständige Sicherung erstellt werden.</para>
+    </warning>
+
+    <sect2 xml:id="geom-mirror-metadata">
+      <title>Probleme mit Metadaten</title>
+
+      <para>Viele Plattensysteme speichern Metadaten am Ende der
+	Platte.  Alte Metadaten sollten vor der Wiederverwendung in
+	einem Spiegel gelöscht werden, da die meisten Probleme aus
+	zwei Arten von übrig gebliebenen Metadaten resultieren:
+	<acronym>GPT</acronym>-Partitionstabellen und alte Metadaten
+	aus einem vorherigen Spiegel.</para>
+
+      <para><acronym>GPT</acronym>-Metadaten können mit &man.gpart.8;
+	gelöscht werden.  Dieses Beispiel löscht sowohl die primären,
+	als auch die <acronym>GPT</acronym>-Partitionstabelle von der
+	Festplatte <filename>ada8</filename>:</para>
+
+      <screen>&prompt.root; <userinput>gpart destroy -F ada8</userinput></screen>
+
+      <para>Mit &man.gmirror.8; kann eine Platte aus einem aktiven
+	Spiegel entfernt und gleichzeitig die Metadaten gelöscht
+	werden.  In diesem Beispiel wird die Platte
+	<filename>ada8</filename> aus dem aktiven Spiegel
+	<filename>gm4</filename> entfernt:</para>
+
+      <screen>&prompt.root; <userinput>gmirror remove gm4 ada8</userinput></screen>
+
+      <para>Wenn der Spiegel nicht aktiv ist, sich jedoch noch alte
+	Metadaten auf der Festplatte befinden, benutzen Sie
+	<command>gmirror clear</command>, um die Metadaten zu
+	entfernen:</para>
+
+      <screen>&prompt.root; <userinput>gmirror clear ada8</userinput></screen>
+
+      <para>&man.gmirror.8; speichert einen Datenblock an Metadaten am
+	Ende der Festplatte.  Da das
+	<acronym>GPT</acronym>-Partitionschema die Metadaten auch am
+	Ende der Platte speichert, wird es nicht empfohlen, mit
+	&man.gmirror.8; einen Spiegel aus einem gesamten
+	<acronym>GPT</acronym>-Datenträger zu erstellen.  In diesen
+	Fällen sollte eine <acronym>MBR</acronym>-Partitionierung
+	benutzt werden, weil hier nur eine Partitionstabelle am Anfang
+	der Platte gespeichert wird und somit nicht mit den Metadaten
+	des Spiegels im Konflikt steht.</para>
+    </sect2>
 
     <sect2>
-      <title>Die primäre Platte spiegeln</title>
+      <title>Einen Spiegel mit zwei neuen Festplatten
+	erstellen</title>
 
-      <para>Angenommen, &os; wurde auf der ersten Platte
-	<filename>da0</filename> installiert, dann sollte
-	&man.gmirror.8; angewiesen werden, seine primären Daten
-	auf dieser Platte zu speichern.</para>
-
-      <para>Bevor Sie den Spiegel aufbauen, sollten Sie die maximale
-	Protokollierung aktivieren und den Zugang zum Gerät
-	gestatten.  Dazu setzen Sie die &man.sysctl.8;-Option
-	<varname>kern.geom.debugflags</varname> auf den folgenden
-	Wert:</para>
-
-      <screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=17</userinput></screen>
-
-      <para>Nun können Sie den Spiegel aufbauen.  Beginnen Sie den
-	Prozess, indem Sie die Metadaten-Informationen auf das Gerät
-	der primären Platte speichern.  Konkret erzeugen Sie dabei
-	das Gerät
-	<filename>/dev/mirror/gm</filename>, indem Sie
-	den folgenden Befehl ausführen:</para>
+      <para>In diesem Beispiel wurde &os; bereits auf der vorhandenen
+	Festplatte <filename>ada0</filename> installiert.  Zwei neue
+	Platten, <filename>ada1</filename> und
+	<filename>ada2</filename>, wurden bereits mit dem System
+	verbunden.  Ein neuer Spiegel soll mit diesen beiden Platten
+	erzeugt und verwendet werden, um die alte vorhandene Platte zu
+	ersetzen.</para>
+
+      <para>Das Kernelmodul <filename>geom_mirror.ko</filename> muss
+	entweder in den Kernel eingebaut, oder zur Laufzeit geladen
+	werden.  Sie können das Modul manuell laden:</para>
 
-      <warning>
-	<para>Die Spiegelung der Bootplatte kann zu Datenverlust
-	  führen, wenn Sie Daten im letzten Sektor der Platte
-	  gespeichert haben.  Dieses Risiko lässt sich minimieren,
-	  wenn Sie den Spiegel unmittelbar nach der Installation von
-	  &os; aufsetzen.  Die im folgenden beschriebene Vorgehensweise ist
-	  ebenfalls nicht kompatibel mit den
-	  Standard-Installationseinstellungen von
-	  &os;&nbsp;9.<replaceable>X</replaceable>, die das neue
-	  <acronym>GPT</acronym>-Partitionsschema verwenden.  GEOM wird
-	  <acronym>GPT</acronym>-Metadaten überschreiben, was zu
-	  Datenverlust und einem möglicherweise nicht bootbarem System
-	  führt.</para>
-      </warning>
+      <screen>&prompt.root; <userinput>gmirror load</userinput></screen>
 
-      <screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen>
+      <para>Erstellen Sie den Spiegel mit den beiden neuen
+	Festplatten:</para>
 
-      <para>Ihr System sollte wie folgt antworten:</para>
+      <screen>&prompt.root; <userinput>gmirror label -v gm0 /dev/ada1 /dev/ada2</userinput></screen>
 
-      <screen>Metadata value stored on /dev/da0.
-Done.</screen>
+      <para><filename>gm0</filename> ist ein vom Benutzer gewählter
+	Name, der dem neuen Spiegel zugeordnet wird.  Nachdem der
+	Spiegel gestartet wurde, erscheint dieser Gerätename in
+	<filename>/dev/mirror/</filename>.</para>
+
+      <para><acronym>MBR</acronym>- und
+	<application>bsdlabel</application>-Partitionstabellen können
+	jetzt auf dem neuen Spiegel erzeugt werden.  Dieses Beispiel
+	verwendet das herkömmliche Dateisystem-Layout für
+	<filename>/</filename>, swap, <filename>/var</filename>,
+	<filename>/tmp</filename> und <filename>/usr</filename>.  Eine
+	einzelne Root- und Swap-Partition würde ebenfalls
+	funktionieren.</para>
+
+      <para>Die Partitionen auf dem Spiegel müssen nicht zwingend die
+	gleiche Größe wie die auf der Festplatte haben, aber sie
+	müssen groß genug sein, um alle Daten aufnehmen zu können, die
+	bereits auf <filename>ada0</filename> gespeichert sind.</para>
+
+      <screen>&prompt.root; <userinput>gpart create -s MBR mirror/gm0</userinput>
+&prompt.root; <userinput>gpart add -t freebsd -a 4k mirror/gm0</userinput>
+&prompt.root; <userinput>gpart show mirror/gm0</userinput>
+=&gt;       63  156301423  mirror/gm0  MBR  (74G)
+         63         63                    - free -  (31k)
+        126  156301299                 1  freebsd  (74G)
+  156301425         61                    - free -  (30k)</screen>
+
+      <screen>&prompt.root; <userinput>gpart create -s BSD mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-ufs  -a 4k -s 2g mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-swap -a 4k -s 4g mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-ufs  -a 4k -s 2g mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-ufs  -a 4k -s 1g mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart add -t freebsd-ufs  -a 4k mirror/gm0s1</userinput>
+&prompt.root; <userinput>gpart show mirror/gm0s1</userinput>
+=&gt;        0  156301299  mirror/gm0s1  BSD  (74G)
+          0          2                      - free -  (1.0k)
+          2    4194304                   1  freebsd-ufs  (2.0G)
+    4194306    8388608                   2  freebsd-swap (4.0G)
+   12582914    4194304                   4  freebsd-ufs  (2.0G)
+   16777218    2097152                   5  freebsd-ufs  (1.0G)
+   18874370  137426928                   6  freebsd-ufs  (65G)
+  156301298          1                      - free -  (512B)</screen>
+
+      <para>Damit von dem Spiegel gebootet werden kann, muss der
+	Bootcode in den <acronym>MBR</acronym> installiert, ein
+	bsdlabel erstellt und die aktive Partition gesetzt
+	werden:</para>
+
+      <screen>&prompt.root; <userinput>gpart bootcode -b /boot/mbr mirror/gm0</userinput>
+&prompt.root; <userinput>gpart set -a active -i 1 mirror/gm0</userinput>
+&prompt.root; <userinput>gpart bootcode -b /boot/boot mirror/gm0s1</userinput></screen>
+
+      <para>Erstellen Sie die Dateisysteme auf dem neuen Spiegel und
+	aktivieren Sie Soft-Updates:</para>
+
+      <screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1d</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1e</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1f</userinput></screen>
+
+      <para>Die Dateisysteme der vorhandenen Platte
+	<filename>ada0</filename> können jetzt mit &man.dump.8; und
+	&man.restore.8; auf den Spiegel kopiert werden.</para>
+
+<screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - / | (cd /mnt &amp;&amp; restore -rf -)</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1d /mnt/var</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1e /mnt/tmp</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1f /mnt/usr</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /var | (cd /mnt/var &amp;&amp; restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /tmp | (cd /mnt/tmp &amp;&amp; restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr &amp;&amp; restore -rf -)</userinput></screen>
+
+      <para>Fügen Sie die Dateisysteme für den Spiegel in
+	<filename>/etc/rc.conf</filename> hinzu:</para>
+
+      <programlisting># Device          Mountpoint       FStype  Options Dump    Pass#
+/dev/mirror/gm0s1a      /               ufs     rw       1       1
+/dev/mirror/gm0s1b      none            swap    sw       0       0
+/dev/mirror/gm0s1d      /var            ufs     rw       2       2
+/dev/mirror/gm0s1e      /tmp            ufs     rw       2       2
+/dev/mirror/gm0s1f      /usr            ufs     rw       2       2</programlisting>
+
+      <para>Wenn das Modul <filename>geom_mirror.ko</filename> nicht
+	im Kernel enthalten ist, können Sie
+	<filename>/mnt/boot/loader.conf</filename> bearbeiten, damit
+	das Modul beim Systemstart geladen wird:</para>
+
+      <programlisting>geom_mirror_load="YES"</programlisting>
+
+      <para>Starten Sie das System neu und überprüfen Sie, ob
+	alle Daten erfolgreich kopiert wurden.  Das
+	<acronym>BIOS</acronym> wird den Spiegel vermutlich als
+	zwei einzelne Laufwerke erkennen.  Da beide Laufwerke
+	jedoch identisch sind, spielt es keine Rolle, welches
+	Laufwerk zum Booten ausgewählt wird.</para>
+
+      <para>Falls es Probleme beim Booten gibt, lesen Sie den
+	<xref linkend="gmirror-troubleshooting"/>.  Die alte
+	Festplatte <filename>ada0</filename> kann vom System
+	getrennt und als Offline-Sicherung aufbewahrt werden.</para>
 
-      <para>Initialisieren Sie GEOM.  Dadurch wird das Kernelmodul
-	<filename>/boot/kernel/geom_mirror.ko</filename> geladen:</para>
+      <para>Im laufenden Betrieb verhält sich der Spiegel genau
+	wie ein einzelnes Laufwerk.</para>
+    </sect2>
+
+    <sect2>
+      <title>Einen Spiegel mit einem vorhandenen Laufwerk
+	erstellen</title>
+
+      <para>In diesem Beispiel wurde &os; bereits auf der
+	Festplatte <filename>ada0</filename> installiert und eine
+	weitere Platte, <filename>ada1</filename>, wurde an
+	das System angeschlossen.  Zunächst wird ein Spiegel mit
+	einer Festplatte erstellt, dann das vorhandene System auf
+	den Spiegel kopiert.  Zuletzt wird die alte Festplatte in den
+	Spiegel eingefügt.  Diese etwas komplexere Vorgehensweise ist
+	erforderlich, da <command>gmirror</command> 512 Byte an
+	Metadaten am Ende der Festplatte speichert, und die bestehende
+	Platte, <filename>ada0</filename>, in der Regel den Platz
+	bereits belegt hat.</para>
+
+      <para>Laden Sie das Kernelmodul
+	<filename>geom_mirror.ko</filename>:</para>
 
       <screen>&prompt.root; <userinput>gmirror load</userinput></screen>
 
-      <note>
-	<para>Wenn dieser Befehl erfolgreich ausgeführt wurde, wird
-	  die Gerätedatei <filename>gm0</filename> im
-	  Verzeichnis <filename>/dev/mirror</filename>
-	  erzeugt.</para>
-      </note>
+      <para>Prüfen Sie mit <command>diskinfo</command> die Mediengröße
+	der vorhandenen Festplatte:</para>
 
-      <para>Stellen Sie sicher, dass das Kernelmodul
-	<filename>geom_mirror.ko</filename> beim Systemstart automatisch
-	geladen wird:</para>
-
-      <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
-
-      <para>Bearbeiten Sie die Datei <filename>/etc/fstab</filename>
-	und ersetzen Sie alle Verweise auf die alte Gerätedatei
-	<filename>da0</filename> durch die neue Gerätedatei
-	<filename>gm0</filename> des Plattenspiegels.  Um die Datei
-	<filename>/etc/fstab</filename> bearbeiten zu können,
-	müssen Sie als Benutzer <systemitem class="username">root</systemitem> am
-	System angemeldet sein.</para>
+      <screen>&prompt.root; <userinput>diskinfo -v ada0 | head -n3</userinput>
+/dev/ada0
+        512             # sectorsize
+        1000204821504   # mediasize in bytes (931G)</screen>
+
+      <para>Jetzt können Sie den Spiegel auf der neuen Festplatte
+	erzeugen.  Um sicherzustellen, dass die Kapazität nicht größer
+	ist, als die Kapazität der vorhandenen Platte
+	<filename>ada0</filename>, benutzen Sie &man.gnop.8; um eine
+	Platte mit der exakt gleichen Größe zu imitieren.  Diese
+	Platte speichert keine Daten und wird nur verwendet, um die
+	Größe des Spiegels zu begrenzen.  &man.gmirror.8; wird die
+	Kapazität des Spiegels auf die Größe von
+	<filename>gzero.nop</filename> beschränken, auch wenn die neue
+	Festplatte <filename>ada1</filename> mehr Platz zur Verfügung
+	hätte.  Beachten Sie, dass
+	<replaceable>1000204821504</replaceable> in der zweiten Zeile
+	der ermittelten Mediengröße von <command>diskinfo</command>
+	entspricht.</para>
+
+      <screen>&prompt.root; <userinput>geom zero load</userinput>
+&prompt.root; <userinput>gnop create -s 1000204821504 gzero</userinput>
+&prompt.root; <userinput>gmirror label -v gm0 gzero.nop ada1</userinput>
+&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
+
+      <para>Da <filename>gzero.nop</filename> keine Daten speichert,
+	sieht der Spiegel sie als nicht verbunden an.  Der Spiegel ist
+	so konfiguriert, dass er nicht verbundene Komponenten einfach
+	<quote>vergisst</quote>.  Das Ergebnis ist ein Spiegel mit nur
+	einer einzigen Platte, <filename>ada1</filename>.</para>
+
+      <para>Sehen Sie sich nach der Erstellung von
+	<filename>gm0</filename> die Partitionstabelle von
+	<filename>ada0</filename> an.  Diese Ausgabe stammt von einer
+	1&nbsp;TB Festplatte.  Falls am Ende der Platte noch freier
+	Speicherplatz ist, kann der Inhalt von
+	<filename>ada0</filename> direkt auf den Spiegel kopiert
+	werden.</para>
+
+      <para>Falls jedoch der gesamte Speicherplatz auf der Platte
+	zugeordnet ist, dann gibt es keinen Platz mehr für die 512
+	Byte Metadaten für den Spiegel am Ende der Platte, wie in
+	dieser Auflistung zu sehen.</para>
+
+      <screen>&prompt.root; <userinput>gpart show ada0</userinput>
+=&gt;        63  1953525105        ada0  MBR  (931G)
+          63  1953525105           1  freebsd  [active]  (931G)</screen>
+
+      <para>In diesem Fall muss die Partitionstabelle bearbeitet
+	werden, um die Kapazität von <filename>mirror/gm0</filename>
+	um einen Sektor zu reduzieren.  Dieses Verfahren wird später
+	erläutert.</para>
+
+      <para>In beiden Fällen sollte die Partitionstabelle der primären
+	Platte mit <command>gpart backup</command> gesichert
+	werden.</para>
+
+      <screen>&prompt.root; <userinput>gpart backup ada0 &gt; table.ada0</userinput>
+&prompt.root; <userinput>gpart backup ada0s1 &gt; table.ada0s1</userinput></screen>
+
+      <para>Diese Kommandos erstellen zwei Dateien,
+	<filename>table.ada0</filename> und
+	<filename>table.ada0s1</filename>.  Das Beispiel verwendet
+	eine 1&nbsp;TB Festplatte:</para>
+
+      <screen>&prompt.root; <userinput>cat table.ada0</userinput>
+MBR 4
+1 freebsd         63 1953525105   [active]</screen>
+
+      <screen>&prompt.root; <userinput>cat table.ada0s1</userinput>
+BSD 8
+1  freebsd-ufs          0    4194304
+2 freebsd-swap    4194304   33554432
+4  freebsd-ufs   37748736   50331648
+5  freebsd-ufs   88080384   41943040
+6  freebsd-ufs  130023424  838860800
+7  freebsd-ufs  968884224  984640881</screen>
+
+      <para>Wenn am Ende der Platte kein Platz vorhanden ist, muss
+	die Größe des Slice und der letzten Partition verringert
+	werden.  Bearbeiten Sie die beiden Dateien, und verringern
+	Sie die Größe der Slice und der Partition jeweils um eins.
+	Dies bezieht sich auf die letzten Zahlen in der Liste.</para>
+
+      <screen>&prompt.root; <userinput>cat table.ada0</userinput>
+MBR 4
+1 freebsd         63 <emphasis>1953525104</emphasis>   [active]</screen>
+
+      <screen>&prompt.root; <userinput>cat table.ada0s1</userinput>
+BSD 8
+1  freebsd-ufs          0    4194304
+2 freebsd-swap    4194304   33554432
+4  freebsd-ufs   37748736   50331648
+5  freebsd-ufs   88080384   41943040
+6  freebsd-ufs  130023424  838860800
+7  freebsd-ufs  968884224  <emphasis>984640880</emphasis></screen>
+
+      <para>Wenn mindestens ein Sektor der Platte nicht zugewiesen
+	wurde, kann die Platte ohne Modifikation verwendet
+	werden.</para>
 
-      <note>
-	<para>Sollte &man.vi.1; ihr bevorzugter Texteditor sein,
-	  kouml;nnen Sie diese Änderungen ganz einfach wie
-	  folgt durchführen:</para>
-
-	<screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>
-
-	<para>Bevor Sie die Datei bearbeiten, sollten Sie ein Backup
-	  anlegen.  Haben Sie die Datei mit &man.vi.1; geöffnet,
-	  können Sie durch die Eingabe von
-	  <userinput>:w /etc/fstab.bak</userinput> eine Sicherungskopie
-	  der Datei anlegen.  Danach ersetzen Sie alle alten Referenzen
-	  auf <filename>da0</filename> durch
-	  <filename>gm0</filename>, indem Sie
-	  <userinput>:%s/da/mirror\/gm/g</userinput> eingeben.</para>
-      </note>
+      <para>Jetzt kann die Partitionstabelle auf
+	<filename>mirror/gm0</filename> wiederhergestellt
+	werden:</para>
+
+      <screen>&prompt.root; <userinput>gpart restore mirror/gm0 &lt; table.ada0</userinput>
+&prompt.root; <userinput>gpart restore mirror/gm0s1 &lt; table.ada0s1</userinput></screen>
 
-      <para>Die geänderte <filename>fstab</filename> sollte nun
-	ähnlich wie im folgenden Beispiel aussehen.  Es spielt
-	dabei keine Rolle, ob Sie <acronym>SCSI</acronym>- oder
-	<acronym>ATA</acronym>-Platten verwenden.  Das
-	<acronym>RAID</acronym>-Gerät heißt in jedem Fall
-	<filename>gm</filename>.</para>
-
-      <programlisting># Device                Mountpoint      FStype  Options         Dump    Pass#
-/dev/mirror/gm0s1b     			        none            swap    sw              0       0
-/dev/mirror/gm0s1a              		/               ufs     rw              1       1
-/dev/mirror/gm0s1d				/usr		ufs	rw		0	0
-/dev/mirror/gm0s1f				/home		ufs	rw		2	2
-#/dev/mirror/gm0s2d             		/store          ufs     rw              2       2
-/dev/mirror/gm0s1e              		/var            ufs     rw              2       2
-/dev/acd0               /cdrom          cd9660  ro,noauto       0       0</programlisting>
-
-      <para>Führen Sie einen Systemneustart durch:</para>
-
-      <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
-
-      <para>Wenn das System gestartet wird, sollten Sie nun nur noch
-	<filename>gm0</filename>-Geräte anstatt der bisherigen
-	<filename>da0</filename>-Geräte sehen.  Nachdem das
-	System vollständig initialisiert wurde, können Sie
-	die neue Konfiguration testen, indem Sie den Befehl
-	<command>mount</command> ausführen:</para>
-
-      <screen>&prompt.root; <userinput>mount</userinput>
-Filesystem         1K-blocks    Used    Avail Capacity  Mounted on
-/dev/mirror/gm0s1a   1012974  224604   707334    24%    /
-devfs                      1       1        0   100%    /dev
-/dev/mirror/gm0s1f  45970182   28596 42263972     0%    /home
-/dev/mirror/gm0s1d   6090094 1348356  4254532    24%    /usr
-/dev/mirror/gm0s1e   3045006 2241420   559986    80%    /var
-devfs                      1       1        0   100%    /var/named/dev</screen>
-
-      <para>Hier ist alles in Ordnung.  Alle Werte sehen aus wie
-	erwartet.  Um die Synchronisierung zu beginnen, integrieren
-	Sie nun die Platte <filename>da1</filename> in den
-	Spiegel, indem Sie den folgenden Befehl eingeben:</para>
-
-      <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
-
-      <para>Während die Platten gespiegelt werden, können
-	Sie den Fortschritt durch die Eingabe des folgenden Befehls
-	überprüfen:</para>
-
-      <screen>&prompt.root; <userinput>gmirror status</userinput></screen>
-
-      <para>Nachdem die Plattenspiegelung erfolgreich abgeschlossen
-	wurde (und alle Daten synchronisiert wurden), sollte Sie
-	eine Ausgabe ähnlich der folgenden erhalten, wenn Sie
-	den Befehl erneut ausführen:</para>
-
-      <screen>      Name    Status  Components
-mirror/gm0  COMPLETE  da0
-                      da1</screen>
-
-      <para>Sollten Probleme aufgetreten oder sollte die
-	Synchronisierung noch nicht abgeschlossen sein, wäre
-	der Status <literal>DEGRADED</literal> anstatt
-	<literal>COMPLETE</literal>.</para>
+      <para>Prüfen Sie die Partitionstabellen mit
+	<command>gpart show</command>.  Dieses Beispiel nutzt
+	<filename>gm0s1a</filename> für <filename>/</filename>,
+	<filename>gm0s1d</filename> für <filename>/var</filename>,
+	<filename>gm0s1e</filename> für <filename>/usr</filename>,
+	<filename>gm0s1f</filename> für <filename>/data1</filename>
+	und <filename>gm0s1g</filename> für
+	<filename>/data2</filename>.</para>
+
+      <screen>&prompt.root; <userinput>gpart show mirror/gm0</userinput>
+=&gt;        63  1953525104  mirror/gm0  MBR  (931G)
+          63  1953525042           1  freebsd  [active]  (931G)
+  1953525105          62              - free -  (31k)
+
+&prompt.root; <userinput>gpart show mirror/gm0s1</userinput>
+=&gt;         0  1953525042  mirror/gm0s1  BSD  (931G)
+           0     2097152             1  freebsd-ufs  (1.0G)
+     2097152    16777216             2  freebsd-swap  (8.0G)
+    18874368    41943040             4  freebsd-ufs  (20G)
+    60817408    20971520             5  freebsd-ufs  (10G)
+    81788928   629145600             6  freebsd-ufs  (300G)
+   710934528  1242590514             7  freebsd-ufs  (592G)
+  1953525042          63                - free -  (31k)</screen>
+
+      <para>Sowohl die Slice, als auch die letzte Partition, muss
+	mindestens einen freien Block am Ende der Platte haben.</para>
+
+      <para>Erstellen Sie Dateisysteme auf diesen neuen
+	Partitionen:</para>
+
+<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1d</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1e</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1f</userinput>
+&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1g</userinput></screen>
+
+      <para>Damit Sie von dem Spiegel booten können, müssen Sie den
+	Bootcode in den <acronym>MBR</acronym> installieren, ein
+	bsdlabel anlegen und das aktive Slice setzen:</para>
+
+      <screen>&prompt.root; <userinput>gpart bootcode -b /boot/mbr mirror/gm0</userinput>
+&prompt.root; <userinput>gpart set -a active -i 1 mirror/gm0</userinput>
+&prompt.root; <userinput>gpart bootcode -b /boot/boot mirror/gm0s1</userinput></screen>
+
+      <para>Bearbeiten Sie <filename>/etc/fstab</filename>, um die
+	neuen Partitionen auf dem Spiegel nutzen zu können.  Speichern
+	Sie zunächst eine Kopie der Datei unter
+	<filename>/etc/fstab.orig</filename>:</para>
+
+      <screen>&prompt.root; <userinput>cp /etc/fstab /etc/fstab.orig</userinput></screen>
+
+      <para>Ersetzen Sie in <filename>/etc/fstab</filename>
+	<filename>/dev/ada0</filename> durch
+	<filename>mirror/gm0</filename>.</para>
+
+      <programlisting># Device>>>>>>>>>>Mountpoint>>>>>>FStype>>Options>Dump>>>>Pass#
+/dev/mirror/gm0s1a>>>>>>/>>>>>>>>>>>>>>>ufs>>>>>rw>>>>>>1>>>>>>>1
+/dev/mirror/gm0s1b>>>>>>none>>>>>>>>>>>>swap>>>>sw>>>>>>0>>>>>>>0
+/dev/mirror/gm0s1d>>>>>>/var>>>>>>>>>>>>ufs>>>>>rw>>>>>>2>>>>>>>2
+/dev/mirror/gm0s1e>>>>>>/usr>>>>>>>>>>>>ufs>>>>>rw>>>>>>2>>>>>>>2
+/dev/mirror/gm0s1f>>>>>>/data1>>>>>>>>>>ufs>>>>>rw>>>>>>2>>>>>>>2
+/dev/mirror/gm0s1g>>>>>>/data2>>>>>>>>>>ufs>>>>>rw>>>>>>2>>>>>>>2</programlisting>
+
+      <para>Wenn das Modul <filename>geom_mirror.ko</filename> nicht
+	im Kernel enthalten ist, können Sie
+	<filename>/boot/loader.conf</filename> bearbeiten, damit
+	das Modul beim Systemstart geladen wird:</para>
+
+      <programlisting>geom_mirror_load="YES"</programlisting>
+
+      <para>Die Dateisysteme der ursprünglichen Platte können jetzt
+	mit &man.dump.8; und &man.restore.8; auf den Spiegel kopiert
+	werden.  Wenn Sie das Dateisystem mit <command>dump
+	-L</command> sichern, wird zunächst ein Snapshot des
+	Dateisystems erstellt, was einige Zeit dauern kann.</para>
+
+      <screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - / | (cd /mnt &amp;&amp; restore -rf -)</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1d /mnt/var</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1e /mnt/usr</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1f /mnt/data1</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1g /mnt/data2</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr &amp;&amp; restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /var | (cd /mnt/var &amp;&amp; restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /data1 | (cd /mnt/data1 &amp;&amp; restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /data2 | (cd /mnt/data2 &amp;&amp; restore -rf -)</userinput></screen>
+
+      <para>Starten Sie das System neu und booten Sie von
+	<filename>ada1</filename>.  Wenn alles funktioniert, wird
+	das System von <filename>mirror/gm0</filename> booten,
+	welches jetzt die gleichen Daten enthält wie
+	<filename>ada0</filename>.  Lesen Sie <xref
+	  linkend="gmirror-troubleshooting"/>, falls es Probleme beim
+	Booten gibt.</para>
+
+      <para>An dieser Stelle besteht der Spiegel immer noch aus der
+	einzelnen Platte <filename>ada1</filename>.</para>
+
+      <para>Nachdem erfolgreich von <filename>mirror/gm0</filename>
+	gebootet wurde, besteht der letzte Schritt darin,
+	<filename>ada0</filename> in den Spiegel einzufügen.</para>
+
+      <important>
+	<para>Wenn Sie <filename>ada0</filename> in den Spiegel
+	  einfügen, wird der Inhalt der Platte mit den Daten aus
+	  dem Spiegel überschrieben.  Sie müssen sicherstellen, das
+	  <filename>mirror/gm0</filename> den gleichen Inhalt wie
+	  <filename>ada0</filename> hat, bevor Sie
+	  <filename>ada0</filename> zum Spiegel hinzufügen.  Falls der
+	  zuvor mit &man.dump.8; und &man.restore.8; kopierte Inhalt
+	  nicht mit dem von <filename>ada0</filename> identisch ist,
+	  machen Sie die Änderungen an <filename>/etc/fstab</filename>
+	  rückgängig, starten Sie das System neu und beginnen Sie die
+	  Prozedur von vorn.</para>
+      </important>
+
+      <screen>&prompt.root; <userinput>gmirror insert gm0 ada0</userinput>
+GEOM_MIRROR: Device gm0: rebuilding provider ada0</screen>
+
+      <para>Die Synchronisation zwischen den beiden Platten wird
+	direkt gestartet.  Verwenden Sie <command>gmirror
+	  status</command> um den Fortschritt zu beobachten.</para>
+
+      <screen>&prompt.root; <userinput>gmirror status</userinput>
+      Name    Status  Components
+girror/gm0  DEGRADED  ada1 (ACTIVE)
+                      ada0 (SYNCHRONIZING, 64%)</screen>
+
+      <para>Nach einer Weile wird die Wiederherstellung abgeschlossen
+	sein.</para>
+
+      <screen>GEOM_MIRROR: Device gm0: rebuilding provider ada0 finished.
+&prompt.root; <userinput>gmirror status</userinput>
+      Name    Status  Components
+mirror/gm0  COMPLETE  ada1 (ACTIVE)
+                      ada0 (ACTIVE)</screen>
+
+      <para><filename>mirror/gm0</filename> besteht nun aus den beiden
+	Platten <filename>ada0</filename> und
+	<filename>ada1</filename>.  Der Inhalt der beiden Platten wird
+	automatisch miteinander synchronisiert.  Im laufenden Betrieb
+	verhält sich <filename>mirror/gm0</filename> wie eine einzelne
+	Festplatte.</para>
     </sect2>
 
-    <sect2>
+    <sect2 xml:id="gmirror-troubleshooting">
       <title>Fehlerbehebung</title>
 
       <sect3>
-	<title>Das System weigert sich zu starten</title>
+	<title>Probleme beim Bootvorgang</title>
 
-	<para>Falls das System startet und eine Eingabeaufforderung
-          ähnlich der folgenden erscheint:</para>
+      <sect4>
+	<title>BIOS-Einstellungen</title>
 
-	<programlisting>ffs_mountroot: can't find rootvp
-Root mount failed: 6
-mountroot&gt;</programlisting>
-
-	<para>Starten Sie den Rechner neu mit der Power- oder
-	  Resettaste. Wählen Sie im Startmenü Option sechs
-	  (6). Dadurch erscheint eine Eingabeaufforderung für
-	  &man.loader.8;. Laden Sie nun das Kernelmodul
-	  händisch:</para>
-
-	<screen>OK? <userinput>load geom_mirror</userinput>
-OK? <userinput>boot</userinput></screen>
-
-	<para>Falls dies funktioniert, wurde das Modul (aus welchen
-	  Gründen auch immer) nicht richtig geladen.  Prüfen
-	  Sie, ob Ihr Eintrag in der Datei
-	  <filename>/boot/loader.conf</filename> korrekt ist.  Sollte
-	  das Problem weiterhin bestehen, nehmen Sie die Zeile</para>
-
-	<programlisting>options	GEOM_MIRROR</programlisting>
-
-	<para>in die Konfigurationsdatei des Kernels auf und führen
-	  Sie einen Rebuild und eine erneute Installation durch. Dies
-	  sollte das Problem beseitigen.</para>
+	<para>Möglicherweise müssen die
+	  <acronym>BIOS</acronym>-Einstellungen geändert werden, um
+	  von dem neuen gespiegelten Laufwerk zu booten.  Beide
+	  Platten des Spiegels können zum Booten verwendet werden.
+	  Als Komponenten des Spiegels enthalten sie identische
+	  Daten.</para>
+      </sect4>
+
+      <sect4>
+	<title>Probleme beim Booten</title>
+
+	<para>Wenn der Bootvorgang mit der folgenden Meldung
+	  abbricht, ist irgendwas mit dem Spiegel nicht in
+	  Ordnung:</para>
+
+	<screen>Mounting from ufs:/dev/mirror/gm0s1a failed with error 19.
+
+Loader variables:
+  vfs.root.mountfrom=ufs:/dev/mirror/gm0s1a
+  vfs.root.mountfrom.options=rw
+
+Manual root filesystem specification:
+  &lt;fstype&gt;:&lt;device&gt; [options]
+      Mount &lt;device&gt; using filesystem &lt;fstype&gt;
+      and with the specified (optional) option list.
+
+    eg. ufs:/dev/da0s1a
+        zfs:tank
+        cd9660:/dev/acd0 ro
+          (which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /)
+
+  ?               List valid disk boot devices
+  .               Yield 1 second (for background tasks)
+  &lt;empty line&gt;    Abort manual input
+
+mountroot&gt;</screen>
+
+	<para>Dieses Problem kann durch ein nicht geladenes
+	  Kernelmodul <filename>geom_mirror.ko</filename> in
+	  <filename>/boot/loader.conf</filename> verursacht werden.
+	  Um das Problem zu beheben, booten Sie von einem
+	  &os;-Installationsmedium und wählen Sie
+	  <literal>Shell</literal> an der Eingabeaufforderung.  Laden
+	  Sie dann das Modul und hängen Sie den Spiegel ein:</para>
+
+	<screen>&prompt.root; <userinput>gmirror load</userinput>
+&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
+
+	<para>Bearbeiten Sie dann
+	  <filename>/mnt/boot/loader.conf</filename> und fügen Sie
+	  eine Zeile für das Kernelmodul hinzu:</para>
+
+	<programlisting>geom_mirror_load="YES"</programlisting>
+
+	<para>Speichern Sie die Datei und starten Sie das System
+	  neu.</para>
+
+	<para>Andere Probleme, die <literal>error 19</literal>
+	  verursachen können, sind nur mit mehr Aufwand zu beheben.
+	  Obwohl das System von <filename>ada0</filename> booten
+	  sollte, wird ein weiterer Prompt erscheinen, wenn
+	  <filename>/etc/fstab</filename> fehlerhaft ist.  Geben
+	  Sie am Loader-Prompt <literal>ufs:/dev/ada0s1a</literal> ein
+	  und drücken Sie <keycap>Enter</keycap>.  Machen Sie die
+	  Änderungen an <filename>/etc/fstab</filename> rückgängig und
+	  hängen Sie anstelle des Spiegels die originale Festplatte
+	  (<filename>ada0</filename>) ein.  Starten Sie dann das
+	  System neu und versuchen Sie den Vorgang erneut.</para>
+
+	<screen>Enter full pathname of shell or RETURN for /bin/sh:
+&prompt.root; <userinput>cp /etc/fstab.orig /etc/fstab</userinput>
+&prompt.root; <userinput>reboot</userinput></screen>
+	</sect4>
       </sect3>
     </sect2>
 
@@ -457,29 +825,51 @@ OK? <userinput>boot</userinput></screen>
       <title>Wiederherstellung des Systems nach einem
 	Plattenausfall</title>
 
-      <para>Das Schöne an der Plattenspiegelung ist, dass eine
-	kaputte Platte ersetzt werden kann, ohne dass Sie dabei
-	Daten verlieren.</para>
-
-      <para>Basierend auf der vorhin besprochenen
-	<acronym>RAID</acronym>1-Konfiguration, nehmen wir nun an, dass
-	die Platte <filename>da1</filename> ausgefallen ist und daher
-	ersetzt werden muss.  Um dies zu tun, müssen Sie
-	feststellen, welche Platte ausgefallen ist und das System
-	herunterfahren.  Nun können Sie die kaputte Platte gegen
-	eine neue Platte austauschen und das System wieder starten.
-	Nachdem der Systemstart abgeschlossen ist, verwenden Sie die
-	folgenden Befehle, um die Plattenspiegelung wieder zu
-	reaktivieren:</para>
+      <para>Das Schöne an der Plattenspiegelung ist, dass eine Platte
+	ausfallen kann, ohne dass Sie dabei Daten verlieren. Falls
+	<filename>ada0</filename> aus dem obigen Beispiel ausfällt,
+	steht der Spiegel weiterhin zur Verfügung und bietet die Daten
+	von der verbleibenden Platte <filename>ada1</filename>
+	an.</para>
+
+      <para>Um das ausgefallene Laufwerk zu ersetzen, muss das System
+	heruntergefahren werden und das ausgefallene Laufwerk durch
+	ein neues Laufwerk von gleicher oder größerer Kapazität
+	ersetzt werden.  Hersteller verwenden oft etwas
+	willkürliche Werte für die Kapazität.  Der einzige Weg, um
+	wirklich sicher zu sein, ist die Gesamtzahl der Sektoren von
+	<command>diskinfo -V</command> zu vergleichen.  Ein Laufwerk
+	mit größerer Kapazität wird funktionieren, allerdings wird der
+	zusätzliche Platz ungenutzt bleiben.</para>
+
+      <para>Nachdem der Rechner wieder eingeschaltet ist, wird der
+	Spiegel im <quote>degraded</quote> Modus ausgeführt werden.
+	Der Spiegel wird angewiesen, Laufwerke zu vergessen, die noch
+	nicht verbunden sind:</para>
 
       <screen>&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
 
-      <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
+      <para>Alte Metadaten sollten von der Ersatzfestplatte nach den
+	Anweisungen in <xref linkend="geom-mirror-metadata"/> gelöscht
+	werden.  Anschließend kann die Ersatzfestplatte, in diesem
+	Beispiel <filename>ada4</filename>, in den Spiegel eingefügt
+	werden:</para>
+
+      <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/ada4</userinput></screen>
 
-      <para>Der Befehl <command>gmirror</command> <option>status</option>
-	erlaubt es Ihnen, den Fortschritt bei der Wiederherstellung der
-	Plattenspiegelung zu beobachten.  Das ist alles, was Sie tun
-	müssen.</para>
+      <para>Die Wiederherstellung beginnt, sobald das neue Laufwerk in
+	den Spiegel eingesetzt wird.  Das Kopieren der Daten vom
+	Spiegel auf das neue Laufwerk kann eine Weile dauern.  Die
+	Leistung des Spiegels ist während dieser Zeit stark reduziert,
+	deswegen sollten neue Laufwerke idealerweise dann eingefügt
+	werden, wenn der Rechner nicht benötigt wird.</para>
+
+      <para>Der Fortschritt der Wiederherstellung kann mit
+	<command>gmirror status</command> überwacht werden.  Während
+	der Wiederherstellung ist der Status
+	<computeroutput>DEGRADED</computeroutput>.  Wenn der Vorgang
+	abgeschlossen ist, wechselt der Status zu
+	<computeroutput>COMPLETE</computeroutput>.</para>
     </sect2>
   </sect1>

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-doc-all
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.