一、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适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合。 |