Восстановление программных RAID-массивов
Oct 22, 2015 18:53 · 257 words · 2 minute read
Работа с программными 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