mdadm重新启动后不能组装

我有2个磁盘与下一个结构:

lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 3,7T 0 disk ├─sda1 8:1 0 2,7T 0 part └─sda2 8:2 0 931,5G 0 part sdb 8:16 0 2,7T 0 disk └─sdb1 8:17 0 2,7T 0 part 

如果我执行,sda1和sdb1是md0的一部分

 mdadm --misc --detail /dev/md0 

返回

 mdadm: cannot open /dev/md0: No such file or directory 

我的mdadm.conf是:

 # mdadm.conf # # Please refer to mdadm.conf(5) for information about this file. # # by default (built-in), scan all partitions (/proc/partitions) and all # containers for MD superblocks. alternatively, specify devices to scan, using # wildcards if desired. DEVICE partitions # auto-create devices with Debian standard permissions CREATE owner=root group=disk mode=0660 auto=yes # automatically tag new arrays as belonging to the local system HOMEHOST <system> # instruct the monitoring daemon where to send mail alerts MAILADDR root # definitions of existing MD arrays # This configuration was auto-generated on Thu, 03 Mar 2016 21:53:00 +0100 by mkconf ARRAY /dev/md/0 metadata=1.2 UUID=6ca17528:517621d3:e1c460a2:529955dd name=rp3-0:0 

如果我执行

 sudo mdadm -A /dev/md0 

要么

 sudo mdadm --assemble --scan 

返回

 mdadm: /dev/md/0 has been started with 2 drives. 

而新的磁盘结构是:

 sda 8:0 0 3,7T 0 disk ├─sda1 8:1 0 2,7T 0 part │ └─md0 9:0 0 5,5T 0 raid0 └─sda2 8:2 0 931,5G 0 part sdb 8:16 0 2,7T 0 disk └─sdb1 8:17 0 2,7T 0 part └─md0 9:0 0 5,5T 0 raid0 

raid的fstab行是

 /dev/md0 /mnt/ext ext4 defaults,nobootwait,nofail 0 0 

nobootwait和nofail是不是在系统启动时崩溃。

当我重新启动系统raid0 disapear。 如何在每次重新启动后坚持进行RAID

谢谢。

你只需要conf和initrd / initramfs钩子。 这可能因发行版而异。

首先,添加conf:

 mdadm -D --scan > /etc/mdadm.conf 

如果你能find一个像/ etc / mdadm这样的目录,也许你的发行版需要这个文件,而不是…符号链接,或者直接使用那个path。

其次,确保已经安装并启用了mdadm initrd钩子。 (正常的mdadm包应该有他们…我只提到这一点,如果你的发行版很奇怪,所以你知道寻找第二个包)

例如基于Arch的:

 $ pacman -Ql mdadm | grep hook mdadm /usr/lib/initcpio/hooks/ mdadm /usr/lib/initcpio/hooks/mdadm $ grep mdadm /etc/mkinitcpio.conf HOOKS="base ... mdadm lvm2 filesystems ..." 

和基于Debian的:

 $ dpkg -L mdadm | grep initr.*hook /usr/share/initramfs-tools/hooks /usr/share/initramfs-tools/hooks/mdadm (I'm not really sure where the hook is enabled, but I think it should be enabled by default... someone else please fill that in) 

然后在安装这些文件和软件包之后,你必须重build你的initramfs,并且可能更新grub,以防万一:

基于Arch:

 # mkinitcpio -p /etc/mkinitcpio.d/somekernel.preset # update-grub 

Debian基于:

 # update-initramfs -u # update-grub 

另外,请记住在你的fstab中使用UUID而不是/ dev / md0来更可靠的引导。 (例如,如果你在救援盘上启动它并修改它,有时候它会变成/ dev / md127,有时会固执而难以设置回0)。 查看man fstab的语法,blkid UUID。

这是一个解决方法,但是在几个小时之后,唯一的解决scheme是编辑etc/rc.local

我在exit 0之前添加了这一行

sudo mdadm -A /dev/md0 && sudo mount /dev/md0 /mnt/ext

现在,每次重新启动后,RAID成功挂载。