硬件RAID横评(上)

923ebf238950ad20548ca796f562dc5b.gif

正文共:3857字 50图,预估阅读时间:12 分钟

之前误打误撞测试了软件RAIDWindows下软RAID测试,发现性能基本上是线性的,而据说硬件RAID性能比这个高的很。那本文将就硬件RAID展开测试,测试内容主要为各RAID等级下磁盘空间、I/O性能、模拟硬盘故障的可靠性等。

6824f7d27cf44efd8ff8978fff7cfe21.png

硬件RAID

硬 RAID 拥有自己的 RAID 控制处理与 I/O 处理芯片,甚至还有阵列缓冲,相比于软RAID和软硬混合RAID,对 CPU 的占用率和整体性能是最优的,但实现成本也最高的。硬 RAID 通常都支持热交换技术,在系统运行下更换故障磁盘。

725423e54f63b4ff37bc42761f16e943.png

硬 RAID 包含 RAID 卡和主板上集成的 RAID 芯片,服务器平台多采用 RAID 卡。RAID 卡由 RAID 核心处理芯片( RAID 卡上的 CPU )、端口、缓存和电池 4 部分组成。比如我服务器上这套P440ar阵列卡和8块SAS盘。

首先使能阵列模式,也就是上次不敢开启的Smart Array模式。

6fedaa7b1ea09dd4f320e44e179eb28f.png

修改之后需要重启生效。

0804861a59d9d66e9ed6155380fa069e.png

RAID 0

RAID 0 是一种简单的、无数据校验的数据条带化技术,并不提供任何形式的冗余策略。RAID 0 将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行 I/O 操作,总线带宽得到充分利用;再加上不需要进行数据校验,RAID 0 的性能在所有 RAID 等级中是最高的。理论上讲,使用 N 块硬盘,即可拥有将近 N 倍的读写效能。

1b732efb3b5e46f5ea3b76d7174d22fa.png

RAID 0 具有低成本、高读写性能、100% 的高存储空间利用率等优点,但是数据安全性较低,同组数组中任一硬盘发生问题就会造成数据遗失。因此,RAID 0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等

在阵列卡配置中选择创建阵列。

9d9598c7f9ea51e96bb53fb2c103e5b5.jpeg

选择RAID 0,其它选项使用默认的配置选项。

a2b316de0d2e207594047764c1e74529.png

Strip Size/Full Strip Size

Strip Size(条带深度),指的是在阵列的磁盘集中的单块磁盘上,从条带起始位置开始读/写所允许的最大数据量。Strip Size越大,顺序读写性能越好,但IOPS越低;Strip Size越小,IOPS越高,随机读写性能越好

一般根据服务器的具体用途来决定Strip Size。通常,提高顺序读写性能对文件服务器(备份、存档、共享等用途)磁盘性能提升较多。反之,对于琐碎文件(几KB、十几KB大小的文件)较多的服务、数据库、集成编译服务器等,频繁对小文件读写的服务器,提升IOPS则有较大益处。

如果单磁盘容量较大,1TB以上的SATA盘,更适合做文件服务器,可将Strip Size调整大至1MB,600G、15K的高性能磁盘或SSD,由于本身具有较高的IO性能,更适合做数据库,可将Strip Size 调小一些。

Sector/Track

Sector/Track表示每条磁道上有几个扇区,一般编号从1开始,最大为63,表示63个扇区,每个扇区为512字节,它是磁盘的最小存储单位。

恩,分的少应该是可以提高读写速度的。毕竟扇区少了之后寻址会更快。

2427ed358026f1e3c163b33f419bb165.jpeg

此时阵列可用逻辑卷容量为4.3T。

随后重启安装装Windows 7 旗舰版。这次提前百度了一下,64位的Windows 7家庭普通版最高可支持8GB内存,家庭高级版最高可支持16GB,专业版、企业版和旗舰版最高可支持192GB内存

e7753ab55b38c307be84c2c09f3fc3ce.png

这次CPU和内存完全使用起来了。

1bee9eee3432a966c37c75e4b3e213f8.png

但是新的问题是硬盘最大只能使用2TB。

aa810c8c8ec7a53d08353a6848588160.png

