服务器 · 2018年12月25日 0

兄得儿了解下RAID 10和RIAD 10 E

此处不再讲基本RAID知识,想了解请自行维基百科。

(友情提示:如果看图片觉得小,可以右击在新标签页中打开。)

开门见山

同事在做自定义RAID时发现当前使用的Dell机器中RAID 10(注:八块盘做的RIAD 10)中SPAN的个数不同其中A机器SPAN个数为1,B机器SPAN个数为2,常识讲8块盘做RAID 10应该有4组RIAD 1再组RAID 0,但AB两台机器都不是这样,查看机器的RAID级别也都是RAID 10。这里先补充下RAID 10的姿势。

RAID 10是RAID 1+RAID 0的产物所以大家大都读RAID 一零、少读RAID十。

RAID 10是先镜射再分割数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。

RAID 10

再讲下RAID 01这两个虽然名字差不多,但是区别很大。

RAID 01跟RAID 10的相反,是先分割再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。

RAID 01

当RAID 10有一个硬盘受损,其余硬盘会继续运作。RAID 01只要有一个硬盘受损,同组RAID 0的所有硬盘都会停止运作,只剩下其他组的硬盘运作,可靠性较低。如果以六个硬盘建RAID 01,镜射再用三个建RAID 0,那么坏一个硬盘便会有三个硬盘脱机。因此,RAID 10远较RAID 01常用。(红色字摘自维基百科)

继续

咨询厂商,工程师解释:这种现象(指8块盘RAID 10只有1个SPAN或2个SPAN)是由于Dell对RAID 10的增强功能导致,由于传统RAID 10一个SPAN中是两块硬盘,一个RAID卡一般最大支持8个SPAN,所以最大支持16块硬盘的RAID10。Dell为了突破RAID 10最大硬盘数限制,在PERC 6 固件6.1之后的RAID卡中,使用了RAID 10 E功能,该功能支持在不影响性能的情况下允许一个SPAN跨多个硬盘。

具体实现如下:

比如12块硬盘组RAID10,设置为6个SPAN,每个SPAN两块硬盘情况如下

常规RAID 10

RAID 10E支持 12块硬盘只配置3个SPAN,每个SPAN 4块硬盘

RAID 10E 会在底层建立BVD,BVD下面再建立两两硬盘的RAID 1

具体实现如下:

RAID 10 E

这两种设置在性能上没有差别

https://www.dell.com/support/article/us/en/04/sln111362/intelligent-mirroring-and-enhanced-raid-10-aka-raid-10e-?lang=en(英语好的自己去看吧)

支持此功能的RAID卡,RAID卡会自行决定适当跨越值(备注这点工程师没有解释判断逻辑。原因emmmmmmm)

自动设置适当值

http://topics-cdn.dell.com/pdf/idrac7-8-lifecycle-controller-v2.50.50.50_users-guide_zh-cn.pdf

以上是工程师给的解释,看完感觉又涨了姿势。

那么怎么看自己的机器是否支持RAID 10 E呢?

打开iDrac 点开存储-控制器,看自己的阵列卡是否支持RAID 10不均匀跨越。如果支持的话就是支持RAID 10 E了,见下图

好了原因知道了,不过鉴于我们没有使用超过36块盘RAID 10的机器,所以感觉对于我们讲没啥用,且因为是阵列卡控制器自动设置适当的值,反而觉得乱。可以参考在装机初始化时使用megacli对RAID 10做统一化操作,参考以下命令:

megacli -cfgspanadd -r10 -array0[32:0,32:1] -array1[32:2,32:3] -array2[32:4,32:5] -array3[32:6,32:7] wb direct -a0(回写、条带等详细参数自己去查吧。)

再见!