4

Я не уверен, если это сообщество, чтобы спросить, но я думал, что я сделаю это:

Наш сервер, на котором установлен RAID10 с 14 накопителями через контроллер rocketraid 2470, отказался от сборки. Наша цель - не обязательно восстановить работающий RAID, но вернуть как можно больше данных.

Возможно, из-за сбоя сборки после завершения работы сервера он застревает в загрузочных циклах. В настоящее время я использую Ubuntu 16.04.1 с USB. Я определил, что 2 из 14 дисков неисправны, и определил, какие из них. Используя это руководство, я определил, какие из них и пытались собрать без них. Тем не менее, я продолжаю сталкиваться с ошибкой:

ubuntu@ubuntu:~$ sudo mdadm --assemble --verbose --force /dev/md0 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdn1 /dev/sdo1 /dev/sdp1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 1.
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/sdg1 is identified as a member of /dev/md0, slot 4.
mdadm: /dev/sdh1 is identified as a member of /dev/md0, slot 5.
mdadm: /dev/sdi1 is identified as a member of /dev/md0, slot 6.
mdadm: /dev/sdj1 is identified as a member of /dev/md0, slot 7.
mdadm: /dev/sdk1 is identified as a member of /dev/md0, slot 8.
mdadm: /dev/sdl1 is identified as a member of /dev/md0, slot 9.
mdadm: /dev/sdm1 is identified as a member of /dev/md0, slot 10.
mdadm: /dev/sdn1 is identified as a member of /dev/md0, slot 11.
mdadm: /dev/sdo1 is identified as a member of /dev/md0, slot 12.
mdadm: /dev/sdp1 is identified as a member of /dev/md0, slot 13.
mdadm: added /dev/sdd1 to /dev/md0 as 1
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: added /dev/sdf1 to /dev/md0 as 3
mdadm: added /dev/sdg1 to /dev/md0 as 4
mdadm: added /dev/sdh1 to /dev/md0 as 5
mdadm: added /dev/sdi1 to /dev/md0 as 6
mdadm: added /dev/sdj1 to /dev/md0 as 7
mdadm: added /dev/sdk1 to /dev/md0 as 8
mdadm: added /dev/sdl1 to /dev/md0 as 9
mdadm: added /dev/sdm1 to /dev/md0 as 10
mdadm: added /dev/sdn1 to /dev/md0 as 11 (possibly out of date)
mdadm: added /dev/sdo1 to /dev/md0 as 12 (possibly out of date)
mdadm: added /dev/sdp1 to /dev/md0 as 13 (possibly out of date)
mdadm: added /dev/sdc1 to /dev/md0 as 0
mdadm: /dev/md0 assembled from 11 drives - not enough to start the array.

Вот результат вызова mdadm --examine.

ubuntu@ubuntu:~$ sudo mdadm --examine /dev/sd[c-p]1 | egrep 'Events | /dev/sd'
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 560
   Events : 21944
   Events : 560

Итак, ясно, что последние три диска устарели. Возможно, что диски 11 и 13 никогда не были активными, но, поскольку они были только партнерами в рейде 1, массив до сих пор не изменялся. Я надеюсь, что, если мне удастся собрать 12-й диск, я смогу восстановить большую часть данных. Кто-нибудь знает, что я могу с этим сделать? Я также пробовал без "неактивных" дисков, но он все еще не собирает диск 12. Я знаю, что могу попробовать использовать --run, но я не уверен, что потеряю данные таким образом. Я также не решаюсь обнулить суперблок, потому что я всегда слышал, что это был последний вариант.

Обратите внимание, что, поскольку я запускаю это с USB, обычный cat /proc/mdstat не возвращает массив. Кроме того, я не знаю структуру массива (если бы я сделал это было бы намного проще).

Заранее спасибо за помощь.

1 ответ1

0

Если вас интересует только попытка восстановления данных, вы сможете собрать поврежденный, несколько поврежденный массив с

sudo mdadm --assemble --verbose --force /dev/md0 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdo1

Обратите внимание на отсутствие устаревших дисков /dev/sdn1 и /dev/sdp1 . Перевести массив в режим только для чтения.

sudo mdadm --readonly /dev/md0

и активировать его

sudo mdadm --run /dev/md0

Теперь вы можете смонтировать файловую систему и попытаться восстановить данные. Обратите внимание, что, поскольку массив находится в режиме только для чтения, вам может потребоваться передать параметры монтирования для подавления таких вещей, как воспроизведение журнала или другие начальные записи.

Поскольку /dev/sdo1 устарел и предположительно связан с /dev/sdn1 или /dev/sdp1 , вы не сможете восстановить все. Надеемся, что массив все еще находится в достаточно хорошем состоянии, что вы можете смонтировать его и восстановить некоторые данные.

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