Как мне активировать мой массив MDADM RAID5?

22

Я только что переехал, что потребовало демонтажа моего сервера и его повторного подключения. С тех пор один из моих массивов MDADM RAID5 выглядит неактивным:

root@mserver:/tmp# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md1 : active raid5 sdc1[1] sdh1[2] sdg1[0]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : inactive sdd1[0](S) sdf1[3](S) sde1[2](S) sdb1[1](S)
      3907039744 blocks

unused devices: <none>

Мне кажется, что он нашел все диски, но почему-то не хочет их использовать.

Итак, что означают метки (S) и как я могу сказать MDADM снова начать использовать массив?

[Edit] Я только что попытался остановить и собрать массив с помощью -v:

root@mserver:~# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

root@mserver:~# mdadm --assemble --scan -v
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdd1 to /dev/md0 as 0 (possibly out of date)
mdadm: added /dev/sdb1 to /dev/md0 as 1 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: /dev/md0 assembled from 1 drive - not enough to start the array.

..и входящий кот /proc/mdstatвыглядит не иначе.

[Edit2] Не уверен, поможет ли это, но это результат изучения каждого диска:

root @ mserver: ~ # mdadm - изучить / dev / sdb1

/dev/sdb1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71a3 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     1       8       17        1      active sync   /dev/sdb1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

root @ mserver: ~ # mdadm - изучить / dev / sdd1

/dev/sdd1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sat Apr 20 18:37:23 2013
          State : active
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c812869 - correct
         Events : 955205

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     0       8      113        0      active sync   /dev/sdh1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm - изучить / dev / sde1

/dev/sde1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun Apr 21 14:00:43 2013
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c90cc70 - correct
         Events : 955219

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     2       8       97        2      active sync   /dev/sdg1

   0     0       0        0        0      removed
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm - изучить / dev / sdf1

/dev/sdf1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71b7 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     3       8       33        3      active sync   /dev/sdc1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

У меня есть некоторые заметки, которые предполагают, что диски были первоначально собраны следующим образом:

md0 : active raid5 sdb1[1] sdc1[3] sdh1[0] sdg1[2]
      2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

[Edit3]

Просматривая журнал это выглядит как произошло следующее (на основе Update Timeв --examineрезультатах):

  1. SDB и SDF были выбиты через некоторое время после 13:22 20-го
  2. SDD был выбит через некоторое время после 18:37 20-го
  3. сервер был выключен через некоторое время после 14:00 1-го числа

Учитывая, что два диска вышли из строя (по-видимому) одновременно, я думаю, что было бы достаточно безопасно предположить, что массив не был бы записан после этой точки (?), И поэтому было бы относительно безопасно принудительно восстановить его в правильный заказ? Какая самая безопасная команда для этого, и есть ли способ сделать это без внесения каких-либо изменений?

Джон Кейдж
источник

Ответы:

28

Эти Sметки означают , что диск рассматриваются как «запасной». Вы должны попробовать остановить и перезапустить массив:

  mdadm --stop /dev/md0
  mdadm --assemble --scan

чтобы собрать массив, и если это не сработает, вам может потребоваться обновить ваш mdadm.conf, см., например, этот вопрос, чтобы узнать, как это сделать.

Стефан Зайдель
источник
Пробовал , что (и добавил , -vчтобы увидеть , что происходит) , но все диски , которые должны быть добавлены получить ответы по следующим направлениям: mdadm: /dev/sdb1 is busy - skipping.
Джон Кейдж
просто остановите md0 и снова
соберите
попробовал это - все еще не удача (см. мое редактирование)
Джон Кейдж
2
Хорошо, похоже, он думает, что RAID не был выключен должным образом, если вы уверены, что это не так, попробуйте -Rили -f. Если это не удастся, заново создайте массив с помощью mdadm create /dev/md0 --assume-clean <original create options> /dev/sd[dbfe]1. Имейте в виду: все эти параметры могут уничтожить ваши данные.
Стефан Зайдель
3
Ну, я пошел на это и mdadm --assemble --scan --forceработал. Массив восстановлен и работает, и у меня есть доступ к моим данным :)
Джон Кейдж
9

Этот вопрос немного устарел, но ответ может помочь кому-то, кто сталкивается с подобной ситуацией. Глядя на количество событий из предоставленного вами вывода mdadm --examine , они кажутся достаточно близкими (955190 - для sdb1 и sdf1, 955219 для sde1 и для sdd1 - 955205). Если они ниже 40-50, это нормально, и в этом случае рекомендуемый порядок действий - собрать массив вручную, заставив mdadm принимать диски, несмотря на разницу в количестве событий:

Остановить массив:

mdadm --stop /dev/md0

Затем попробуйте собрать массив вручную:

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1

Проверьте состояние массива, чтобы проверить, в порядке ли список / структура диска (в нижней части вывода команды будет показано, какой диск находится в каком состоянии и в какой позиции массива):

mdadm --detail /dev/md0

Если структура в порядке, проверьте процесс восстановления:

cat /proc/mdstat
Милен
источник
0

Вы можете активировать Raid md0 с помощью следующей команды

mdadm -A /dev/md0

и эта команда для обновления файла mdadm.conf

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Крижна
источник