Linux RAID kaputt :-/

Ich glaub das ist jetzt mein erster Linux-Blogeintrag hier 🙂
Für alle die es noch nicht wussten – Linux liegt mir auch 😉

Ja… da bin ich zu Weihnachten mal zu Hause im Harz und versuche herauszufinden warum die Datensicherung bei Vadderns Server nicht mehr läuft, merke ich das eine Platte aus dem Raid raus geflogen ist.
Sind 2 Samsung-1TB Platten wo ausschlisslich die Daten für die Virtuellen Maschinen, welche von Vmware bedient werden drauf liegen.

Mitbekommen habe ich es, weil ein „mdadm –detail /dev/md0“ folgendes gebraucht hat:

Update Time : Fri Dec 25 17:06:38 2009
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0

UUID : c28d9893:a9a1b37a:2ce552e4:6d63ea58
Events : 0.1536464

Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 33 1 active sync /dev/sdc1
2 8 17 - faulty spare /dev/sdb1

Okay.. irgendwas ist mit /dev/sdb1 kaputt, was mit ein „cat /proc/mdstat“ ebenfalls bestätigte:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [ra id10]
md0 : active raid1 sdb1[2](F) sdc1[1]
976759936 blocks [2/1] [_U]

Das (F) hinter sdb1 sagt schon, dass irgendwas kaputt ist.
Okay… da hier ziemlich viele stromausfälle sind, nehme ich jetzt einfach mal an das die platte durch einen dieser Stromausfälle aus dem Array geflogen ist.
Also bin ich Mutig und entscheide mich einen Rebuild der platte auf selbige zu tun (sollte man im normalfall bitte nicht machen – neue platte rein stecken und auf der neuen das Rebuild machen ist Standard, Normal und Sinnvoller!).

Für meinen Fall musste ich die Kaputte Platte erstmal aus dem Array nehmen, das macht:

# mdadm /dev/md0 -r /dev/sdb1
mdadm: hot removed /dev/sdb1

Jetzt ist der Zeitpunkt den Server herunterzufaren, gemütlich die neue Plate einzubauen, sich auf die Schulter klopfen, dass man wieder ein stück Datenerhaltung erfolgreich gesichert hat, um den Server dann wieder mit neuer Platte zu straten.
Da Ich in meinem Fall die alte (scheinbar kaputte) Platte im Server belasse (ich hätte hier auch gar keine zum tauschen da), füge ich die Platte dem Array wieder hinzu, geht wie folgt:

# mdadm /dev/md0 -a /dev/sdb1
mdadm: re-added /dev/sdb1

Dadurch, dass die Platte dem Array wieder hinzugefügt wurde, läuft der Rebuild-Vorgang automatisch an.
Dies kann man auch überprüfen:

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [ra id10]
md0 : active raid1 sdb1[2] sdc1[1]
976759936 blocks [2/1] [_U]
[>....................] recovery = 0.0% (207744/976759936) finish=234.9m in speed=69248K/sec

unused devices:

Ja.. das Rebuild würde in diesem Fall gute 235 Minuten Dauern.
Also.. Warten :o)

Wenn danach alles sauber gerebuildet wurde, kann ich die Platte in dem Server vorerst weiter verwenden bis die Ersatzplatte geliefert wird. 🙂

leave your comment

*

Unterstütze den Frickelblog!