Raid Übersicht

    Einrichtung eines RAID-1 während der Installation

    Während der Installation werden auf zwei Festplatten RAID-Partitionen eingerichtet auf welcher dann das Root Dateisystem abgelegt wird. Die Swap Partitionen sollten auf keinen Fall über den Raid-Verbund gehändelt werden, denn es gibt zwei Situationen in denen das zu Probleme führt.

    1. Situation

    Ein System mit einer Swap Partition im Raid-1 Verbund fällt aufgrund eines Stromausfalls aus. Beim nächsten booten wird ein rebuild des Raids angestoßen und der Bootprozess geht weiter ohne das der rebuild Vorgang abgeschlossen wurde. In dem Moment in dem das Betriebssystem jedoch die Swap Partition mountet wird es ein nicht synchronisiertes Raid vorfinden und unter umständen stehen bleiben.

    2. Situation

    Haben Sie ein Raid-1 mit einer hotspare Festplatte eingerichtet, wird die hotspare Festplatte beim Ausfall einer aktiven Festplatte wie gewünscht einspringen. Das System verwendet nun auch die Swap Partition der Hotspare Festplatte. Bei einem rebuild der greift das System jedoch auf den Cache der Partitionen zu den eine Swap Partition leider nicht hat. Somit würde ein rebuild aller Daten Partition erfolgreich verlaufen, die Swap Partition wäre anschließend jedoch unbrauchbar.

    Bei den genannten Probleme gehen keine Daten verloren, jedoch wären solche Probleme bei einem System auf das man keinen physikalischen Zugriff hat tödlich. Wurden jedoch auf beiden Datenträger zwei unabhängige Swap Partition angelegt, so nutz das System diese default mäßig als Raid-0 Swap Partition. Man kann die Nutzung der Swap Partition jedoch auch priorisieren. Mögliche Werste sind 0 – 32767. Je höher der Wert, desto höher die Priorität.

    /dev/hda2 swap swap defaults,pri=5    0 0
    /dev/hdd2 swap swap defaults,pri=1    0 0

    Die Partitionierung ist im Detail in den folgenden Screenshots beschrieben. Es wurde jedoch nur eine Festplatte ausführlich Partitioniert, für die zweite sind die gleichen Schritte notwendig.

    [nggallery id=3]

    Nachdem das System installiert ist, sind noch zwei Änderungen notwendig.

    Sollte eine Festplatte ausfallen, sollte man das System ohne großen Aufwand von der zweite Festplatte starten könne. Achten Sie daher darauf, dass in der Bootreihenfolge die Festplatte auch direkt hintereinander aufgeführt sind.

    Nun muss noch die /boot/grub/menu.lst angepasst werden, damit auch beide Festplatten zum booten angeboten werden. Kopieren Sie dazu den bereits existierenden Booteintrag und fügen diesen erneut ein. Anschließend ändern Sie die Festplattenummer.

    debian_raid1_34

    Nun definieren Sie noch den zweiten Eintrag als fallback. Sollte grub das System nicht über den ersten Eintrag booten können, wählt es automatisch den zweiten aus.

    debian_raid1_36

    Nachträglich Einrichtung eines RAID-1

    Wurde ein System mit nur einer Festplatte installiert und soll nun auf ein Software Raid-1 umgestellt werden, so ist dies ohne weiteres möglich.

    Als müssen die Notwendigen Pakete installiert werden.

    apt-get install mdadm rsync

    Anschließend werden die Partitionsinformationen benötigt. Diese bekommt man mit Hilfe von cfdisk heraus.

    cfdisk /dev/hda

    debian_raid2_1

    Nun erstellen wir auf der Festplatte /dev/hdd Partitionen mit der gleichen Größe.

    cfdisk /dev/hdd

    debian_raid2_2

    Jetzt wird aus dieser einen Platte ein Raid Verbund erstellt wobei wir mdadm mitteilen, dass noch eine Festplatte fehlt. Anschließend erstellen wir ein ext3 Dateisystem

    mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/hdd1
    mkfs.ext3 /dev/md0

    debian_raid2_3debian_raid2_5

    Sie können über

    cat /proc/mdstat

    sich auch den Status eine Raids anschauen.

    debian_raid2_4

    Nun muss noch die /etc/fstab angepasst werden. Geändert werden muss /dev/hda1 in /dev/md0 sowie eine neue Zeile, die für die zweite Swap Partition eingefügt werden muss.
    An dieser Stelle sollte die /boot/grub/menu.lst ebenfalls angepasst werden, damit auch beide Festplatten zum booten angeboten werden. Kopieren Sie dazu den bereits existierenden Booteintrag und fügen diesen erneut ein. Anschließend ändern Sie die Festplattenummer sowie die Festplatten Bezeichnung. Beachten Sie, dass der erste Booteintrag bei einem Neustart ausgewählt wird. Dieser muss jedoch auf /dev/md0 verweisen was bis jetzt nur die Festplatte /dev/hdd beinhaltet und was bedeutet, dass es root (hd1,0) heißen muss. Haben Sie direkte Zugriff auf den Server können Sie die Boot Einträge direkt passend eintragen und beim Neustart manuell den für /dev/md0 auswählen

    debian_raid2_7 debian_raid2_8

    … nun teilen wir mdadm noch die aktuelle Konfiguration mit

    mdadm --detail --scan >> /etc/mdadm/mdadm.conf

    debian_raid2_9

    Nachdem das Gerät /dev/md0 nun verfügbar ist, mounten wir dieses und kopieren alle Daten von /dev/hda1 nach /dev/md0 was wiederrum momentan lediglich auf /dev/hdd1 zeigt.

    mkdir /mntroot
    mount /dev/md0 /mntroot
    rsync -auHxv --exclude=/proc/* --exclude=/sys/* --exclude=/mntroot/ /* /mntroot/
    chmod 555 /mntroot/proc

    debian_raid2_6 debian_raid2_10 debian_raid2_11

    Nun steht einem Reboot nichts mehr im Wege.

    Sobald das System wieder oben ist, passen Sie die Partitionstabelle der ersten Festplatte an und fügen diese anschließend dem Raidverbund hinzu.

    cfdisk /dev/hda
    mdadm /dev/md0 -a /dev/hda1

    debian_raid2_12 debian_raid2_13

    Es kann sein, dass die Anzeige nach diesem Befehl stehen bleibt. Drücken Sie in diesem Fall 1x [Enter]

    Den Status des Rebuild Vorgangs können Sie natürlich auch anschauen

    mdadm --detail /dev/md0

    debian_raid2_14

    Vergessen Sie nicht die Einträge in der /boot/grub/menu.lst zu korrigieren, wenn Sie diese temporär anders definieren mussten!

    2 Kommentare

    Leave A Reply