cat /proc/mdstat
Personalities : [raid1] [raid0] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
8393856 blocks [2/2] [UU]
md1 : active raid1 sdb2[1] sda2[0]
2104448 blocks [2/2] [UU]
md2 : active raid1 sdb3[1] sda3[0]
282535040 blocks [2/2] [UU]
[>....................] resync = 0.2% (674432/282535040) finish=5133.2min speed=913K/sec
unused devices:
Причем, скорость не растет со временем (возможно, тут я ошибаюсь, она повышается, но медленно) и перспектива ждать 5000 минут до окончания ребилда очень не радужная.
Для управления скоростью ребилда рейда есть два параметра:
cat /proc/sys/dev/raid/speed_limit_min
1000
cat /proc/sys/dev/raid/speed_limit_max
200000
То, что скорость фактически урезана на уровне 1 мегабайта секунду вполне оправданно на случай, если на сервере продолжает работать какой-либо софт. Но если все сервисы приостановлены на время ребилда, можно спокойно увеличить эту скорость мегабайт так до 50 в секунду посредством команды:
echo 50000 > /proc/sys/dev/raid/speed_limit_min
А теперь наблюдаем за результатом:
cat /proc/mdstat
Personalities : [raid1] [raid0] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
8393856 blocks [2/2] [UU]
md1 : active raid1 sdb2[1] sda2[0]
2104448 blocks [2/2] [UU]
md2 : active raid1 sdb3[1] sda3[0]
282535040 blocks [2/2] [UU]
[>....................] resync = 1.1% (3379136/282535040) finish=129.8min speed=35831K/sec
unused devices:
Резюмируя все выше сказанное - если в системе есть активный ввод/вывод, то ребилд RAID ждет времени, когда ввод-вывод освобождается и только тогда может повышать скорость ребилда выше speed_limit_min. Если же требуется заставить приложения "подвинуться" и дать синхронизации массива повышенный приоритет, то необходимо повысить speed_limit_min до 10000 или выше (в зависимости от нагрузки на систему).
сенк. Было полезно ...
ReplyDeleteТолько у меня что то не видно увеличения!?
Не факт, что оно будет, при отсутствии нагрузки на диск ребилд итак идет с максимальной скоростью.
ReplyDeleteА что делать если на команды не реагирует?
ReplyDeleteПри
mdadm -a /dev/md0 /dev/sdb1
Сначала speed=18000 K/sec в течении пары минут падает и держится на 4 - 30 K/sec