Восстановление программных RAID-массивов

Oct 22, 2015 18:53 · 257 words · 2 minute read raid

Работа с программными RAID-массивами в GNU/Linux осуществляется с помощью утилиты mdadm (ранее mdctl). Весьма подробно работа с RAID-массивами описана здесь, ну а мы давайте разберемся с восстановлением работоспособности программных рейдов.

После незначительного сбоя (например, при неправильном выключении питания) может быть нарушена целостность RAID-массива:

cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sdb5[1]
      860160192 blocks [2/1] [_U]
      
md0 : active raid1 sda1[0] sdb1[1]
      52427704 blocks super 1.2 [2/2] [UU]

Видим проблему с программным массивом md1.

Более подробно получить информацию об ошибке можно командой:

mdadm --query --detail /dev/md1

Пытаемся добавить недостающий диск sda5 обратно в программный RAID-массив:

mdadm -a /dev/md1 /dev/sda5
mdadm: added /dev/sda5

Если диск нормально добавился, то начнется синхронизация массива:

cat /proc/mdstat
Personalities : [raid1] 
md1 : active raid1 sda5[0] sdb5[1]
      860160192 blocks [2/1] [_U]
      [===>.................]  recovery = 18.0% (154891584/860160192) finish=108.7min speed=108091K/sec

Если сбой был более серьезным и вышеописанные действия не помогают, но необходимо заменить проблемный жесткий диск на аналогичный по размеру (желательно того же производителя). После замены винчестера утилитой sfdisk копируем структуру разделов с работоспособного жесткого диска (sdb) на новый:

sfdisk -d /dev/sdb | sfdisk /dev/sda

Примечание. Убедиться, что на жестких дисках таблицы разделов идентичны можно командой fdisk -l.

После проделанных действий внимательно добавляем каждый раздел нового винчестера в соответствующий RAID-массив:

mdadm --add /dev/md1 /dev/sda5
mdadm: added /dev/sda5

и

mdadm --add /dev/md0 /dev/sda1
mdadm: added /dev/sda1

После успешного добавления можно проверить состояние синхронизации программных RAID-массивов с помощью:

cat /proc/mdstat

В руководствах по утилите mdadm после сборки массивов рекомендуется добавлять в файл /etc/mdadm/mdadm.conf результат вывода команды mdadm --detail --scan, например так:

mdadm --detail --scan > /etc/mdadm/mdadm.conf
tweet Share