RAID级别与性能大全
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其他RAID级别
• RAID 7:自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主 机运行,不占用主机CPU资源。 RAID 30:RAID 30也被称为专用奇偶位阵列条带。它具有RAID 0和RAID 3的特性, 由两组RAID 3的磁盘(每组3个磁盘)组成阵列,使用专用奇偶位,而这两种磁盘再组 成一个RAID 0的阵列,实现跨磁盘抽取数据。 RAID 50:被称为分布奇偶位阵列条带。同RAID 30相仿的,它具有RAID 5和RAID 0 的共同特性。它由两组RAID 5磁盘组成(每组最少3个),每一组都使用了分布式奇偶 位,而两组硬盘再组建成RAID 0,实验跨磁盘抽取数据。 RAID 53:称为高效数据传送磁盘结构。结构的实施同Level 0数据条阵列,其中,每 一段都是一个RAID 3阵列。它的冗余与容错能力同RAID 3。 RAID 1.5:一个新生的磁盘阵列方式,它具有RAID 0+1的特性,而不同的是,它的实 现只需要2个硬盘。从表面上来看,组建RAID 1.5后的磁盘,两个都具有相同的数据。 当然,RAID 1.5也是一种不能完全利用磁盘空间的磁盘阵列模式,因此,两个80GB的 硬盘在组建RAID 1.5后,和RAID 1是一样的,即只有80GB的实际使用空间,另外 80GB是它的备份数据。如果把两个硬盘分开,分别把他们运行在原系统,也是畅通无 阻的。
RAID级别
• NRAID: 硬盘连续使用。NRAID 意思是不使用RAID功能。它使用硬盘的总容量组成 逻辑碟(不使用条块读写)。换句话说,它生成的逻辑碟容量就是物理碟容量的总和。 此外,NRAID 不提供资料的备余。
•
JBOD:控制器将机器上每颗硬盘都当作单独的硬盘处理,因此每颗硬盘都被当作单颗 独立的逻辑碟使用。此外,JBOD并不提供资料备余的功能 。
• 企业中的绝大部分数据库应用,在数据写入的时候其实都是离散写例如向数据库每次写一个数据块的 数据,如8K大小;由于每次写入的量不是很大,而且写入的次数非常频繁,因此联机日志看起来会像 是连续写。但是因为不保证能够添满RAID5的一个条带(保证每张盘都能写入),所以很多时候更加 偏向于离散写入。
• • •
•
•
详解RAID5 – 写一个单个数据块
RAID5 --读-改-写,在最差的假定下需要4次对array的操作: --读
标准的RAID5写操作,包括必需的校验计算,需包括以下几个步骤: 1)从目标数据盘中读取旧的原始数据 2)从校验盘中读取旧的校验数据 3)以旧校验数据,新数据及已存在数据,生成新的校验数据 4)将新校验数据写入校验盘 5)将新数据写入目标数据盘
•
•
•
RAID级别
• RAID4: 与RAID3相似,区别是:RAID3是按位或字节交叉存取,而RAID4是按块 (扇区)存取,可以单独地对某个盘进行操作,无须像RAID3那样,哪怕每一次小I/O 操作也要涉及全组,只需涉及组中两块硬盘(一块数据盘,一块校验盘)即可,从而 提高了小量数据I/O速度。缺点:对于随机分散的小数据量I/O,固定的校验盘又成为 I/O瓶颈它们都要往校验盘上写,会发生争用校验盘的问题。 RAID5:Striping with floating parity drive,是一种旋转奇偶校验独立存取的阵列方式, 它与RAID3,RAID4不同的是没有固定的校验盘,而是按某种规则把奇偶校验信息均匀 地分布在阵列所属的硬盘上,所以在每块硬盘上,既有数据信息也有校验信息。这一 改变解决了争用校验盘的问题,使得在同一组内并发进行多个写操作。所以RAID5即 适用于大数据量的操作,也适用于各种事务处理,它是一种快速、大容量和容错分布 合理的磁盘阵列。当有N块阵列盘时,用户空间为N-1块盘容量。 RAID5中,在一块硬盘发生故障后,RAID组从ONLINE变为DEGRADED方式,但I/O 读写不受影响,直到故障盘恢复。但如果DEGRADED状态下,又有第二块盘故障,整 个RAID组的数据将丢失。
•
•
•
•
其他RAID级别
• RAID 5E (RAID 5 Enhencement) RAID 5E是在 RAID 5级别基础上的改进,与RAID 5 类似,数据的校验信息均匀分布在各硬盘上,但是, 在每个硬盘上都保留了一部分未使用的空间,这部分 空间没有进行条带化,最多允许两块物理硬盘出现故 障。
RAID级别
• RAID0:RAID 0 - Disk Stripping without parity 又称数据分块。即把数据分成若干相等大小 的小块,并把它们写到阵列上不同的硬盘上,这种技术又称“Stripping”(即将数据条带化), 这种把数据分布在多个盘上,在读写时是以并行的方式对各硬盘同时进行操作。从理论上讲, 其容量和数据传输率是单个硬盘的N倍。N为构成RAID0的硬盘总数。 RAID0 I/O传输率较高, 但平均故障时间MTTF只有单盘的N分之一,因此RAID0可靠性最差。 RAID1:RAID 1 - Disk Mirroring 又称镜像。即每个工作盘都有一个镜像盘,每次写数据时 必须同时写入镜像盘,读数据时只从工作盘读出,一旦工作盘发生故障立即转入镜像盘,从 镜像盘中读出数据。当更换故障盘后,数据可以重构,恢复工作盘正确数据,这种阵列可靠 性很高,但其有效容量减小到总容量一半以下,因此RAID1常用于对容错要求极严的应用场 RAID1 合,如财政、金融等领域。 RAID2: 又称位交叉,它采用汉明码作盘错校验,采用按位交叉存取,运用于大数据的读写, 但冗余信息开销太大(校验盘为多个),已被淘汰。 RAID3:RAID 3 - Parallel Disk Array 为单盘容错并行传输。即采用Stripping技术将数据分 块,对这些块进行异或校验,校验数据写到最后一个硬盘上。它的特点是有一个盘为校验盘, 数据以位或字节的方式存于各盘(分散记录在组内相同扇区的各个硬盘上)。当一个硬盘发 生故障,除故障盘外,写操作将继续对数据盘和校验盘进行操作。而读操作是通过对剩余数 据盘和校验盘的异或计算重构故障盘上应有的数据来进行的。RAID3的优点是并行I/O传输和 单盘容错,具有很高可靠性。缺点:每次读写要牵动整个组,每次只能完成一次I/O。
•
•
RAID5和RAID10
在RAID5选择3D+1P的RAID方案RAID10选择2D+2D的Raid方案下:
我们分析如下三个过程:读,连续写,随机写
RAID5和RAID10:读
• 读操作方面的性能差异
磁盘阵列读操作的关键更多的体现在cache的命中率上。所以,RAID5和RAID10在读数 据上面,他们基本是没有差别的,除非是读的数据能影响cache命中率,导致命中率不 一样。
•
RAID级别
• RAID6:同RAID5最大的区别就是在RAID5的基础上除了具有P校验位以外,还加入了 第2个校验位Q位。相当于在Raid5的基础之上在增加一个额外的冗余保护。它使用两个 校验磁盘而不是一个,也就是说它能够抵御两块磁盘损坏之后的数据丢失风险。但是其 读性能较差。随着SATA磁盘的使用率日益提高,RAID6也正在被越来越多的人所使用。 SATA盘相对于SCSI盘来讲更加廉价,但是可靠性不及后者,所以对SATA盘使用Raid6 是最合适。
其他RAID级别
• RAID 0+1 & RAID10 Raid 0与Raid1的组合体,它是利用奇 偶校验实现条带集镜像,所以它继承了 Raid0的快速和Raid1的安全。RAID 1 在这里就是一个冗余的备份阵列,而 RAID 0则负责数据的读写阵列。 RAID0+1 即先条带后镜像。假如RAID 0功能在最低位置实现,驱动器的失败 将导致最高位置的虚拟成员失去功能。 RAID10 即先镜像后条带,当采用RAID 0+1/RAID 10架构时,要先作RAID 1, 再把数个RAID 1做成RAID 0,即 RAID10。
RAID级别及性能
Wangqia 20110223
RAID
RAID,为Redundant Arrays of Independent Disks的简称,中文为独 立 冗 余 磁 盘 阵 列 。 在 1987 年 由 美 国 柏 克 莱 大 学 提 出 RAID (Redundant Array of Inexpensive Disks--廉价冗余磁盘阵列)理 论,作为高性能的存储系统,巳经得到了越来越广泛的应用。RAID 的级别从RAID概念的提出到现在,巳经发展了多个级别,有明确标 准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四 个级别Baidu Nhomakorabea其他还有6、7、10、30、50等。
RAID5和RAID10:连续写
连续写方面的性能差异
• 连续写的过程,一般表示写入连续的大批量的数据,如媒体数据流,很大的文件等等。在连续写操作 过程,在写cache的帮助下,并且算法适当,RAID5比RAID10甚至会更好一些,虽然也许并没有太大 的差别,(这里要假定存储有一定大小足够的写cache,而且计算校验不会出现瓶颈)。因为这个时候 的RAID校验是在cache中完成,如4块盘的RAID5,可以先在内存中计算好校验,同时写入3个数据 +1个校验。而RAID10只能同时写入2个数据+2个镜相。
我们假定要把一个数字2变成数字4,那么对于RAID5,实际发生了4次io: 先读出2与校验6,可能发生读命中,然后在cache中计算新的校验,写入新的数字4与新的校验8 对于RAID10,同样的单个操作,最终RAID10只需要2个io,而RAID5需要4个io。 当然RAID5在那两个读操作的时候,可能会发生读命中操作的情况。也就是说,如果需要读取的数据 已经在cache中,可能是不需要4个io的。
RAID5 (7+P) ARRAY
执行异或计算 (1) (3) Cache = 数据被写入磁盘
Parity
(2) (4)
= 数据被从盘里读取
详解RAID5 – 写全条带
全条带写,特别是大的IO传输大小和顺序workload下的全条带写,可以在写之前被RAID5在不需要从 array读任何旧数据的情况下计算出校验而完成该写操作。
•
如上图所示,4块盘的RAID5可以在同时间写入1、2、3到cache,并且在cache计算好校验之后,这 里假定是6(实际的校验计算并不是这样的,仅仅是假设),同时把三个数据写到磁盘。而4块盘的 RAID10不管cache是否存在,写的时候,都是同时写2个数据与2个镜相。
RAID5和RAID10:随机写
RAID5 (7+P) ARRAY
Parity
Cache = 数据被从磁盘里读取 = 数据被写入磁盘
Cache
磁盘读写速度的关键之一: 磁盘读写速度的关键之一:Cache
• 作为高端存储,cache已经是整个存储的核心所在,就是中低端存储,也有很大的 cache存在,包括最简单的RAID卡,一般都包含有几十,甚至几百兆的RAID cache。 cache cache的主要作用是什么呢?作为缓存,cache的作用具体体现在读与写两个不同的方 cache 面:作为写,当主机将一个待写入阵列RAID组中的数据发送到阵列时,阵列控制器将 该数据保存在缓存中并立即报告主机该数据的写入工作已完成。 当写cache的数据积 累到一定程度,阵列才把数据刷到磁盘,可以实现批量的写入。所以,阵列的写是非 常快速的。至于cache数据的保护,一般都依赖于镜相与电池(或者是UPS)。 cache在读数据方面的作用一样不可忽视,因为如果所需要读取的数据能在cache中命 中的话,将大大减少磁盘寻道所需要的时间。因为磁盘从开始寻道到找到数据,一般 都在6ms以上,而这个时间,对于那些密集型I/O的应用可能不是太理想。但是,如能 在cache保存的数据中命中,一般响应时间则可以缩短在1ms以内。
•
RAID 5EE: 与RAID 5E相比,RAID 5EE的数据分布更有效率, 每个硬盘的一部分空间被用作分布的热备盘,它们是 阵列的一部分,当阵列中一个物理硬盘出现故障时, 数据重建的速度会更快。 图中,D代表数据,P代表校验信息,S是指的热备的 空间,可以看到,被预留出来的热备空间是均匀分布 在硬盘上的。