BSD-Wiki

Mitschrift einer FreeBSD-Installation

Benutzer-Werkzeuge

Webseiten-Werkzeuge


raid

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

raid [2017/10/02 13:40]
raid [2017/10/02 13:40] (aktuell)
Zeile 1: Zeile 1:
 +====== Allgemein ======
 +Ü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.
 +
 +====== GPT und RAID ======
 +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 / Mirror ======
 +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.
 +
 +===== Bestehendes System in ein RAID1 wandeln =====
 +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:​
 +<​code>​
 +/dev/ad4s1a on /
 +/dev/ad4s1e on /tmp
 +/dev/ad4s1f on /usr
 +/dev/ad4s1d on /var
 +</​code>​
 +
 +Als zweite RAID-Platte zusätzlich zu **ad4** soll die Platte **ad8** dienen.
 +
 +==== BACKUP ====
 +Zunächst muss ein Backup des Systems erzeugt werden!! Die Umwandlung in ein RAID ist nicht ohne Risiken für die Daten!
 +
 +==== Erzeugen des Mirrors ====
 +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!
 +
 +=== Ins Live-System booten ===
 +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.
 +
 +<​code>​
 +# gmirror label -vb round-robin gm0 /dev/ad4
 +</​code>​
 +
 +Anschließend wird //gmirror// geladen. Hiermit wird das RAID initialisiert und das benötigte Kernelmodul geladen.
 +<​code>​
 +# gmirror load
 +</​code>​
 +
 +Nun sollte das RAID unter /dev/mirror erzeugt sein.
 +
 +==== Anpassen der loader.conf ====
 +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.
 +<​code>​
 +geom_mirror_load="​YES"​
 +</​code>​
 +
 +==== Anpassen der fstab ====
 +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//​
 +<​code>​
 +/​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
 +</​code>​
 +
 +so ist sie folgend anzupassen:
 +<​code>​
 +/​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
 +</​code>​
 +
 +==== Booten in den Mirror ====
 +Nachdem alle Änderungen durchgeführt wurden kann nun in den Mirror gestartet werden. Hierzu wird der Rechner einfach neu gestartet.
 +
 +==== Spiegelplatten hinzufügen ====
 +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:​
 +<​code>​
 +# gmirror insert gm0 /dev/ad8
 +</​code>​
 +
 +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.
 +<​code>​
 +# gmirror status
 +</​code>​
  
raid.txt · Zuletzt geändert: 2017/10/02 13:40 (Externe Bearbeitung)

Impressum