Me doy cuenta de que esta es una pregunta antigua y que el autor original creía que SAMBA era el problema, pero experimenté exactamente el mismo problema y creo que muy probablemente el problema no era SAMBA (en realidad, ni siquiera tengo SAMBA), ya que no no aparece en el lsof
salida, sino que el usuario ya estaba en el directorio del punto de montaje RAID cuando cambió a raíz o hizo un sudo.
En mi caso, el problema fue que inicié mi shell raíz cuando mi usuario habitual estaba en un directorio ubicado en ese /dev/md127
montado conducir.
[email protected]:/mnt/md127_content/something$ su -
[email protected]:~# umount /dev/md127
umount: /dev/md127: target is busy
Aquí está la salida de lsof
en mi caso:
[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
Aunque lsof | grep md125
no mostró ningún proceso excepto [md127_raid1]
, no pude desmontar /dev/md127
. Y mientras umount -l /dev/md127
oculta /dev/md127
de la salida de mount
, la unidad aparentemente todavía está ocupada y cuando mdadm --stop /dev/md127
se intenta, se muestra el mismo error:
mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?
SOLUCIÓN es simple:verifique si hay usuarios conectados que todavía están en un directorio en esa unidad. Especialmente, verifique si el shell raíz que está utilizando se inició cuando el directorio actual de su usuario habitual estaba en esa unidad. Cambie a ese shell de usuarios (tal vez solo exit
su raíz deberá), muévase a otro lugar y umount
y mdadm --stop
funcionará:
[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 usa LVM además de mdadm, a veces LVM no eliminará los dispositivos de Device Mapper al desactivar el grupo de volúmenes. Puede eliminarlo manualmente.
- Asegúrese de que no haya nada en la salida de
sudo vgdisplay
. - Mira en
/dev/mapper/
. Aparte delcontrol
archivo, debe haber un dispositivo Mapeador de dispositivos con el nombre de su grupo de volúmenes, p.VolGroupArray-name
. - Ejecutar
sudo dmsetup remove VolGroupArray-name
(sustituyendoVolGroupArray-name
con el nombre del dispositivo Device Mapper). - Ahora debería poder ejecutar
sudo mdadm --stop /dev/md0
(o como se llame elmdadm
dispositivo es).
Me estaba encontrando con problemas similares, pero no tenía el dispositivo de ataque montado de ninguna manera. Detener SAMBA tampoco pareció ayudar. lsof
no mostró nada.
Todo resultó en:
# mdadm --stop /dev/md2
mdadm: Cannot get exclusive access to /dev/md2:Perhaps a running process, mounted filesystem or active volume group?
Lo que finalmente me solucionó fue recordar que se trataba de una partición de intercambio, así que solo tenía que swapoff /dev/md2
- esto me permitió mdadm --stop /dev/md2
exitosamente.