Вывалился диск из RAID1 (софтовый)


RAID как известно увеличивает шансы сохранения важных данных но иногда с самим raid-дом бывают неполадки. Недавно как раз это произошло на моём сервере. После перезагрузки один из дисков вылетел из массива. Узнал я это зайдя в панельку ISPconfig, на мониторе красным по белому красовалась предупреждение.

Первым делом я подумал что один из дисков сдох. Для уточнения ситуации я залогинился по SSH и выполнил команду:

<code>mdadm --query --detail /dev/md1</code>

Увидел что /dev/sdb2 выпал из массива. Тогда я командой:

<code>mdadm -a /dev/md1 /dev/sdb2</code>

добавил его обратно в массив. Проверил статус командой:

<code>cat /proc/mdstat</code>

После этого наблюдал процесс синхронизации RAID1.

А причина такого вылета была банальна. Я вырубил сервер (для прочистки кулеров от пыли) нажатием на кнопку питания а это оказалось критично для массива.

После замены вылетевшего диска необходимо установить на новый диск grub. В своём случае я это сделал командой:

<code>grub-install /dev/sdb</code>
Увеличение скорости перестроения программного RAID в Linux
Перестроение большого программного RAID в Linux может занимать десятки часов.
Скорость синхронизации mdraid зависит от proc-переменных
/proc/sys/dev/raid/speed_limit_max и /proc/sys/dev/raid/speed_limit_min,
задающих максимальную и минимальную пропускную способность синхронизации
данных. По умолчанию значения этих переменных выставлены в 200000 и 1000 (Кб).
Манипулируя данными параметрами можно существенно увеличить скорость
перестроения RAID-массива.
Подобрать оптимальные значения можно в зависимости от производительности
текущей дисковой системы, чем выше скорость синхронизации, чем меньше ресурсов
остается для обработки текущих дисковых операций. Установим минимальную
скорость в 50 Мб/сек, а максимальную в 300 Мб/cек:
   echo 50000 > /proc/sys/dev/raid/speed_limit_min
   echo 300000 > /proc/sys/dev/raid/speed_limit_max
Посмотреть текущую скорость ресинхронизации можно в выводе команды:
   cat /proc/mdstat
В результате вышеуказанных манипуляций время перестроения RAID было уменьшено с 22 до 2 часов.
Если для рабочего RAID включить режим сохранения битовых карт (write-intent
bitmap), то можно дополнительно увеличить скорость ресинхронизация после
развала RAID в результате краха системы или экстренного отключения питания.
Обратной стороной данного режима является небольшое замедление операций записи
данных в RAID:
   mdadm --grow --bitmap=internal /dev/md0
Отключить данный режим можно так:
   mdadm --grow --bitmap=none /dev/md0