Das Problem
Beim Versuch, ein Gerät erneut zu einem Raid hinzuzufügen, erhalten Sie die folgende Meldung:
# mdadm /dev/md2 --add /dev/sda1 mdadm: Cannot open /dev/sda1: Device or resource busy
Wohingegen der Befehl mdstat anzeigt, dass das Gerät inaktiv ist.
# cat /proc/mdstat Personalities : md2 : inactive sda1[0](S) 292928154 blocks super 1.2 unused devices: [none]
mdadm kann Software-Raid-Gerät nicht mit Fehlermeldung „Gerät oder Ressource ausgelastet“ erstellen.
Die Lösung
Vorabprüfungen
Bevor wir fortfahren, vergewissern Sie sich, dass die Partitionen Teil eines aktiven Dateisystems waren.
mdadm --detail /dev/md2 mdadm: md device /dev/md2 does not appear to be active. mdadm --detail --scan >> /etc/mdadm.conf mdadm: md device /dev/md2 does not appear to be active. # ls -l /etc/mdadm.conf -rw-r--r-- 1 root bin 0 Sep 18 21:17 /etc/mdadm.conf # cat /etc/mdadm.conf
Die Ursache des Problems
Die Ursache dieses Problems kann sein, dass der Device-Mapper-Multipath ( oder andere Device-Mapper-Module ) die Kontrolle über dieses Gerät hat, daher kann mdadm nicht darauf zugreifen. Der Befehl „dmsetup table“ zeigt an, dass dieses Gerät vom Device-Mapper gesteuert wird (siehe „man dmsetup“ für weitere Informationen)
# dmsetup table
Problemumgehung
Als Problemumgehung können Sie das Gerät mit dem folgenden Befehl aus der Geräte-Mapper-Tabelle entfernen.
# dmsetup remove [device id]
Dauerlösung
Als Lösung können Sie entweder Ihren Server ohne bestimmte Device-Mapper-Module starten, z. B. dmraid. Sie können „nodmraid“ zur Kernel-Befehlszeile in /etc/grub.conf hinzufügen, wie unten gezeigt.
title Enterprise Linux Enterprise Linux Server (2.6.32-100.24.1.el5) root (hd0,0) kernel /vmlinuz-2.6.32-100.24.1.el5 ro root=/dev/vg00/lv00 console=tty0 nodmraid initrd /initrd-2.6.32-100.24.1.el5.img
oder wenn device-mapper-multipath die Kontrolle über dieses Gerät hat, können Sie es zum Blacklist-Abschnitt in /etc/multipath.conf
hinzufügen# vi /etc/multipath.conf blacklist { wwid [your world-wide-id for this device] }
Laden Sie multipathd neu, damit die Änderungen wirksam werden:
# service multipathd reload # multipath -v2
Stellen Sie sicher, dass Multipath keine Karten für diese Geräte in „multipath -ll“ erstellt.
# multipath -ll
Der Device-Mapper sollte beim Booten nicht die Kontrolle übernehmen.
Bestätigen
Nachdem Sie die oben genannten Schritte ausgeführt haben, sollten Sie in der Lage sein, das Software-RAID zu erstellen. Zur Überprüfung:
# mdadm /dev/md2 --add /dev/sda1