当前位置:文档之家› RAID技术工作原理及可靠性分析

RAID技术工作原理及可靠性分析

RAID技术工作原理及可靠性分析摘要:介绍了磁盘阵列的基本概念和常用的磁盘阵列种类,分析了RAID0、RAID3和RAID10三种磁盘阵列的可靠性值,同时与实验数据进行了比较。

结果表明,磁盘阵列的可靠性值基于标准模型在一定程度上可以进行量化,能进行科学的计算,得出RAID10比相应其他的RAID的容量更大,可靠性更佳。

该文的可靠性分析对磁盘阵列的进一步研究和生产能起到现实的指导作用。

关键字:磁盘阵列;可靠性;镜像; 磁盘阵列控制器;1 引言RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。

简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。

组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。

在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。

总之,对磁盘阵列的操作与单个硬盘一模一样。

不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。

数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。

2磁盘阵列的基本概念和常用的磁盘阵列种类2.1 RIAD技术简介RAID包含多块硬盘,但是在操作系统下是作为一个独立的大型存储设备出现。

利用RAID技术于存储系统的好处主要有以下三种:通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能;通过把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度;通过镜像或校验操作提供容错能力;最初开发RAID的主要目的是节省成本,当时几块小容量硬盘的价格总和要低于大容量的硬盘。

目前来看RAID在节省成本方面的作用并不明显,但是 RAID可以充分发挥出多块硬盘的优势,实现远远超出任何一块单独硬盘的速度和吞吐量。

除了性能上的提高之外,RAID还可以提供良好的容错能力,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。

RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。

根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。

常用的RAID级别有以下几种:NRAID,JBOD,RAID0,RAID1,RAID1+0,RAID3,RAID5等。

目前经常使用的是RAID5和RAID(1+0)。

磁盘阵列(Disk Array)是由一个硬盘控制器来控制多个硬盘的相互连接,使多个硬盘的读写同步,减少错误,增加效率和可靠度的技术。

磁盘阵列卡则是实现这一技术的硬件产品,磁盘阵列卡拥有一个专门的处理器,还拥有专门的存贮器,用于高速缓冲数据。

使用磁盘阵列卡服务器对磁盘的操作就直接通过阵列卡来进行处理,因此不需要大量的CPU及系统内存资源,不会降低磁盘子系统的性能。

阵列卡专用的处理单元来进行操作,它的性能要远远高于常规非阵列硬盘,并且更安全更稳定。

RAID技术的两大特点:一是速度、二是安全,由于这两项优点,RAID技术早期被应用于高级服务器中的SCSI接口的硬盘系统中,随着近年计算机技术的发展,PC机的CPU的速度已进入GHz 时代。

IDE接口的硬盘也不甘落后,相继推出了ATA66和ATA100硬盘。

这就使得RAID技术被应用于中低档甚至个人PC机上成为可能。

RAID通常是由在硬盘阵列塔中的RAID控制器或电脑中的RAID卡来实现的。

2.2 RAID分类磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。

外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵。

内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。

硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。

它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。

阵列卡专用的处理单元来进行操作。

利用软件仿真的方式,是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。

软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。

因此会拖累机器的速度,不适合大数据流量的服务器。

2.3 RAID原理磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。

磁盘阵列有多个端口可以被不同主机或不同端口连接。

一个主机连接阵列的不同端口可提升传输速度。

和当时PC用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。

主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。

在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。

对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。

然后由缓存再慢慢写入磁盘。

2.4 RAID优缺点优点:提高传输速率。

RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。

在RAID 中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。

这也是RAID最初想要解决的问题。

因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。

RAID最后成功了。

通过数据校验提供容错功能。

普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。

RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。

在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。

缺点:RAID0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

RAID1磁盘的利用率最高只能达到50%(使用两块盘的情况下),是所有RAID级别中最低的。

RAID0+1以理解为是RAID 0和RAID 1的折中方案。

RAID 0+1可以为系统提供数据安全保障,但保障程度要比 Mirror低而磁盘空间利用率要比Mirror高。

2.5 RAID级别2.5.1 RAID 0将多个磁盘合并成一个大的磁盘,不具有冗余,并行I/O,速度最快。

RAID 0亦称为带区集。

它是将多个磁盘并列起来,成为一个大磁盘。

在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中,所以在所有的级别中,RAID 0的速度是最快的。

但是RAID 0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都会丢失,危险程度与JBOD相当。

理论上越多的磁盘效能就等于「单一磁盘效能」×「磁盘数」,但实际上受限于汇流排I/O瓶颈及其它因素的影响,RAID效能会随边际递减,也就是说,假设一个磁盘的效能是50MB每秒,两个磁盘的RAID 0效能约96MB每秒,三个磁盘的RAID 0也许是130MB 每秒而不是150MB每秒,所以两个磁盘RAID 0最能明显感受到效能的提升。

但如果是以软体方式来实作RAID,则磁盘的空间则不见得受限于此(例如Linux Software RAID),透过软体实作可以经由不同的组合而善用所有的磁盘空间。

2.5.2 RAID 1两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,另外写入速度有微小的降低。

只要一个磁盘正常即可维持运作,可靠性最高。

RAID 1就是镜像,其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。

当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。

因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。

但无论用多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。

如果用两个不同大小的磁盘建RAID 1,可用空间为较小的那个磁盘,较大的磁盘多出来的空间也可以分割成一个区来使用,不会造成浪费。

2.5.3 RAID 2这是RAID 0的改良版,以汉明码(Hamming Code)的方式将数据进行编码后分割为独立的位元,并将数据分别写入硬盘中。

因为在数据中加入了错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些,RAID2最少要三台磁盘机方能运作。

2.5.3 RAID 3采用Bit-interleaving(数据交错储存)技术,它需要通过编码再将数据位元分割后分别存在硬盘中,而将同位元检查后单独存在一个硬盘中,但由于数据内的位元分散在不同的硬盘上,因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作,所以这种规格比较适于读取大量数据时使用。

2.5.4 RAID 4它与RAID 3不同的是它在分割时是以区块为单位分别存在硬盘中,但每次的数据存取都必须从同位元检查的那个硬盘中取出对应的同位元数据进行核对,由于过于频繁的使用,所以对硬盘的损耗可能会提高。

2.5.5 RAID 5RAID Level 5是一种储存性能、数据安全和存储成本兼顾的存储解决方案。

它使用的是Disk Striping(硬盘分割)技术。

RAID 5至少需要三颗硬盘,RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。

当RAID5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

RAID 5可以理解为是RAID 0和RAID 1的折衷方案。

RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。

RAID 5具有和RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块硬盘的速度略慢,若使用「回写快取」可以让效能改善不少。

同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。

2.5.6 RAID 6与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。

两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。

相关主题