XXL*_*XXL 27 linux raid software-raid mdadm
这是mdadm -Esv的输出:
ARRAY /dev/md127 level=raid0 num-devices=2 UUID=d89d9d45:9a420812:c44c77eb:7ee19756 devices=/dev/sdb8,/dev/sda8
这是一个 v0.90 数组。问题如下: mdadm 如何为相应的设备分配名称,它存储在哪里以及如何更改它?
我想要完成的是将md127重命名为我喜欢的不同名称。
hai*_*img 35
警告:请在遵循此处给出的任何建议之前进行备份:-)
编辑/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。将来也应该保持这种状态。
较新的数组不存储“首选次要”编号,也不支持“--update=super-minor”。相反,它们存储一个可以更改的名称:
mdadm --stop /dev/md127
mdadm --assemble --update=name --name=2 /dev/md1 /dev/sdb8 /dev/sda8
或者,您可以指定 'hostname:2' 以使所有内容与其他数组保持一致(使用 --detail 查找当前名称)。
Wto*_*wer 14
只是为了补充 haimg 的优秀答案。即使使用 mdadm.conf,系统(至少对于 Ubuntu)仍可能在读取 mdadm.conf 之前自动组装阵列。因此,当它找到它时,它只会忽略刚刚组装的数组。
为了解决这个问题,运行sudo update-initramfs -u以重新生成正确的 initrd。
相关链接:http : //ubuntuforums.org/showthread.php?t=1764861%29%3a
小智 5
其他答案都不适合我,但在 Centos 中我使用了以下指南。问题是 /etc/mdadm.conf 在启动时并未真正使用,只有在安装新内核或手动重新创建 initramfs 时才会更新。所以本质上你只需要:
dracut --force
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58081 次 |
| 最近记录: |