找回密码
 注册
快捷导航
查看: 2073|回复: 0

【转帖】RAID技术详解(3)

[复制链接] |自动提醒
阅读字号:

54

回帖

0

积分

239

资产值

入门会员 Rank: 1

注册时间
2012-9-6
发表于 2012-9-27 16:22:19| 字数 7,189| - 上海市 电信 | 显示全部楼层 |阅读模式
1.6
RAID-2RAID-3RAID-4技术详解


RAID-2RAID-3RAID-4这三种RAID级别在实际应用中非常少见,所以本书对它们只作一些简单介绍
1.6.1
RAID-2数据组织原理RAID-2是将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用“加重平均纠错码”的编码技术来提供错误检查及恢复,这种纠错码也被称为“海明码”。海明码需要多个磁盘存放检查及恢复信息,使得RAID-2技术实施更复杂,因此在商业环境中很少使用。

海明码在磁盘阵列中被间隔写入到磁盘上,而且地址都一样,也就是在各个磁盘中,其数据都在相同的磁道及扇区中。

RAID-2的设计是使用共轴同步的技术,存取数据时整个磁盘阵列一起动作,在各作磁盘的相同位置作平行存取,所以有最快的存取时间,其总线是特别的设计,以大带宽并行传输所存取的数据。在大型文件的存取应用中,RAID-2有最好的性能,但如果文件太小,将会影响其性能,因为磁盘的存取是以扇区为单位,而RAID-2的存取是所有磁盘平行动作,而且是作位的存取,所以小于一个扇区的数据量会使其性能大打折扣。

RAID-2是设计给需要连续存取大量数据的计算机使用的,如作影像处理或CAD/CAM的工作站等,并不适用于一般的多用户环境、网络服务器PC机。

RAID-2现在几乎没有商业应用,所以本书省略对该结构的故障原因分析和数据恢复思路的讲解。
1.6.2
RAID-3数据组织原理RAID-3的数据存取方式和RAID-2一样,把数据以位或字节为单位来分割并且存储到各个硬盘上,在安全方面以奇偶校验取代海明码做错误校正及检测,所以只需要一个额外的校检磁盘。奇偶校验值的计算是以各个磁盘的相对应位作异或的逻辑运算,然后将结果写入奇偶校验磁盘,其数据分布情况如图1-26所示。



图1-26
RAID-3数据分布图


图1-26中第三块物理盘中的每一个校验块所包含的都是其他两块物理盘中对应数据块的校验信息,“P0”为数据“01”的异或值,“P1”为数据“23”的异或值,“P2”为数据“45”的异或值。

RAID-3具有容错能力,但是系统会受到影响。当一块磁盘失效时,该磁盘上的所有数据块必须使用校验信息重新建立,如果是从好盘中读取数据块,不会有任何变化。但是如果要读取的数据块正好位于已经损坏的磁盘上,则必须同时读取同一条带中的所有其他数据块,并根据校验值重建丢失的数据。

另外,在使用RAID-3的过程中还有其他一些性能上的问题需要引起注意,RAID-3所存在的最大一个不足同时也是导致RAID-3很少被人们采用的原因就是校验盘很容易成为整个系统的瓶颈。我们已经知道RAID-3会把数据的写入操作分散到多个磁盘上进行,然而不管是向哪一个数据盘写入数据,都需要同时重写校验盘中的相关信息。因此,对于那些经常需要执行大量写入操作的应用来说,校验盘的负载将会很大,无法满足程序的运行速度,从而导致整个RAID系统性能的下降。鉴于这种原因,RAID-3更加适合应用于那些写入操作较少,读取操作较多的应用环境,例如数据库和WEB服务器等。

RAID-3现在几乎没有商业应用,所以本书省略对该结构的故障原因分析和数据恢复思路的讲解。
1.6.3
RAID-4数据组织原理RAID-4RAID-3很相似,数据都是依次存储在多个硬盘之上,奇偶校验码存放在独立的奇偶校验盘上,唯一不同的是,在数据分割上RAID-3是以位或字节为单位,而RAID-4是以条带为单位。

RAID-4也使用一个校验磁盘,各磁盘相同位置的分段形成一个校验磁盘分段,放在校验磁盘上。这种方式可在不同的磁盘平行执行不同的读取命令,大幅提高磁盘阵列的读取性能;但写入数据时,因受限于校验磁盘,同一时间只能作一次,启动所有磁盘读取数据形成同一校验条带的所有数据条带,与要写入的数据做好校验计算再写入。即使如此,小型文件的写入仍然比RAID-3要快,因其校验计算较简单而非位的计算,但校验磁盘和RAID-3一样,也形成其性能的瓶颈。

