Linux-RAID: /dev/md127 und wo es herkommt

     

Erst gestern ist mir wieder ein seltsames Phänomen auf einem Kundensystem in die Hände gefallen. Das eigentlich konfigurierte Software-RAID im Linux-System des Kunden meldete sich nach dem booten plötzlich als /dev/md127 und nicht, wie es konfiguriert war, als /dev/md2.

Dieses Verhalten ist ziemlich problematisch, wenn man in der fstab nicht mit UUID’s arbeitet, aber auch an anderen Stellen kann der plötzlich entstandene neue Name Probleme verursachen. Ich bin der Sache mal auf den Grund gegangen und habe eine Lösung erarbeitet.

Das Problem, dass das RAID-Device sich plötzlich als md127 im System meldet ist nicht unbedingt selten, wenn man den knapp 75.000 Google-Treffern glauben möchte. Mir ist das auch schon ein paar Mal passiert, ich schenkte dem aber nie wirklich viel Beachtung, weil das Problem nach einem Reboot meist wieder verschwunden war. Meine Kunden sind natürlich darauf angewiesen, dass ihre Server sauber starten, weshalb ich das Problem hoffentlich dauerhaft behoben habe.

Laut diversen Quellen im Internet, existiert das Problem hauptsächlich auf Ubuntu-Systemen, mir ist es allerdings auch auf Debian-Systemen passiert. Der Grund dafür, dass das RAID-Device mit einem falschen Namen erstellt wird, liegt höchstwahrscheinlich an der Option –name in der /etc/mdadm/mdadm.conf.

When a –name parameter is set, a random (seems to always be 127) md device is created that actually symlinks to /dev/md/NAS:0 or equivalent.
– nasha, ubuntuforums.org

Aha, es wird also ein zufälliger Name gewählt, der offensichtlich immer md127 ist – sehr zufällig…

Das Problem hat sich auf meinen Systemen beheben lassen, indem man in der oben bereits angesprochenen /etc/mdadm/mdadm.conf die –name-Option entfernt, Beispiel:

# definitions of existing MD arrays
ARRAY /dev/md/0  metadata=1.2 UUID=bfa3e320:23df5a77:dedc7fe0:5a588a5d 
ARRAY /dev/md/1  metadata=1.2 UUID=4c6ec26b:9d827a34:2d90e99e:4731c908

Auch nach mehreren Neustarts und komplettem Ausschalten der betroffenen Systeme wurde kein falsches Device mehr erstellt, der Bug scheint also dadurch tatsächlich behoben worden zu sein. Nachteile durch die Entfernung der –name-Option sind mir nicht bekannt.