首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套RAID (RAID0 in RAID1)在启动时失败

嵌套RAID (RAID0 in RAID1)在启动时失败
EN

Server Fault用户
提问于 2013-12-14 07:10:03
回答 2查看 650关注 0票数 2

我用三个驱动器构建了一个RAID设置,两个1.5TB (sdb和sdd)和一个3TB (sdc)。我的方法是将两个1.5TB驱动器组合到一个RAID0驱动器(md3)中,并与3TB驱动器(sdc)和RAID0数组(md3)一起创建一个RAID1镜像(md2)。这一切都有效。

问题:每当我重新启动计算机时,RAID1数组(md2)只看到一个活动驱动器(sdc),即使RAID0数组(md2)正确启动。每次我必须手动重新添加md2数组。到底怎么回事?在系统组装md3之前,有什么办法让系统组装md2吗?

我已经有了md2驱动器与sdc。一般来说,我已经运行了这些命令(大约):

代码语言:javascript
复制
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文件中添加了“设备分区容器/dev/md3”。这一切都发生在Debian 6.0.8上。

更多信息:重新启动后,/proc/mdstat读取(编辑掉md0和md1信息):

代码语言:javascript
复制
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 ( RAID1数组)似乎已经忘记了md2。

在创业过程中也有一些可疑之处。

代码语言:javascript
复制
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
EN

回答 2

Server Fault用户

回答已采纳

发布于 2013-12-16 02:13:32

事实证明,解决方案非常简单:确保在md3之前组装md2。本说明专门针对Debian 6。

  1. 在/etc/mdadm/mdadm.conf中,按您希望它们组装的顺序放置驱动器。在本例中,数组/dev/md3 metadata=1.2数组/dev/md2 metadata=1.2
  2. 运行‘更新-initramfs -u’。这是我以前错过的!

现在,当计算机启动时,它首先组装md3,然后组装md2。以前,它首先组装了md2,由于找不到md3,所以失败了。

票数 1
EN

Server Fault用户

发布于 2013-12-14 09:47:00

我的方法是将两个1.5TB驱动器组合到一个RAID0驱动器(md3)中,并与3TB驱动器(sdc)和RAID0数组(md3)一起创建一个RAID1镜像(md2)。这一切都有效。

与使用RAID-10相比,您的方法提供了更多的松散数据的机会。你们中的任何一个都没了,另一个也没用了。这就是为什么人们通常倾向于使用镜子的条纹,而不是条纹的镜子。

此外,你最好不要使用嵌套的袭击,它带来的开销是相当不必要的。Linux软件RAID支持奇数磁盘上的RAID-10。因此,您可以在2个或全部3个磁盘上设置一些RAID-1用于引导分区,然后将3个磁盘组合成RAID-10。是的,除了RAID-10,你还有一些空间,但至少你会有相当好的一次RAID-10。左空间可用于不重要的数据。

UPD:实现类似设置的最简单方法是使用LVM-2's的能力,既可以剥离逻辑卷,也可以镜像物理磁盘上的逻辑卷。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/561322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档