我用三个驱动器构build了一个RAID设置,两个1.5 TB(sdb和sdd)和一个3TB(sdc)。 我的方法是将两个1.5 TB驱动器组合成一个RAID0驱动器(md3),并使用3TB驱动器(sdc)和RAID0arrays(md3)创build一个RAID1镜像(md2)。 这一切工作。
问题是 :无论何时重新启动计算机,即使RAID0arrays(md2)正确启动,RAID1arrays(md2)也只能看到一个活动驱动器(sdc)。 我必须每次手动重新添加md2数组。 这是怎么回事? 在汇编md2之前有没有办法让系统组装md3?
我已经有了sdc的md2驱动器。 一般来说,我已经运行了命令(大约):
mdadm --create --verbose /dev/md3 --level=stripe --raid-devices=2 /dev/sdb /dev/sdd mdadm /dev/md2 --add /dev/md3 mdadm --detail --scan >> /etc/mdadm/mdadm.conf
我还在mdadm.conf文件中添加了“DEVICE partitions containers / dev / md3”。 这一切都在Debian 6.0.8上。
更多信息:重新启动后,/ proc / mdstat读取(编辑出md0和md1信息):
Personalities : [raid0] [raid1] md3 : active raid0 sdb[0] sdd[1] 2930274304 blocks super 1.2 512k chunks md2 : active raid1 sdc[4] 1415577600 blocks super 1.2 [2/1] [U_] unused devices: <none>
似乎md3(RAID1arrays)已经忘记了md2。
启动过程中也有一些可疑的东西。
dmesg | grep -i 'md2\|md3\|raid' [ 2.537001] md: raid0 personality registered for level 0 [ 2.539298] md: raid1 personality registered for level 1 [ 2.620402] md: md2 stopped. [ 2.623636] raid1: raid set md2 active with 1 out of 2 mirrors [ 2.623655] md2: detected capacity change from 0 to 1449551462400 [ 2.625028] md2: unknown partition table [ 2.914801] md: md3 stopped. [ 2.919365] raid0: looking at sdb [ 2.919368] raid0: comparing sdb(2930274304) [ 2.919370] raid0: END [ 2.919371] raid0: ==> UNIQUE [ 2.919372] raid0: 1 zones [ 2.919373] raid0: looking at sdd [ 2.919374] raid0: comparing sdd(2930274304) [ 2.919376] raid0: EQUAL [ 2.919377] raid0: FINAL 1 zones [ 2.919380] raid0: done. [ 2.919381] raid0 : md_size is 5860548608 sectors. [ 2.919382] ******* md3 configuration ********* [ 2.919397] md3: detected capacity change from 0 to 3000600887296 [ 2.921296] md3: unknown partition table [ 3.244104] raid1: raid set md1 active with 2 out of 2 mirrors [ 3.468709] raid1: raid set md0 active with 2 out of 2 mirrors
我的方法是将两个1.5 TB驱动器组合成一个RAID0驱动器(md3),并使用3TB驱动器(sdc)和RAID0arrays(md3)创build一个RAID1镜像(md2)。 这一切工作。
与使用RAID-10相比,您的方法会使数据丢失的机会更多。 你们中的任何一个都是条状磁盘都没有了,另外一个没用。 这就是为什么通常人们倾向于使用条纹镜子,而不是条纹镜子。
此外,你最好不要使用嵌套的RAID,它会带来相当不必要的开销。 Linux软件RAID在奇数个磁盘上支持RAID-10 。 因此,您可以在2个或全部3个磁盘上安装一些用于启动分区的RAID-1,然后将3个磁盘组合成RAID-10。 是的,除了RAID-10之外还有一些空间,但是至less你会有一个相当不错的RAID-10。 左侧空间可用于不重要的数据。
UPD。 :实现类似设置的最简单方法是使用LVM-2的function去除或镜像物理磁盘上的逻辑卷。
事实certificate,解决scheme非常简单:确保在md2之前组装md3。 这个指令是专门针对Debian 6的。
在/etc/mdadm/mdadm.conf中,按照您希望组合的顺序放置驱动器。 在这个例子中,ARRAY / dev / md3 metadata = 1.2 ARRAY / dev / md2 metadata = 1.2
运行'update-initramfs -u'。 这就是我之前所错过的!
现在,当电脑启动时,它首先组装md3,然后组装md2。 以前,它先组装md2,并且因为找不到md3而失败。