RAID-4现在几乎没有商业应用,所以本书省略对该结构的故障原因分析和数据恢复思路的讲解。
1.7
RAID-5
技术详解


RAID-5是使用最为广泛的一种RAID级别,其结构也比较复杂,根据其数据组织方式的不同,RAID-5可以分为左异步、左同步、右异步、右同步等结构,本节将详细讲述。
1.7.1
RAID-5数据组织原理RAID-5RAID-4一样,数据以条带为单位分布到各个硬盘上,RAID-5RAID-4的最大区别在于RAID-5不是把所有的校验块集中保存在一个专门的校验盘中,而是分散到所有的数据盘中,其数据分布情况如图1-27所示。




图1-27
RAID-5数据分布图

从图1-27可以看到,RAID-5的校验码存在于所有磁盘上,其中“P0”为数据条带“01”的校验值,“P1”为数据“23”的校验值,“P2”为数据“45”的校验值。

RAID-5的冗余性不错,当一块成员盘离线后,数据依然能够保持完整性。

在读写性能方面,因为每一个写操作都需要计算校验并写入校验,所以写性能稍差一些,但读取性能很好。

另外由于RAID-5的每个条带组中都有一个条带用来写校验,所以所有校验条带加在一起刚好占用一块物理盘的空间,也就是说RAID-5逻辑盘的容量等于所有物理盘容量的总和减去一块物理盘的容量。

RAID-5的应用很广泛,是所有RAID级别中应用最多的,我们来具体讲解一下校验值的算法。RAID-5的校验值采用的是异或算法,异或运算是二进制数值间的一种算法,其运算符号为“XOR”,或者用“⊕”表示。运算组合有以下四种:

0 0 = 0
0 1 = 1
1 0 = 1
1 1 = 0
1-27中的“P0”就是数据条带“0”⊕数据条带“1”的结果;“P1”就是数据条带“2”⊕数据条带“3”的结果;“P2”就是数据条带“4”⊕数据条带“5”的结果。因为一个异或运算式中的任一数值都能由其他数值通过异或运算得到,所以当缺失一个数值时,用剩下的数值经过异或运算就能得到缺失的数值了,这就是RAID-5能够缺失一块盘的道理。

多个数字同时进行异或运算时,有两个特点:

1)运算结果与运算顺序无关

例如:(a b) c = a (b c)

2)各个参与运算的数字与结果循环对称

例如a b c = d,那么可以得到:

a = b c d
b = a c d
c = a b d
RAID-5之所以能够容错,就是利用了异或运算的这些特点,比如将上面例子中的abcd看作是RAID-5四块成员盘上的条带,其中三个是数据条带,剩下一个是校验条带,如果有一块成员盘离线,不管哪个条带丢失了,都可以用剩下的三个条带经过异或计算出来。

RAID-5的校验条带被分散保存在不同的成员盘中,这样就可以确保任何对校验条带进行的读写操作都会在所有的成员盘中进行均衡,从而避免了RAID-4的瓶颈。



1.7.2
RAID-5的常规左异步结构不同品牌的服务器或者同一品牌服务器的不同型号,其RAID控制器组建的RAID-5在结构上会有所不同,按照其数据条带和校验条带在RAID-5成员盘中的分布方式,可以把RAID-5的结构分为八种,它们是:常规左异步、非常规左异步、常规右异步、非常规右异步、常规左同步、非常规左同步、常规右同步、非常规右同步。

常规左异步结构的RAID-5如图1-28所示。




图1-28
RAID-5的常规左异步结构

从图1-28中可以看出常规左异步的RAID-5存储结构有如下特点:

1)校验块从最后一块盘物理开始写起,然后依次往前面的物理盘中写入,当写到第一块物理盘后再回到最后一块物理盘,依次循环。

2)数据块总是从第一块物理盘开始写,然后依次往后面的物理盘中写入,即各条带组内的数据块均由低号物理盘向高号物理盘依次写入。

另外,这种结构也可以称为“3-2-1连续”。

1.7.3
RAID-5的非常规左异步结构RAID-5的非常规左异步结构与常规左异步结构的区别主要在第一个条带组中校验块的位置不同,常规左异步结构第一个条带组中校验块的位置一定在最后一块物理盘上,而非常规左异步结构的第一个条带组中校验块的位置则不在最后一块物理盘上,而是位于其他物理盘上,位于第一块物理盘上的情况比较多一些,如图1-29所示。





图1-29
RAID-5的非常规左异步结构

从图1-29中可以看出非常规左异步的RAID-5存储结构有如下特点:

1第一个条带组中校验块的位置在第一块物理盘上。

2)从第二个条带组开始,校验块从最后一块盘物理开始写起,然后依次往前面的物理盘中写入,当写到第一块物理盘后再回到最后一块物理盘,依次循环。

