Перейти к основному содержанию
 

mdadm — увеличиваем скорость синхронизации массива

Linux

Системным администраторам часто приходится сталкиваться с программными массивами в Linux. Создавать, восстанавливать, менять диски. Если массив большой, то процесс синхронизации (ресинхронизации) или восстановления массива может занимать часы или даже дни.

mdadm использует переменные, которые задают максимальную и минимальную пропускную способность синхронизации. По умолчанию минимальная скорость синхронизации 1000 Кб/сек, а максимальная — 200000 Кб/сек. Посмотреть текущие значения:

cat /proc/sys/dev/raid/speed_limit_min
cat /proc/sys/dev/raid/speed_limit_max

Эти переменные можно изменять, тем самым управляя скоростью синхронизации массива.

Если вы используете SSD или NVME диски, то скорость перестроения массива можно значительно увеличить.

Рассмотрим пример, у меня есть программный RAID 1 из NVME дисков. По спецификации последовательная запись данных в данной модели диска может достигать 1500 Мб/сек. Это гораздо больше чем разрешённые 200000 Кб/сек.

Пример. Имеем массив, который восстанавливается на сервере с небольшой нагрузкой.

mdadm

Видно, что скорость восстановления 210634 Кб/сек. Увеличим максимальную скорость до 1200 Мб/сек (примерно):

echo 1200000 > /proc/sys/dev/raid/speed_limit_max

mdadm

Скорость синхронизации 987268 Кб/сек. До 1200 Мб/сек не поднялось, поскольку запись не совсем последовательная, да и другие операции кроме синхронизации в массиве идут. Сервер не сильно нагружен, но нагружен. Но мы увеличили скорость синхронизации почти в 5 раз!

Теги