20.4. RAID1 - Spiegelung
Zurück | Kapitel 20. GEOM: Modulares Framework zur Plattentransformation | Weiter

## 20.4. RAID1 - Spiegelung

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.

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 (da(4)) SCSI-Platten sind.

### 20.4.1. Die primäre Platte spiegeln

Angenommen, FreeBSD wurde auf der ersten Platte `da0` installiert, dann sollte 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 sysctl(8)-Option `kern.geom.debugflags` auf den folgenden Wert:

`#` `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:

### Warnung:

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 FreeBSD aufsetzen. Die im folgenden beschriebene Vorgehensweise ist ebenfalls nicht kompatibel mit den Standard-Installationseinstellungen von FreeBSD 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.

`#` `gmirror label -vb round-robin gm0 /dev/da0`

Ihr System sollte wie folgt antworten:

Metadata value stored on /dev/da0. Done.

Initialisieren Sie GEOM. Dadurch wird das Kernelmodul `/boot/kernel/geom_mirror.ko` geladen:

`#` `gmirror load`

### Anmerkung:

Wenn dieser Befehl erfolgreich ausgeführt wurde, wird die Gerätedatei `gm0` im Verzeichnis `/dev/mirror` erzeugt.

Stellen Sie sicher, dass das Kernelmodul `geom_mirror.ko` beim Systemstart automatisch geladen wird:

`#` `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.

### Anmerkung:

Sollte vi(1) ihr bevorzugter Texteditor sein, kouml;nnen Sie diese Änderungen ganz einfach wie folgt durchführen:

`#` `vi /etc/fstab`

Bevor Sie die Datei bearbeiten, sollten Sie ein Backup anlegen. Haben Sie die Datei mit 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.

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:

`#` `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:

`#` `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:

`#` `gmirror insert gm0 /dev/da1`

Während die Platten gespiegelt werden, können Sie den Fortschritt durch die Eingabe des folgenden Befehls überprüfen:

`#` `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`.

### 20.4.2. Fehlerbehebung

#### 20.4.2.1. Das System weigert sich zu starten

Falls das System startet und eine Eingabeaufforderung ähnlich der folgenden erscheint:

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 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.

### 20.4.3. 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:

`#` `gmirror forget gm0`
`#` `gmirror insert gm0 /dev/da1`

Der Befehl `gmirror` `status` erlaubt es Ihnen, den Fortschritt bei der Wiederherstellung der Plattenspiegelung zu beobachten. Das ist alles, was Sie tun müssen.

Zurück | Nach oben | Weiter
20.3. RAID0 - Striping | Zum Anfang | 20.5. GEOM Gate Netzwerkgeräte

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.