3第一个条带组中数据块从第二块物理盘开始写,然后依次写入后面的物理盘。

4)从第二个条带组开始,数据块总是从第一块物理盘开始写,然后依次往后面的物理盘中写入,即各条带组内的数据块均由低号物理盘向高号物理盘依次写入。

1.7.4
RAID-5的常规左同步结构常规左同步结构的RAID-5如图1-30所示。





图1-30
RAID-5的常规左同步结构

从图1-30中可以看出常规左同步的RAID-5存储结构有如下特点:

1)校验块从最后一块物理盘开始写起,然后依次往前面的盘中写入,当写到第一块物理盘后再回到最后一块物理盘,依次循环。

2)每个条带组内的第一个数据块首先写入校验块所在物理盘的下一物理盘中(注意看图1-30中数据块“2”和“3”以及数据块“8”和“9”的写入顺序),其余数据块再依次写入。

另外,这种结构也可以称为“3-2-1标准”。

1.7.5
RAID-5的非常规左同步结构RAID-5的非常规左同步结构与常规左同步结构的区别主要在第一个条带组中校验块的位置不同,常规左同步结构第一个条带组中校验块的位置一定在最后一块物理盘上,而非常规左同步结构的第一个条带组中校验块的位置则不在最后一块物理盘上,而是位于其他物理盘上,位于第一块物理盘上的情况比较多一些,如图1-31所示。





图1-31
RAID-5的非常规左同步结构

从图1-31中可以看出非常规左同步的RAID-5存储结构有如下特点:

1第一个条带组中校验块的位置在第一块物理盘上。

2)从第二个条带组开始,校验块从最后一块盘物理开始写起,然后依次往前面的物理盘中写入,当写到第一块物理盘后再回到最后一块物理盘,依次循环。

3)每个条带组内的第一个数据块首先写入校验块所在物理盘的下一物理盘中(注意看图1-31中数据块“4”和“5”以及数据块“10”和“11”的写入顺序),其余数据块再依次写入。

1.7.6
RAID-5的常规右异步结构常规右异步结构的RAID-5如图1-32所示。




图1-32
RAID-5的常规右异步结构

从图1-32中可以看出常规右异步的RAID-5存储结构有如下特点:

1)校验块从第一块物理盘开始写起,然后依次往后面的物理盘中写入,当写到最后一块物理盘后再回到第一块物理盘,依次循环。

2)各条带组内的数据块均由低号物理盘向高号物理盘依次写入。

另外,这种结构也可以称为“1-2-3连续”。
1.7.7
RAID-5的非常规右异步结构RAID-5的非常规右异步结构与常规右异步结构的区别主要在第一个条带组中校验块的位置不同,常规右异步结构第一个条带组中校验块的位置一定在第一块物理盘上,而非常规右异步结构的第一个条带组中校验块的位置则不在第一块物理盘上,而是位于其他物理盘上,位于最后一块物理盘上的情况比较多一些,如图1-33所示。





图1-33
RAID-5的非常规右异步结构

从图1-33中可以看出非常规右异步的RAID-5存储结构有如下特点:

1第一个条带组中校验块的位置在最后一块物理盘上。

2)从第二个条带组开始,校验块从第一块盘物理开始写起,然后依次往后面的物理盘中写入,当写到最后一块物理盘后再回到第一块物理盘,依次循环。

3)各条带组内的数据块均由低号物理盘向高号物理盘依次写入。

1.7.8
RAID-5的常规右同步结构常规右同步结构的RAID-5如图1-34所示。




图1-34
RAID-5的常规右同步结构

从图1-34中可以看出常规右同步的RAID-5存储结构有如下特点:

1)校验块从第一块物理盘开始写起,然后依次往后面的盘中写入,当写到最后一块盘后再回到第一块物理盘,依次循环。

2)每个条带组内的第一个数据块首先写入校验块所在物理盘的下一物理盘中(注意看图1-34中数据块“2”和“3”以及数据块“8”和“9”的写入顺序),其余数据块再依次写入。

另外,这种结构也可以称为“1-2-3标准”。

1.7.9
RAID-5的非常规右同步结构RAID-5的非常规右同步结构与常规右同步结构的区别主要在第一个条带组中校验块的位置不同,常规右同步结构第一个条带组中校验块的位置一定在第一块物理盘上,而非常规右同步结构的第一个条带组中校验块的位置则不在第一块物理盘上,而是位于其他物理盘上,位于最后一块物理盘上的情况比较多一些,如图1-35所示。





图1-35
RAID-5的非常规右同步结构

从图1-35中可以看出非常规右同步的RAID-5存储结构有如下特点:

1第一个条带组中校验块的位置在最后一块物理盘上。

