RAID5E和RAID5EE是被经常提起的支持两个磁盘故障的技术,IBM的存储系统就是广泛采用这种RAID技术来实现双磁盘容错。它到底是如何实现,包含什么样的功能?
0611161028.jpg
图-1 RAID5E
    RAID5E,是在RAID5中每个 Extent (它是在IBM主机中用于创建RAID的单位) 的后面加入了热备用空间 (Hot Space,如图-1中Extent尾部的HS0、HSr、HSp等) 。如Extent0故障,那么其他剩余Extents的热备份空间将会被用来重建和重新分配数据,并保证剩下的Extents为RAID5的一部分。从而使得即使一个Extent故障,也能马上有热备用磁盘来替换它,并重建RAID5,从而又带来容错力;从而达到所说的支持两个磁盘故障。
    但是,它所能容忍的并不是任何两个磁盘同一时刻故障,可以将它看作是RAID5和在线热备用磁盘(online hot spare drives)的变体。它将I/O操作时的数据分布到所有磁盘,包括热备用磁盘;从而减少了每个磁盘的带宽,带来更高的效率。然而,这也就意味着热备用磁盘不能够被多个阵列共享。
    在RAID5E中,没有专用的热备用磁盘,就像RAID5中没有专门的校验磁盘一样,热备用数据块是分布到所有的磁盘中;从而,对于10个磁盘的RAID5E,每个磁盘的80%被用于存储数据,10%用于存储校验,10%用于热备用。
0611161069.jpg
图-2 RAID5EE
    此外,RAID5EE和RAID5E类似,只是热备用空间被分布在各个Extents中,就像RAID5的检验数据那样分散布置一样;如过某个Extent故障,那么剩余Extent中的热备用空间(如图-2中的HS0, HS1, HS2等),将会被立即用于重建数据,并保证它成为原来RAID5的一部分,从而达到所说的支持两个磁盘故障。
    同RAID5E相比,它不是把热备用空间放到每个Extent的尾部,而是分布在数据块其中,它也不允许任何两个磁盘同一时刻故障。不过,RAID5EE在进行热替换时,其寻址可能会更加方便和灵活。