|
|
楼主 |
发表于 2007-6-10 18:51:01
|
显示全部楼层
对比、分析与总结
一般情况下,如果磁盘没有故障,raid 5写操作还可以,可是一旦一块磁盘故障,性能会大幅下降。raid组中磁盘越多,性能越差,原来一个写操作只需并行完成两个磁盘写,而如果raid中1块磁盘有故障,8块盘的raid 5需要完成7个块盘的并行读和两块盘的并行写。
通常写操作可以100% cache hit,而读操作能做到90%以上就已经很不错了,何况这种大规模的磁盘读,所以一定需要物理读,写cache是0.00x毫秒级的,而物理读写需要若干毫秒,respnd time可能达到1000倍以上的差别,我们把这种现象称之为写惩罚。
对大型系统,这种性能变化无法接受,即使是故障的时候,因此才会有诸多双磁盘容错技术的引入。我们把这些双磁盘容错技术做一个对比:
表-1 各种[wiki]RAID[/wiki]对比表
由上表可见,RAID6提供了高可靠性,但是随之而来的却是性能的影响;RAID5E和RAID5EE结合了RAID5和热备用技术,在某种程度上支持两个磁盘故障,其容错能力相对与RAID5和RAID6之间,不过它也需要计算校验,因而对性能也会有一定影响;而RAID01和[wiki]RAID1[/wiki]0可以某两个盘同时故障,其容错能力相对RAID6较弱,不过它不需要校验,从而带来了更好的性能,但是其存储空间的利用率不高。
针对以上不同真假RAID6的技术特性,各厂商也采取了不同的策略。比如,HDS就宣称支持RAID6;而EMC认为RAID10也能满足需求,并且还有其他的存储技术来达到高可靠性,因此目前还不支持RAID6;而IBM则对RAID5E和RAID5EE支持较多,用它来满足高性能的需求;对于中低端应用,比如[wiki]SATA[/wiki]阵列,由于SATA磁盘的平均故障间隔时间(Mean Time To Failure, MTTF)的影响,大部分都支持RAID6。
由此我们可见,在双磁盘容错的实现方式中,RAID6并不是唯一的,也不是最完美的解决方案。以上提到的几种RAID技术,都可实现双磁盘容错,且各有各自的特色,以及对应的应用领域;用户所需要作的是根据自己的环境、功能和预算,选择合适的技术,来满足自己的需求。 |
|