zl程序教程

您现在的位置是:首页 >  其他

当前栏目

服务器硬件RAID性能横评(4)

2023-03-14 22:55:39 时间

书接上文,上篇推文主要对RAID 0、RAID 1(10)和RAID 5进行测试比较,并捎带介绍了一下RAID 2、3、4(服务器硬件RAID性能横评(1)服务器硬件RAID性能横评(2)服务器硬件RAID性能横评(3))。本文将对剩余的RAID 6和组合RAID进行介绍,重点是阵列卡支持的RAID 50和RAID 60。


组合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。


当然,这种组合等级的成本一般都非常昂贵,因此只在少数特定场合应用。

1677138122257.jpg

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 通常是大数据库的最佳选择。


4.RAID30 ( RAID53 )、 RAID50 和 RAID60


这三种 RAID 等级与 RAID 00 原理基本相同,区别在于成员 “ 磁盘 ” 换成了 RAID 3 、 RAID 5 和 RAID 6。其中,RAID30 通常又被称为 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块盘只能分两组。


1677138252305.jpg

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

1677138277563.jpg

 

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

1677138284752.jpg

 

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

1677138290971.jpg

 

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

1677138297097.jpg

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


RAID 60


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


1677138318129.jpg

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

1677138332980.jpg

 

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

1677138337680.jpg

 

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

1677138342910.jpg

 

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

1677138348572.jpg


RAID 应用选择


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


主流 RAID 等级技术对比。

1677138367635.jpg


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

1677138378796.jpg


综合看来,RAID 6、RAID 50和RAID 60优势较小。剩余选项中,如果不要求可用性,可以选择 RAID 0 以获得高性能;如果可用性和性能是重要的,而成本不是一个主要因素,则根据磁盘数量选择 RAID 1。如果可用性,成本和性能都同样重要,则可以选择RAID 5。


所以,综合来看,我还是选择RAID 5吧。万一有个万一呢!