Ich habe das folgende Problem mit einer RAID1-Software-RAID-Partition auf meinem Ubuntu-System (10.04 LTS, 2.6.32-24-Server, falls es darauf ankommt).
Eine meiner Festplatten (sdb5) meldete E / A-Fehler und wurde daher im Array als fehlerhaft markiert. Das Array wurde dann mit einem aktiven Gerät abgebaut. Daher habe ich die Festplatte ersetzt, die Partitionstabelle geklont und alle neuen Partitionen zu meinen RAID-Arrays hinzugefügt. Nach der Synchronisierung waren alle Partitionen in Ordnung und hatten 2 aktive Geräte - außer einem von ihnen. Die Partition, die zuvor die fehlerhafte Festplatte gemeldet hat, enthielt die neue Partition jedoch nicht als aktives Gerät, sondern als Ersatzfestplatte:
md3 : active raid1 sdb5[2] sda5[1]
4881344 blocks [2/1] [_U]
Ein detaillierter Blick zeigt:
root@server:~# mdadm --detail /dev/md3
[...]
Number Major Minor RaidDevice State
2 8 21 0 spare rebuilding /dev/sdb5
1 8 5 1 active sync /dev/sda5
Hier ist also die Frage: Wie kann ich meinem Raid mitteilen, dass die Ersatzfestplatte in eine aktive umgewandelt werden soll? Und warum wurde es als Ersatzgerät hinzugefügt? Das Neuerstellen oder Zusammensetzen des Arrays ist keine Option, da es sich um meine Root-Partition handelt. Und ich kann im Software Raid HOWTO keine Hinweise zu diesem Thema finden.
Jede Hilfe wäre dankbar.
Aktuelle Lösung
Ich habe eine Lösung für mein Problem gefunden, bin mir aber nicht sicher, ob dies der tatsächliche Weg ist. Bei näherer Betrachtung meines Überfalls stellte ich fest, dass sdb5 immer als Ersatzgerät aufgeführt war:
mdadm --examine /dev/sdb5
[...]
Number Major Minor RaidDevice State
this 2 8 21 2 spare /dev/sdb5
0 0 0 0 0 removed
1 1 8 5 1 active sync /dev/sda5
2 2 8 21 2 spare /dev/sdb5
Das Lesen des Geräts sdb5 in das Array md3 führte also immer dazu, dass das Gerät als Ersatz hinzugefügt wurde.
Schließlich habe ich gerade das Array neu erstellt
mdadm --create /dev/md3 --level=1 -n2 -x0 /dev/sda5 /dev/sdb5
was funktioniert hat.
Die Frage bleibt für mich jedoch offen: Gibt es eine bessere Möglichkeit, die Zusammenfassungen im Superblock zu bearbeiten und das Array anzuweisen, sdb5 von einer Ersatzfestplatte auf eine aktive Festplatte umzustellen? Ich bin immer noch neugierig auf eine Antwort.