GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo forzar a mdadm a detener la matriz RAID5?

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.

  1. Asegúrese de que no haya nada en la salida de sudo vgdisplay .
  2. Mira en /dev/mapper/ . Aparte del control archivo, debe haber un dispositivo Mapeador de dispositivos con el nombre de su grupo de volúmenes, p. VolGroupArray-name .
  3. Ejecutar sudo dmsetup remove VolGroupArray-name (sustituyendo VolGroupArray-name con el nombre del dispositivo Device Mapper).
  4. Ahora debería poder ejecutar sudo mdadm --stop /dev/md0 (o como se llame el mdadm 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.


Linux
  1. Cómo reemplazar un disco duro fallido en el software RAID de Linux

  2. Cómo generar una contraseña aleatoria en Linux usando /dev/random

  3. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  4. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  5. ¿Cuándo usar /dev/random Vs /dev/urandom?

Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

¿Cómo reemplazar de manera segura un disco que aún no ha fallado en una matriz Linux RAID5?

Cómo usa Linux /dev/tty y /dev/tty0

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr

¿Por qué se requieren < o > para usar /dev/tcp?

mdadm mdadm:no se puede abrir /dev/sda1:dispositivo o recurso ocupado