2008年(8065)
分类: 服务器与存储
2008-05-19 16:12:25
RAID 6:昂贵的安全性
跟RAID 5一样,RAID 6的奇偶校验信息也分布在各个磁盘中,与RAID 5最大的不同,在于RAID 6可以为每个条带化的数据写两个奇偶校验,也就是说,磁盘阵列中有两个磁盘同时失效,用户也可以访问阵列。我们可以比较一下RAID 5+热援备和RAID 6,RAID 6在磁盘失效后不能自动重置。在某块磁盘失效之后,RAID 6的性能会有所下降,而RAID 5的情况还要差一些,RAID 5的性能将在重置时候下降很多。
RAID 6的双奇偶校验并不是简单的奇偶校验备份,而是采用另一种算法来计算同一数据的奇偶信息。RAID 6的算法很复杂,因此需要大量的资源来支持RAID 6计算,这些计算任务就都落到了RAID 控制器或者CPU上了。RAID 6的双奇偶校验也一定程度上影响了RAID 6的写操作性能。
RAID 6对于关键任务应用还是很好的选择。RAID 6内通常都拥有大量的磁盘,因此也可以提供良好的读性能,对于读性能要求较高的应用也可以在RAID 6上运行。不过,RAID 6的复杂计算特点,使得RAID 6大多使用高端昂贵的控制器,所以在高端应用中比较普遍,我们的家用PC则基本没有使用。
RAID 6优点:
合理的磁盘使用比例。
可以容纳多达8个以上的磁盘。
读性能十分强大。
RAID 6缺点:
昂贵:计算机的能耗、控制器等等相关费用都十分高昂。
写性能非常差,几乎是所有RAID 中写性能最差的配置。RAID 1+0 / 0+1分析
RAID 1+0 / 0+1 的配置的均衡性是相当理想的。RAID 1+0 / 0+1提供了较好的读、写性能,而且也提供了一定程度的冗余。
RAID 1+0 / 0+1都属于嵌套解决方案,也就是说RAID 1+0 / 0+1采用RAID 0的条带化数据,和RAID 1的镜像能力。RAID 1+0 和RAID 0+1二者的区别在于RAID 1+0 (RAID 10)从一系列镜像驱动器建立条带化,而RAID 0+1则是将主条带设置镜像。
在操作上,管理员选择RAID 1+0 / 0+1大多是因为需要运行I/O要求较高的应用,I/O刚好是RAID 5和RAID 6的瓶颈。RAID 1+0 / 0+1的整体费用可能也比较贵,在预算不吃紧的前提下才可以考虑。比起RAID 0+1,RAID 1+0提供了更好的容错和重置能力。
在RAID 1+0磁盘阵列之中,在镜像数据完好的前提下,RAID 1之中的某个磁盘失效,阵列还是可以正常运行,但是如果失效的磁盘没有被及时的替换,那么单点运行的驱动器,一旦再次失效,整个磁盘阵列就不能正常运行了。
在RAID 0+1之中,则允许其中一个镜像中的磁盘全部失效,可是如果两个互为镜像的两块磁盘不幸同时失效,那么整个阵列就失效了。还有,如果重置一个失效磁盘,那么整个阵列中的磁盘都必须参与其中,因为被重置的磁盘无法与互为镜像的RAID 0中的相应磁盘直接通信。而在RAID 1+0中,可以简单重置失效的磁盘,因为可以与RAID 1内的另外一块磁盘镜像直接通信,因此RAID 1+0重置过程迅速许多。
RAID 1+0 / 0+1优点:
最好的性能表现,简单来说,就是一个复杂的RAID 0。
RAID 1+0 / 0+1缺点:
磁盘使用率较低(50%)。
容错程度只有一块磁盘。总结:构筑性能与安全性的基石
到今天为止,硬盘的制造工艺还是有限,如果长期使用计算机,不管是SCSI、SAS硬盘还是家用的SATA和IDE硬盘,硬盘的失效可能性仍然是所有计算机原件中最高的。因此RAID就显得非常必要了,不论对家庭还是对企业,RAID 都可以减少磁盘失效带来的不便。RAID当然也带来了性能提升,不过这都是比较次要的因素。我们先前比较过RAID 0和单一磁盘的性能,我们发现RAID 0对于性能的提升非常有限,远没有达到100%,实际上,RIAD 0只能提升5%~30%。因此如果部署RAID的出发点是硬盘性能提升,最好选用更好的CPU,而不是硬盘RAID。
RAID对用户的吸引力,还在于逻辑磁盘容量可以很大,现在的单一磁盘容量都还是比较有限。正如前文所说,我们很多用户都经历过硬盘失效,而且我们的日常工作都越来越依赖PC,数据的价值越来越高。所以现在很多PC主板都包括了RAID 1功能,此时我们也有了新的疑问:保护数据,我们到底应该将数据备份到别的移动媒介,还是一直运行我们的磁盘阵列直到其失效?
我想这个答案,每个人都会有不一样的回答,这也取决于不同的数据特点。比如家庭用户,使用 Home Server的备份功能可以很好的保护数据,这对于普通用户而言,可能是比RAID更加简单更容易的选择。
而对于一些企业而言,RAID 提供的冗余并不足够。离线的存储也是非常必要的。RAID仅仅能够保持在磁盘损坏的时候,系统正常运行,但是我们遇到的情况可能更加棘手——洪水、火灾、盗窃等等因素都可以瞬间摧毁我们的系统——如果数据非常重要,我们应该将其存储在不同的地域、并且多做备份。