RAID存储器 |
概况编辑本段回目录
磁盘序列 |
1.分块技术:把数据分块写到阵列中的磁盘上;
2.交叉技术:对分布式的数据采用交叉式进行读写,提高访问速度;
3.重聚技术:对多个磁盘空间重新编址,数据按照编址后的空间存放;
RAID技术规范简介:冗余磁盘阵列技术最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费用,同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受损失,从而开发出一定水平的数据保护技术,并且能适当的提升数据传输速度。过去RAID一直是高档服务器才有缘享用,一直作为高档SCSI硬盘配套技术作应用。随着技术的发展和产品成本的不断下降,IDE硬盘性能有了很大提升,加之RAID芯片的普及,使得RAID也逐渐在个人电脑上得到应用。
主要特点如下:
1.物理上多个磁盘,但操作系统看是一个逻辑磁盘;
2.数据分布在磁盘阵列中的磁盘存储器上;
3.采用冗余技术和校验技术提高可靠性,可恢复数据;
4.RAID速度快、容量大、功耗低、价格便宜、容易扩展。
3.5寸硬盘 |
主要包含RAID0~RAID7等数个规范,它们的侧重点各不相同,常见的规范有如下几种:
RAID0:无差错控制的带区组
RAID0:无冗余、无校验,具有最高的I/O性能和最高的磁盘空间利用率
RAID1:磁盘镜像、磁盘利用率50%,具有较高的安全性
RAID2:海明码纠错、数据分块、并行访问、适合大批量数据、已很少使用
RAID3:奇偶校验、数据分块、并行访问、单独校验盘
RAID4:奇偶校验、独立存取、单独校验盘、适合访问频繁、传输率低
RAID5:独立存取、无单独校验盘、适合访问频繁、传输率低
RAID的工作原理
RAID按照实现原理的不同分为不同的级别,不同的级别之间工作模式是有区别的。整个的RAID结构是一些磁盘结构,通过对磁盘进行组合达到提高效率,减少错误的目的。
磁盘阵列编辑本段回目录
模型 |
RAID磁盘阵列支援自动检测故障硬盘;
RAID磁盘阵列支援重建硬盘坏轨的资料;
RAID磁盘阵列支援支持不须停机的硬盘备援HotSpare;
RAID磁盘阵列支援支持不须停机的硬盘替换HotSwap;
RAID磁盘阵列支援扩充硬盘容量等。
一旦RAID阵列出现故障,硬件服务商只能给客户重新初始化或者REBUILD,这样客户数据就会无法挽回。因此对RAID0、RAID1、RAID5以及组合型的RAID系列磁盘阵列数据恢复,出现故障以后只要不对阵列作初始化操作,就有机会恢复出故障RAID磁盘阵列的数据。
工作模式编辑本段回目录
RAID0
RAID存储器内部结构图
RAID0是最早出现的RAID模式,即DataStripping数据分条技术。RAID0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID0没有提供冗余或错误修复能力,是实现成本是最低的。
RAID0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。
为了解决这一问题,便出一了RAID0的另一种模式。即在N块硬盘上选择合理的带区来创建带区集。其原理就是将原先顺序写入的数据被分散到所有的四块硬盘中同时进行读写。四块硬盘的并行操作使同一时间内磁盘读写的速度提升了4倍。
在创建带区集时,合理的选择带区的大小非常重要。如果带区过大,可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使数据的读写仍然只局限在少数的一、两块硬盘上,不能充分的发挥出并行操作的优势。另一方面,如果带区过小,任何I/O指令都可能引发大量的读写操作,占用过多的控制器总线带宽。因此,在创建带区集时,应当根据实际应用的需要,慎重的选择带区的大小。
带区集虽然可以把数据均匀的分配到所有的磁盘上进行读写。但如果把所有的硬盘都连接到一个控制器上的话,可能会带来潜在的危害。这是因为当频繁进行读写操作时,很容易使控制器或总线的负荷超载。为了避免出现上述问题,建议可以使用多个磁盘控制器。最好解决方法还是为每一块硬盘都配备一个专门的磁盘控制器。虽然RAID0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。RAID0一般只是在那些对数据安全性要求不高的情况下才被使用。
RAID1
共享存储器
RAID1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID1多用在保存关键性的重要数据的场合。
RAID1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。
RAID0+1
RAID0+1是RAID0与RAID1的结合体。在单独使用RAID1也会出现类似单独使用RAID0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。
组建模式编辑本段回目录
RAID2 |
RAID2
将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码(海明码)”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂,因此在商业环境中也很少使用。
RAID3
它同RAID2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。
RAID4
RAID4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID4在商业环境中也很少使用。
RAID5 |
RAID5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID5更适合于小数据块和随机读写的数据。RAID3与RAID5相比,最主要的区别在于RAID3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID6
与RAID5相比,RAID6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID6很少得到实际应用。
RAID7
这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID7可以看作是一种存储计算机(StorageComputer),它与其他RAID标准有明显区别。除了以上的各种标准(如表1),可以如RAID0+1那样结合多种RAID规范来构筑所需的RAID阵列,例如RAID5+3(RAID53)就是一种应用较为广泛的阵列形式。用户一般可以通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统。
磁盘结构编辑本段回目录
RAID0和RAID1 |
Raid1对于使用这种RAID1结构的设备来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。通过下面的结构图您也可以看到必须有两个驱动器。因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。当系统需要极高的可靠性时,如进行数据统计,那么使用RAID1比较合适。而且RAID1技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,RAID1的数据安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有RAID级别中最低的。
RAID2:带海明码校验
从概念上讲,RAID2同RAID3类似,两者都是将数据条块化分布于不同的硬盘上,条块单位为位或字节。然而RAID2使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂。因此,在商业环境中很少使用。左边的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。没有免费的午餐,这里也一样,要利用海明码,必须要付出数据冗余的代价。输出数据的速率与驱动器组中速度最慢的相等。
RAID3:带奇偶校验码的并行传送
Raid3这种校验码与RAID2不同,只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度,它象RAID0一样以并行的方式来存放数,但速度没有RAID0快。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。不同于RAID2,RAID3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。如果奇偶盘失效,则不影响数据使用。RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1。
RAID4 |
Raid4RAID4和RAID3很象,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点的RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。
RAID5:分布式奇偶校验的独立磁盘结构
它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的Raid5奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID存储器 |
Raid6名字很长,注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。
RAID7:优化的高速数据传送磁盘结构
RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。
RAID10:高可靠性与高效磁盘结构
这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速还可以的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于容量不大,但要求速度和差错控制的数据库中。
RAID53:高效数据传送磁盘结构
越到后面的结构就是对前面结构的一种重复和再利用,这种结构就是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。这是因为所有的数据必须经过带区和按位存储两种方法,在考虑到效率的情况下,要求这些磁盘同步真是不容易。
应用编辑本段回目录
RAID存储器 |
面向个人用户的IDE-RAID芯片一般只提供了RAID0、RAID1和RAID0+1(RAID10)等RAID规范的支持,虽然它们在技术上无法与商用系统相提并论,但是对普通用户来说其提供的速度提升和安全保证已经足够了。随着硬盘接口传输率的不断提高,IDE-RAID芯片也不断地更新换代,芯片市场上的主流芯片已经全部支持ATA100标准,而HighPoint公司新推出的HPT372芯片和Promise最新的PDC20276芯片,甚至已经可以支持ATA133标准的IDE硬盘。在主板厂商竞争加剧、个人电脑用户要求逐渐提高的今天,在主板上板载RAID芯片的厂商已经不在少数,用户完全可以不用购置RAID卡,直接组建自己的磁盘阵列,感受磁盘狂飙的速度。
相关词条编辑本段回目录
参考资料编辑本段回目录
[1] 《网络工程师考试指导》 电子工业出版社 第二版