
正文共:2296字 33图,预估阅读时间:8 分钟
书接上文(硬件RAID横评(上)),上篇推文主要对RAID 0、RAID 1(10)和RAID 5进行测试比较,并捎带介绍了一下RAID 2、3、4。本文将对剩余的RAID 6和组合RAID进行介绍,重点是阵列卡支持的RAID 50和RAID 60。

RAID 6
前面所述的各个 RAID 等级最多只能保护因单个磁盘失效而造成的数据丢失。如果两个磁盘同时发生故障,数据将无法恢复。RAID 6技术是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。
当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的。这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID 6的数据冗余性能相当好。但是,由于增加了一个校验,所以写入的效率比RAID 5还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。
RAID6 具有快速的读取性能、更高的容错能力;但成本要高于 RAID 5 许多,写性能也较差,并有设计和实施非常复杂。因此,RAID 6主要用于对数据安全等级要求非常高的场合,一般是替代 RAID 10 方案的经济性选择。

在创建阵列时选在RAID等级为RAID 6,其他项保持默认。

此时逻辑卷容量为3.27T,损失了两块盘的容量。

安装操作系统时依旧是2TB可用。

使用ATTO进行顺序读写I/O性能测试。

再使用AS SSD进行I/O性能测试。

拔掉7槽位硬盘进行测试。

此时查看RAID状态已经提示降级,临近故障。

使用ATTO进行顺序读写I/O性能测试。

再使用AS SSD进行I/O性能测试。

再拔掉6槽位硬盘,一直没看到告警,后来才发现是相同告警合并了,只是更新了告警时间。

因为RAID 6可以承受2块盘故障,所以状态仍是Degraded。

使用ATTO进行顺序读写I/O性能测试。

再使用AS SSD进行I/O性能测试。

再拔一块4槽位硬盘。

iLO中已经提示逻辑卷故障。

此时再操作系统,发现系统崩溃。

所有运行程序闪退,系统蓝屏。


组合RAID
JBOD 为 “Just a Bunch Of Disks” 的缩写,意思就是“一堆硬盘”,指的是RAID 磁盘阵列以外的所有组态,也就是RAID N+N。
在厂商支持的情况下,使用者甚至可以将 2 种以上的 RAID 组态放在同 1组磁盘阵列内,也就是有时可以看到的双位数 RAID 01、10、50、60等。
建立的方式也很好理解,首先利用前位数字的 RAID 方式建立数组,接着再将后方数字所代表的数组建立其上。

譬如上文用过的RAID 10 就是先建立 2 组 RAID 1,接着这 2 组 RAID 1 再组合成 RAID 0;后面要用到的RAID 50 就是先建立 2 组 RAID 5,接着再组合成 1 组 RAID 0。
当然,这种组合等级的成本一般都非常昂贵,因此只在少数特定场合应用。

RAID 组合等级
标准 RAID 等级各有优势和不足。自然地,人们会想到把多个 RAID 等级组合起来,实现优势互补,弥补相互的不足,从而达到在性能、数据安全性等指标上更高的 RAID 系统。
目前已知的 RAID 组合等级主要有 RAID 00 、 RAID 01 、 RAID 10 、 RAID 100 、 RAID 30 、 RAID 50 、 RAID 53 、 RAID 60等,但实际得到较为广泛应用的只有 RAID 01 和 RAID 10 两个等级。当然,组合等级的实现成本一般都非常昂贵,只是在 少数特定场合应用。

RAID 00
简单地说,RAID 00 是由多个成员 RAID 0 组成的高级 RAID 0 。它与 RAID 0 的区别在于,RAID 0 阵列替换了原先的成员磁盘。可以把 RAID 00 理解为两层条带化结构的磁盘阵列,即对条带再进行条带化。这种阵列可以提供更大的存储容量、更高的 I/O 性能和更好的 I/O 负均衡。

RAID 01 和 RAID 10
RAID 01兼备了 RAID 0 和 RAID 1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化,本质是对物理磁盘实现镜像,将数据同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能;而 RAID 10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID 01 比 RAID 10 具有更好的容错能力。

RAID 01 和 RAID 10 内部都含有 RAID 1 模式,因此整体磁盘利用率均仅为 50% 。

RAID 100
通常看作 RAID 1+0+0 ,有时也称为 RAID 10+0 ,即条带化的 RAID 10 。最顶层的 RAID 0 ,即条带化任务,通常由软件层来完成。
RAID 100 突破了单个 RAID 控制器对物理磁盘数量的限制,可以获得更高的 I/O 负载均衡, I/O 压力分散到更多的磁盘上,进一步提高随机读性能,并有效降低热点盘故障风险。因此, RAID 100 通常是大数据库的最佳选择。

RAID30 ( RAID53 )、 RAID50 和 RAID60
这三种 RAID 等级与 RAID 00 原理基本相同,区别在于成员 “ 磁盘 ” 换成了 RAID 3 、 RAID 5 和 RAID 6。其中,RAID 30 通常又被称为 RAID 53。其实,可把这些等级 RAID 统称为 RAID X0 等级, X 可为标准 RAID 等级,甚至组合等级(如 RAID 100 )。利用多层 RAID 配置,充分利用 RAID X 与 RAID0 的优点,从而获得在存储容量、数据安全性和 I/O 负载均衡等方面的大幅性能提升。

RAID 50
即RAID 5+0,所以在配置页面多了一个NPG(Number of Parity Group,组数)的选项,可以选择做RAID 5阵列的组数,但是8块盘只能分两组。

逻辑卷可用容量为3.27T,相当于损失了两块盘的容量。

在iLO中查看相关存储卷信息。

使用ATTO进行顺序读写I/O性能测试。

再使用AS SSD进行I/O性能测试。

相关可靠性已知,为避免频繁插拔损坏硬件,RAID 50和RAID 60就不再模拟硬盘故障了,一方面也是为了节省时间。

RAID 60
即先做RAID 6,再做RAID 0,因为RAID 6最少需要4块盘,所以8块盘只能分两组,别无他法。

每组中4块盘,2块校验,所以使用率为50%,逻辑卷容量为2.18T。

使用ATTO进行顺序读写I/O性能测试。

再使用AS SSD进行I/O性能测试。

对本次测试结果进行总结,同时对关键参数进行优选,结果如下。


RAID 等级选择
决定RAID 等级选择的因素主要有三,即数据可用性、 I/O 性能和成本。现在,我使用的阵列卡可选RAID 等级是 RAID 0 、RAID 10 、RAID5 、RAID6 、RAID50 和RAID 60,当前已经完成对所有等级的容量、性能和安全性测试。
主流 RAID 等级技术对比。

测试可用的RAID等级横向比较,绿底为优选项。

综合看来,RAID 6、RAID 50和RAID 60优势稍差。剩余选项中,如果不要求可用性,可以选择 RAID 0 以获得高性能;如果可用性和性能是重要的,而成本不是一个主要因素,则根据磁盘数量选择 RAID 1;如果可用性,成本和性能都同样重要,则可以选择RAID 5。
所以,综合来看,我还是选择RAID 5吧。万一有个万一呢!
接下来,做完RAID 5,就可以安装VMware ESXI 6.7了,欢迎关注!
后台回复“20200321”获取硬盘性能测试软件ATTO和AS SSD

长按二维码
关注我们吧
