1

На моем сервере Ubuntu работает 3-х дисковый RAID-массив. Это работает безупречно более года, но недавно я был вынужден раздеть, переместить и восстановить машину.

Когда я собрал все это вместе и запустил Ubuntu, у меня были некоторые проблемы с дисками, которые не были обнаружены. Пару перезагрузок позже, и я решил эту проблему. Проблема теперь в том, что массив из 3 дисков отображается как ухудшенный при каждой загрузке. Почему-то кажется, что Ubuntu создал новый массив и добавил недостающий диск.

Я попытался остановить новый массив из 1 диска и добавить отсутствующий диск, но я изо всех сил. При запуске я получаю это:

root@uberserver:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md_d1 : inactive sdf1[2](S)
      1953511936 blocks

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

У меня есть два RAID-массива, и тот, который обычно появляется, когда md1 не появляется.

Я где-то читал, что вызов mdadm --assemble --scan пересобирает недостающий массив, поэтому я попытался сначала остановить существующий массив, запущенный ubuntu:

root@uberserver:~# mdadm --stop /dev/md_d1
mdadm: stopped /dev/md_d1

... а затем попытался сказать убунту, чтобы он снова поднял диски:

root@uberserver:~# mdadm --assemble --scan
mdadm: /dev/md/1 has been started with 2 drives (out of 3).

Итак, он снова запустил md1, но не извлекает диск из md_d1:

root@uberserver:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid5 sde1[1] sdf1[2]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/2] [_UU]

md_d1 : inactive sdd1[0](S)
      1953511936 blocks

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

Что здесь не так? Почему Ubuntu пытается собрать sdd1 в другой массив? Как мне вернуть этот недостающий диск домой?

[Изменить] - Я понял, что не добавил md1 для автоматического запуска в mdadm.conf . После добавления md1 в mdadm.conf он пытается подключить массив при запуске, но в нем все еще отсутствует sdd1 . Если я скажу ему попробовать и собрать автоматически, у меня будет впечатление, что он знает, что ему нужен sdd1 но не может его использовать:

root@uberserver:~# mdadm --assemble --scan
/dev/md1: File exists
mdadm: /dev/md/1 already active, cannot restart it!
mdadm:   /dev/md/1 needed for /dev/sdd1...

Что мне не хватает?

1 ответ1

4

Не уверен, что это был самый чистый способ решения проблемы, но, похоже, это снова помогло:

root@uberserver:~# mdadm --stop /dev/md_d1
mdadm: stopped /dev/md_d1

root@uberserver:~# mdadm --add /dev/md1 /dev/sdd1
mdadm: re-added /dev/sdd1

root@uberserver:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid5 sdd1[3] sde1[1] sdf1[2]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/2] [_UU]
      [>....................]  recovery =  0.0% (121728/1953511936) finish=1337.0min speed=24345K/sec

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

Все еще не понимаю, почему он не может просто добавить диск обратно в:-/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .