From owner-svn-doc-all@freebsd.org Wed Mar 23 19:45:50 2016 Return-Path: Delivered-To: svn-doc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 014DA99A752; Wed, 23 Mar 2016 19:45:50 +0000 (UTC) (envelope-from bhd@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8F4F51829; Wed, 23 Mar 2016 19:45:49 +0000 (UTC) (envelope-from bhd@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2NJjmG3079425; Wed, 23 Mar 2016 19:45:48 GMT (envelope-from bhd@FreeBSD.org) Received: (from bhd@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2NJjmhE079424; Wed, 23 Mar 2016 19:45:48 GMT (envelope-from bhd@FreeBSD.org) Message-Id: <201603231945.u2NJjmhE079424@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bhd set sender to bhd@FreeBSD.org using -f From: Bjoern Heidotting Date: Wed, 23 Mar 2016 19:45:48 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r48461 - head/de_DE.ISO8859-1/books/handbook/geom X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2016 19:45:50 -0000 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 --> 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 + + 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: + GPT-Partitionstabellen und alte Metadaten + aus einem vorherigen Spiegel. + + GPT-Metadaten können mit &man.gpart.8; + gelöscht werden. Dieses Beispiel löscht sowohl die primären, + als auch die GPT-Partitionstabelle von der + Festplatte ada8: + + &prompt.root; gpart destroy -F ada8 + + 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 + ada8 aus dem aktiven Spiegel + gm4 entfernt: + + &prompt.root; gmirror remove gm4 ada8 + + Wenn der Spiegel nicht aktiv ist, sich jedoch noch alte + Metadaten auf der Festplatte befinden, benutzen Sie + gmirror clear, um die Metadaten zu + entfernen: + + &prompt.root; gmirror clear ada8 + + &man.gmirror.8; speichert einen Datenblock an Metadaten am + Ende der Festplatte. Da das + GPT-Partitionschema die Metadaten auch am + Ende der Platte speichert, wird es nicht empfohlen, mit + &man.gmirror.8; einen Spiegel aus einem gesamten + GPT-Datenträger zu erstellen. In diesen + Fällen sollte eine MBR-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. + - Die primäre Platte spiegeln + Einen Spiegel mit zwei neuen Festplatten + erstellen - Angenommen, &os; wurde auf der ersten Platte - da0 installiert, dann sollte - &man.gmirror.8; angewiesen werden, seine primären Daten - auf dieser Platte zu speichern. - - 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 - kern.geom.debugflags auf den folgenden - Wert: - - &prompt.root; sysctl kern.geom.debugflags=17 - - 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 - /dev/mirror/gm, indem Sie - den folgenden Befehl ausführen: + In diesem Beispiel wurde &os; bereits auf der vorhandenen + Festplatte ada0 installiert. Zwei neue + Platten, ada1 und + ada2, 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. + + Das Kernelmodul geom_mirror.ko muss + entweder in den Kernel eingebaut, oder zur Laufzeit geladen + werden. Sie können das Modul manuell laden: - - 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.X, die das neue - GPT-Partitionsschema verwenden. GEOM wird - GPT-Metadaten überschreiben, was zu - Datenverlust und einem möglicherweise nicht bootbarem System - führt. - + &prompt.root; gmirror load - &prompt.root; gmirror label -vb round-robin gm0 /dev/da0 + Erstellen Sie den Spiegel mit den beiden neuen + Festplatten: - Ihr System sollte wie folgt antworten: + &prompt.root; gmirror label -v gm0 /dev/ada1 /dev/ada2 - Metadata value stored on /dev/da0. -Done. + gm0 ist ein vom Benutzer gewählter + Name, der dem neuen Spiegel zugeordnet wird. Nachdem der + Spiegel gestartet wurde, erscheint dieser Gerätename in + /dev/mirror/. + + MBR- und + bsdlabel-Partitionstabellen können + jetzt auf dem neuen Spiegel erzeugt werden. Dieses Beispiel + verwendet das herkömmliche Dateisystem-Layout für + /, swap, /var, + /tmp und /usr. Eine + einzelne Root- und Swap-Partition würde ebenfalls + funktionieren. + + 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 ada0 gespeichert sind. + + &prompt.root; gpart create -s MBR mirror/gm0 +&prompt.root; gpart add -t freebsd -a 4k mirror/gm0 +&prompt.root; gpart show mirror/gm0 +=> 63 156301423 mirror/gm0 MBR (74G) + 63 63 - free - (31k) + 126 156301299 1 freebsd (74G) + 156301425 61 - free - (30k) + + &prompt.root; gpart create -s BSD mirror/gm0s1 +&prompt.root; gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1 +&prompt.root; gpart add -t freebsd-swap -a 4k -s 4g mirror/gm0s1 +&prompt.root; gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1 +&prompt.root; gpart add -t freebsd-ufs -a 4k -s 1g mirror/gm0s1 +&prompt.root; gpart add -t freebsd-ufs -a 4k mirror/gm0s1 +&prompt.root; gpart show mirror/gm0s1 +=> 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) + + Damit von dem Spiegel gebootet werden kann, muss der + Bootcode in den MBR installiert, ein + bsdlabel erstellt und die aktive Partition gesetzt + werden: + + &prompt.root; gpart bootcode -b /boot/mbr mirror/gm0 +&prompt.root; gpart set -a active -i 1 mirror/gm0 +&prompt.root; gpart bootcode -b /boot/boot mirror/gm0s1 + + Erstellen Sie die Dateisysteme auf dem neuen Spiegel und + aktivieren Sie Soft-Updates: + + &prompt.root; newfs -U /dev/mirror/gm0s1a +&prompt.root; newfs -U /dev/mirror/gm0s1d +&prompt.root; newfs -U /dev/mirror/gm0s1e +&prompt.root; newfs -U /dev/mirror/gm0s1f + + Die Dateisysteme der vorhandenen Platte + ada0 können jetzt mit &man.dump.8; und + &man.restore.8; auf den Spiegel kopiert werden. + +&prompt.root; mount /dev/mirror/gm0s1a /mnt +&prompt.root; dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -) +&prompt.root; mount /dev/mirror/gm0s1d /mnt/var +&prompt.root; mount /dev/mirror/gm0s1e /mnt/tmp +&prompt.root; mount /dev/mirror/gm0s1f /mnt/usr +&prompt.root; dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -) +&prompt.root; dump -C16 -b64 -0aL -f - /tmp | (cd /mnt/tmp && restore -rf -) +&prompt.root; dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -) + + Fügen Sie die Dateisysteme für den Spiegel in + /etc/rc.conf hinzu: + + # 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 + + Wenn das Modul geom_mirror.ko nicht + im Kernel enthalten ist, können Sie + /mnt/boot/loader.conf bearbeiten, damit + das Modul beim Systemstart geladen wird: + + geom_mirror_load="YES" + + Starten Sie das System neu und überprüfen Sie, ob + alle Daten erfolgreich kopiert wurden. Das + BIOS 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. + + Falls es Probleme beim Booten gibt, lesen Sie den + . Die alte + Festplatte ada0 kann vom System + getrennt und als Offline-Sicherung aufbewahrt werden. - Initialisieren Sie GEOM. Dadurch wird das Kernelmodul - /boot/kernel/geom_mirror.ko geladen: + Im laufenden Betrieb verhält sich der Spiegel genau + wie ein einzelnes Laufwerk. + + + + Einen Spiegel mit einem vorhandenen Laufwerk + erstellen + + In diesem Beispiel wurde &os; bereits auf der + Festplatte ada0 installiert und eine + weitere Platte, ada1, 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 gmirror 512 Byte an + Metadaten am Ende der Festplatte speichert, und die bestehende + Platte, ada0, in der Regel den Platz + bereits belegt hat. + + Laden Sie das Kernelmodul + geom_mirror.ko: &prompt.root; gmirror load - - Wenn dieser Befehl erfolgreich ausgeführt wurde, wird - die Gerätedatei gm0 im - Verzeichnis /dev/mirror - erzeugt. - + Prüfen Sie mit diskinfo die Mediengröße + der vorhandenen Festplatte: - Stellen Sie sicher, dass das Kernelmodul - geom_mirror.ko beim Systemstart automatisch - geladen wird: - - &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf - - Bearbeiten Sie die Datei /etc/fstab - und ersetzen Sie alle Verweise auf die alte Gerätedatei - da0 durch die neue Gerätedatei - gm0 des Plattenspiegels. Um die Datei - /etc/fstab bearbeiten zu können, - müssen Sie als Benutzer root am - System angemeldet sein. + &prompt.root; diskinfo -v ada0 | head -n3 +/dev/ada0 + 512 # sectorsize + 1000204821504 # mediasize in bytes (931G) + + 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 + ada0, 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 + gzero.nop beschränken, auch wenn die neue + Festplatte ada1 mehr Platz zur Verfügung + hätte. Beachten Sie, dass + 1000204821504 in der zweiten Zeile + der ermittelten Mediengröße von diskinfo + entspricht. + + &prompt.root; geom zero load +&prompt.root; gnop create -s 1000204821504 gzero +&prompt.root; gmirror label -v gm0 gzero.nop ada1 +&prompt.root; gmirror forget gm0 + + Da gzero.nop keine Daten speichert, + sieht der Spiegel sie als nicht verbunden an. Der Spiegel ist + so konfiguriert, dass er nicht verbundene Komponenten einfach + vergisst. Das Ergebnis ist ein Spiegel mit nur + einer einzigen Platte, ada1. + + Sehen Sie sich nach der Erstellung von + gm0 die Partitionstabelle von + ada0 an. Diese Ausgabe stammt von einer + 1 TB Festplatte. Falls am Ende der Platte noch freier + Speicherplatz ist, kann der Inhalt von + ada0 direkt auf den Spiegel kopiert + werden. + + 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. + + &prompt.root; gpart show ada0 +=> 63 1953525105 ada0 MBR (931G) + 63 1953525105 1 freebsd [active] (931G) + + In diesem Fall muss die Partitionstabelle bearbeitet + werden, um die Kapazität von mirror/gm0 + um einen Sektor zu reduzieren. Dieses Verfahren wird später + erläutert. + + In beiden Fällen sollte die Partitionstabelle der primären + Platte mit gpart backup gesichert + werden. + + &prompt.root; gpart backup ada0 > table.ada0 +&prompt.root; gpart backup ada0s1 > table.ada0s1 + + Diese Kommandos erstellen zwei Dateien, + table.ada0 und + table.ada0s1. Das Beispiel verwendet + eine 1 TB Festplatte: + + &prompt.root; cat table.ada0 +MBR 4 +1 freebsd 63 1953525105 [active] + + &prompt.root; cat table.ada0s1 +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 + + 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. + + &prompt.root; cat table.ada0 +MBR 4 +1 freebsd 63 1953525104 [active] + + &prompt.root; cat table.ada0s1 +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 984640880 + + Wenn mindestens ein Sektor der Platte nicht zugewiesen + wurde, kann die Platte ohne Modifikation verwendet + werden. - - Sollte &man.vi.1; ihr bevorzugter Texteditor sein, - kouml;nnen Sie diese Änderungen ganz einfach wie - folgt durchführen: - - &prompt.root; vi /etc/fstab - - 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 - :w /etc/fstab.bak eine Sicherungskopie - der Datei anlegen. Danach ersetzen Sie alle alten Referenzen - auf da0 durch - gm0, indem Sie - :%s/da/mirror\/gm/g eingeben. - + Jetzt kann die Partitionstabelle auf + mirror/gm0 wiederhergestellt + werden: + + &prompt.root; gpart restore mirror/gm0 < table.ada0 +&prompt.root; gpart restore mirror/gm0s1 < table.ada0s1 - Die geänderte fstab sollte nun - ähnlich wie im folgenden Beispiel aussehen. Es spielt - dabei keine Rolle, ob Sie SCSI- oder - ATA-Platten verwenden. Das - RAID-Gerät heißt in jedem Fall - gm. - - # 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 - - Führen Sie einen Systemneustart durch: - - &prompt.root; shutdown -r now - - Wenn das System gestartet wird, sollten Sie nun nur noch - gm0-Geräte anstatt der bisherigen - da0-Geräte sehen. Nachdem das - System vollständig initialisiert wurde, können Sie - die neue Konfiguration testen, indem Sie den Befehl - mount ausführen: - - &prompt.root; mount -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 - - Hier ist alles in Ordnung. Alle Werte sehen aus wie - erwartet. Um die Synchronisierung zu beginnen, integrieren - Sie nun die Platte da1 in den - Spiegel, indem Sie den folgenden Befehl eingeben: - - &prompt.root; gmirror insert gm0 /dev/da1 - - Während die Platten gespiegelt werden, können - Sie den Fortschritt durch die Eingabe des folgenden Befehls - überprüfen: - - &prompt.root; gmirror status - - 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: - - Name Status Components -mirror/gm0 COMPLETE da0 - da1 - - Sollten Probleme aufgetreten oder sollte die - Synchronisierung noch nicht abgeschlossen sein, wäre - der Status DEGRADED anstatt - COMPLETE. + Prüfen Sie die Partitionstabellen mit + gpart show. Dieses Beispiel nutzt + gm0s1a für /, + gm0s1d für /var, + gm0s1e für /usr, + gm0s1f für /data1 + und gm0s1g für + /data2. + + &prompt.root; gpart show mirror/gm0 +=> 63 1953525104 mirror/gm0 MBR (931G) + 63 1953525042 1 freebsd [active] (931G) + 1953525105 62 - free - (31k) + +&prompt.root; gpart show mirror/gm0s1 +=> 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) + + Sowohl die Slice, als auch die letzte Partition, muss + mindestens einen freien Block am Ende der Platte haben. + + Erstellen Sie Dateisysteme auf diesen neuen + Partitionen: + +&prompt.root; newfs -U /dev/mirror/gm0s1a +&prompt.root; newfs -U /dev/mirror/gm0s1d +&prompt.root; newfs -U /dev/mirror/gm0s1e +&prompt.root; newfs -U /dev/mirror/gm0s1f +&prompt.root; newfs -U /dev/mirror/gm0s1g + + Damit Sie von dem Spiegel booten können, müssen Sie den + Bootcode in den MBR installieren, ein + bsdlabel anlegen und das aktive Slice setzen: + + &prompt.root; gpart bootcode -b /boot/mbr mirror/gm0 +&prompt.root; gpart set -a active -i 1 mirror/gm0 +&prompt.root; gpart bootcode -b /boot/boot mirror/gm0s1 + + Bearbeiten Sie /etc/fstab, um die + neuen Partitionen auf dem Spiegel nutzen zu können. Speichern + Sie zunächst eine Kopie der Datei unter + /etc/fstab.orig: + + &prompt.root; cp /etc/fstab /etc/fstab.orig + + Ersetzen Sie in /etc/fstab + /dev/ada0 durch + mirror/gm0. + + # 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 + + Wenn das Modul geom_mirror.ko nicht + im Kernel enthalten ist, können Sie + /boot/loader.conf bearbeiten, damit + das Modul beim Systemstart geladen wird: + + geom_mirror_load="YES" + + 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 dump + -L sichern, wird zunächst ein Snapshot des + Dateisystems erstellt, was einige Zeit dauern kann. + + &prompt.root; mount /dev/mirror/gm0s1a /mnt +&prompt.root; dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -) +&prompt.root; mount /dev/mirror/gm0s1d /mnt/var +&prompt.root; mount /dev/mirror/gm0s1e /mnt/usr +&prompt.root; mount /dev/mirror/gm0s1f /mnt/data1 +&prompt.root; mount /dev/mirror/gm0s1g /mnt/data2 +&prompt.root; dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -) +&prompt.root; dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -) +&prompt.root; dump -C16 -b64 -0aL -f - /data1 | (cd /mnt/data1 && restore -rf -) +&prompt.root; dump -C16 -b64 -0aL -f - /data2 | (cd /mnt/data2 && restore -rf -) + + Starten Sie das System neu und booten Sie von + ada1. Wenn alles funktioniert, wird + das System von mirror/gm0 booten, + welches jetzt die gleichen Daten enthält wie + ada0. Lesen Sie , falls es Probleme beim + Booten gibt. + + An dieser Stelle besteht der Spiegel immer noch aus der + einzelnen Platte ada1. + + Nachdem erfolgreich von mirror/gm0 + gebootet wurde, besteht der letzte Schritt darin, + ada0 in den Spiegel einzufügen. + + + Wenn Sie ada0 in den Spiegel + einfügen, wird der Inhalt der Platte mit den Daten aus + dem Spiegel überschrieben. Sie müssen sicherstellen, das + mirror/gm0 den gleichen Inhalt wie + ada0 hat, bevor Sie + ada0 zum Spiegel hinzufügen. Falls der + zuvor mit &man.dump.8; und &man.restore.8; kopierte Inhalt + nicht mit dem von ada0 identisch ist, + machen Sie die Änderungen an /etc/fstab + rückgängig, starten Sie das System neu und beginnen Sie die + Prozedur von vorn. + + + &prompt.root; gmirror insert gm0 ada0 +GEOM_MIRROR: Device gm0: rebuilding provider ada0 + + Die Synchronisation zwischen den beiden Platten wird + direkt gestartet. Verwenden Sie gmirror + status um den Fortschritt zu beobachten. + + &prompt.root; gmirror status + Name Status Components +girror/gm0 DEGRADED ada1 (ACTIVE) + ada0 (SYNCHRONIZING, 64%) + + Nach einer Weile wird die Wiederherstellung abgeschlossen + sein. + + GEOM_MIRROR: Device gm0: rebuilding provider ada0 finished. +&prompt.root; gmirror status + Name Status Components +mirror/gm0 COMPLETE ada1 (ACTIVE) + ada0 (ACTIVE) + + mirror/gm0 besteht nun aus den beiden + Platten ada0 und + ada1. Der Inhalt der beiden Platten wird + automatisch miteinander synchronisiert. Im laufenden Betrieb + verhält sich mirror/gm0 wie eine einzelne + Festplatte. - + Fehlerbehebung - Das System weigert sich zu starten + Probleme beim Bootvorgang - Falls das System startet und eine Eingabeaufforderung - ähnlich der folgenden erscheint: + + BIOS-Einstellungen - ffs_mountroot: can't find rootvp -Root mount failed: 6 -mountroot> - - 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: - - OK? load geom_mirror -OK? boot - - Falls dies funktioniert, wurde das Modul (aus welchen - Gründen auch immer) nicht richtig geladen. Prüfen - Sie, ob Ihr Eintrag in der Datei - /boot/loader.conf korrekt ist. Sollte - das Problem weiterhin bestehen, nehmen Sie die Zeile - - options GEOM_MIRROR - - in die Konfigurationsdatei des Kernels auf und führen - Sie einen Rebuild und eine erneute Installation durch. Dies - sollte das Problem beseitigen. + Möglicherweise müssen die + BIOS-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. + + + + Probleme beim Booten + + Wenn der Bootvorgang mit der folgenden Meldung + abbricht, ist irgendwas mit dem Spiegel nicht in + Ordnung: + + 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> + + Dieses Problem kann durch ein nicht geladenes + Kernelmodul geom_mirror.ko in + /boot/loader.conf verursacht werden. + Um das Problem zu beheben, booten Sie von einem + &os;-Installationsmedium und wählen Sie + Shell an der Eingabeaufforderung. Laden + Sie dann das Modul und hängen Sie den Spiegel ein: + + &prompt.root; gmirror load +&prompt.root; mount /dev/mirror/gm0s1a /mnt + + Bearbeiten Sie dann + /mnt/boot/loader.conf und fügen Sie + eine Zeile für das Kernelmodul hinzu: + + geom_mirror_load="YES" + + Speichern Sie die Datei und starten Sie das System + neu. + + Andere Probleme, die error 19 + verursachen können, sind nur mit mehr Aufwand zu beheben. + Obwohl das System von ada0 booten + sollte, wird ein weiterer Prompt erscheinen, wenn + /etc/fstab fehlerhaft ist. Geben + Sie am Loader-Prompt ufs:/dev/ada0s1a ein + und drücken Sie Enter. Machen Sie die + Änderungen an /etc/fstab rückgängig und + hängen Sie anstelle des Spiegels die originale Festplatte + (ada0) ein. Starten Sie dann das + System neu und versuchen Sie den Vorgang erneut. + + Enter full pathname of shell or RETURN for /bin/sh: +&prompt.root; cp /etc/fstab.orig /etc/fstab +&prompt.root; reboot + @@ -457,29 +825,51 @@ OK? boot Wiederherstellung des Systems nach einem Plattenausfall - Das Schöne an der Plattenspiegelung ist, dass eine - kaputte Platte ersetzt werden kann, ohne dass Sie dabei - Daten verlieren. - - Basierend auf der vorhin besprochenen - RAID1-Konfiguration, nehmen wir nun an, dass - die Platte da1 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: + Das Schöne an der Plattenspiegelung ist, dass eine Platte + ausfallen kann, ohne dass Sie dabei Daten verlieren. Falls + ada0 aus dem obigen Beispiel ausfällt, + steht der Spiegel weiterhin zur Verfügung und bietet die Daten + von der verbleibenden Platte ada1 + an. + + 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 + diskinfo -V zu vergleichen. Ein Laufwerk + mit größerer Kapazität wird funktionieren, allerdings wird der + zusätzliche Platz ungenutzt bleiben. + + Nachdem der Rechner wieder eingeschaltet ist, wird der + Spiegel im degraded Modus ausgeführt werden. + Der Spiegel wird angewiesen, Laufwerke zu vergessen, die noch + nicht verbunden sind: &prompt.root; gmirror forget gm0 - &prompt.root; gmirror insert gm0 /dev/da1 + Alte Metadaten sollten von der Ersatzfestplatte nach den + Anweisungen in gelöscht + werden. Anschließend kann die Ersatzfestplatte, in diesem + Beispiel ada4, in den Spiegel eingefügt + werden: + + &prompt.root; gmirror insert gm0 /dev/ada4 - Der Befehl gmirror - erlaubt es Ihnen, den Fortschritt bei der Wiederherstellung der - Plattenspiegelung zu beobachten. Das ist alles, was Sie tun - müssen. + 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. + + Der Fortschritt der Wiederherstellung kann mit + gmirror status überwacht werden. Während + der Wiederherstellung ist der Status + DEGRADED. Wenn der Vorgang + abgeschlossen ist, wechselt der Status zu + COMPLETE.