reliability analysis of raid 
chen  hua-ying   
(department of computer, civil aviation flight university,  guanghan sichuan province 618307)
 
abstract  this paper introduces the c and common categories of raid,  we main analyze the calculation theory of the reliability value for three raids : raid 0、raid 3 and raid 10. further more, we c and calculate the reliability value of three raids. the analysis and research results show that the value of the reliability for raid base on standard model can be calculated, raid 10 is better than other raids on capability and reliability .the analysis of  raid will be directive for more research and manufacture of raid in the future.

key words  raid;  reliability ;  mirror ;  raid controller
 
廉价冗余磁盘阵列(redundant array of inexpensive disks,raid) 是将一堆磁盘通过相关的技术连接起来,构成一个逻辑上的空间。在raid中,可以使诸多磁盘驱动器同时传输数据,在逻辑上它们又是一个磁盘驱动器,用raid可以使单个的磁盘驱动器提高数倍的速率。因此,raid技术正在变成支持文件共享、邮件交换和web服务器等关键性服务的计算机系统所必备的一项标准功能[1]。磁盘阵列根据raid控制器采用的工作模式和算法不同有不同的级别,因而具有不同的可靠性和性能。目前,常用的磁盘阵列有raid 0、raid1、raid 0+1、raid 3、raid 5、raid6和raid10等[2-5]。本文将分析最具代表性的raid 0,raid 3和raid10三种磁盘阵列的可靠度。

1 磁盘阵列可靠度模型和可靠性值

1.1 磁盘阵列可靠度模型

一个磁盘阵列可以有包含多个不同的raid级和磁盘容量,为简化模型,本文仅讨论基于8个相同raid级硬盘驱动器组成的磁盘阵列,所有计算均假设在百分之百运转情况下3年内可靠性可以达到0.90的40 gb硬盘驱动器[2]。

1.2 raid 0的可靠性值

磁盘阵列raid 0 的结构图如图1所示,图1中磁盘阵列raid 0是由8个磁盘组成的阵列,因此磁盘阵列的可靠性值就是每一个单独的硬盘驱动器的可靠性的乘积。
 

1个磁盘阵列raid 0 的可靠性值 
                                (1)
根据1.1节的假设,一个单独的硬盘驱动器的可靠性值rhdd是0.9,则8个磁盘组成的raid0磁盘阵列的可靠性值

                           
公式计算表明,在3年内没有任何数据损失的可能性是43%,而发生数据损失的可能性是:
100%-43%=57%。

1.3 raid 3的可靠性值

raid 3属于并行访问磁盘阵列,其结构如图2所示。在raid 3中,使用了专门的磁盘存放所有的校验值,并把数据分散到剩余的磁盘上,因而raid 3需要至少3块盘阵来运行。raid 3是使用专门校验盘的并行访问,其性能优势依赖于缓存技术和更高的磁盘转速。整个raid 3系统只需要一个校验盘,硬盘的利用率提高。

raid 3可以承受在一个由n个硬盘驱动器组成的磁盘阵列里一个硬盘发生故障,举例来说,如果奇偶校验硬盘发生故障,其余用作存储数据用的硬盘不会被影响,但是冗余信息将丢失。如果一个数据硬盘发生故障,raid控制器使用剩余的数据硬盘,同时奇偶校验硬盘重新计算丢失的数据,系统性能将有稍微的降低直到发生故障的硬盘驱动器被恢复;但是,不会有数据丢失,如果在发生故障的硬盘恢复以前另一个硬盘发生故障,那么raid组件内的所有的数据将会丢失。
 
 
配置了n块硬盘驱动器的raid 3的可靠性值
 
 
因此,当配置了3块盘阵(共有8个相同raid级硬盘驱动器,1个作为奇偶校验硬盘,7个作为数据盘)时,可靠性值
 
 
公式计算表明,3年内没有任何数据损失的可能性是81%。因此,发生数据损失的可能性是:
100%-81%=19%。
1.4 raid 10的可靠性值

raid 10的结构如图3所示,图中raid 10是将raid 1的镜像功能和raid 0的数据分割功能混合了起来,因此raid 10需要至少4块硬盘驱动器(2块互为镜像盘,2块作为数据盘)来运行。其中数据是在被镜像的驱动器组之间分割,当一个硬盘驱动器在重建的时候,raid 10的系统将比奇偶校验的raid系统表现的性能更好,这是因为丢失的数据不是从奇偶校验信息来重新获得,而是从其余的驱动器上拷贝得到的。

