存储基础知识(四):RAID技术(下)

各种 RAID 级别比较

在各个 raid 级别中,使用最广泛的是 raid0 raid1 raid10 raid5

RAID-0
,将数据分成条带顺序写入一组磁盘中。 RAID-0 不提供冗余功能,但是它却提供了卓越的吞吐性能,因为读写数据是在一组磁盘中的每个磁盘上同时处理的,吞吐性能远远超过单个磁盘的读写。

RAID-1
,每次写操作都将分别写两份到数据盘和校验盘上,每对数据盘和校验盘成为镜像磁盘组。也可使用并发的方式来读数据时,提高吞吐性能。如果镜像磁盘组中某个磁盘出错,则数据可以从另外一块磁盘获得,而不会影响系统的性能,然后,使用一块备用磁盘将健康磁盘中的数据复制出来然后这两块磁盘又组成新的镜像组。

RAID1/0
,即 RAID1 RAID0 的结合,既做镜像又做条带化,数据先镜像再做条带化。这样数据存储既保证了可靠性,又极大地提高了吞吐性能。

RAID-0/1
也是 RAID0 RAID1 的结合,但它是对条带化后的数据进行镜像。但与 RAID10 不同,一个磁盘的丢失等同于整个镜像条带的丢失,所以一旦镜像盘失败,则存储系统成为一个 RAID-0 系统(即只有条带化)。

RAID-5
是将数据校验循环分散到各个磁盘中,它像 RAID-0 一样将数据条带化分散写到一组磁盘中,但同时它生成校验数据做为冗余和容错使用。校验磁盘包含了所有条带的数据的校验信息。 RAID-5 将校验信息轮流地写入条带磁盘组的各个磁盘中,即每个磁盘上既有数据信息又同时有校验信息, RAID-5 的性能得益于数据的条带化,但是某个磁盘的失败却将引起整个系统的下降,这是因为系统将在承担读写任务的同时,重新构建和计算出失败磁盘上的数据,此时要使用备用磁盘对失败磁盘的数据重建恢复整个系统的健康。

从一个普通应用来讲,要求存储系统具有良好的 IO 性能同时也要求对数据安全做好保护工作,所以 raid10 raid5 应该成为我们重点关注的对象。下面从 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 SATA 硬盘的质量已经可以承担企业级的应用,并且,容量的增加幅度相当大,目前已经可以实现单个磁盘 400G 的存储容量。 SCSI 硬盘由于要求高转速而使用小直径盘片,容量的增加相对缓慢。 ATA 磁盘相对 SCSI 磁盘拥有成本也要小很多。

因此,在采用价格昂贵的 FC SCSI 硬盘的存储系统中,对于预算有限同时数据安全性要求不高的场合可以采用 RAID5 方式来折中;其他应用中采用大容量的 ATA SATA 硬盘结合 raid10 ,既降低了 raid10 的为获得一定的存储空间必须采用双倍磁盘空间的拥有成本,又避免了 raid5 相对 raid10 的各种缺点。在企业应用中, raid10 结合 SATA 磁盘意味着一个更好的选择。
 

你可能感兴趣的:(技术,基础,raid,知识,休闲)