По какой-то причине, когда я пытаюсь переименовать массив mdadm raid в текстовое имя, изменение не происходит.
Я попробовал совет из этого вопроса о неисправности сервера , но безрезультатно.
~$ mdadm --version
mdadm - v3.1.4 - 31st August 2010
~$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Sep 27 08:32:32 2011
Raid Level : raid1
Array Size : 1953513424 (1863.02 GiB 2000.40 GB)
Used Dev Size : 1953513424 (1863.02 GiB 2000.40 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Oct 2 17:59:37 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : omicron:0 (local to host omicron)
UUID : 75c4a555:482aecd0:ade70dfc:1547926a
Events : 17
Number Major Minor RaidDevice State
0 8 80 0 active sync /dev/sdf
1 8 96 1 active sync /dev/sdg
~$ sudo mdadm --stop /dev/md0
mdadm: stopped /dev/md0
~$ sudo mdadm --assemble /dev/md/alpha --update=name /dev/sd[gf]
mdadm: /dev/md/alpha has been started with 2 drives.
~$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Sep 27 08:32:32 2011
Raid Level : raid1
Array Size : 1953513424 (1863.02 GiB 2000.40 GB)
Used Dev Size : 1953513424 (1863.02 GiB 2000.40 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Oct 2 18:06:11 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : omicron:0 (local to host omicron)
UUID : 75c4a555:482aecd0:ade70dfc:1547926a
Events : 17
Number Major Minor RaidDevice State
0 8 80 0 active sync /dev/sdf
1 8 96 1 active sync /dev/sdg
~$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdf[0] sdg[1]
1953513424 blocks super 1.2 [2/2] [UU]
md126 : active (auto-read-only) raid1 sdd[0] sde[1]
1953513424 blocks super 1.2 [2/2] [UU]
md127 : active (auto-read-only) raid1 sdb[0] sda[1]
976762496 blocks [2/2] [UU]
unused devices: <none>
Как вы можете видеть, имя все еще сообщается omicron:0
и все еще доступно через старый файл устройства. Попытка sudo mdadm --detail /dev/md/alpha
будет работать, и сообщать то же самое, неправильное имя до следующей перезагрузки, когда он перестанет работать.
Кажется, что когда выясняешь, какое имя вставить, mdadm запутывается и вместо этого просто создает файл устройства.
В СТОРОНУ
Есть ли способ заставить mdadm принудительно обновить часть имени суперблока (т. Е. Явно указать имя, которое должен иметь массив) без необходимости явного повторного создания суперблока? (то есть sudo mdam --zero-superblock /dev/sd[fg]; sudo mdadm --create /dev/md/alpha --raid-devices=2 --level=1 --assume-clean --name=alpha /dev/sd[fg]
)
Проблема в том, что после перезагрузки, несмотря на добавление ARRAY /dev/md/alpha metadata=1.2 name=omicron:alpha UUID=c66a267...
в mdadm.conf, указанный файл устройства исчезает и заменяется файлом стандартного формата. (/ dev / md125 или аналогичный)
Как сделать так, чтобы переименованный массив mdadm сохранил свое имя? - Как я могу сделать так, чтобы Ubuntu сохранял файлы устройств между загрузками?
sudo mdadm --assemble /dev/md/alpha --name={newname} --update=name /dev/sd[gf]
Надеюсь, что это имеет смысл или проясняетmdadm --stop --scan md127
Способ заставить Ubuntu сохранять изменения имени при загрузке - обновить ваши initramfs. После обновления имени массива и mdadm.conf вам необходимо выполнить следующую команду:
Весь процесс:
Третья команда должна вернуть что-то вроде:
Вставьте результат в /etc/mdadm/mdadm.conf (заменив старую строку). Или выполнить:
Следующий прогон:
Наконец, перезагрузите компьютер.
Это обсуждение было полезным .
источник
Первый ответ по pille и NN работает.
Хитрость в том, что если вы не укажете эту
--name
опцию, единственное переименование выполняется путемmdadm
присвоения имени массива из номера устройства, которое он выделил. В этом вопросе это 0, поэтому новое имя массива 0.Поскольку вы указываете имя устройства (здесь «альфа») для использования в команде сборки, оно будет создавать и использовать это имя устройства. Но при автозапуске
mdadm
создает устройство на основе имени, которое оно видит в суперблоке, в данном случае это 0, поэтому имя устройства, указанное в команде ассемблера, теряется.Чтобы сделать ваше имя измененным и последовательным, вы должны использовать одно и то же имя в последней части имени вашего устройства и в новом имени массива. В этом случае для устройства «альфа» вам придется использовать эту командную строку:
Вы также можете изменить имя хоста, для этого вы должны явно объявить его с помощью
-name=<hostname>:<array_name>
синтаксиса.Это может быть полезно, например, после изменения имени машины.
источник
Кажется, что ответ, который вы ищете, находится прямо на странице руководства mdadm
и для изготовления
Что объясняет, почему атрибут name не является липким после его установки. Если вы все же сделали это, пожалуйста, ответьте с комментарием, ответ которого помог вам. Кроме того, вы всегда можете создать символические ссылки, используя правило udev и UUID массива в качестве привязки.
Я не вижу смысла в добавлении поддельного имени в /etc/mdadm.conf, вы уже используете UUID, который является каноническим именем массива. Добавление другой переменной, которую вы считаете целесообразным для изменения, является просто ненужным обслуживанием и требует проблем, например, массив не запускается.
Помимо этих наблюдений, лучшее место, чтобы понять, почему вы просто не можете обновить имя во время выполнения, - это пинговать список рассылки linux-raid.
источник
после изменения имени пытались ли вы обновить свой
mdadm.conf
?источник
В mdadm есть ошибка, когда тома raid были созданы внутри с пробелом в имени. Эти тома не будут правильно подключены из-за ошибки формата в сгенерированном файле /etc/mdadm/mdadm.conf. Вам нужно переименовать их там, но это не будет постоянным. Поэтому переименование внутренних имен необходимо ... но оно не поддерживается всеми контроллерами RAID, которые блокируют свои метаданные и не поддерживают параметр имени. Я не вижу, как переименовать эти тома (даже если на них ссылается внутренний UUID, это имена, используемые Linux; в Windows, напротив, такой ошибки нет, и они прекрасно монтируют тома RAID, содержащие пробелы в своих именах)!
источник