Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Numberedheadings

Inhalt

Aufgabe

Gegeben ist ein auf einer Platte installiertes System, in welches zwei weitere Platten als RAIDVerbund integriert werden sollen. In diesem Fall ist das ein stromsparendes Atom-Board, welches mit einem IDE und zwei SATA-Anschlüssen ausgestattet ist. Am IDE-Port befindet sich eine kleine 2,5" Notebook-Platte mit dem System, an den beiden SATA-Anschlüssen jeweils eine grosse Platte für den RAID-Verbund.

Ausgangssituation

Es wurde eine Platte angeschlossen (hier eine 2,5" IDE-Platte) und das System komplett installiert. Dann wurden die beiden zusätzlichen Platten (hier 3,5" SATA-II) eingebaut. Damit ergibt sich bspw. folgendes Bild:

 

bash
 

Die Platte sda ist die IDE-Systemplatte, sdb und sdc soll zum Software-RAID verbunden werden. Umsetzung (RAID-Setup):

Module laden

Da das System ohne RAID aufgesetzt wurde, müssen zunächst die entsprechenden Module geladen werden:

bash

Nun sollten in der Ausgabe von lsmod die folgenden beiden Einträge zu finden sein:

bash

Platten partitionieren

Nun wird auf den beiden SATA-Platten jeweils eine Partition angelegt und deren Typ gesetzt. Das wird mit fdisk erledigt. Folgende Schritte werden ausgeführt:

  • Partition anlegen (hier eine primäre Partition voller Grösse der Platte)
  • Typ der Partition auf "Linux raid auto" ändern
  • Partitionstabelle schreiben
bash

Selbiges muss nun auch für /dev/sdc durchgespielt werden.

Sektorgrössen anpassen (optional)

Wenn die verwendeten Platten Sektorgrössen von 4k unterstützen, sollten diese auch verwendet werden. Dafür ist eine Verschiebung des Startpunktes der Daten auf einen durch acht teilbaren Wert notwendig. Das wird ebenfalls mit fdisk durch die folgenden Schritte erreicht:

  • Expertenmodus aktivieren
  • Beginn der Daten in der Partition auf durch 8 teilbaren Wert setzen (hier vom Default-Wert 63 auf 64)
  • Partitionstabelle schreiben
bash

Selbiges muss nun auch für /dev/sdc durchgespielt werden.

Reste eines eventuellen alten RAID-Verbundes löschen

Falls die Platten bereits in einem RAID-Verbund verwendet worden sind, muss sichergestellt werden, dass keine "Reste" der alten RAID-Konfiguration vorhanden sind:

bash

Wenn keine Reste eines früheren RAID-Verbundes vorhanden waren, wird die oben zu sehende Meldung ausgegeben. Das ist an dieser Stelle kein Problem und bei neuen Platten normal.

RAID-Verbund anlegen

Die SATA-Platten sind nun vorbereitet, um sie zu einem RAID-Verbund zusammenzuführen. Somit wird im nächsten Schritt das RAID mit mdadm wie folgt angelegt:

bash

RAID Synchronisation

Jetzt beginnt die Synchronisation der RAID-Disks, welche man bis zum Ende abwarten sollte. Das wird je nach Grösse der Disks mehrere Stunden dauern. Den aktuellen Status der Synchronisation kann man wie folgt anzeigen lassen:

bash

Beim Aufruf mit 'watch cat /proc/mdstat' erhält man eine alle zwei Sekunden aktualisierte Ausgabe und kann den Sync-Prozess somit nebenher laufen lassen und im Auge behalten:

bash

Zurück auf die Konsole gelangt man mit Ctrl+C.

Dateisystem anlegen

Nachdem die Synchronisation abgeschlossen worden ist, wird das Dateisystem angelegt. Dieser Vorgang wird einige Minuten dauern:

bash

RAID mounten

Damit ist das RAID eingerichtet und kann gemountet werden. Hier in diesem HowTo soll der RAIDVerbund nach /data/backup gemountet werden:

bash

Nun ist der RAID-Verbund dem System bis zum nächsten Reboot bekannt:

bash

Umsetzung (Dauerhafte Integration)

Natürlich soll der RAID-Verbund auch nach einem Reboot zur Verfügung stehen. Dafür sind die folgenden Schritte notwendig.

mdadm-Konfiguration aktualisieren

Zunächst muss die mdadm-Konfigurationsdatei aktualisiert werden:

bash

Die Konfiguration sollte nun in etwa wie folgt aussehen:

bash

Nachdem die Array-Zeile eingefügt wurde, müssen noch die folgenden Anpassungen in der mdadm.config vorgenommen werden:

  1. Eintragung der zu verwendenden Platten unter DEVICE: 

    Eintrag alt: 

    bash

    Eintrag neu: 

    bash
  2. Erweitern der ARRAY-Zeile um die metadata-Angabe nach folgendem Schema 

    Eintrag alt:

    bash

    Eintrag neu:

    bash
  3. Prüfen und ggf. korrigieren der eingetragenen UUID. 

    In der Ausgabe von 'blkid' ist die UUID der beiden Platten im RAID-Verbund zu sehen. Diese ist für beide Platten identisch und muss auch in der mdadm.config stehen. Achtung, die Schreibweise unterscheidet sich geringfügig, bei der Ausgabe von blkid werden die UUIDs mit "-" getrennt, in der mdadm.config mit ":" und noch dazu an anderer Stelle. Hier ein korrektes Beispiel: 

     

    bash

fstab aktualisieren

Nun muss der RAID-Verbund in die fstab eingetragen werden. Bei einer Standard-Installation von eisfair-2 ohne separate Datenpartition sieht die fstab bspw. wie folgt aus:

bash

Um nun den RAID-Verbund in die fstab einzutragen, wird die UUID benötigt. Diese wird entweder wieder mit 'blkid' oder mit 'vol_id' wie folgt ermittelt:

bash

Mit dieser UUID wir nun der entsprechende Eintrag in die fstab eingefügt:

bash

und eine Zeile nach folgendem Schema eintragen:

bash

GRUB-Konfiguration aktualisieren

Im letzten Schritt muss in der Grub-Konfig das Laden der RAID-Module aktiviert werden. Dafür die Datei /boot/grub/menu.lst im Editor geöffnet:

bash

und die Kernel-Zeile um die Angabe "raid=1" ergänzt werden:

Eintrag alt:

bash

Eintrag neu:

bash

An dieser Stelle ist das Setup des RAID-Verbund und dessen dauerhafte Integration abgeschlossen. Das sollte nun durch einen Reboot überprüft werden:

bash