web-dev-qa-db-fra.com

Mdadm: impossible de supprimer les composants dans RAID 1

J'ai une partition de démarrage dans un tableau RAID 1 à l'aide de MDADM. Ce tableau s'est dégradé quelques fois dans le passé et chaque fois que je retire le lecteur physique, ajoutez-en une nouvelle, apportez la matrice à la normale, il utilise une nouvelle lettre de lecteur. Laissant l'ancien encore dans le tableau et a échoué. Je n'arrive pas à supprimer ces composants qui n'existent plus.

[root@xxx ~]# cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sdg1[10] sde1[8](F) sdb1[7](F) sdd1[6](F) sda1[4] sdc1[5]
      358336 blocks super 1.0 [4/3] [UUU_]

Voici ce que j'ai essayé de supprimer les disques et les partitions inexistants. Par example, /dev/sdb1.

[root@xxx ~]# mdadm /dev/md0 -r /dev/sdb1
mdadm: Cannot find /dev/sdb1: No such file or directory
[root@xxx ~]# mdadm /dev/md0 -r faulty
mdadm: Cannot find 8:49: No such file or directory
[root@xxx ~]# mdadm /dev/md0 -r detached
mdadm: Cannot find 8:49: No such file or directory

Cette 8:49 Je crois que se réfère au nombre majeur et mineur indiqué dans --detail, mais je ne suis pas tout à fait sûr où aller d'ici. J'essaie d'éviter un redémarrage ou de redémarrer Mdadm.

[root@xxx ~]# mdadm --detail /dev/md0 
/dev/md0:
        Version : 1.0
  Creation Time : Thu Aug  8 18:07:35 2013
     Raid Level : raid1
     Array Size : 358336 (350.00 MiB 366.94 MB)
  Used Dev Size : 358336 (350.00 MiB 366.94 MB)
   Raid Devices : 4
  Total Devices : 6
    Persistence : Superblock is persistent

    Update Time : Sat Apr 18 16:44:20 2015
          State : clean, degraded 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 3
  Spare Devices : 0

           Name : xxx.xxxxx.xxx:0  (local to Host xxx.xxxxx.xxx)
           UUID : 991eecd2:5662b800:34ba96a4:2039d40a
         Events : 694

    Number   Major   Minor   RaidDevice State
       4       8        1        0      active sync   /dev/sda1
      10       8       97        1      active sync   /dev/sdg1
       5       8       33        2      active sync   /dev/sdc1
       6       0        0        6      removed

       6       8       49        -      faulty
       7       8       17        -      faulty
       8       8       65        -      faulty

NOTE : Le tableau est légitimement dégradé en ce moment et je reçois un nouveau lecteur à la suite que nous parlons. Cependant, comme vous pouvez le voir ci-dessus, cela ne devrait pas avoir d'importance. Je devrais toujours être capable de supprimer /dev/sdb1 à partir de ce tableau.

14
Sajan Parikh

Ce que j'ai fini par faire était d'utiliser mknod comme @derobert suggéré de créer les périphériques que mdadm cherchait. J'ai essayé le major/mineur numéros Mdadm me disait que cela ne pouvait pas trouver avec les différentes lettres d'entraînement que j'essayais de supprimer jusqu'à ce qu'elle fonctionnait.

mknod /dev/sde1 b 8 17

Ensuite, je devais utiliser le --force Option pour l'obtenir supprimer le composant.

mdadm /dev/md0 --remove --force /dev/sde1

Ensuite, j'ai supprimé cet appareil de bloc créé.

rm /dev/sde1
7
Sajan Parikh