Контейнер DDF не восстанавливается после добавления сменного диска - PullRequest
0 голосов
/ 05 ноября 2019

Я выполняю тест с массивом mdadm в контейнере ddf, в котором после имитации неисправного устройства и замены нового устройства массив контейнеров ddf не перестраивается с добавленным или существующим запасным. Тестовая система представляет собой виртуальную машину с 10 виртуальными дисками. Вот пример:

  • Создание контейнера ddf
# mdadm -C /dev/md/ddf0 /dev/sd[b-k] -n 10 -e ddf
mdadm: container /dev/md/ddf0 prepared.
  • Создание нескольких массивов mdadm внутри контейнера
# mdadm -C /dev/md/raid10_test1 /dev/md/ddf0 -n 8 -l 10 -z 1G -c 32K
mdadm: array /dev/md/raid10_test1 started.

# mdadm -C /dev/md/raid10_test2 /dev/md/ddf0 -n 8 -l 10 -z 1G -c 32K
mdadm: array /dev/md/raid10_test2 started.

# mdadm -C /dev/md/raid5_test1 /dev/md/ddf0 -qn 8 -l 5 -z 1G -c 32K
mdadm: array /dev/md/raid5_test1 started.

# mdadm -C /dev/md/raid6_test1 /dev/md/ddf0 -n 8 -l 6 -z 1G -c 32K
mdadm: array /dev/md/raid6_test1 started.

# mdadm -C /dev/md/raid1_test1 /dev/md/ddf0 -n 2 -l 1 -z 1G -c 32K
mdadm: array /dev/md/raid1_test1 started.

# mdadm -C /dev/md/raid1_test2 /dev/md/ddf0 -n 3 -l 1 -z 1G -c 32K
mdadm: array /dev/md/raid1_test2 started.   
  • Пометить сбой и удалить устройство из одного массива
# mdadm /dev/md/raid10_test1 --fail /dev/nvme5n1
mdadm: set /dev/sde faulty in /dev/md/raid10_test1

# mdadm /dev/md/ddf0 --remove /dev/nvme5n1
mdadm: hot removed /dev/sde from /dev/md/ddf0
  • Протереть заголовок на удаленном устройстве
# wipefs -a /dev/sde
/dev/sde: 4 bytes were erased at offset 0x3ffffe00 (ddf_raid_member): de 11 de 11
  • Добавьте устройство обратно в массив
# mdadm /dev/md/ddf0 --add /dev/sde
mdadm: added /dev/sde
  • Устройство добавлено как новый Global Spare, и повторная переплата не выполняется
# mdadm --examine /dev/md/ddf0
[snip..]
 Physical Disks : 1023
      Number    RefNo      Size       Device      Type/State
         0    a47420c0   1015808K /dev/sdb        Global-Spare/Online
         1    1a49734b   1015808K /dev/sdc        active/Online
         2    c30bd310   1015808K /dev/sdd        active/Online
         3    2068fdea   1015808K                 active/Offline, Failed, Missing
         4    4af60472   1015808K /dev/sdf        active/Online
         5    77c8d4a3   1015808K /dev/sdg        active/Online
         6    e26a1c6d   1015808K /dev/sdh        active/Online
         7    8ed9b610   1015808K /dev/sdi        active/Online
         8    eeaca06e   1015808K /dev/sdj        active/Online
         9    26b4a06b   1015808K /dev/sdk        active/Online
        10    489e4608   1015808K /dev/sde        Global-Spare/Online      <<< Device added back in as spare

Почему контейнер не запускает процесс перекомпоновки автоматически? Это потому, что поддерживающее устройство не контролируется контроллером BIOS Raid?

...