再次百度,原来MBR分区的硬盘在Windows 7 32位和64位系统最大支持都是2TB;而GPT分区的硬盘只能支持Windows 7 64位系统,最大容量是18EB。(1EB=1024PB=1,048,576TB)

Windows 7在MBR模式下用NTFS分区格式能管理256TB的硬盘空间,NTFS分区单区容量不能超过2TB,单区超过2TB就只能采用罕见的GPT模式。

先使用硬盘测试软件ATTO进行顺序读写测试,结果如下图。对于各种情况下的I/O性能信息,将在文末进行对比。

da85c986925c00b6ca90103c3f77b23a.jpeg

再使用AS SSD测试硬盘的顺序读写、随机读写和响应性能测试,并记录得分情况,为我最后选择何种RAID做个参考。

bc0d51c9be7a9c828d849ee826cca2b1.png

这彪悍的读写性能让我想起了之前一些游戏本的NVME双通道这个配置,按照我个人笔记本同系列的HP EX900来计算,1T容量的单块盘顺序读取速度是2150MB,顺序写入速度是1800MB;如果是这样的两块盘组RAID 0阵列,读取速度就达到了令人发指的4300MB,写入速度也是变态的3600MB。对于游戏玩家来说,几秒钟游戏加载完成,无异于就地起飞!

bccbec50f71b3789601d49f2e855e9a1.png

RAID 1/10

RAID 1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像磁盘,磁盘空间利用率为50% 。RAID 1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。RAID 1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。安全性依照数组里的实体硬盘数量倍数成长,适用于对顺序读写性能要求高以及对数据保护极为重视的应用。

445aef1e6be561847f9755d877ce74e1.png

RAID 1 与 RAID 0 刚好相反,是为了增强数据安全性使两块磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便。RAID 1 拥有完全容错的能力,但实现成本高,空间利用率是所有 RAID 中最低的。

操作之前要删掉之前的阵列配置,此时会提示丢失所有数据,因为是做实验嘛,干就是了!

daee5896562a3399d3568dd2751021e4.png

还是选中所有磁盘,下一步。

93896269d45ee31be64a4b3d65cf799c.jpeg

此时也可以看到RAID 1实际上就是RAID 1+0,因为RAID 1实际上只是两块盘做镜像,当数量多于2并且为偶数时,需要先两两做RAID 1,再通过做RAID 0组合,即RAID 1+0(RAID 10)

42bca25849ccd096bd6951d8510056f1.png

此时的磁盘可用空间为2.18T,是总大小的一半。

7ab29a9423c64177425862333a703d0f.png

安装的时候可以看到磁盘未分配空间是2235GB,大于2TB。

8828b0f34bf595fa9629e74640cbd61a.png

但是安装完成之后就是前面提到的2TB了。

1b18875e9a78f3005d7f08a6e34d5aa7.png

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

b834eeefe1092b48ea37792774c4cbd3.png

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

eb5b024bdf2a30040bdaec5e160dadb6.png

然后拔掉一块硬盘进行可用性测试。随即可以看到iLO中有硬盘故障告警。

bc941195c9676c5a572a4182ed48b728.png

并且在存储状态中查看,8槽中的磁盘状态为Failed。

c8f2f1b54585bc4403b41e251fe21824.png

使用ATTO进行顺序读写I/O性能测试,好神奇,性能竟然有所提升。

f2b3884771f7c175914706646fd8b03d.png

再使用AS SSD进行I/O性能测试,性能也有明显提升。

4989bce7335805205c89a83d68ce2176.png

拔掉5槽位硬盘,系统状态正常。

f72ea49ef725f968a93e67001c210ee1.png

拔掉2槽位硬盘,系统状态正常。

b6cc4313fae72831a8a53b8b5d9001fb.png

接下来拔掉4槽位硬盘,阵列故障。

c51f64bf739515e8b9995fc675d00bf4.png

操作系统蓝屏,应该在这种模式下,是1和5、2和6、3和7、4和8两两做的RAID 1,当同时拔掉4和8时,出现阵列无法恢复的故障。

a57857aaaacecd1698e1129c86e18c65.jpeg

再次进入SSA,提示逻辑卷已经损坏,所有数据已经丢失,真恐怖,看来硬件故障真要命啊!

