Снижение скорости восстановления RAID в программном обеспечении Linux?

8437
David

Это может показаться глупым, но есть ли способ преднамеренно снизить скорость перестройки в программном RAID-массиве Linux? (В основном, снижается пропускная способность всех дисков, чтобы она не была максимальной).

Сам RAID - это просто набор дисков, подключенных через внешний SATA к блоку Slackware 13.37 с программным RAID (все, что контролируется mdadm). Диски не самого высокого качества (это бюджетная домашняя система), и я просто хотел бы быть спокойным, что я не слишком их подталкиваю.

Может быть, есть способ приостановить и отменить приостановку восстановления, что я могу сценарий делать время от времени?

4
Можете ли вы сложить причины, по которым вам нужно такое поведение, потому что, насколько я понимаю, RAID собирается один раз при настройке и восстанавливает при добавлении / замене диска. Braiam 10 лет назад 0
@Braiam: Как уже упоминалось в вопросе, речь идет в основном о душевном спокойствии. Эти накопители представляют собой потребительские накопители Western Digital с исправлениями микропрограммы для устранения проблемы TLER с программным RAID-массивом. Есть * случайные * ложные сбои. Иногда устройства имеют одинаковое количество событий RAID и могут быть просто собраны, иногда нет, и ложный сбой необходимо восстановить. Я просто хотел бы перестраивать медленно, чтобы избежать еще одного ложного сбоя, пока он идет. David 10 лет назад 0
Не беспокойтесь, я просто пытался определить, насколько глупой была ваша причина;) Braiam 10 лет назад 0
Я сталкиваюсь с подобной проблемой, так как мой Synology NAS время от времени выключается из-за интенсивного использования диска. Плохо то, что повторная синхронизация RAID создает большую нагрузку на диск, поэтому NAS перезагружается, затем запускает повторную синхронизацию, а затем перезагружается ... Это никогда не заканчивается. Так что большое спасибо за вопрос и ответ! Yvan 9 лет назад 0
Одним из примеров является то, что мне пришлось немного поработать, но мой RAID-массив решил перепроверить сам. Очевидно, что это привело к тому, что диски оказались максимально эффективными и невозможными. Я понимаю, что это могла быть ошибка чтения, но в данный момент работа была важнее проверки. Shiki 7 лет назад 0
Хорошие причины приостановить или замедлить это завершить новую установку быстрее. Joachim Wagner 6 лет назад 0

1 ответ на вопрос

10
Paul

You can pause a rebuild with this:

echo "idle" > /sys/block/md0/md/sync_action 

Assuming md0 is your md device. However, mdadm will commence rebuilding on an "event" which it isn't clear what that would be. I suspect a read or write to the array will kick off the rebuild again - so often this command does nothing obvious as the rebuild stops and then immediately restarts. If you have multiple md devices, then this will cause mdadm to rebuild the next one that needs it.

To throttle the rebuild, you can use:

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

This will limit the rebuild maximum throughput to 5Mb/s. You can see the current resync speed by doing

cat /proc/mdstat 
Мне * очень * нравится эта опция `speed_limit_max`. (То, что я сейчас вижу, подтверждается на моей локальной странице man для `md`, и это здорово.) Первый вариант, вероятно, будет работать для меня, поскольку файловая система в массиве не смонтирована, а перестройка находится в прогресс. Но опция `speed_limit_max` кажется более простой. David 10 лет назад 0