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

Bjoern Heidotting bhd at FreeBSD.org
Wed Mar 23 19:45:50 UTC 2016


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; 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>
+=>       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>
+=>        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 && 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 && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /tmp | (cd /mnt/tmp && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && 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"' >> /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 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>
+=>        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 > table.ada0</userinput>
+&prompt.root; <userinput>gpart backup ada0s1 > table.ada0s1</userinput></screen>
+
+      <para>Diese Kommandos erstellen zwei Dateien,
+	<filename>table.ada0</filename> und
+	<filename>table.ada0s1</filename>.  Das Beispiel verwendet
+	eine 1 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 < table.ada0</userinput>
+&prompt.root; <userinput>gpart restore mirror/gm0s1 < 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>
+=>        63  1953525104  mirror/gm0  MBR  (931G)
+          63  1953525042           1  freebsd  [active]  (931G)
+  1953525105          62              - free -  (31k)
+
+&prompt.root; <userinput>gpart show mirror/gm0s1</userinput>
+=>         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 && 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 && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /data1 | (cd /mnt/data1 && restore -rf -)</userinput>
+&prompt.root; <userinput>dump -C16 -b64 -0aL -f - /data2 | (cd /mnt/data2 && 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></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:
+  <fstype>:<device> [options]
+      Mount <device> using filesystem <fstype>
+      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)
+  <empty line>    Abort manual input
+
+mountroot></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>
 


More information about the svn-doc-all mailing list