Я хочу прервать текущую операцию повторной синхронизации в программном рейде Debian Squeeze. (Это обычная запланированная повторная синхронизация при сравнении. Массив raid в этом случае остается чистым. Не путайте это с перестройкой после сбоя диска и его замены.)
Как остановить запланированную операцию повторной синхронизации во время ее работы? Другой массив raid - «reync pending», потому что все они проверяются в один и тот же день (воскресная ночь) один за другим. Я хочу полностью прекратить это воскресное ночное воссоздание.
[Редактировать: sudo kill -9 1010
это не останавливает, 1010 - это PID процесса md2_resync]
Я также хотел бы знать, как я могу контролировать интервалы между повторной синхронизацией и оставшееся время до следующей.
[Edit2: я сделал, чтобы повторная синхронизация прошла очень медленно, чтобы она больше не мешала:
sudo sysctl -w dev.raid.speed_limit_max=1000
взято с http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html
В течение ночи я верну ему высокое значение, чтобы повторная синхронизация могла завершиться.
Этот обходной путь подходит для большинства ситуаций, тем не менее, было бы интересно узнать, возможно ли то, что я спросил. Например, кажется, что невозможно увеличить массив во время повторной синхронизации или повторной синхронизации «в ожидании»]
Ответы:
Если ваш массив
md0
тогдаecho "idle" > /sys/block/md0/md/sync_action
http://www.mjmwired.net/kernel/Documentation/md.txt#477
источник
/sys/block/md0/md/sync_min’. To reset this write
0` к этому файлу.Я хотел замедлить или приостановить процесс повторной синхронизации, чтобы сохранить некоторые операции ввода-вывода для резервного копирования некоторых данных на другой компьютер. Эта тема помогла мне, но я нашел другое решение.
На моем Debian Lenny:
echo "idle" > /sys/block/md0/md/sync_action
работает, но процесс повторной синхронизации немедленно перезапускается.checkarray -x --all
: работает, но результат тот же: процесс повторной синхронизации немедленно перезапускается.Поэтому я использую этот метод:
echo 0 > /proc/sys/dev/raid/speed_limit_max
источник
speed_limit_min
0, чтобы полностью приостановить повторную синхронизацию.Вы можете отменить повторную синхронизацию массива, используя следующую последовательность команд (как root):
Обратите внимание, что это может оставить ваш массив в несогласованном состоянии . Не делайте этого, если вы не уверены, что массив находится в хорошем состоянии, и повторите синхронизацию позже.
(Кредит, где кредит должен: нашел это заклинание в этой теме .)
источник
Как упоминалось выше, в системах Debian / Ubuntu
/etc/cron.d/mdadm
сценарий вызывает/usr/share/mdadm/checkarray
сценарий, чтобы инициировать повторную синхронизацию.Этот скрипт имеет опцию для отмены всех запущенных проверок синхронизации:
источник
Не уверен в том, как отменить повторную синхронизацию, но расписание контролируется
/etc/cron.d/mdadm
в системах Debian / Ubuntu.Сценарий
/usr/share/mdadm/checkarray
может пролить некоторый свет на другую часть вашего вопроса, так как это то, что называется Cron.источник
Если ваше устройство md - md0, и вы хотите остановить повторную синхронизацию, напишите:
источник
Возможное решение для этого заняло немного, чтобы вникнуть в детали.
Моя система: CentOS 6.5 mdadm v3.3.2
Постоянные проверки каждую неделю, хотел приостановить один из них, RAID чист, проверка была вызвана через скрипт /etc/cron.d/raid-check, который запускается еженедельно.
Чтобы отменить проверку, вы используете функцию --misc --action. Предполагая, что RAID-устройством является / dev / md0, и это всего лишь еженедельная проверка целостности, а не сбой устройства, вы должны были бы от имени root:
Кроме того, чтобы начать проверку согласованности
источник
Не работает, когда / sys / block / md * / md / sync_action имеет значение «resync» (в отличие от состояния «check» или «repair». Вы можете отобразить «idle» в файле sync_action, однако это не влияет на Прогресс. Этот файл документации ядра здесь неправильно утверждает, что он будет работать, но он никогда не работал для меня:
источник
Я знаю, что это пост за 4 года, но вы также можете сделать это (предполагая, что md0 в качестве массива и sdb4 в качестве ресинсингующего «диска»):
Эта команда делает вид, что sdb4 является неисправным диском, и, следовательно, удаляет его из массива, останавливая повторную синхронизацию. Если во время действия resync-stop ошибки не было, эта команда также удалит sdb4 из массива md0. Если произошла какая-либо ошибка, диск остается в сбойном состоянии, но остается в массиве.
Если вы где-то отказали диск
mdadm
, вы установите его логически не удалось. Если массив был чистым (не поврежден), то диск остается согласованным и может быть добавлен с помощью параметра --add << disk >> --assume-clean без каких-либо опасений. Если после его отсоединения было какое-либо действие (например, resync, rebuild или даже запись), то --assume-clean не выполнится и сразу же начнет действие reync.Изменение
raid.speed_limit_min
и,raid.speed_limit_max
как-то, плохая идея, потому что это влияет не только на скорость повторной синхронизации / перестроения, но и на нормальную скорость работы, и, вероятно, вы потеряете большую производительность, полученную при использовании RAID-массивов.источник
--assume-clean
работающей системой, и на оставшемся диске происходят какие-либо записи , вы напрашиваетесь на неприятности.