Je me rends compte qu'il s'agit d'une vieille question et l'affiche originale pensait que SAMBA était le problème, mais j'ai rencontré exactement le même problème et je pense que très probablement le problème n'était pas SAMBA (je n'ai même pas SAMBA), car il n'a pas n'apparaît pas dans le lsof
sortie, mais plutôt l'utilisateur était déjà dans le répertoire du point de montage RAID lorsqu'il est passé à la racine ou a fait un sudo.
Dans mon cas, le problème était que j'ai démarré mon shell root alors que mon utilisateur habituel se trouvait dans un répertoire situé sur ce /dev/md127
monté conduire.
[email protected]:/mnt/md127_content/something$ su -
[email protected]:~# umount /dev/md127
umount: /dev/md127: target is busy
Voici la sortie de lsof
dans mon cas :
[email protected]:[email protected]:~# lsof | grep /dev/md127
md127_rai 145 root cwd DIR 253,0 4096 2 /
md127_rai 145 root rtd DIR 253,0 4096 2 /
md127_rai 145 root txt unknown /proc/145/exe
Même si lsof | grep md125
n'a montré aucun processus sauf [md127_raid1]
, je n'ai pas pu démonter /dev/md127
. Et tandis que umount -l /dev/md127
masque /dev/md127
à partir de la sortie de mount
, le lecteur est apparemment toujours occupé, et lorsque mdadm --stop /dev/md127
est tenté, la même erreur s'affiche :
mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?
SOLUTION est simple :vérifiez s'il y a des utilisateurs connectés qui se trouvent encore dans un répertoire sur ce lecteur. En particulier, vérifiez si le shell root que vous utilisez a été démarré lorsque le répertoire actuel de votre utilisateur habituel se trouvait sur ce lecteur. Passez au shell de cet utilisateur (peut-être juste exit
votre racine doit), déplacer ailleurs, et umount
et mdadm --stop
fonctionnera :
[email protected]:~# exit
[email protected]:/mnt/md127_content/something$ cd /
[email protected]:/$ su -
[email protected]:~# umount /dev/md127
[email protected]:~# mdadm --stop /dev/md127
mdadm: stopped /dev/md127
Si vous utilisez LVM au-dessus de mdadm, parfois LVM ne supprimera pas les périphériques Device Mapper lors de la désactivation du groupe de volumes. Vous pouvez le supprimer manuellement.
- Assurez-vous qu'il n'y a rien dans la sortie de
sudo vgdisplay
. - Regardez dans
/dev/mapper/
. Mis à part lecontrol
fichier, il devrait y avoir un périphérique Device Mapper nommé d'après votre groupe de volumes, par ex.VolGroupArray-name
. - Exécutez
sudo dmsetup remove VolGroupArray-name
(en remplaçantVolGroupArray-name
avec le nom de l'appareil Device Mapper). - Vous devriez maintenant pouvoir exécuter
sudo mdadm --stop /dev/md0
(ou quel que soit le nom dumdadm
l'appareil est).
Je rencontrais des problèmes similaires, mais je n'avais pas monté le périphérique RAID de quelque manière que ce soit. Arrêter SAMBA n'a pas semblé aider non plus. lsof
n'a rien montré.
Tout a abouti à :
# mdadm --stop /dev/md2
mdadm: Cannot get exclusive access to /dev/md2:Perhaps a running process, mounted filesystem or active volume group?
Ce qui m'a finalement résolu le problème, c'est de me souvenir qu'il s'agissait d'une partition de swap - je n'avais donc qu'à swapoff /dev/md2
- cela m'a permis de mdadm --stop /dev/md2
avec succès.