Eu percebo que essa é uma pergunta antiga e que o pôster original acreditava que o SAMBA era o problema, mas eu tive o mesmo problema e acho que o problema não era SAMBA (na verdade eu nem tenho SAMBA), já que ele não apareceu na saída lsof
, mas o usuário já estava no diretório de ponto de montagem RAID quando mudou para root ou fez um sudo.
No meu caso, o problema foi que eu iniciei meu shell de root quando meu usuário regular estava em um diretório localizado na unidade /dev/md127
montada.
user1@comp1:/mnt/md127_content/something$ su -
root@comp1:~# umount /dev/md127
umount: /dev/md127: target is busy
Aqui está a saída de lsof
no meu caso:
root@comp1:root@comp1:~# 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
Mesmo que lsof | grep md125
não tenha exibido nenhum processo, exceto [md127_raid1]
, não pude desmontar /dev/md127
. E enquanto umount -l /dev/md127
esconder /dev/md127
da saída de mount
, a unidade aparentemente ainda está ocupada, e quando mdadm --stop /dev/md127
é tentado, o mesmo erro é mostrado:
mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?
SOLUTION é simples: verifique se há usuários conectados que ainda estão em um diretório nessa unidade. Especialmente, verifique se o shell raiz que você está usando foi iniciado quando o diretório atual do usuário regular estava nessa unidade. Mude para esse shell de usuários (talvez apenas exit
sua raiz deve), mova para outro local e umount
e mdadm --stop
funcionará:
root@comp1:~# exit
user1@comp1:/mnt/md127_content/something$ cd /
user1@comp1:/$ su -
root@comp1:~# umount /dev/md127
root@comp1:~# mdadm --stop /dev/md127
mdadm: stopped /dev/md127