RAID类型性能比较完整版



在磁盘阵列性能的两个要素(磁盘空间和IOPS)都有很大影响的是磁盘阵列的组建类型(即RAID类型)。而在我们的日常工作中,常用的RAID类型为:RAID0 (没有奇偶检验的条带卷)、RAID1(镜像卷)、RAID5(带有奇偶检验的条带卷)、RAID10 (镜像的条带卷)。同时简单介绍最新还有一种RAID类型是RAID6.



<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />



1常见RAID类型的比较



常见RAID类型的比较



类型



原理



容错性



备份冗余



可用容量



I/O 性能



数据重构



数据安全



RAID0



将数据分成一定大小顺序写到阵列的磁盘里







N 倍



读写高



不能






RAID1



将数据完全一致的分别写到工作磁盘和镜像磁盘上







n/2 倍



读高写一般



1 块磁盘






RAID5



将数据校验的信息均匀的分散到阵列的各个磁盘上。这样就不存在并发写操作时的校验磁盘性能瓶颈







(n-1)/n 倍



读高写低



n-1 块磁盘






RAID10



RAID1 和RAID0的结合







n/2 倍



读写高



1 块磁盘








 



1.1  IO性能



 读性能  



RAID0 是N块磁盘的读速率,RAID5是(n-1)块磁盘读速率。



因为在RAID1中寻道一般能跨越组内所有磁盘进行。这意味着RAID1可获得两倍于单一磁盘的读取速度。同理得RAID10是N块磁盘的读速率。



 



  写性能



   对于写操作,RAID 10和RAID1类型都会产生一个额外的读操作。



对于写操作,RAID5需要执行两个读,两个写和两个XOR(异或检验)操作。另外对于单个用户的写操作,在新数据应用之前必须将老的数据从校验盘中移除,整个的执行过程是如下:读出旧数据,旧数据与新数据做XOR,并创建一个即时的值,读出旧数据的校验信息,将即时值与检验数据进行XOR,最后写下新的校验信息。为了减少对系统的影响,大多数的RAID5都读出并对整个条带(包括校验条带)写入缓存,执行两个XOR操作,然后发出并行写操作(通常对整个条带)。小数据量写操作的巨大使得RAID5技术很应用于密集写操作的场合,如重做日志文件和日志文件。



 



每块磁盘I/O计算如下:(n为磁盘个数)



RAID0  (r+w)/n



RAID1   (r+2w)/2



RAID5    (r+4w)/n



RAID10  (r+2w)/n



 



1.2数据重构



对于RAID10和RAID1,当一块硬盘失效时,进行数据重构的操作是复制一个新磁盘。



对于RAID5,需要从每块磁盘中读取数据,经过重新计算得到一块硬盘的数据量。因此RAID5在数据重构上的工作负荷和花费的时间远大于RAID10和RAID1.



 



1.3数据安全保护



RAID10(先做RAID1,再做RAID0)只要不出现成对磁盘损坏的情况,整个系统不会出现数据丢失。



RAID5不能出现两块损坏的磁盘,但由于数据重构时间和开销比RAID10高,在数据重构期间RAID5的可靠性比RAID10低。所以RAID5出现数据的丢失的可能性要比RAID10高,



 



2 RAID6



RAID 6的全称是独立的数据库硬盘与两个独立分布检验方案。实现这个思想的方法之一是用两个校验磁盘支持数据磁盘,第一个校验支持一种校验算法,而第二个磁盘支持另一种校验算法,第二算法也称为P+Q检验。



 



3 RAID 10与RAID01的分别



对于RAID01,当一个磁盘损坏等同于整个镜像条带的丢失,所以一旦镜像磁盘失效,RAID01系统就为了RAID0系统,增加了潜在的风险。另外RAID01数据是按整个条带进行重构,存在与RAID5数据重构一样的风险。因此强烈要求不架设RAID01的镜像的条带卷。



 


 


转载于:https://blog.51cto.com/freepeng/237554