专题首页  /  知识库文档列表  /  详情
为什么说 RAID50 是性能、容量、冗余性的最佳平衡?

一、什么是RAID?

RAID即 Redundant Array of Independent Disks:由众多硬盘组成的冗余阵列。RAID技术的产生,主要是用于解决单个硬盘的容量、性能、可靠性等不足而发展出来的技术。根据组成RAID的硬盘之间的方式不同,分成了众多RAID级别,目前比较常用的有RAID 0/1/5/6/10/50/60(具体怎么组成请搜索一下),以及各家私有的RAID级别。其中,RAID5和RAID10使用最广泛的。这里我们从性能、容量、冗余度来分别说明为何RAID50和RAID60是RAID级别里面的最佳平衡。

二、RAID50和RAID60的组成方式

这里以RAID50为例说明。我们知道RAID5至少需要3块硬盘,其中有1块的容量将作为校验使用。如下图的所示。


(图片来自Wikipedia)

在硬盘数量较少的情况下,RAID5是极好的选择,如7-8块硬盘组成的RAID。但是,当硬盘的数量更多的时候,如10块、20块甚至100块,那么RAID5就无法胜任了。RAID50是在RAID5的基础上,将多个RAID5组以RAID0的形式组成在一起。可以这么认为,一个RAID5组在这里就是一个“大硬盘”,再把这些“大硬盘”以RAID0的形式组成在一起。而RAID60的组成就是在RAID6组的上面组成一个RAID0。RAID50的组成如下图所示:


(图片来自Wikipedia)

其中,每一个RAID5组里面可以最多容忍1块硬盘故障。如果多于1块,则数据会丢失。数据存放则以RAID0的方式,分布在所有的RAID5组里面。

三、容量

从容量的角度来说,假如总共有M块硬盘,总共分成N个RAID5,那么组成RAID50的可用空间就是M-N块硬盘容量。对比RAID5来说,RAID5只有1块硬盘的容量作为校验盘,因此RAID5容量更高,但是如果对比RAID10,RAID10有一半的容量作为镜像,因此从可用容量的角度来说:

容量:RAID5 > RAID50 > RAID10

四、性能

理论上说在写入性能方面,RAID50相比RAID5要好太多,而RAID50相比性能冠军RAID10要差一点,考虑到RAID5在一些负载面前的平庸性能,RAID50是个不错的中间选择。和RAID5和RAID10一样,RAID50也提供极好的读性能。

性能:RAID10>RAID50>RAID5

五、冗余度

对于RAID5来说,当你增加RAID5组的硬盘数量的时候,你也在增加硬盘同时发生故障的风险。所以说RAID5对于较少硬盘数量来说是非常合适的,比如对于6盘位的存储,一般来说直接选用RAID5是非常好的选择。对于12盘位的存储来说,就得考虑一下是否只做一个RAID5会导致硬盘故障的概率增加。对于RAID50来说,虽然用于校验盘的数量增加了,但是安全感也是成正比的提高。还是上面的例子,如果有M块硬盘,做了N个RAID5组成一个RAID50,那么理想情况下可以同时坏N块硬盘,当然前提是每个组成RAID50的RAID5组里面刚好坏1块盘。这种理想状态不大可能出现,但是对比之下RAID50的冗余度比RAID5还是高许多。

无论是使用哪种RAID级别,在有1块硬盘发生故障的情况下,都必须迅速更换硬盘。只是在使用RAID50/RAID10时,有可能在同时坏2块硬盘的情况下,数据仍然是可以读写的。这也是为什么RAID5一般来说只推荐使用较少数量的硬盘来组成。

六、小结

当你在寻找存储容量、性能、冗余度较为平衡的RAID级别时,RAID50是较好的选择:

RAID50适用于以下场景:数据需要高可靠、高请求率、高数据传输、中大型容量需求。
如果担心一个RAID组里面同时有2块硬盘发生故障,导致数据丢失,那么可以选择使用RAID60。RAID60提供更高的安全性,相应的其可用容量会比RAID50少点。

七、亮点

ReadyNAS 4312X/4312S/3312支持RAID50/RAID60设置,配置十分简单,先将默认的X-RAID删除掉,然后建立一个RAID50。