Il problema
Quando si tenta di aggiungere nuovamente un dispositivo a un raid, viene visualizzato il seguente messaggio:
# mdadm /dev/md2 --add /dev/sda1 mdadm: Cannot open /dev/sda1: Device or resource busy
Mentre il comando mdstat indica che il dispositivo è inattivo.
# cat /proc/mdstat Personalities : md2 : inactive sda1[0](S) 292928154 blocks super 1.2 unused devices: [none]
mdadm non riesce a creare un dispositivo raid software con messaggio di errore Dispositivo o risorsa occupata.
La soluzione
Controlli preliminari
Prima di procedere, assicurati che se le partizioni facessero parte di qualsiasi FS attivo.
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
La causa del problema
La causa di questo problema può essere che il device-mapper-multipath (o altri moduli device-mapper) ha il controllo su questo dispositivo, quindi mdadm non può accedervi. Il comando “dmsetup table” mostrerà che questo dispositivo è controllato dal device-mapper (vedi “man dmsetup” per informazioni più dettagliate)
# dmsetup table
Soluzione alternativa
Come soluzione alternativa, puoi rimuovere il dispositivo dalla tabella device-mapper con il comando seguente.
# dmsetup remove [device id]
Soluzione permanente
Come soluzione puoi avviare il tuo server senza alcuni moduli di mappatura dei dispositivi, ad esempio dmraid puoi aggiungere "nodmraid" alla riga di comando del kernel in /etc/grub.conf come mostrato di seguito.
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
oppure se device-mapper-multipath ha il controllo su questo dispositivo puoi aggiungerlo alla sezione blacklist in /etc/multipath.conf
# vi /etc/multipath.conf blacklist { wwid [your world-wide-id for this device] }
Ricarica il multipathd per rendere effettive le modifiche:
# service multipathd reload # multipath -v2
Assicurati che multipath non crei mappe per questi dispositivi in "multipath -ll".
# multipath -ll
Il device-mapper non dovrebbe assumere il controllo all'avvio.
Verifica
Dopo aver eseguito i passaggi sopra menzionati, dovresti essere in grado di creare il RAID software. Per verificare:
# mdadm /dev/md2 --add /dev/sda1