RAID 10的结构

RAID 10的结构,第1张

Raid 10其实结构非常简单,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。磁盘1和磁盘2组成一个Raid1,磁盘3和磁盘4又组成另外一个Raid1这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据1、3、5、7,写在硬盘2中则为数据1、3、5、7,硬盘3中的数据为0、2、4、6,硬盘4中的数据则为0、2、4、6,因此数据在这四个硬盘上组合成Raid10,且具有raid0和raid1两者的特性。

虽然Raid10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性。假如磁盘中的某一块盘坏了,整个逻辑磁盘仍能正常工作的。

当我们需要恢复RAID 10中损坏的磁盘时,只需要更换新的硬盘,按照RAID10的工作原理来进行数据恢复,恢复数据过程中系统仍能正常工作。原先的数据会同步恢复到更换的硬盘中。

总的来说,RAID 10以RAID 0为执行阵列,以RAID 1为数据保护阵列,它具有与RAID 1一样的容错能力,用于容错处理的系统开销与单独的镜像 *** 作基本一样,由于使用RAID 0作为执行等级,因此具有较高的I/O宽带对于那些想在RAID 1基础上大幅提高性能的用户,它是一个完美的解决方案。RAID 10适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合。

raid1下硬盘内容为0

Raid 10是一个Raid 0与Raid1的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。我们知道,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。其实,图6只是一种RAID 10方式,更多的情况是从主通路分出两路,做Striping *** 作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring *** 作,即互做镜像。

由于利用了RAID 0极高的读写效率和RAID 1较高的数据保护、恢复能力,使RAID 10成为了一种性能及安全性比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。但是,RAID 10对存储容量的利用率和RAID 1一样低,只有50%。因此,RAID10即高可靠性与高效磁盘结构它是一个带区结构加一个镜象结构,可以达到既高效又高速的目的,RAID 10能提供比RAID 5更好的性能。这种新结构的可扩充性不好,这种解决方案被广泛应用,使用此方案比较昂贵。

Raid 10其实结构非常简单,分为raid0+1,和raid1+0两种类型,raid1+0首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。raid0+1性能上讲,RAID0+1 好,就是先做RAID 0 条带,再做 RAID 1 MIRROR,这样写入速度快,读的速度和RAID1+0一样。图中磁盘1和磁盘2组成一个Raid1,磁盘3和磁盘4又组成另外一个Raid1这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据0、1、2、3,写在硬盘2中则为数据0、1、2、3,硬盘3中的数据为4、5、6、7,因此数据在三个硬盘上的分布不同于Raid1和Raid0,但又具有两者的特性。

虽然Raid10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性。上图中显示磁盘2损坏了,整个逻辑磁盘仍能正常工作的。

当我们需要恢复RAID 10中损坏的磁盘2时,只需要更换新的硬盘,安照RAID10的工作原理来进行数据恢复,恢复数据过程中系统仍能正常工作。图8中新换硬盘2,原先的数据0、2、3、5会同步恢复到硬盘2中。

总的来说,RAID 10以RAID 0为执行阵列,以RAID 1为数据保护阵列,它具有与RAID 1一样的容错能力,用于容错处理的系统开销与单独的镜像 *** 作基本一样,由于使用RAID 0作为执行等级,因此具有较高的I/O宽带对于那些想在RAID 1基础上大幅提高性能的用户,它是一个完美的解决方案。RAID 10适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合。

RAID10也被称为镜象阵列条带。像RAID0一样,数据跨磁盘抽取;像RAID1一样,每个磁盘都有一个镜象磁盘, 所以RAID 10的另一种会说法是 RAID 1+0。RAID10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10提供最好的性能。使用RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。RAID10需要4 + 2*N 个磁盘驱动器(N >=0), 而且只能使用其中一半(或更小, 如果磁盘大小不一)的磁盘用量, 例如 4 个 250G 的硬盘使用RAID10 阵列, 实际容量是 500G。

RAID10与RAID5的异同比较

