Столкнулся с медленной синхронизацией программного RAID. Я использую CentOS и mdadm
, который объединяет диски в RAID1
Для ускорения перестроения RAID нужно записать в /proc/sys/dev/raid/speed_limit_min
определяет максимальную скорость записи, которую mdadm
будет использовать для реконструкции дискового массива.
Снимаем ограничение:
echo 300000 > /proc/sys/dev/raid/speed_limit_min |
Смотрим, что получилось:
watch --interval=1 cat /proc/mdstat |
В моем случае скорость выросла с 979K/sec
# cat /proc/mdstat |
До 6564K/sec. Возможно и больше, но диски уже старые + возможно дряхлый SATA.
Personalities : [raid1] |
Следующие трюки используются для увеличения скорости восстановления программного RAID в Linux. Опции хороши для настройки процесса перестроения и могут существенно увеличить общую нагрузку на систему, процессор и память.
Для начала проверим текущие лимиты в системе
sysctl dev.raid.speed_limit_min |
Затем установим новые в файле /etc/sysctl.conf
dev.raid.speed_limit_min = 50000 |
Установка опции сверх-чтения
blockdev --setra 65536 /dev/mdX |
Bitmap опция
Bitmap опция оптимизирует процесс ребилда после краша, удаление или переустановки диска.
Включим опцию следующей командой
mdadm --grow --bitmap=internal /dev/md127 |
После того, как синхронизация будет завершена - выключим данную опцию
mdadm --grow --bitmap=none /dev/md127 |