Нужная вам терминология - «Миграция уровня RAID».
Согласно этому , это возможно. Я не сделал этого, но процедура выглядит так, как будто вы должны добавить новый диск в качестве горячей точки к существующему массиву, а затем использовать mdadm для обновления уровня рейда и количества устройств рейда.
Для этого вам понадобится новый mdadm: mdadm-2.6.9 (например, centos 5.x), похоже, не поддерживает его, но mdadm-3.1.4 (например, ubuntu 11.10) делает:
Grow Grow (or shrink) an array, or otherwise reshape it in some way. Currently supported growth options including changing the active size of component devices and
changing the number of active devices in RAID levels 1/4/5/6, changing the RAID level between 1, 5, and 6, changing the chunk size and layout for RAID5 and
RAID5, as well as adding or removing a write-intent bitmap.
Например, сначала добавьте новое горячее устройство / dev / sdg в массив RAID5:
$ sudo mdadm --manage /dev/md/md0 --add /dev/sdg
Затем преобразуйте в массив RAID6 и восстановите его до чистого состояния. Параметр --raid-devices 4 сообщает вам, сколько дисков у вас есть в новом массиве.
$ sudo mdadm --grow /dev/md/md0 --raid-devices 4 --level 6
Я понятия не имею, как быстро это будет все же. По моему опыту с выполнением рейдовых миграций на аппаратных RAID-контроллерах, было быстрее создать новый массив с нуля и восстановить на него свою резервную копию.
Обязательное предупреждение: план провала. Сохраняйте резервную копию и учитывайте возможные простои.
Кроме того, проверьте это на виртуальной машине или что-то подобное раньше, это из моих заметок, и я не делал это в течение длительного времени. Это может быть неполным.
Вам понадобятся
add
диски для массива:Сделайте это для каждого из трех дисков и соответственно замените имена устройств.
Вырастить массив:
источник
Воспользуйтесь этой
--backup-file
опцией, чтобы в случае потери питания вы могли продолжать наращивать устройство после перезагрузки и гарантировать отсутствие потери данных.Резервный файл должен быть сохранен в файловой системе, а не в том массиве, который вы собираетесь увеличивать.
--backup-file=
необходим, когда--grow
используется для увеличения количества raid-устройств в RAID5 или RAID6, если нет доступных запасных устройств, или для сжатия, изменения уровня RAID или компоновки. См. Ниже раздел «РЕЖИМ РОСТА», посвященный изменениям RAID-устройств. Файл должен храниться на отдельном устройстве, а не в изменяемом массиве RAID.--continue
дополняет--freeze-reshape
вариант для сборки. Он необходим, когда--grow
операция прерывается, и не перезапускается автоматически из-за--freeze-reshape
использования во время сборки массива. Эта опция используется вместе с командой-G
(--grow
) и устройством для ожидаемого изменения формы, которое будет продолжено. Все параметры, необходимые для продолжения изменения формы, будут считаны из метаданных массива. Если для начальной--grow
команды была--backup-file=
задана опция, для опции продолжения потребуется указать точно такой же файл резервной копии.Любой другой параметр, переданный вместе с
--continue
опцией, будет игнорироваться.источник