从一个普通应用来讲,要求存储系统具有良好的IO性能同时也要求对数据安全做好保护工作,所以raid10和raid5应该成为我们重点关注的对象。

单纯的谈论不同raid级别的优缺是不切实际的,raid只有和磁盘结合才是完整的阵列。

下面从IO性能,数据重构及对系统性能的影响,数据安全保护等方面,结合磁盘现状来分析两种技术的差异。

IO的性能:

读 *** 作上raid10和raid5是相当的,

对于RAID-5 在一些很小数据的写 *** 作(如比每个条带还小的小数据)需要2 个读、2 个写,还有2 个XOR *** 作,对于单个用户的写 *** 作,在新数据应用之前必须将老的数据从校验盘中移除,整个的执行过程是这样:读出旧数据,旧数据与新数据做XOR,并创建一个即时的值,读出旧数据的校验信息,将即时值与校验数据进行XOR,最后写下新的校验信息。为了减少对系统的影响,大多数的RAID5 都读出并将整个条带(包括校验条带)写入缓存,执行2 个XOR *** 作,然后发出并行写 *** 作(通常对整个条带),即便了进行了上述优化,系统仍然需要为这种写 *** 作进行额外的读和XOR *** 作。小量写 *** 作困难使得RAID-5 技术很少应用于密集写 *** 作的场合,如回滚字段及重做同志。当然,也可以将存储系统的条带大小定义为经常读写动作的数据大小,使之匹配,但这样会限制系统的灵活性,也不适用于企业中其它的应用。

对于raid10,由于不存在数据校验,每次写 *** 作只是单纯的执行写 *** 作。应此在写性能上raid10要好于raid5。

数据重构:

对于raid10,当一块磁盘失效时,进行数据重构的 *** 作只是复制一个新磁盘,如果假定磁盘的容量为250G,那么复制的数据量为250G。

对于raid5的存储阵列,则需要从每块磁盘中读取数据,经过重新计算得到一块硬盘的数据量,如果raid5是以4+1的方式组建,每块磁盘的容量也为250G,那么,需要在剩余的4个磁盘中读出总共是1000G的数据量计算得出250G的数据。从这点来看,raid5在数据重构上的工作负荷和花费的时间应该远大于raid10,负荷变大将影响重构期间的性能,时间长意味再次出现数据损坏的可能性变大。

数据安全保护:

raid10系统在已有一块磁盘失效的情况下,只有出现该失效盘的对应镜像盘也失效,才会导致数据丢失。其他的磁盘失效不会出现数据丢失情况。

Raid5系统在已有一块磁盘失效的情况下,只要再出现任意的一块磁盘失效,都将导致数据丢失。

从综合来看,raid10和raid5系统在出现一块磁盘失效后,进行数据重构时,raid5需耗费的时间要比raid10长,同时重构期间系统负荷上raid5要比raid10高,同时raid5出现数据丢失的可能性要比raid10高,因此,数据重构期间,raid5系统的可靠性远比raid10来的低。

Raid5在磁盘空间率用率上比raid10高,raid5的空间利用率是(N-1)/ N (N为阵列的磁盘数目),而raid10的磁盘空间利用率仅为50%。

但是结合磁盘来考虑,今天的硬盘厂商所生产的ATA硬盘的质量已经可以承担企业级的应用,并且,容量的增加幅度相当大,目前已经可以实现单个磁盘400G的存储容量。SCSI硬盘由于要求高转速而使用小直径盘片,容量的增加相对缓慢。ATA磁盘相对SCSI磁盘拥有成本也要小很对,

应此,在一些IO要求非常高的应用中,raid5结合SCSI磁盘是比较好的选择,其他应用中采用大容量的ATA硬盘结合raid10,既降低了raid10的为获得一定的存储空间必须采用双倍磁盘空间的拥有成本,又避免了raid5相对raid10的各种缺点。

在企业应用中,raid10结合ATA磁盘意味着一个更好的选择。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9897204.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存