在各个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磁盘意味着一个更好的选择。