在raid 10磁盘阵列中,在镜象组里有一个硬盘驱动器发生故障不会导致任何数据丢失,只要每一个镜像组里有一个活动的驱动器,所有的数据就仍然是可用的,如果一个镜像组里的2个硬盘驱动器都发生了故障,那么所有的数据都会丢失。
 
 
图3所示raid 10的一组阵列的可靠性值
 
 
raid 10可以分成4组,即:
 
 
1个raid 10磁盘组的分组如下:

每次1组:+p(ab)+p(cd)+p(ad)+p(cb)
每次2组:-p(abcd)-p(abd)-p(abc)-p(bcd)-p(acd)-p(abcd)
每次3组:+p(abcd)+p(abcd) +p(abcd)+p(abcd)
每次4组:-p(abcd)

raid 10的可靠性值是每组可靠性值之和,即:
rraidset = [p(ab)+p(cd)+p(ad)+p(cb)-p(abcd)-p(abd)-p(abc)-p(bcd)-
p(acd)-p(abcd) +p(abcd)+p(abcd) +p(abcd) +p(abcd)-p(abcd)]
将相同项相抵消,得到raid 10的可靠性值

rraidset = [p(ab)+p(cd)+p(ad)+p(cb)-p(abd)-p(abc)-p(bcd)-p(acd) +p(abcd)]
1个盘的可靠性值0.9,2个串联的盘(如p(ab))的可靠性值为:0.92=0.81,3个串联的盘(如p(abd))的可靠性值为:0.93=0.729;4个串联的盘(如p(abcd))的可靠性值为:0.94=0,6561。因此,一个raid 10的磁盘组的可靠性值

rraidset = [0.81+0.81+0.81+0.81-0.729-0.729-0.729-0.729 + 0.6561]=0.98
1个raid 10的磁盘组的可靠性值是0.98,对于一个由8块硬盘组成的raid 10的可靠性值(也就是说包括2个raid 10磁盘组),其可靠性值是两组盘阵可靠性值的乘积,即:
                   
 rraidset=(0.98)2=0.960 4 

这一结果表明,在3年内没有任何数据损失的可能性是96%,发生数据损失的可能性是:
100%-96%=4%。

2 磁盘阵列可靠度对比

通过在实验室按照标准模型进行测试,得出的结论和以上分析基本一致,得出8块盘组成的raid组可靠性对比数据如表1所示。
 
8块盘
3年内无任何数据损失的可能性(%)
3年内发生数据损失的可能性(%)
raid 0
42.8
57.2
raid 3
80.9
19.1
raid 10
95.8
4.2
 
3 结  论

磁盘阵列有着广泛的应用,但它却又往往是整个网络存储系统安全运行的瓶颈,它的可靠性的量化计算越来越受到关注,因为有了量化的数据,就能为深层次地认识事物本质提供科学的依据,为多方案的优化比较奠定基础,进而做出正确的决定。本文在通过大量的理论研究及实验分析基础之上,得出raid 0、raid 3 和raid 10三种磁盘阵列基于标准模型的可靠性值,其中raid 10比相应其他raid的容量更大,可靠性更佳。研究磁盘阵列的可靠性值,提出可靠性值的量化计算公式,在磁盘阵列理论研究和实际的开发应用中都具有重要指导意义。该文得到了中国民航飞行学院科研基金“设备虚拟网(j2004-23)”的支持。

参 考 文 献

[1] 赵文辉. 网络存储技术[m]. 北京:清华大学出版社,2005.

[2] tom c . 存储区域网络设计[m]. 邓劲生, 李宝峰, 李 蕾, 等译. 北京:电子工业出版社,2005.

[3] 周  可,冯  丹,王  芳,等. 网络磁盘阵列流水调度研究[j]. 计算机学报,2005(3):319-325.

[4] 李  琼. 高可靠磁盘阵列的设计[j]. 计算机应用研究,2003(3): 49 -51 .

[5] 刘劲松. 关于存储系统性能的测试、仿真与评价的研究[d]. 武汉:华中科技大学,2004 .
作者版权所有,请勿转载