Raid-rebuild beschleunigen

Hi…

Ich habe hier ein Software-Raid5 (mdadm, Debian, Kernel 2.6), bei dem ich zwei Platten austauschen will.
An sich kein Problem - erste neue Platte einhängen, eine alte raus -> automatischer rebuild. Aber: Selbst wenn kein anderer Prozess auf das Array zugreift, läuft der rebuild nur mit der Mindestgeschwindigkeit von 1 MB/s - bei der verwendeten Plattengröße dauert das dann über 20 h. Das finde ich wenig erbaulich, insbesondere nachdem ich das ganze Spiel zweimal machen muß.

Frage 1: kann man den rebuild-Vorgang beschleunigen? Mit der verwendeten Hardware wäre mindestens Faktor 10 drin.

Nachdem ich auf Frage 1 selbst keine Antwort finden konnte, habe ich versucht, den rebuild zu umgehen: Array angehalten, eine der Platten mit dd kopiert und das Array mit der Kopie anstelle des Originals neu gestartet. Ergebnis: Die Kopie wird nur als Spare erkannt und der langsame rebuild fängt an, sie zu überschreiben.

Frage 2: Warum wird die Kopie als Spare erkannt und wie kann ich das vermeiden?

Ich bin dankbar für jeden Hinweis.

genumi

Lösung
Hi…

Frage 1: kann man den rebuild-Vorgang beschleunigen?

Das interessiert mich immer noch.

Frage 2: Warum wird die Kopie als Spare erkannt und wie kann
ich das vermeiden?

Wenn die Platten nicht exakt gleich groß sind, landet der Raid-Superblock beim Kopieren nicht an der richtigen Stelle. Dort befand sich in meinem Fall noch immer der Superblock aus dem ersten Versuch (rebuild), der die Platte als Spare auswies.

Ich musste den richtigen Superblock an die richtige Stelle kopieren und dann noch mit dem Hexeditor ran, weil in jedem Superblock die major/minor-Nummern aller beteiligten Platten verzeichnet sind, und die passen natürlich nicht mehr. Dabei ruiniert man die Checksumme, so daß nur noch mdadm -f das Array starten kann.

Fazit: Möglich, aber nichts für schwache Nerven und ganz bestimmt nicht für Produktionssysteme.

genumi