(整理)RAID系统的可靠性分析.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RAID系统的可靠性分析

一个存储系统要达到一定的可靠性,则各单独的部分都需要达到一定的可靠度要求。在RAID系统中,系统的可靠性可分配到每个硬盘中,但是整个系统的可靠性并不是它们的总和。不同的阵列级别都有不同的分配模式,故有不同的性能和冗余。

1 1、不同的RAID级别可靠性模型

本文提供了在RAID中硬盘间关系的数学模型。使用这些模型,对不同的RAID类型对整个磁盘阵列的可靠性的影响进行了评估。虽然一个磁盘阵列中可以包含不同级别的RAID和不同容量的磁盘,但本文是以8个硬盘在同一阵列中并采用同一RAID级别为例。并假定使用的硬盘为100%使用率,并在3年以内的时间内可靠性为90%(本文以后的计算数据均为这3年内的可靠性)。

2 A、RAID0:数据条带

RAID0即条带:将数据分为同等大小的数据块并分别放到不同的磁盘上。例如:一个150K 的文件可被条带化为10个15K的数据块。一组条带化的磁盘对操作系统来说就是一个独立的逻辑盘。

条带提供了一个低成本提高磁盘I/O性能的方法。但是RAID0不提供任何数据冗余,如果任何一个磁盘失效,所有的数据都会丢失。

假设一个有6个硬盘的RAID0阵列,其可靠性的逻辑图如下图所示:

ͼ1 RAID0的可靠性框图

所有的硬盘为串行,则其可靠性的数学模型为:

n

R RAIDSET=R HDDi

i=1

如果每个硬盘在三年内的可靠性为90%,则8个硬盘的RAID0系统在三年类的可靠性为: 8

R RAIDSET=0.9=0.4305

i=1

即数据不会丢失的概率为43.05%。而且随着硬盘数量的增加,系统的可靠性急剧下降。

3 B、RAID1和RAID10:磁盘镜像和复制

RAID1为磁盘镜像,即写到某个磁盘的数据都会被复制到另一个磁盘中。RAID1要求至少有两个硬盘组成一组,成为一个阵列组。例如:在有三个硬盘的阵列中,可以用第一和第二个硬盘数据镜像,而第三个硬盘做为热冗余(Hotspare)硬盘;有四个硬盘就可以分别创建两个RAID1...

镜像可以提供数据冗余,并且可以改进读性能。在RAID1配置中,一个硬盘失效不会造成数据丢失。然而,如果在一个RAID1组中的两个硬盘都失效,则数据会丢失。

其可靠性的逻辑图如下图所示:

ͼ1 RAID10的可靠性框图

则其可靠性的数学模型为:

RAID组数目

R array=[(1-(1-R HDD1)(1-R HDD2)]

i=1

如有8个硬盘则:

4

R array=[(1-(1-0.9)(1-0.9)]=0.9606

i=1

说明在8个硬盘组成的RAID10在三年内不丢失数据的可靠性为96.06%,且随着磁盘数量增加可靠性下降,但相对不明显。

磁盘复制就是考虑SCSI控制器的故障,将硬盘接到不同的SCSI通道上,考虑SCSI控制器的可靠性,则整个系统的可靠性相对较高。

4 C、RAID0+1:条带化镜像

RAID0+1即在一个硬盘组中数据进行条带化,然后与另一个硬盘组进行镜像,它可以改进I/O性能和可靠性。如果一个硬盘组中的一个硬盘故障,则整个磁盘组数据丢失,但所有数据还会保存在另一个硬盘组中。但是剩下的硬盘组中又有一个硬盘故障则会导致数据丢失。

其可靠性的逻辑图如下图所示:

ͼ1 RAID01的可靠性框图

则其可靠性的数学模型为:

R array=1-(1-R HDD n/2)2n为磁盘的个数

如有8个硬盘则:

R array=1-(1-0.94)2=88.17%

说明在8个硬盘组成的RAID1在三年内不丢失数据的可能性为88.17%。并且随着磁盘数量的增加可靠性降低比较明显。

同样条件下,RAID的可靠性比RAID10低,而且随着硬盘数量的增加差距越明显。

5 D、RAID5

RAID5即在一个硬盘组中数据进行条带化,然后用一个硬盘的空间来存放这些条带数据的校验数据,并且将这些校验数据均匀分布在硬盘组的各个硬盘中。这样如果一个硬盘组中

的一个硬盘故障,则可以通过在其他硬盘上的校验数据恢复该硬盘的数据。故一个硬盘故障不会影响硬盘组的数据,但多于一个硬盘故障则硬盘数据会全部丢失。

ͼ1 RAID5的可靠性框图

RAID5的可靠性数学模型为:

R Array=n×(1-R Hdd)R Hdd(n-1)+R hdd n n为磁盘个数

如果有8个硬盘,则:

R Array=8×(1-0.9)×0.97+0.98=81.31%

可见RAID5的可靠性相比RAID10和RAID01较低,而且随着硬盘数量增加可靠性下降,但是RAID5硬盘利用率高(随着硬盘数量增加越来越高),故是比较常用的RAID级别。

6 E、RAID5+Hotspare

为提高RAID5的可靠性,经常采用的方式是采用Hotspare,即给RAID5增加一块硬盘,当阵列中有一块硬盘故障后,这块硬盘可以自动加入到阵列中,保证阵列的完整性。这样阵列中要有3个或3个以上的硬盘故障才会有数据丢失(这里不考虑两个硬盘同时故障、过硬盘在重建阵列过程中故障等罕见情况)。

其可靠性框图和RAID5相似,仅判决条件由(N-1)/N改为(N-2)/N。

其可靠性数学模型为:

R Array=n×(n-1)×(1-R Hdd)2×R Hdd(n-2)/2+n×(1-R Hdd)R Hdd(n-1)+R hdd n n 为磁盘个数

如果有8个硬盘,其中一个做Hotspare,则:

R Array=8×(1-0.9)×0.97+0.98=96.19%

可见采用Hotspare可以使阵列的可靠性得到较大的提高。但是因为Hotspare加入阵列时的重建过程等影响,实际的可靠性会低一些。

7 2、各RAID级别可靠性的比较

根据以上的分析,各RAID级别的可靠性随硬盘数量的变化如下图所示:

相关文档
最新文档