Howto: Rebuild eines Linux Software-RAIDs

Posted on the September 12th, 2007 under howtos by matthias

Software-RAIDs unter Linux sind eine kostengünstige und flexible Möglichkeit den Speicher eines Servers redundant auszulegen. Doch wie tauscht man eine defekte Platte im Fall der Fälle aus? Hier gibt es einige Schritte zu befolgen, um sein RAID wieder zum Laufen zu bekommen.

Im folgenden Beispiel haben wir ein RAID1 mit den Laufwerken /dev/sda und /dev/sdb. Die Festplatten sind in drei primäre Partitionen unterteilt:

/dev/sdX1        /boot
/dev/sdX2        swap
/dev/sdX3        /

Folglich haben wir 2 RAID Arrays (Swap im RAID1 macht wenig Sinn):

/dev/md0        /boot
/dev/md1        /

In unserem Beispiel fällt die zweite Festplatte – /dev/sdb – aus. Um einen Ersatz einzubauen, nehmen wir zuerst die defekte Platte aus dem laufenden RAID Array:

mdadm /dev/md0 -r /dev/sdb1
mdadm /dev/md1 -r /dev/sdb3

Danach können wir die defekte Platte austauschen (evtl. muss das System heruntergefahren werden). Nach dem Wechsel müssen wir das Partitionslayout auf die Ersatzplatte spielen. In unserem Beispiel ist dies recht einfach, da wir keine erweiterten Partitionen haben:

dd if=/dev/sda of=/dev/sdb bs=512 count=1

Hiermit kopieren wir den MBR (Größe = 512 Byte) auf die neue Festplatte. Handelt es sich bei dem Festplattenschema um ein Konstrukt mit erweiterteten Partitionen, müssen diese zusätzlich einzeln angelegt werden. Hierzu schauen wir uns mit fdisk das Partitionsschema an:

fdisk -ul /dev/sda

Wir merken uns die Startwerte der erweiterteten Partitionen und übergeben diesen Wert an die Parameter skip und seek von dd:

dd if=/dev/sda of=/dev/sdb count=1 skip=STARTWERT seek=STARTWERT

Nachdem wir das Partitionslayout komplett übernommen haben, teilen wir dies brav dem Kernel mit:

blockdev –-rereadpt /dev/sdb

Jetzt können wir mit dem Rebuild des RAIDs beginnen:

mdadm /dev/md0 -a /dev/sdb1
mdadm /dev/md1 -a /dev/sdb3

Den Status kann man jederzeit aus der Datei /proc/mdstat auslesen, z.B. mit

watch -n1 cat /proc/mdstat

Nun erstellen wir noch den Swapspace auf neuen Festplatte:

mkswap /dev/sdb2

und hängen den Swapspace ins laufende System ein:

swapon /dev/sdb2

Schon ist unser RAID wieder voll einsatzbereit.

Related posts:

Twitter Post | Print Post

25 Responses to 'Howto: Rebuild eines Linux Software-RAIDs'

  1. Gravatar 12. September 2007 at 18:34
    mortice
  2. Gravatar 12. September 2007 at 18:42
    matthias
  3. Gravatar 12. September 2007 at 20:19
    Der Adminblogger
  4. Gravatar 12. September 2007 at 21:33
    Stefan
  5. Gravatar 12. September 2007 at 21:46
    Der Adminblogger
  6. Gravatar 13. September 2007 at 07:22
    matthias
  7. Gravatar 13. September 2007 at 13:39
    mortice
  8. Gravatar 13. September 2007 at 15:22
    Craig
  9. Gravatar 13. September 2007 at 15:55
    matthias
  10. Gravatar 18. September 2007 at 12:42
    ChristianS
  11. Gravatar 18. September 2007 at 13:33
    matthias
  12. Gravatar 18. September 2007 at 23:54
    Stefan
  13. Gravatar 19. October 2007 at 07:19
    Robert Kraus
  14. Gravatar 11. April 2008 at 18:32
    Danu
  15. Gravatar 12. April 2008 at 08:47
    matthias
  16. Gravatar 12. April 2008 at 11:02
    Danu
  17. Gravatar 12. April 2008 at 18:12
    matthias
  18. Gravatar 12. April 2008 at 18:22
    Danu
  19. Gravatar 12. April 2008 at 19:12
    matthias
  20. Gravatar 01. May 2008 at 16:57
    bofh
  21. Gravatar 20. June 2008 at 16:27
    Danu
  22. Gravatar 24. September 2008 at 10:41
    HansM
  23. Gravatar 14. January 2010 at 01:20
    shuron

Leave a Reply




XHTML::
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>