GNU/Linux >> Tutoriels Linux >  >> Cent OS

mdadm :impossible d'ouvrir /dev/sda1 :périphérique ou ressource occupé

Le problème

Lorsque vous essayez de rajouter un appareil à un raid, vous obtenez le message suivant :

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

Alors que la commande mdstat indique que le périphérique est inactif.

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

unused devices: [none]

mdadm ne parvient pas à créer un périphérique raid logiciel avec le message d'erreur Périphérique ou ressource occupée.

La solution

Vérifications préalables

Avant de continuer, assurez-vous que si les partitions faisaient partie d'un FS actif.

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 cause du problème

La cause de ce problème peut être que le device-mapper-multipath (ou d'autres modules de mappeur de périphérique) a le contrôle sur ce périphérique, donc mdadm ne peut pas y accéder. La commande "dmsetup table" montrera que ce périphérique est contrôlé par le device-mapper (voir "man dmsetup" pour des informations plus détaillées)

# dmsetup table

Solution

Pour contourner le problème, vous pouvez supprimer l'appareil de la table de mappage d'appareils avec la commande ci-dessous.

# dmsetup remove [device id]

Solution permanente

Comme solution, vous pouvez soit démarrer votre serveur sans certains modules de mappage de périphériques, par exemple dmraid, vous pouvez ajouter "nodmraid" à la ligne de commande du noyau dans /etc/grub.conf comme indiqué ci-dessous.

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

ou si device-mapper-multipath a le contrôle sur ce périphérique, vous pouvez l'ajouter à la section liste noire dans /etc/multipath.conf

# vi /etc/multipath.conf
blacklist {

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

}

Rechargez le multipathd pour que les modifications prennent effet :

# service multipathd reload
# multipath -v2

Assurez-vous que multipath ne crée pas de cartes pour ces périphériques dans « multipath -ll ».

# multipath -ll

Le mappeur de périphériques ne doit pas prendre le contrôle au démarrage.

Vérifier

Une fois que vous avez effectué les étapes mentionnées ci-dessus, vous devriez être en mesure de créer le logiciel RAID. Pour vérifier :

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


Cent OS
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Quand utiliser /dev/random contre /dev/urandom ?

  3. Erreur pvcreate :impossible d'ouvrir /dev/sdx en mode exclusif. Système de fichiers monté ?

  4. Comment mapper les périphériques /dev/sdX et /dev/mapper/mpathY à partir du périphérique /dev/dm-Z

  5. avrdude :ser_open() :impossible d'ouvrir le périphérique /dev/ttyACM0 :périphérique ou ressource occupé

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

Impossible de supprimer le périphérique /dev/loop0

screen Impossible d'ouvrir votre terminal '/dev/pts/0' - veuillez vérifier

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

Linux :Différence entre /dev/console , /dev/tty et /dev/tty0

Créer un périphérique de bloc virtuel qui écrit dans /dev/null