上次误打误撞测试了软件RAID,发现性能基本上是线性的,而据说硬件RAID性能比这个高的很。那本文将就硬件RAID展开测试,测试内容主要为各RAID等级下磁盘空间、I/O性能、模拟硬盘故障的可靠性等。介于篇幅问题,上篇文章介绍了相关概念及RAID 0、RAID 1和RAID 10(服务器硬件RAID性能横评(1)),本文继续介绍。
RAID 2-4
RAID 2、3、4已经很少有实际应用,它们大多只在研究领域有实作。
RAID 2
RAID 2 称为纠错海明码磁盘阵列,其设计思想是利用海明码实现数据校验冗余,实现在bit级别条带化数据。在 RAID 2 中,数据按位存储,每块磁盘存储一位数据编码,磁盘数量取决于所设定的数据存储宽度,可由用户设定。RAID 2 的数据宽度越大,存储空间利用率越高,但同时需要的磁盘数量也越多;一般数据宽度为2^N 的 RAID 2 ,需要 2^N 块数据磁盘和 N+1 块校验磁盘。
海明码自身具备纠错能力,因此 RAID2 可以在数据发生错误的情况下纠正错误,保证数据的安全性。但是,海明码的数据冗余开销太大,而且 RAID 2 的数据输出性能受阵列中最慢磁盘驱动器的限制;再者,海明码是按位运算, RAID2 数据重建非常耗时。现在硬盘的纠错码已经使用了海明码,所以RAID 2不再被使用了。
RAID 3
RAID 3使用奇偶校验磁盘将RAID控制器生成的奇偶校验信息存储在与实际数据磁盘分开的磁盘上,采用一个专用的磁盘作为校验盘。RAID 3 完好时读性能与 RAID 0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,系统开销非常大,性能较低。
如果 RAID 3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。
当有大量数据请求时,这种RAID类型的性能很差,比如在数据库这样的应用程序中。RAID 3在需要长时间连续数据传输的应用程序(如视频服务器)中表现良好。RAID 3至少需要三个物理磁盘。
RAID 4
RAID 4 与 RAID 3 的原理大致相同,区别在于条带化的方式不同。RAID 4使用专用奇偶校验磁盘以及块级别的磁盘条带化,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。RAID 4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。
RAID 4 在不同磁盘上的同级数据块同样使用 XOR 校验,结果存储在校验盘中。写入数据时, RAID4 按这种方式把各磁盘上的同级数据的校验值写入校验盘,读取时进行即时校验。因此,当某块磁盘的数据块损坏,RAID 4 可以通过校验值以及其他磁盘上的同级数据块进行数据重建。
RAID 4 提供了非常好的读性能,但是使用专用奇偶校验磁盘会导致写操作的性能瓶颈。有了RAID 5等替代方案,RAID 4的使用并不多。
RAID 5
RAID 5 应该是目前最常见的 RAID 等级,它的原理与 RAID 4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID 5 不存在 RAID 4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID 5 还具备很好的扩展性。当阵列磁盘数量增加时,并行操作量的能力也随之增长,可比 RAID 4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。
RAID 5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,需要额外的运算资源,但仅能忍受 1 个硬盘损毁。与其他 RAID 等级一样,重建数据时,RAID5 的性能会受到较大的影响。
RAID 5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID 0 和 RAID 1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID 5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。
在设置时,将默认的Strip Size调小了一级进行测试。
逻辑卷的可用容量为3.82T,相当于损失一块盘。
安装时仍然是提示2T空间可用。
使用ATTO进行顺序读写I/O性能测试。
再使用AS SSD进行I/O性能测试。
拔掉1槽位硬盘进行测试。
使用ATTO进行顺序读写I/O性能测试。
再使用AS SSD进行I/O性能测试。
再拔掉3槽位硬盘进行测试。
拔掉两块盘时,虽然系统没有蓝屏,但是从iLO中查看,逻辑卷已经是Failed状态了。
再拔掉6槽位硬盘,开始系统没有蓝屏,但是在系统中操作时系统蓝屏。
所以RAID 5应该是能允许1块盘故障,并且还能撑一会,所以硬盘短暂异常应该对业务影响较小。
对本次测试结果进行总结,同时对关键参数进行优选,结果如下。