Frage, mdadm falsche Anzahl an devices

Domi83

Rear Admiral
Registriert
Feb. 2010
Beiträge
5.202
Moin Leute, ich habe mal eine kleine Frage an die Linux Spezies hier in der Runde :)
Ich habe meinem HP Proliant eine vierte Festplatte verpasst und wollte diese in mein RAID 5 einbinden. Beim ersten Versuch das RAID zu vergrößern hatte ich den Befehl wie folgt verwendet,
Code:
mdadm --grow --raid-devices=4 /dev/md0 --backup-file=md0.bak

Das System sagte mir, dass eine passende Festplatte fehlt. Also habe ich mit folgendem Befehl die Partition erst einmal zum RAID hinzugefügt,
Code:
mdadm /dev/md0 --add /dev/sda1

und blöderweise ein Pfeil zu oft nach oben gedrückt und folgenden Befehl gestartet,
Code:
mdadm --grow --force --raid-devices=5 /dev/md0 --backup-file=md0.bak

ich wollte keine 5 Devices in mein RAID einbinden, sondern nur vier. Nun fängt natürlich 'mdadm' an das Raid aufzubauen, obwohl ihm eine Festplatte fehlt. Kann ich dem System hinterher sagen dass das RAID doch nur aus vier Festplatten besteht? Ich hatte schon nach allem möglichen gesucht um das rebuilding / reshaping zu unterbrechen, habe aber nichts gefunden außer die Aussage das man es durchlaufen lassen soll.

Das könnte jetzt aktuell allerdings etwas dauern :D
Code:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc1[4] sdb1[1] sda1[5] sdd1[3]
      5860267008 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [UUUU_]
      [>....................]  reshape =  0.3% (11509248/2930133504) finish=10361.4min speed=4693K/sec

unused devices: <none>

Gruß, Domi

Nachtrag: Ähm.. ich hab (glaube ich) vergessen meine Frage zu stellen für das Problem :D Kann ich im Nachhinein wieder auf vier Devices umstellen, oder ist es dafür zu spät?
 
Zuletzt bearbeitet:
Schau in die Manpage, ob mdadm das grundsätzlich unterstützt. Falls ja und auf den dann restlichen vier Platten genug Platz ist, geht das sicherlich, ist halt nur wieder mit einem reshape verbunden, das die Platten für sicherlich einige Stunden unter Stress setzt.

Falls du nen Backup hast, das definitiv in Ordnung ist (... selbstverständlich hast du ein Backup, das in Ordnung ist...), könntest du das Raid einfach auflösen und sauber neu aufbauen. Vor dem Reshape ist sowieso ein Backaup angesagt, denn niemand garantiert dir, dass dabei alles glatt geht.

In diesem Sinne, viel Erfolg :)
 
Moin, okay.. ich habe das RAID 5 ganz neu aufgesetzt. Datensicherung gab es nur von einem Teil der Daten (der Teil der jetzt weg ist, kann wieder herunter geladen werden), da das RAID mit "nur" zwei Festplatten schon größer war als meine größte HDD :D Aber vielleicht sollte ich mir für solche "Sonderfälle" mal eine Seagate Archive kaufen, in ein externes Gehäuse stopfen und für eine Sicherung verwenden :)

Gruß, Domi
 
Du kannst das von 5 wieder auf 4 Platten growen lassen. Eigentlich alles kein Problem und kein Grund für Datenverlust. Nur daß du bei deinen 3/4 bzw. 4/5 Platten RAIDs jeweils keine Redundanz mehr hattest, also eine defekte Platte wäre da blöd gewesen.

Ein RAID-Grow ist normalerweise ein einziger Befehl:

Code:
mdadm --grow /dev/mdX --raid-devices=4 --add /dev/neu1

Das --backup-file braucht man meistens gar nicht, wenn doch wird mdadm dir das schon sagen, dann kannst du diese Option immer noch hinzufügen.
 
Moin, ich habe mir die wichtigsten Daten von den Platten gezogen und alles neu aufgesetzt. Das Rebuilding hätte bis Mittwoch gedauert, dann hätte ich auch erst die Anzahl der Devices ändern können. So lange wollte ich nicht warten und die Platten unter Dauerfeuer stehen lassen. Also habe ich das RAID komplett neu aufgebaut mit leeren Festplatten und das Rebuilding hat 16 Std. gedauert.

Vielleicht kaufe ich mir für den kleinen ProLiant noch mal einen RAID Controller. Ich habe nämlich hier gelesen, dass nur Port 1 und 2 einen 6 Gbit Anschluss haben und die anderen beiden Ports langsamer laufen. Vortail wäre auch, dass ich hot-swap nutzen könnte mit entsprechendem Controller :D
 
Bei Festplatten macht das praktisch keinen Unterschied ob die mit SATA-II oder SATA-III laufen. Bei SSD ist das vielleicht was anderes (auch nur wenn man viel Durchsatz hat, ansonsten kommts da mehr auf Zugriffszeiten an).

Interessanter ist wie diese Ports intern angebunden sind. Das ist manchmal zu dünn um die theoretisch mögliche Datenrate an alle Schnittstellen gleichzeitig [oder auch nur an einer] zu liefern und bei Vollbelegung mit RAID-Resync hat man halt auch Last an jedem Port. Da kann der Controller SATA III unterstützen aber effektiv doch nur SATA II Geschwindigkeit liefern.

Hotswap sollte auch bei normalem SATA kein Problem sein vorausgesetzt man läßt die IDE-Emulation weg und bleibt bei AHCI. Ich kenne jetzt den HP Proliant nicht aber SATA-Hotplug ist nichts neues...

Wenn beim Linux RAID der Resync bei der Performanz schwächelt dann liegt das oft daran daß die verschiedenen Caches bei Linux zu konservativ ausgelegt sind... wenn du nicht an RAM-Knappheit leidest kann man das hochdrehen, siehe auch http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html
Ergänzung ()

Domi83 schrieb:
Das Rebuilding hätte bis Mittwoch gedauert, dann hätte ich auch erst die Anzahl der Devices ändern können.

Gerade selbst drüber gestolpert: Es gibt auch --update=revert-reshape damit wandert ein noch nicht abgeschlossener Reshape zurück in die Ausgangslage. Komischerweise ist dieses Feature nicht in der Man-Page zu finden, der Tipp wird aber öfter auf der Linux RAID Mailingliste gegeben.
 
Zurück
Oben