将现有的RAID 5arrays从Ubuntu移到Gentoo

我有一个使用软件raid(md)的4个磁盘RAID 5的64位Ubuntu机器。 我已经能够启动一个Ubuntu LiveCD,并用一个简单的mdadm -A /dev/md0识别这个数组。 之后很容易安装,没有什么必须重build。

我现在在这个盒子上安装Gentoo(多启动,非RAID根分区),我在内核中启用了md自动检测function。 当我启动Gentoo时,我得到:arrays中每个驱动器上的“sdd上无效的超级块魔法”。 我启动到Ubuntu,他们没有问题。

我尝试将在Ubuntu中工作的mdadm.conf复制到Gentoo,然后运行mdadm -A /dev/md0但是它报告没有名为md0的数组。

我不想丢失数据(显然),我不希望每次切换操作系统时都要重buildRAID。 任何帮助表示赞赏。

两者都使用mdadm 3.1.4

两者都运行64位内核。

Ubuntu的mdadm -D /dev/md0产生: http : //pastebin.com/5gj2QNkV

更新:重新启动后,我注意到它仍然抱怨无效的块,但cat /proc/mdstat显示与我的RAID相同的磁盘非活动/dev/md127 。 我想挂载它,但是我不想被卡在等待重build或无意中销毁它。 mdadm -D /dev/md127这里是gentoo上的mdadm -D /dev/md127 : http : mdadm -D /dev/md127

更新II:

关于“无效突袭超级块”的dmesg输出http://paste.ubuntu.com/885471/

从Ubuntu的fdisk -l ,/ dev / md0没有任何分区,但是我确实已经安装并访问: http : //paste.ubuntu.com/885475/

软件突袭设备的重命名是没有问题的(这里从md0到md127)。 过去几年我见过这个,你不应该担心。

但是你完全正确地问自动assembly警告。 在这里,魔鬼在于细节。 在dmesg中,你会发现它试图findmdadm 0.90c超级块(旧的)。 它会失败,并且自然会失败, 因为您的卷使用版本1.2元数据格式化。 这里也没有问题。

有关在Ubuntu和Gentoo上默认使用的元数据格式,请参见man 8 mdadm 。 我猜即使它不在联机帮助页中,也可以运行不同的内核configuration(参见make menuconfig中的“多个设备”)。

所以,根据我的经验,用mdadm /软件与Linux的八年左右, 你很好去 。 没有理由担心,除了获得更新的内核:-)

编辑:另外,不要担心你的数组被腐败。 你可以清楚地看到你的状态贴,它就好,正如人们所期望的那样。

你对这个问题有进一步的问题吗?

重新发布:

内核RAID自动检测不适用于> = 1.0超级块。 这些消息是无害的,你不应该启用它。