mdadm raid1 не может выполнить повторную синхронизацию

mdadm raid1 не может выполнить повторную синхронизацию

Я пытаюсь решить эту проблему с mdadm raid1.

У меня есть сервер Ubuntu 9.04, работающий на программном 2-дисковом raid1 с mdadm. Вчера один из дисков вышел из строя, поэтому я заменил его на совершенно новый диск того же размера. Я удалил неисправный диск, скопировал раздел с оставшегося исправного диска на новый диск, а затем добавил его в raid. Он повторно синхронизировался, и система работала нормально, пока диск, который не вышел из строя, также не был помечен как неисправный.

Теперь у меня был raid, работающий исключительно на новом диске. Поэтому я купил другой диск и повторил процедуру выше. Так что теперь у меня было 2 совершенно новых диска, и raid синхронизировался. Однако через несколько минут я проверил /proc/mdstat, и raid больше не синхронизировался.

mdadm --detail /dev/md1 показывает: (sdb — первый новый диск, а sdc — второй новый диск)

root@dola:/home/jjaramillo# mdadm --detail /dev/md1 /dev/md1: Версия: 00.90 Время создания: Сб Дек 20 00:42:05 2008 Уровень рейда: raid1 Размер массива: 974711680 (929,56 ГиБ 998,10 ГБ) Использованный размер Dev: 974711680 (929,56 ГиБ 998,10 ГБ) Устройства рейда: 2 Всего устройств: 2 Предпочтительные второстепенные: 1 Постоянство: Суперблок является постоянным

Update Time : Wed Jun  2 10:09:35 2010
      State : clean, degraded

Активные устройства: 1 Рабочие устройства: 2 Неисправные устройства: 0 Запасные устройства: 1

       UUID : bba497c6:5029ba0b:bfa4f887:c0dc8f3d
     Events : 0.5395594

Number   Major   Minor   RaidDevice State
   2       8       35        0      spare rebuilding   /dev/sdc3
   1       8       19        1      active sync   /dev/sdb3

Я пробовал удалить и снова добавить диск несколько раз, но происходит то же самое. Рейд не может повторно синхронизироваться. Я посмотрел /var/log/messages и нашел следующее:

2 июня 07:57:36 ядро ​​dola: [35708.917337] sd 5:0:0:0: [sdb] Необработанный код смысла 2 июня 07:57:36 ядро ​​dola: [35708.917339] sd 5:0:0:0: [sdb] Результат: hostbyte=DID_OK driverbyte=DRIVER_SENSE 2 июня 07:57:36 ядро ​​dola: [35708.917342] sd 5:0:0:0: [sdb] Ключ смысла: Средняя ошибка [текущая] [дескриптор] 2 июня 07:57:36 ядро ​​dola: [35708.917346] Данные смысла дескриптора с дескрипторами смысла (в шестнадцатеричном формате): 2 июня 07:57:36 ядро ​​dola: [35708.917348] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 00 2 июня 07:57:36 ядро ​​dola: [35708.917357] 00 43 9e 47 2 июня 07:57:36 ядро ​​dola: [35708.917360] sd 5:0:0:0: [sdb] Доп. смысл: Неустраненная ошибка чтения - автоматическое перераспределение не удалось

Похоже, что на sdb (первом новом диске) есть какая-то ошибка. Мой вопрос в том, какой подход будет наилучшим, чтобы снова запустить raid? Я думал о том, чтобы dd'ить /dev/md1 на пустой жесткий диск, а затем переделать raid с нуля и загрузить данные обратно, но может быть есть более простое решение...

Любая помощь будет оценена по достоинству.

решение1

Вам не следует пытаться подготовить новый диск каким-либо осмысленным образом, если только ваши компоненты raid на самом деле не являются РАЗДЕЛАМИ диска, а не самими дисками. В этом случае вам следует создать раздел на новом диске того же размера, что и раздел на оставшемся активном диске.

Вам вообще не нужно трогать старый диск — он считается неисправным и ненадежным.

Правильная процедура — удалить сломанный диск, добавить новый, пустой диск, а затем использовать mdadm для добавления этого нового диска в массив. Вы бы сделали это примерно так:

mdadm --add /dev/md0 /dev/<newdrive>

Затем ядро ​​синхронизирует новый диск с массивом, копируя данные с одного оставшегося исправного диска.

решение2

РЕ:

Я удалил неисправный диск, скопировал раздел с оставшегося исправного диска на новый диск, а затем добавил его в рейд.

Вам не следует копировать разделы самостоятельно.

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

Если вы действительно сделали копию (например, dd if=/dev/good_disk of=/dev/new_disk), вы, вероятно, в конечном итоге скопировали UUID RAID или что-то еще, что позволяет mdadm узнать, какой диск какой, и затем он запутывается.

решение3

Установите новый жесткий диск, разбейте его на разделы, как предложил Том О'Коннор, а затем используйте mdadm для восстановления массива. Смотрите страницу руководства mdadm в разделе "For Manage mode:", параметр --add:

mdadm /dev/md0 --add /dev/sda1 

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

Связанный контент