mdadm: замена диска обнаруживается как запчасть и отказывается синхронизировать

Вводная часть

У меня были следующие устройства в моем /dev/md0 НАБЕГ 6: /dev/sd[abcdef]

Следующие диски также присутствовали, не связанные с RAID: /dev/sd[gh]

Следующие диски были частью картридера, который был подключен, снова, не связанный: /dev/sd[ijkl]

Анализ

sdfкабель SATA разложился (Вы могли сказать, что он был отключен в то время как используемый), и sdf был впоследствии отклонен от /dev/md0 массив. Я заменил кабель, и диск вернулся, теперь в /dev/sdm. Не бросайте вызов моему диагнозу, нет никакой проблемы с диском.

mdadm --detail /dev/md0 показал sdf(F), т.е. это sdf было дефектным. Таким образом, я использовал mdadm --manage /dev/md0 --remove faulty удалить неисправные диски.

Теперь mdadm --detail /dev/md0 показал "удаленный" в пространстве где sdf используемый, чтобы быть.

root@galaxy:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Jul 30 13:17:25 2014
     Raid Level : raid6
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 3906887168 (3725.90 GiB 4000.65 GB)
   Raid Devices : 6
  Total Devices : 5
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Tue Mar 17 21:16:14 2015
          State : active, degraded
 Active Devices : 5
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : eclipse:0
           UUID : cc7dac66:f6ac1117:ca755769:0e59d5c5
         Events : 67205

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       32        1      active sync   /dev/sdc
       4       0        0        4      removed
       3       8       48        3      active sync   /dev/sdd
       4       8       64        4      active sync   /dev/sde
       5       8       16        5      active sync   /dev/sdb

По некоторым причинам RaidDevice "удаленного" устройства теперь соответствует тому, которое активно. Так или иначе давайте попробуем, добавляет предыдущее устройство (теперь известный как /dev/sdm) потому что это было исходным намерением:

root@galaxy:~# mdadm --add /dev/md0 /dev/sdm
mdadm: added /dev/sdm
root@galaxy:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Jul 30 13:17:25 2014
     Raid Level : raid6
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 3906887168 (3725.90 GiB 4000.65 GB)
   Raid Devices : 6
  Total Devices : 6
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Tue Mar 17 21:19:30 2015
          State : active, degraded
 Active Devices : 5
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

           Name : eclipse:0
           UUID : cc7dac66:f6ac1117:ca755769:0e59d5c5
         Events : 67623

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       32        1      active sync   /dev/sdc
       4       0        0        4      removed
       3       8       48        3      active sync   /dev/sdd
       4       8       64        4      active sync   /dev/sde
       5       8       16        5      active sync   /dev/sdb

       6       8      192        -      spare   /dev/sdm

Как Вы видите, устройство обнаруживается как запчасть и отказывается синхронизировать с остальной частью массива:

root@galaxy:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdm[6](S) sdb[5] sda[0] sde[4] sdd[3] sdc[1]
      15627548672 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/5] [UU_UUU]
      bitmap: 17/30 pages [68KB], 65536KB chunk

unused devices: 

Я также попытался использовать mdadm --zero-superblock /dev/sdm перед добавлением, с тем же результатом.

Причина я использую RAID 6, состоит в том, чтобы обеспечить высокую доступность. Я не приму остановку /dev/md0 и повторная сборка его с --assume-clean или подобный как обходные решения для разрешения этого. Это должно быть разрешено онлайн, иначе я не вижу точку использования mdadm.

3
задан 17 March 2015 в 10:27
1 ответ

После долгих часов гуглинга и чрезвычайно мудрой помощи от JyZyXEL на канале #linux-raid Freenode, у нас есть решение! При этом не было ни одного прерывания RAID-массива - именно этого я и ожидал от mdadm.

По какой-то (пока неизвестной) причине состояние RAID-массива заморозилось. Победила команда cat /sys/block/md0/md/sync_action:

root@galaxy:~# cat /sys/block/md0/md/sync_action
frozen

Проще говоря, поэтому она не использовала доступные запчасти. Вся моя шерсть исчезла ценой простой команды кошки!

Так что просто разморозьте массив:

root@galaxy:~# echo idle > /sys/block/md0/md/sync_action

И вы уходите!

root@galaxy:~# cat /sys/block/md0/md/sync_action
recover
root@galaxy:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdm[6] sdb[5] sda[0] sde[4] sdd[3] sdc[1]
      15627548672 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/5] [UU_UUU]
      [>....................]  recovery =  0.0% (129664/3906887168) finish=4016.8min speed=16208K/sec
      bitmap: 17/30 pages [68KB], 65536KB chunk

unused devices: 
root@galaxy:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Jul 30 13:17:25 2014
     Raid Level : raid6
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 3906887168 (3725.90 GiB 4000.65 GB)
   Raid Devices : 6
  Total Devices : 6
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Tue Mar 17 22:05:30 2015
          State : active, degraded, recovering
 Active Devices : 5
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

 Rebuild Status : 0% complete

           Name : eclipse:0
           UUID : cc7dac66:f6ac1117:ca755769:0e59d5c5
         Events : 73562

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       32        1      active sync   /dev/sdc
       6       8      192        2      spare rebuilding   /dev/sdm
       3       8       48        3      active sync   /dev/sdd
       4       8       64        4      active sync   /dev/sde
       5       8       16        5      active sync   /dev/sdb

Блаженство :-)

.
8
ответ дан 3 December 2019 в 05:03

Теги

Похожие вопросы