Недавно я сменил диски в моем RAID5 с 3x2TB на 3x3TB. Я также хотел изменить размер блока с 512 КБ по умолчанию на 128 КБ. Я добавил в массив все новые устройства и запускаю:
mdadm /dev/md1 --grow --backup-file=/boot/md1_grow_backup_file --chunk=128
Параметр --backup-file необходим из-за изменения размера блока, а указанный им файл находится на другом блочном устройстве.
Мне нужно выключить сервер, чтобы физически переместить его, но операция изменения формы идет намного медленнее, чем я ожидал, поэтому мне интересно, могу ли я прервать процесс и продолжить его после перезагрузки.
На странице руководства есть некоторая информация о прерывании процесса --grow / reshape, но мне кажется, что это было сделано для того, чтобы покрыть некоторые катастрофические обстоятельства - потерю питания, блокировку сервера и т. Д.
Можно ли корректно остановить изменение формы массива mdadm? Если да, то как остановить массив и как возобновить изменение формы после загрузки? Будет ли нужен файл резервной копии?
В первой части вы можете стать жертвой медленной скорости восстановления MD по умолчанию.
Хорошая статья, описывающая варианты, находится по адресу:
http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html
Но вкратце:
sysctl -w dev.raid.speed_limit_min=1000
sysctl -w dev.raid.speed_limit_max=100000
Чтобы гарантировать доступность от 1 до 100 МБ для перестроек, если сервер активен, повышение минимального значения - хороший способ ускорить процесс, но за счет некоторой скорости отклика.
Вы должны остановить массив перед выключением:
mdadm -S /dev/md1
Вы также можете поиграть с переменными в / sys / block / md1 / md, наиболее интересными являются array_state и sync_action. Вот документация: https://www.kernel.org/doc/Documentation/md.txt Но помните, у вас есть только одна попытка.
Если нет резервной копии этих данных - выключать машину не следует.
Напишите, пожалуйста, что вы делали и пережили ли рейд.