cbe49168239b61f773b54a5a49cc59db.jpeg

bec0e3d289acc3b87d66c3245fce4f0c.png

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不再被使用了

67c214ea747651180505f261744c787e.jpeg

RAID 3

RAID 3使用奇偶校验磁盘将RAID控制器生成的奇偶校验信息存储在与实际数据磁盘分开的磁盘上,采用一个专用的磁盘作为校验盘。RAID 3 完好时读性能与 RAID 0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,系统开销非常大,性能较低。

如果 RAID 3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。

当有大量数据请求时,这种RAID类型的性能很差,比如在数据库这样的应用程序中。RAID 3在需要长时间连续数据传输的应用程序(如视频服务器)中表现良好。RAID 3至少需要三个物理磁盘。

1c73ac76c7d033d618c8900c1be03758.jpeg

RAID 4

RAID 4 与 RAID 3 的原理大致相同,区别在于条带化的方式不同。RAID 4使用专用奇偶校验磁盘以及块级别的磁盘条带化,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。RAID 4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。

RAID 4 在不同磁盘上的同级数据块同样使用 XOR 校验,结果存储在校验盘中。写入数据时, RAID4 按这种方式把各磁盘上的同级数据的校验值写入校验盘,读取时进行即时校验。因此,当某块磁盘的数据块损坏,RAID 4 可以通过校验值以及其他磁盘上的同级数据块进行数据重建。

RAID 4 提供了非常好的读性能,但是使用专用奇偶校验磁盘会导致写操作的性能瓶颈。有了RAID 5等替代方案,RAID 4的使用并不多。

362c417cac5f0bfb6e6be9bd7cc68783.jpeg

53ab8df0a6017547750f630b40e05c5f.png

RAID 5

RAID 5 应该是目前最常见的 RAID 等级,它的原理与 RAID 4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID 5 不存在 RAID 4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID 5 还具备很好的扩展性。当阵列磁盘数量增加时,并行操作量的能力也随之增长,可比 RAID 4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。

RAID 5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,需要额外的运算资源,但仅能忍受 1 个硬盘损毁。与其他 RAID 等级一样,重建数据时,RAID5 的性能会受到较大的影响。

69f60fd9631201fa9590cf8747d575ad.png

RAID 5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID 0 和 RAID 1 的折中方案,是目前综合性能最佳的数据保护解决方案。RAID 5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。

在设置时,将默认的Strip Size调小了一级进行测试。

781fc9b455d9819c0df6c3ffcd33ab7f.jpeg

逻辑卷的可用容量为3.82T,相当于损失一块盘。

735805ee530f1888763f2687423b4ab7.png

安装时仍然是提示2T空间可用。

f304e9a81cf204a025f3624e04e2cfc9.jpeg

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

fa3b629bca8e11ea376aae71ab2a83a1.png

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

6e9b9b6bcd74a4163be3c49d64527834.png

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

8056aa05be790593eab18a22bafc22cb.png

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

959488f1dbcbe1a1e1acf3d33b3a1d0f.png

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

1f7f04cf73a42bc9ad9f63beca97cdfc.png

再拔掉3槽位硬盘进行测试。

8c61feee07f33b8d3f7a34e96f3c7a54.png

拔掉两块盘时,虽然系统没有蓝屏,但是从iLO中查看,逻辑卷已经是Failed状态了。

8762a1a299680cf6b5054dcc9c0b8355.png

再拔掉6槽位硬盘,开始系统没有蓝屏,但是在系统中操作时系统蓝屏。

ea08f63da362c2a9a7447dccb66fd653.png

所以RAID 5应该是能允许1块盘故障,并且还能撑一会,所以硬盘短暂异常应该对业务影响较小。

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

90fd47d3bb05239d7fa4f808534fb604.jpeg

介于篇幅限制,剩余RAID等级评测将在下篇文章进行介绍。

后台回复“20200321”获取硬盘性能测试软件ATTO和AS SSD

0aa2b4967ee8eca2412002b6df968342.png

9cb71c612a5e551ee3d27eb450fae7c0.gif

长按二维码
关注我们吧

cb8eea4e34165ff3d543f601200fafaf.jpeg

  • 25
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值