Über RAID-Systeme können Festplatten in einem „Bündel“ zusammen gepackt werden. Je nach RAID-Level kann somit die Performace gesteigert oder die Ausfallsicherheit der Festplatten erhöht werden. Die Beschreibung der verschiedenen RAID-Level ist in entsprechender Lektüre zu finden.
Das Partitionsschema GPT legt seine Daten nicht nur in den ersten Sektoren der Festplatte ab (wie dies z.B. MBR tut) sondern als Backup ebenfalls in den letzten Sektoren der Festplatte. Die Tatsache, dass die Metadaten des GEOM-Softraides ebenfalls in den letzten Sektoren abgelegt werden führt hier zu Problemen wenn eine bereits partitionierte Festpaltte in ein RAID überführt werden soll. In diesem Fall ist es notwendig die noch unpartitionierte, rohe Festplatte zunächst in den RAID zu setzen und im Nachgang die Partitionierung des RAIDs vorzunehmen.
RAID1 dient der Erhöhung der Ausfallsicherheit von Festplatten indem die Daten gespiegelt (mirroring) werden. Die Lesezugriffe können durch RAID1 beschleunigt werden, die Schreibzugriffe werden jedoch nicht schneller.
Im Weiteren wird beschrieben wie ein auf eine MBR-Partitionierte Festplatte installiertes FreeBSD ohne RAID in einen RAID1-Mirror verwandelt wird. Dies ist in dieser Weise nicht möglich wenn die Festplatte mit GPT partitioniert wurde (Siehe Hinweise in entsprechendem Abschnitt). Hierzu wird die Software-RAID-Lösung GEOM_MIRROR verwendet welche ein Bestandteil von FreeBSD ist.
Das installierte System soll der gezeigten Struktur entsprechen:
/dev/ad4s1a on / /dev/ad4s1e on /tmp /dev/ad4s1f on /usr /dev/ad4s1d on /var
Als zweite RAID-Platte zusätzlich zu ad4 soll die Platte ad8 dienen.
Zunächst muss ein Backup des Systems erzeugt werden!! Die Umwandlung in ein RAID ist nicht ohne Risiken für die Daten!
Da der Mirror auf einer Boot-Platte erzeugt werden soll wird dieser Schritt über ein Live-System durchgeführt. Das Umwandeln einer Partition in einen RAID ist ein kritischer Eingriff in die Datenstruktur einer Festplatte und sollte nicht im aktiven Betrieb dieser Platte erfolgen!
Es wird ein aktuelles FreeBSD-Livesystem gebootet. Zum Beispiel ein selbst erstelltes FreeBSD auf USB-Stick.
Nach der neuerlichen Kontrolle ob die Devicenamen stimmen(!!) wird nun ein neues GEOM_MIRROR-Device angelegt. Das Device trägt den Namen gm und erhält das Laufwerk /dev/ad4 als erstes RAID-Laufwerk. Somit ist sicher gestellt, dass alle später hinzu kommenden Laufwerke die Daten von ad4 übernehmen.
# gmirror label -vb round-robin gm0 /dev/ad4
Anschließend wird gmirror geladen. Hiermit wird das RAID initialisiert und das benötigte Kernelmodul geladen.
# gmirror load
Nun sollte das RAID unter /dev/mirror erzeugt sein.
Damit das System mit dem Spiegel starten kann muss noch die /boot/loader.conf angepasst werden. Hierzu ist das Device zu mounten. Anschließend wird /boot/loader.conf wie folgt ergänzt um das notwendige Kernelmodul beim Systemstart zu laden. Ohne dieses kann das System nicht auf den RAID-Verband zugreifen.
geom_mirror_load="YES"
Da der RAID unter dem Namen /dev/mirror/gm0 angelegt wurde ist nun noch die /etc/fstab wie folgt anzupassen.
Sei dies ist originale /etc/fstab
/dev/ad4s1b none swap sw 0 0 /dev/ad4s1a / ufs rw 1 1 /dev/ad4s1e /tmp ufs rw 2 2 /dev/ad4s1f /usr ufs rw 2 2 /dev/ad4s1d /var ufs rw 2 2
so ist sie folgend anzupassen:
/dev/mirror/gm0s1b none swap sw 0 0 /dev/mirror/gm0s1a / ufs rw 1 1 /dev/mirror/gm0s1e /tmp ufs rw 2 2 /dev/mirror/gm0s1f /usr ufs rw 2 2 /dev/mirror/gm0s1d /var ufs rw 2 2
Nachdem alle Änderungen durchgeführt wurden kann nun in den Mirror gestartet werden. Hierzu wird der Rechner einfach neu gestartet.
Im neu gestarteten System sollten nun die Systempartitionen über /dev/mirror laufen.
Um nun die zweite Platte ad8 in den RAID aufzunehmen (und erst wirklich den RAID herzustellen) wird diese nun hinzugefügt:
# gmirror insert gm0 /dev/ad8
Nun wird die neue Platte an den RAID-Verband ansynchronisiert. Auf diesem Weg können später noch mehr Platten hinzugefügt werden. Um den Status des RAIDs und der Synchronisierung zu sehen kann folgender Aufruf verwendet werden.
# gmirror status