Besonderheiten Raid 5

Quelle1)

md raid not rebulding — resync=pending

You have problems with automatic rebuilding raid 1 (md) on debian (resync=PENDING)?

mdX : active (auto-read-only) raid1 sdaY[0] sdbY[1]

      2000000 blocks [2/2] [UU]

      	resync=PENDING

do;

mdadm --readwrite /dev/mdX

and the process of rebuilding starts cat /proc/mdstatus

[===>...]  resync = 16.2% (324736/2000000) finish=0.6min speed=46390K/sec

Quelle2)

Howto: Rebuild eines Linux Software-RAIDs (1)

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.