GNU/Linux >> Tutoriales Linux >  >> Cent OS

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

El problema

Al intentar volver a agregar un dispositivo a una redada, aparece el siguiente mensaje:

# mdadm /dev/md2 --add /dev/sda1
mdadm: Cannot open /dev/sda1: Device or resource busy

Mientras que el comando mdstat indica que el dispositivo está inactivo.

# cat /proc/mdstat
Personalities :
md2 : inactive sda1[0](S)
      292928154 blocks super 1.2

unused devices: [none]

mdadm no pudo crear un dispositivo de ataque de software con el mensaje de error Dispositivo o recurso ocupado.

La solución

Comprobaciones previas

Antes de continuar, asegúrese de que las particiones fueran parte de algún FS activo.

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 de este problema puede ser que device-mapper-multipath (u otros módulos de mapeo de dispositivos) tiene control sobre este dispositivo, por lo tanto, mdadm no puede acceder a él. El comando "dmsetup table" mostrará que este dispositivo está controlado por el mapeador de dispositivos (consulte "man dmsetup" para obtener información más detallada)

# dmsetup table

Solución alternativa

Como solución alternativa, puede eliminar el dispositivo de la tabla del mapeador de dispositivos con el siguiente comando.

# dmsetup remove [device id]

Solución permanente

Como solución, puede iniciar su servidor sin ciertos módulos mapeadores de dispositivos, por ejemplo, dmraid, puede agregar "nodmraid" a la línea de comando del kernel en /etc/grub.conf como se muestra a continuación.

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

o si device-mapper-multipath tiene control sobre este dispositivo, puede agregarlo a la sección de la lista negra en /etc/multipath.conf

# vi /etc/multipath.conf
blacklist {

              wwid [your world-wide-id for this device]

}

Vuelva a cargar el multipathd para que los cambios surtan efecto:

# service multipathd reload
# multipath -v2

Asegúrese de que multipath no cree mapas para estos dispositivos en 'multipath -ll'.

# multipath -ll

El asignador de dispositivos no debe tomar el control en el momento del arranque.

Verificar

Una vez que haya realizado los pasos mencionados anteriormente, debería poder crear el software RAID. Para verificar:

# mdadm /dev/md2 --add /dev/sda1


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

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

  3. Error de pvcreate:no se puede abrir /dev/sdx exclusivamente. ¿Sistema de archivos montado?

  4. avrdude:ser_open():no se puede abrir el dispositivo /dev/ttyACM0:dispositivo o recurso ocupado

  5. mv:no se puede mover de casa a casa-antiguo:Dispositivo o recurso ocupado

tty (/dev/tty) vs pts (/dev/pts) en Linux

No se puede eliminar el dispositivo /dev/loop0

pantalla No se puede abrir su terminal '/dev/pts/0' - verifique

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

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

Crear un dispositivo de bloque virtual que escriba en /dev/null