资源描述:
《图解RAID的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、RAID:为RedundantArraysofIndependentDisks的简称,中文为廉价冗余磁盘阵列。在1987年由美国柏克莱大学提出RAID(RedundantArrayofInexpensiveDisks)理论,作为高性能的存储系统,巳经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,巳经发展了多个级别,有明确标准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。其他还有6、7、10、30、50等。RAID为使用者降低了成本、增加了执行效率,并提供了系统运行的稳定性。标准的RA
2、ID写操作,包括如:RAID4或RAID5中所必需的校验计算,需包括以下几个步骤:1)以校验盘中读取数据2)以目标数据盘中读取数据3)以旧校验数据,新数据及已存在数据,生成新的校验数据4)将新校验数据写入校验盘5)将新数据写入目标数据盘 当主机将一个待写入阵列RAID组中的数据发送到阵列时,阵列控制器将该数据保存在缓存中并立即报告主机该数据的写入工作已完成。该数据写入到阵列硬盘的工作由阵列控制器完成,该数据可继续存放在Cache中直到Cache满,而且要为新数据腾出空间而必须刷新时或阵列需停机时,控制器会及时将该数据从Cac
3、he写入阵列硬盘中。这种缓存回写技术使得主机不必等待RAID校验计算过程的完成,即可处理下一个读写任务,这样,主机的读写效率大为增加。当主机命令将一个数据写入硬盘,则阵列控制器将该数据写入缓存最上面的位置,只有新数据才会被控制器按Write-BackCache的方式最后写入硬盘。 RAID级别 NRAID:硬盘连续使用。 NRAID意思是不使用RAID功能。它使用硬盘的总容量组成逻辑碟(不使用条块读写)。换句话说,它生成的逻辑碟容量就是物理碟容量的总和。此外,NRAID不提供资料的备余。 JBOD:JBOD的含意是控制器将
4、机器上每颗硬盘都当作单独的硬盘处理,因此每颗硬盘都被当作单颗独立的逻辑碟使用。此外,JBOD并不提供资料备余的功能。 RAID0:RAID0-DiskStrippingwithoutparity(常用)又称数据分块,即把数据分成若干相等大小的小块,并把它们写到阵列上不同的硬盘上,这种技术又称“Stripping”(即将数据条带化),这种把数据分布在多个盘上,在读写时是以并行的方式对各硬盘同时进行操作。从理论上讲,其容量和数据传输率是单个硬盘的N倍。N为构成RAID0的硬盘总数。当然,若阵列控制器有多个硬盘通道时,对多个通道上的硬
5、盘进行RAID0操作,I/O性能会更高。因此常用于图象,视频等领域,RAID0I/O传输率较高,但平均故障时间MTTF只有单盘的N分之一,因此RAID0可靠性最差。 本人提示:从示意图也可以看出,使用单一数据通道连接多个硬盘来实现RAID0,并不会使整体的I/O速率有很大的提升,而采用多个数据通道来实现RAID0,则整个逻辑盘的带宽是多个数据通道带宽之和!RAID1:RAID1-DiskMirroring(较常用)又称镜像。 即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出,一旦工作盘发生故障
6、立即转入镜像盘,从镜像盘中读出数据,当更换故障盘后,数据可以重构,恢复工作盘正确数据,这种阵列可靠性很高,但其有效容量减小到总容量一半以下,因此RAID1常用于对容错要求极严的应用场合。注:图片在网上找来的,无法统一风格,将就吧!RAID10,也就是RAID(0+1):结合了RAID0和RAID1—条块化读写的同时使用镜像操作。 RAID(0+1)允许多个硬盘损坏,因为它完全使用硬盘来实现资料备余。如果有超过两个硬盘做RAID1,系统会自动实现RAID(0+1)。RAID2:又称位交叉,它采用汉明码作盘错校验,采用按位交叉存取,
7、运用于大数据的读写,但冗余信息开销太大(校验盘为多个),已被淘汰。 RAID3:RAID3-ParallelDiskArray为单盘容错并行传输。即采用Stripping技术将数据分块,对这些块进行异或校验,校验数据写到最后一个硬盘上。它的特点是有一个盘为校验盘,数据以位或字节的方式存于各盘(分散记录在组内相同扇区的各个硬盘上)。当一个硬盘发生故障,除故障盘外,写操作将继续对数据盘和校验盘进行操作。而读操作是通过对剩余数据盘和校验盘的异或计算重构故障盘上应有的数据来进行的。RAID3的优点是并行I/O传输和单盘容错,具有很高可靠
8、性。缺点:每次读写要牵动整个组,每次只能完成一次I/O。 RAID4:与RAID3相似,区别是:RAID3是按位或字节交叉存取,而RAID4是按块(扇区)存取,可以单独地对某个盘进行操作,无须像RAID3那样,哪怕每一次小I/O操作也要涉及全