所以grub需要元数据版本0.90我想知道如果我可以改变我现有的数组使用,而不是1.2的默认值。 这样我就不必重新安装了。 如果是,我该怎么办?
GRUB wiki确认:
而且,(从1.96 + 20080724开始)GRUB只能从使用版本0.90元数据超级块的RAID(即使用–metadata = 0.90选项创build的超级块到mdadm)进行引导。
奇怪的是, mdadm的手册页说
-e,–metadata =
声明要使用的超级块(raid元数据)的样式。 –create的默认值是0.90,猜测其他操作。
我会仔细检查mdadm -Q -D <device>
是肯定的。
之后,你在运行什么RAID级别? 我能想到的镜像(RAID 1)的最佳场景是
n
设备的arrays0中移除设备A. n-1
备件创build数组1,明确使用旧的超级块格式 n-1
设备重复其余的B. …但非常肯定的检查,你绝对需要通过这个!
这个信息可能是为了帮助操作,但也许会帮助别人。 第一个命令擦除超级块,第二个命令创build一个新的数组,但假设设备是干净的。 我刚刚完成了这一切,似乎一切正常。 我肯定会在做这个之前build议一个备份。 我没有数据要放松,因此没有完整的检查。 我只是想避免再4小时resync。
mdadm –zero-superblock / dev / sd [az] 1
mdadm –create / dev / md0 –assume-clean –level = 10 –raid-devices = 10 / dev / sd [az] 1 –metadata = 0.90
如上所述,使用假设清理和不一致的元数据创buildarrays肯定有可能损害现有数据,因为0.90和1.2元数据块不仅尺寸不同,而且位置也不同。
它可以用于0.90 – > 1.0,这是一个例外。
https://raid.wiki.kernel.org/index.php/RAID_superblock_formats