分类:
2010-01-24 11:19:11
在计算机高速发展的年代,计算机性能高速提升但是唯有硬盘的发展速度非常慢已经成为计算机性能的主要瓶颈,为此人们发明了RAID技术,目前主流的RAID技术有RAID 0、RAID 1、RAID 5、RAID 10。下面为大家详细介绍下RAID5的详细信息。
一、RAID5的写和格式化操作模式
1、认识RAID5
图1:认识RAID5
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案,它使用的是Disk Striping(硬盘分割)技术,RAID 5不是利用镜像而是利用分散奇偶校验冗余数据。RAID 5可以理解为是RAID 0和RAID 1的折衷方案,RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。图中假定采用P3的PC服务器,我们一般都需要增加RAID卡实现对RAID 5的支持,保护数据存储安全。
支持RAID5的RAID卡一般是使用SCSI RAID卡,它是用来实现RAID功能的板卡,通常是由I/O处理器、SCSI控制器、SCSI连接器和缓存等一系列零组件构成的。RAID卡可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率,这也是RAID卡最初想要解决的问题;另外也可以提供容错功能,这是RAID卡的第二个重要功能。
因此RAID阵列卡不仅仅是提供数据存储安全保障,还能扩展硬盘的挂载数量,所以,在企业购买阵列卡之后也会增加一些硬盘,来满足数据存储的需要,这里我们仅以四个硬盘组成的RAID 5为例来说明。
2、RAID5的写(Write)操作
图2:RAID5的写(Write)操作
图中的四个硬盘组成的RAID 5采用数据分块并行传送的方法,但所有同的是它在数据分块之后计算它们的奇偶校验和。数据存储方式为: P4为磁盘1的数据0,数据3和数据6的奇偶校验信息,其它以此类推;P3为磁盘2的数据1,数据4和数据9的奇偶校验信息;P2为磁盘3的数据2,数据7和数据10的奇偶校验信息;P1为磁盘4的数据5,数据8和数据11的奇偶校验信息。由图中可以看出,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。
RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。RAID5是采用奇偶校验的方法维护数据,这些奇偶校验的信息只占用一块磁盘的容量,所以RAID5的实际容量相当于阵列中的磁盘数-1,数据读写速度等于单盘的速度*盘数,RAID5具有最好的综合性能,因此是目前服务器使用最多的选择之一。
3、RAID 5的数据损坏(Crash)与恢复(Recover)操作
图3:RAID 5的数据损坏(Crash)操作
当组成RAID5的一个磁盘1数据发生损坏后,磁盘中的数据0、数据3、数据6以及奇偶校验信息P4将全部丢失,如图3所示。
图4:Recover S/W数据恢复方式
RAID5的数据恢复有二种方式:Recover S/W和Recover H/W,Recover S/W主要是指用软件(如操作系统或第三方软件)做的RAID 5的数据恢复,由于是操作系统下实现RAID,软RAID不能保护系统盘。软件RAID很多情况下已经包含在系统之中,并成为其中一个功能,如 Windows、Netware及Linux。
软件RAID中的所有操作皆由中央处理器负责,所以系统资源的利用率会很高,从而使系统性能降低。软件RAID是不需要另外添加任何硬件设备,因为它是靠服务器的系统,主要是中央处理器(如图中的PIII)的功能,提供所有现成的资源。
如果磁盘1坏了,系统将受到影响;必须进行更换新的硬盘,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据,将数据数据0、数据3、数据6和奇偶校验信息P4写到新硬盘(磁盘1)中后,系统才能正常操作运行,如上图4所示。
图5:Recover H/W数据恢复方式
Recover H/W主要是指用硬件做热备份的RAID 5的数据恢复,如果磁盘1坏了,系统一点都不受到影响;当我们更换新的硬盘,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据,将数据0、数据3、数据6和奇偶校验信息P4写到新硬盘(磁盘1)中,在整个数据恢复过程中,系统仍能正常操作运行,如上图5所示。因此笔者推荐在RAID5的时候最好做真正的硬件磁盘阵列。
二、RAID 10的写和恢复操作模式
1、认识RAID 10
Raid 10是一个Raid 0与Raid1的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。我们知道,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。其实,图6只是一种RAID 10方式,更多的情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。
图6:认识RAID 10
由于利用了RAID 0极高的读写效率和RAID 1较高的数据保护、恢复能力,使RAID 10成为了一种性价比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。但是,RAID 10对存储容量的利用率和RAID 1一样低,只有50%。因此,RAID10即高可靠性与高效磁盘结构它是一个带区结构加一个镜象结构,可以达到既高效又高速的目的,RAID 10能提供比RAID 5更好的性能。这种新结构的可扩充性不好,这种解决方案被广泛应用,使用此方案比较昂贵。
2、RAID 10的写(Write)操作
图7:RAID 10的写(Write)操作
Raid 10其实结构非常简单,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。图中磁盘1和磁盘2组成一个Raid1,磁盘2和磁盘3又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据0、1、3、4,写在硬盘2中则为数据0、2、3、5,硬盘3中的数据为1、2、4、5,因此数据在三个硬盘上的分布不同于Raid1和Raid0,但又具有两者的特性。
3、RAID 10的数据损坏(Crash)与恢复(Recover)操作
图8:RAID 10的数据损坏(Crash)操作
虽然Raid10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性。上图中显示磁盘2损坏了,整个逻辑磁盘仍能正常工作的。
图9:RAID 10恢复(Recover)操作
当我们需要恢复RAID 10中损坏的磁盘2时,只需要更换新的硬盘,安装RAID10的工作原理来进行数据恢复,恢复数据过程中系统仍能正常工作。图8中新换硬盘2,原先的数据0、2、3、5会同步恢复到硬盘2中。
总的来说,RAID 10以RAID 0为执行阵列,以RAID 1为数据保护阵列,它具有与RAID 1一样的容错能力,用于容错处理的系统开销与单独的镜像操作基本一样,由于使用RAID 0作为执行等级,因此具有较高的I/O宽带;对于那些想在RAID 1基础上大幅提高性能的用户,它是一个完美的解决方案。RAID 10适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合。