По теме.
Почему при преобразовании из RAID-1 в RAID-5 с помощью mdadm массив RAID 1 должен содержать 2 устройства и не более 2 устройств? Я недостаточно понимаю RAID, чтобы указать причину.
Предпосылки: Мои три массива RAID-1 содержат по 3 устройства каждый, моя цель - удалить одно устройство из двух массивов и присоединить запасные устройства к оставшемуся массиву RAID-1. В результате останется два массива RAID-1 с 2 устройствами в каждом и оставшийся массив RAID с 4 устройствами. Цель состоит в том, чтобы преобразовать массив RAID-1 из 4 устройств в RAID-5. Это не обсуждение того, какие архитектуры RAID лучше или хуже, это просто процесс преобразования массива RAID-1 в массив RAID-5.
Пути миграции с RAID-1 на RAID-5 нет, за исключением особого случая с двумя дисками, где RAID-1 удобно совпадает с RAID-4 и RAID-5 (поскольку четность одного бита является битом сам), поэтому код миграции просто изменяет уровень RAID, не затрагивая данные.
После преобразования в RAID-5 вы можете добавить в массив дополнительные диски - этот путь миграции существует.
Итак, ваш план миграции будет следующим:
/usr/share/mdadm/checkarray …
)--grow … -l5
)--grow … --add …
)--grow … -n4
).¹ Это сложно, потому что нет хорошего способа уменьшить количество дисков. Вы можете из аварийной системы перезаписать суперблок RAID и использовать --assume-clean
вариант, чтобы избежать перестройки, но вам нужно использовать ту же версию суперблока, что и раньше (используйте mdadm --examine …
на одном из комплектующих устройств, чтобы узнать).
Согласно документация mdadm, вы можете «обновить» рейд зеркала (raid1) до рейда с пониженной четностью (raid5), а затем добавить новый диск. Ваш рейд в большинстве случаев не выдержит ни одного сбоя диска во время восстановления, поэтому на всякий случай у вас должна быть последняя резервная копия.
Это не будет работать на лету и так просто. Если вы хотите изменить уровень RAID с 1 на 5, вам необходимо:
RAID-1 использует зеркалирование, что означает идентичную копию вашего диска. Однако RAID-5 использует другую технику, называемую распределенной четностью. Эта страница объясняет стандартные уровни RAID.
На самом деле это довольно просто, используйте параметр "--grow"