不能启动新创build的mdadm软件raid在Debian linux挤压

你好,我在Debian Squeeze Linux上创buildswraid,有非常奇怪的问题。 我开始从现有的单一驱动器的Debian标准安装中创buildRAID1。 所以我买了新的驱动器,并开始遵循这个教程:
http://www.howtoforge.com/how-to-set-up-software-raid1-on-a-running-system-incl-grub2-configuration-debian-squeeze

一切顺利,我创build了新的驱动器的初步突袭。 然后,我成功启动这个新的驱动器,并添加我的旧驱动器到这个arrays。 旧的驱动器成功地同步到袭击。 而且毕竟设置我准备好最后重新启动到我的新Raid1arrays。
但突然驱动器arrays想要启动。 Grub需要很长时间才能启动(打印一些关于fd0读取错误的错误消息)。 当我从菜单中selectdebian开始加载非常缓慢,并停止消息,没有findmd0。 在grub shell中,我发现只有/ dev / md,没有/ dev / md0或/ dev / md1。

经过几个小时的审判,我Finnaly设法得到团队工作。 使用ugky黑客。

我不得不补充:

mdadm -A --auto=md /dev/md0 

在正确的地方:

 /usr/share/initramfs-tools/init 

并重build我的内核的initrd.img

这个命令启动我的Raid并创build/ dev / md0和/ dev / md1。

但它的安静丑陋的黑客,我不认为它非常稳定。 此外它可以打破未来的一些更新。 所以我的问题是为什么我需要在初始化脚本中的这种变化? 我的数组有什么不好吗? 如何解决它?

感谢所有的提示。 我现在很安静,我整晚都在(12小时)。 至

好的,所以我find了从mdadm Raid1启动的问题的解决scheme。 我很惭愧,花了我很多时间才弄明白这一点,因为这是一个非常简单的错误。

/etc/default/mdadm有部分:

 # INITRDSTART: # list of arrays (or 'all') to start automatically when the initial ramdisk # loads. This list *must* include the array holding your root filesystem. Use # 'none' to prevent any array from being started from the initial ramdisk. INITRDSTART='none' 

我必须把它变成:

 INITRDSTART='all' 

然后,我可以删除我的自定义命令从/ usr /共享/ initramfs-tools / init和Linux启动没有问题从我的团队1。

你的数组没有什么问题,通常修改一个initrd映像,使其具有额外的驱动程序或其他修改来适应启动过程。

你可以使用的另一个技巧是,当你启动的时候,大多数init进程以只读的方式挂载根分区,所以你可以把它指向/ dev / sda1,或者指定一个适当的分区来引导,但是当你你的根,指向mdadm设备。 当我有一套软件扫描驱动器时,就是这样处理的。