再谈Raid 5和Raid 6的写性能差异

存储 存储软件
这次给大家介绍下RAID 5和RAID 6做后端在写性能上的差异以及原因。这里暂不考虑上层缓存以及跨array创建LUN带来的性能提升,只考虑array本身的性能差异。

这次给大家介绍下RAID 5和RAID 6做后端在写性能上的差异以及原因。这里暂不考虑上层缓存以及跨array创建LUN带来的性能提升,只考虑array本身的性能差异。

随机短步写

对于写入量小于条带数据块的写操作,之前已经讲过,对于RAID 5而言,短步写会从data盘上读取要改写的数据,从parity盘上读取P校验,然后把新数据写入data盘,计算新的P校验值并写入P校验盘,总共是2次读+2次写操作。

[[219555]]

对于RAID 6,则需要读取要改写的数据,从P盘读取P校验,从Q盘读取Q校验,把新数据写入data盘,计算新的P和Q校验,再分别写入P盘和Q盘,所以总共是3次读+3次写。

也就是说,假设所有写入的块大小都是Z, 单个磁盘所能处理Z大小的数据块的***IOPS是定值X,组成RAID的磁盘个数都是Y,那么对应的RAID 5可以处理的***IOPS是X*Y/4,而RAID 6可以处理的是X*Y/6,对应的数据传输率就是Z*X*Y/4和Z*X*Y/6。也就是说,由于多了个Q校验的读写,RAID 6在随机短步写性能上和RAID5比会有33%的差距。所以除了增大成员磁盘个数Y外,并没有很好的方法来改进RAID 6的性能,而一味的增大Y又会带来其他问题在此不再详述。

连续整条带写

RAID 5整条带写的过程是,计算出P校验,把数据和P校验一起写入到所有的RAID成员磁盘里。

RAID 6整条带写的过程是,计算出P和Q校验,把数据和P和Q校验一起写入到所有的RAID成员磁盘里。

我们依然假设2种RAID都用相同的磁盘个数Y,RAID 5的条带数据块大小是a,RAID 6的条带数据块是b。那么由于有P校验的存在,RAID 5的条带大小就是a*(Y-1),RAID 6有P和Q两个校验,条带大小就是b*(Y-2)。

不管是RAID 5还是RAID 6,写完整的一个条带,都需要把所有成员磁盘写一次,也就是说需要的磁盘IO数都是Y。如果条带数据块a和b比较小的话,对于现在的大容量机械硬盘来说,寻道时间远大于小块数据的传输时间,所以我们可以假设磁盘处理a和b大小的数据块的***IOPS都是x。那么RAID 5做连续整条带写的数据传输率就是a*(Y-1)*x,RAID 6则是b*(Y-2)*x。由此可见,当RAID 6和RAID 5的条带数据块大小一致时候(a=b),如果都是8个磁盘组成的RAID,RAID 5和RAID 6的传输率对比就是7:6,这是RAID 6多出一个Q校验的代价。同时从上面的公式可以看到,增大RAID 6的条带数据块大小b可以在一定范围内提高RAID 6的性能。当然b是不能***制增大的,当条带数据块大到一定程度的时候,寻道时间不再远小于数据块的传输时间,也就是说对于RAID 5和RAID 6的磁盘处理a和b大小的数据块的***IOPS将不再相等,上面的公式也就不适用了。所以对于连续整条带写,选择一个合适的条带数据块大小对于性能很重要。

综上,RAID 6相对于RAID 5,有天然的写性能上的不足,但是数据安全始终是***位的,随着磁盘容量越来越大,RAID重建(rebuilding)时间也越来越长,RAID 5重建时候用户数据暴露在无保护的时间窗口也越来越大,采用RAID 6可以更好的保护用户数据,这点性能上的付出是值得的,而且通过上层的缓存和跨越更多个rank来建LUN可以一定程度上弥补性能差距。

责任编辑:武晓燕 来源: 存储蓝
相关推荐

2017-09-19 08:41:00

vSAN 6.2RAID 5RAID 6

2015-09-01 14:43:26

LinuxRAID 6

2018-06-28 08:31:11

RAID10RAID01RAID5

2015-09-01 13:44:57

LinuxRAID 5

2009-01-09 22:33:19

服务器磁盘RAID

2017-12-13 12:58:12

Raid工作原理

2021-06-02 09:37:24

Raid机器性能

2015-08-25 09:35:17

LinuxRAID

2021-04-28 00:01:43

RAID硬件软件

2017-12-20 11:55:38

RAID2.0传统方式

2009-02-06 09:40:14

固态硬盘性能实测SSD

2018-02-06 08:48:52

RAID5磁盘阵列修复

2010-04-27 22:08:36

华硕服务器报价

2017-09-21 09:07:50

硬盘阵列RAID

2017-08-17 09:32:03

RAID磁盘阵列

2009-03-12 09:16:46

2018-02-06 10:07:18

RAID 5磁盘阵列数据恢复

2017-11-30 12:23:55

IO性能RAID

2014-10-10 14:34:17

RAID 10Linux

2015-08-27 09:41:30

LinuxRAID
点赞
收藏

51CTO技术栈公众号