Короткий ответ:
ssh -t fs "stty isig intr ^N -echoctl ; trap '/bin/true' SIGINT; sleep 1000; echo f" > foo
и остановите программу CTRL+N.
Долгое объяснение:
stty
опция intr
изменить Ваш сервер или локальный символ прерывания для не столкновения друг с другом. В команде выше я изменил символ прерывания сервера на CTRL+N. Можно изменить локальный символ прерывания и оставить один сервера без любых изменений. stty -echoctl
.stty isig
SIGINT
сигнал trap '/bin/true' SIGINT
с пустым оператором. Без прерывания у Вас не будет stdout после сигнала SIGINT на Вашем конце.С тех пор mdadm
3.3 (выпущенный 2013, 3 сентября), если у Вас есть 3.2 + ядро, можно продолжить двигаться следующим образом:
# mdadm /dev/md0 --add /dev/sdc1
# mdadm /dev/md0 --replace /dev/sdd1 --with /dev/sdc1
sdd1
устройство, которое Вы хотите заменить, sdc1
предпочтительное устройство должно сделать так и должно быть объявлено как запчасть на Вашем массиве.
--with
опция является дополнительной, если не указанный, какая-либо доступная запчасть будет использоваться.
Примечание: Вам все еще нужны 3.2 + ядро.
Во-первых, добавьте новый диск как запчасть (замена md0
и sdc1
с Вашим RAID и дисковым устройством, соответственно):
# mdadm /dev/md0 --add /dev/sdc1
Затем инициируйте операцию замены копии как это (sdd1
будучи провальным устройством):
# echo want_replacement > /sys/block/md0/md/dev-sdd1/state
Система скопирует все читаемые блоки с sdd1
кому: sdc1
. Если это прибудет в нечитабельный блок, то это восстановит его от четности. После того как операция завершена, бывшая запчасть (здесь: sdc1
) станет активным, и сбойный диск будет отмечен, как отказавший (F), таким образом, можно будет удалить его.
Примечание: кредит переходит к frostschutz и Ansgar Esztermann, который нашел исходное решение (см. дублирующийся вопрос).
Другие ответы предлагают:
Это может быть возможным соответствием требованиям
Но даже если следующее может работать, Вы, вероятно, не найдете рекомендации того вида "в книгах"...
Идея:
mdadm --manage /dev/raid5 --fail /dev/OLD
mdadm --build /dev/md42 --level=mirror --raid-devices=2 /dev/OLD /dev/NEW
mdadm --manage /dev/raid5 --re-add /dev/md42
Что должно :-) произойти:
Наблюдайте синхронизирующий прогресс (cat /proc/mdstat
или mdadm --monitor
). Если синхронизация закончена, вынимают RAID-1 из RAID-5, останавливают RAID-1, повторно добавляют/dev/NEW к RAID-5. Если все прекрасно, перезапишите mdraid суперблоки на/dev/OLD для предотвращения проблем: mdadm --zero-superblock
Предупреждение: быстрая синхронизация RAID-5 может работать, только если Вы используете битовый массив. Если у Вас нет того, затем лучше делают тест с фиктивным RAID-5 (без битового массива) сначала. Или добавьте тот. По крайней мере, добавление внешнего должно быть возможным. Иначе может быть необходимо остановить RAID-5 прежде, чем изменить устройства. Если бы Вы загружаетесь от RAID-5, это стало бы немного сложным, все же.
Если Вы не возражаете против рабочего RAID-6 (2 диска четности, а не 1), и если Вы выполняете mdadmin 3.1.x или выше, Вы могли бы преобразовать свой массив RAID-5 в RAID-6 для добавления дополнительного диска четности. Это желание поместит массив под напряжением во время восстанавливания, как бы то ни было. И это имеет некоторые последствия производительности, так как существует больше дисков четности для обновления во время записей.
Но если это завершается успешно, затем можно удержать сбойный диск на месте и когда это в конечном счете перестало работать, Вы все еще получили защиту четности для массива. Я думаю, что Вы можете conver массив от RAID6 назад к RAID5, если Вы не ожидаете для хранения его как RAID6.
Я не знаю о способе онлайн сохранить массив как RAID-5 и заменить диск, не помещая массив в ухудшенный режим, поскольку я думаю, что необходимо отметить его, как отказавший заменить его. Ваша идея копии dd могла бы быть способом сделать это.
mdadm --add
все еще необходим прежде--replace
будет работать. (mdadm
3.3, Ubuntu 15.10). Если Вы делаете--add
после--replace
, копирование начнется, как только запчасть добавляется. (Устройство остается отмеченным как "желание замены"). – Peter Cordes 16.03.2016, 07:51