RAID-3的数据存取方式和RAID-2一样,把数据以位或字节为单位来分割并且存储到各个硬盘上,在安全方面以奇偶校验取代海明码做错误校正及检测,所以只需要一个额外的校检磁盘。奇偶校验值的计算是以各个硬盘的相对应位作异或的逻辑运算,然后将结果写入奇偶校验硬盘,其数据分布情况如图15-26所示。

RAID-3数据组织原理-数据恢复迷

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

图15-26中物理盘2中的每一个校验块所包含的都是其他两块物理盘中对应数据块的校验信息,P0为数据0、1的异或值,P1为数据2、3的异或值,P2为数据4、5的异或值。

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

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

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