2)从第二个条带组开始,校验块从第一块盘物理开始写起,然后依次往后面的物理盘中写入,当写到最后一块物理盘后再回到第一块物理盘,依次循环。

3)每个条带组内的第一个数据块首先写入校验块所在物理盘的下一物理盘中(注意看图1-35中数据块“4”和“5”以及数据块“10”和“11”的写入顺序),其余数据块再依次写入。

1.7.10
RAID-5故障原因分析这里说的RAID-5故障,是指RAID-5逻辑盘丢失或不可访问。导致RAID-5故障的原因主要有以下几种:
1RAID控制器出现物理故障

RAID控制器如果出现物理故障,将不能被计算机识别,也就无法完成对RAID-5中各个物理成员盘的控制,在这种情况下,通过RAID控制器虚拟出来的逻辑盘自然就不存在了。

2RAID信息出错

RAID控制器将物理盘配置为RAID-5后,会生成一些参数,包括该RAID-5的盘序、条带大小、左右结构情况、同步异步情况、RAID-5在每块物理盘中的起始地址等,还会记录有关该RAID-5的相关信息,包括组成该RAID-5的物理盘数目、物理盘的容量大小等,所有这些信息和参数就被称为RAID信息,也称为RAID元数据,它们会被保存到RAID控制器中,有时候也会保存到RAID-5的成员盘中。

RAID信息出错就是指该RAID-5的配置信息和参数出现错误,导致RAID程序不能正确地组织管理RAID-5中的成员盘,从而导致RAID-5逻辑盘丢失或不能访问。

3RAID-5成员盘出现物理故障

RAID-5可以允许其中一块成员盘离线而不影响数据的完整性,如果RAID-5中的某一块成员盘出现物理故障,比如电路损坏、磁头损坏、固件损坏、出现坏扇区等,该成员盘就不能正常使用,但剩下的成员盘可以利用异或运算计算出离线成员盘中的数据,所以RAID-5还不会崩溃。

如果系统管理员没有及时替换出现故障的成员盘,当再有一块成员盘再出现故障离线后,RAID-5将彻底崩溃。

4)人为误操作

如果误将RAID-5中两块以上成员盘同时拔出、或者给RAID-5除尘时将成员盘拔出后忘了原来的顺序、以及不小心删除了RAID-5的配置信息等,都会造成RAID-5崩溃。

5RAID控制器的稳定性
RAID-5的数据分布结构中有校验块的存在,当RAID-5中有成员盘离线时,算法将变得更加复杂,RAID控制器将会工作在一个比较吃力的状态。而RAID控制器的负载太重便会极大地增加数据读写时出现I/O滞留的可能性,从而导致更多成员盘离线,或者导致RAID信息出错
1.7.11
RAID-5数据恢复思路RAID-5阵列中数据的分布与RAID-0类似,数据也是分布到每块硬盘上,与RAID-0不同的是,RAID-5中每个条带组中总有一个条带是校验块,如图1-36中的“P0P1P2P3就是校验块。



图1-36
RAID-5的结构图

RAID-5能够支持在一块盘离线的情况下保证数据的正常访问,如果有两块或两块以上硬盘同时离线,或者RAID信息出错等原因,阵列便会失效,这时就需要对数据进行重组。

RAID-5的数据进行重组,也需要先把物理盘去RAID化,作为单盘进行分析,如图1-36中的四块物理盘,把四块物理盘中的数据按照“ABCDEFGH……”的顺序拼接好,就是RAID-5逻辑盘中完整的数据。

因为RAID-5的每块物理盘中都有校验信息,所以分析RAID-5就需要比RAID-0多一个因素,即校验块的位置和方向,另外,RAID-5中数据块的走向也会不一样,分为异步和同步,也就是说,RAID-5 有四个因素很重要,第一个是RAID中每个条带的大小,也就是
A”或“B
这些数据块所占用的扇区数;第二个因素是RAID中硬盘的排列顺序,也就是盘序;第三个因素是校验块的循环方向;第四个因素是数据块的走向。

以图1-36中四块物理盘组成的RAID-5为例,假设条带的大小为32个扇区,物理盘的顺序就按照图中的排列顺序,那么只要到硬盘0中取0-31扇区的信息,再到硬盘1中取0-31扇区的信息,再到硬盘2中取0-31扇区的信息,硬盘30-31扇区的信息是校验块,跳过不取。接下来再回到硬盘0中取32-63扇区的信息,就这样依次按顺序取下去,把所有取出来的数据按照顺序衔接成一个镜像文件或者是镜像盘,这就成为完整的原RAID-5逻辑盘的结构了,直接访问这个重组出来的镜像文件或镜像盘,就得到了原RAID-5逻辑盘中的数据。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2024-6-6 21:37 , Processed in 0.079835 second(s), 25 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|联系我们|专门网

返回顶部