Answers:
警告:请先备份,然后再遵循此处给出的任何建议:-)
编辑/etc/mdadm.conf
:
ARRAY / dev / md1 level = raid0 num-devices = 2 UUID = d89d9d45:9a420812:c44c77eb:7ee19756 devices = / dev / sdb8,/ dev / sda8
我刚刚输入了自己的输出,并将127更改为1。重新启动,它现在应该是md1。
如果您没有mdadm.conf
,并希望将其自动组装到md1 ,则可以执行以下操作:
mdadm具有“首选未成年人”的概念。例如,一旦将某个次要数字分配给一个数组并存储在超级块中,则每次自动组装该数组时都会使用它。验证一下:
mdadm --detail / dev / md127
如果它显示“ Preferred Minor:127”,这是您的问题。您需要更新首选的未成年人。这该怎么做:
您不能只更改首选的未成年人。如果这是您的根设备,则需要引导进入恢复或单用户模式,然后卸载文件系统:
mdadm --stop / dev / md127
mdadm --assemble --update = super-minor / dev / md1 / dev / sdb8 / dev / sda8
然后,将md127组装为md1。而且将来也应该保持这种方式。
较新的数组不存储“ Preferred Minor”数字,并且不支持“ --update = super-minor”。相反,它们存储可以通过以下方式更改的名称:
mdadm --stop / dev / md127
mdadm --assemble --update = name --name = 2 / dev / md1 / dev / sdb8 / dev / sda8
或者,您可以指定'hostname:2'来使所有内容与其他数组保持一致(使用--detail查找当前名称)。
只是为了增加haimg的出色答案。即使使用mdadm.conf,系统(至少对于Ubuntu而言)仍可能在读取mdadm.conf之前自动组装阵列。因此,当找到它时,它只会忽略反正刚刚组装的数组。
为了解决这个问题,请运行sudo update-initramfs -u
以重新生成适当的initrd。
相关链接:http : //ubuntuforums.org/showthread.php?t=1764861%29%3a
mdadm.conf
,仅重新引导是不够的;更新initramfs可以解决问题。
没有其他答案对我有用,但是在Centos中,我使用了以下指南。问题是/etc/mdadm.conf在启动时并未真正使用,只有在安装新内核或手动重新创建initramfs时才会更新。因此,基本上您只需要:
dracut --force
来源:http : //realtechtalk.com/mdadm_change_wrong_device_name_md127_fix_and_solution_in_Linux-1783-articles
版本0.9的超级块没有名称,它们是在版本1中引入的。/dev/md127
不是阵列的名称,它是阵列的设备文件的名称,这是raid块设备的次要数字的直接结果。组装阵列时,可以随意选择这个较小的数字。
如果需要,UUID为阵列提供唯一的标识符。如果您希望使用易于理解的名称或结构化名称,请在阵列中放入LVM物理卷。