Довольно часто перестроение (проверка) большого программного RAID в Linux может занимать десятки часов.
Но можно ли уменьшить время перестроения и увеличить скорость? Читаем ниже.
Максимальная и минимальная скорости перестроения (проверки) программного RAID в Linux ограничены двумя числами, посмотреть их можно так:
# cat /proc/sys/dev/raid/speed_limit_max 200000 # cat /proc/sys/dev/raid/speed_limit_min 1000
Значения указаны в КБ.
При дефолтных значениях скорость перестроения (проверки) программного RAID в Linux довольна низкая, у меня на большом массиве она была такая:
# watch --interval=1 cat /proc/mdstat Personalities : [raid1] md1 : active raid1 sdc1[1] sdd1[0] 2907016056 blocks super 1.2 [2/2] [UU] [==============>......] resync = 71.5% (2080883072/2907016056) finish=12357.4min speed=1165K/sec
Как видно из строки finish=12357.4min, окончание синхронизации мне грозит через примерно 8 дней, что немного удручает.
Теперь поменяем значения speed_limit_min и speed_limit_max:
# echo 200000 > /proc/sys/dev/raid/speed_limit_min # echo 800000 > /proc/sys/dev/raid/speed_limit_max
Через пару минут (часов) можно посмотреть как изменилась скорость перестроения:
# watch --interval=1 cat /proc/mdstat Personalities : [raid1] md1 : active raid1 sdc1[1] sdd1[0] 2907016056 blocks super 1.2 [2/2] [UU] [================>....] resync = 82.8% (2407508288/2907016056) finish=232.5min speed=35792K/sec
finish=232.5min — это уже более радостная цифра :)
Ну и в заключении посмотрим детальную информацию о нашем массиве md1:
# mdadm -D /dev/md1 /dev/md1: Version : 1.2 Creation Time : Thu Nov 32 10:42:15 2016 Raid Level : raid1 Array Size : 2907016056 (2772.35 GiB 2976.78 GB) Used Dev Size : 2907016056 (2772.35 GiB 2976.78 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Tue Jan 30 23:02:16 2018 State : clean, resync Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Rebuild Status : 83% complete Name : mysite.ru:1 (local to host mysite.ru) UUID : c163a3e8:06af0f86:08fa46a2:1ef03f1b Events : 1254 Number Major Minor RaidDevice State 0 8 18 0 active sync /dev/sdc1 1 8 34 1 active sync /dev/sdd1
Если вдруг мы захотим запустить принудительную проверку массива md1, то выполним:
echo check > /sys/block/md1/md/sync_action
На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.
Профессионально занимаюсь системным администрированием Linux -серверов и баз данных (MySQL, PostgreSQL) на протяжении последних 24 лет.