Как переименовать массив mdadm raid?

12

Я собрал новый массив рейдов, чтобы заменить старый. Однако этому новому массиву было присвоено автоматическое имя / dev / md127, и я хочу переименовать его в / dev / md3, чтобы мне не приходилось изменять другие настройки. Как переименовать массив mdadm raid?

skolima
источник

Ответы:

10

Начните с mdadm --detail /dev/md127:

Version : 0.90
Creation Time : Wed Apr 13 20:03:21 2011
Raid Level : raid10
Array Size : 656765952 (626.34 GiB 672.53 GB)
Used Dev Size : 437843968 (417.56 GiB 448.35 GB)
Raid Devices : 3
Total Devices : 2
Preferred Minor : 8
Persistence : Superblock is persistent

Первая строка показывает версию метаданных, используемую этим массивом. Теперь остановите массив:

mdadm --stop /dev/md127
mdadm --remove /dev/md127

И соберите его снова, используя новое имя. Если версия метаданных 1.0 или выше, используйте это:

mdadm --assemble /dev/md3 /dev/sd[abcdefghijk]3 --update=name

Для массивов, использующих старую структуру метаданных (скорее всего 0,90, поскольку она допускает автоматическую сборку ядра), используйте это:

mdadm --assemble /dev/md3 --update=super-minor /dev/sd[abcdefghijk]3
skolima
источник
У меня эта процедура работает нормально до перезагрузки. Затем вернемся к / dev / md127.
2
Сейчас я использую массив UUID вместо имени, поскольку он оказался для меня гораздо более надежным (например, двойная загрузка каждый раз путает имена и не вызывает проблем с UUID).
Сколима
Если это так, пожалуйста, попробуйте обновить ваш ответ.
isuldor
@briankb Я имел в виду, что меня больше не волнует, какие имена у меня заканчиваются, потому что я их больше не использую. Я поставил UUID туда, куда я бы положил, например, / dev / md3. Если ответ устарел, предложите обновленный, и я буду рад его принять. Но в целом, я бы посоветовал полностью избежать начальной проблемы, вообще не используя имена массивов.
Сколима
5

Я находился в аналогичном положении - у меня был созданный массив, который после перезагрузки был переименован в / dev / md127.

Код

mdadm --stop /dev/md127

mdadm --assemble /dev/md3 /dev/sd[cdef]1

было достаточно, чтобы массив md был переименован в / dev / md3, но, как и все остальные, после перезагрузки он вернулся бы к / dev / md127.

Я обнаружил, что если я заново соберу массив md обратно в / dev / md3, а затем заново создаю файл initramfs ( dracut --forceкак и в CentOS), то после перезагрузки он запомнит имя моего массива (/ dev / md3).

JPK
источник