新闻资讯

如何简洁的描述RAID0、1、5技术

如何简洁的描述RAID0、1、5技术

 

1、 什么是RAID

RAID是一种把若干个硬盘以某种方式组合在一起,为了达到更高的数据安全性或更快的数据读写速度这两个目的的一种技术。RAID也叫磁盘阵列,一般来说,服务器的硬盘都会做成RAID模式。常用的RAID的方式有:RAID01、1+0(10,01)56等。

2、  什么是RAID0(数据分条)

RAID0就是数据分条技术,举例:把两个硬盘做成RAID0,在向这两块硬盘写数据的时候,是把一个数据分成两半,再把这两半数据同时写到两个硬盘,写一个数据只需原来一半的时间,提高了速度,但如果有一个硬盘损坏了,数据就无法恢复了,因此RAID0能提高速度,但没有安全性。RAID0至少需要两块硬盘。

3、  什么是RAID1?(镜像)

RAID1就是为硬盘建立一个镜像。举例:把两个硬盘做成RAID1,在向这两块硬盘写数据的时候,是在两个硬盘上都写一份同样的数据,任何时候两个硬盘的数据都是一模一样的,只损坏哪一块硬盘都没关系,因为另一个硬盘还有完整的数据,因此RAID1拥有非常高的安全性,但RAID1不能提高读写速度,而且RAID1的利用率是最低的,只有50%的利用率。RAID1至少需要两块硬盘。

4、  什么是RAID5(数据分条加校验)

RAID5至少需要三块硬盘。举例:如果把三个硬盘做成RAID5,在向这三块硬盘写数据的时候,是把数据分成两块,分别写到其中两个硬盘,再计算出校验位并写到第三个硬盘。至于数据及校验位写到哪个硬盘,是随机决定的。当有任何一块硬盘出现故障的时候,都可以通过其他硬盘的校验位进行全部数据的恢复。RAID5的利用率是N-1块硬盘,比如有3块硬盘做RAID5,那就有3-1=2块硬盘存放的是数据,4块硬盘做成RAID5,就有4-1=3块硬盘存放的是数据,总之,总有相当于一块硬盘的容量是用来存放校验位的。相对于RAID1RAID5提高了硬盘的利用率;相对于RAID0RAID5提高了安全性。因此,RAID5既有接近于RAID0的读写速度,又有接近于RAID1的安全性。

另外,RAID5之所以不把所有校验位放在同一块磁盘上,而是把校验位随机均匀的分布在每一块硬盘上,原因是为了降低含有校验位硬盘的写的次数,不让某一个硬盘因为写校验位成为热点硬盘。举例,如果所有校验位都在同一个硬盘上,那么对任何一个硬盘写的操作都同时需要修改校验盘。

一般来说,硬盘越多,RAID5的速度就越快,但也会有上限,当硬盘超过9个时,写损失(也叫写惩罚)就越严重。

5、 什么是RAID10RAID01

RAID10RAID01至少需要四个硬盘,既有RAID1的安全性,又有RAID0的高速度。把两块硬盘先分别做成RAID1,然后再把这两组硬盘做成RAID0,这种就是RAID10。先做成RAID0再做成RAID1,就是RAID01

从安全性来讲,RAID10要优于RAID01,原因如下:

RAID10的情况,DISK1DISK2两块硬盘做成RAID1DISK3DISK4两块硬盘也做成RAID1,然后把两组硬盘做成RAID0。假设当DISK1损坏时,在剩下的3块盘中,只有当DISK2一个盘发生故障时,才会导致整个RAID失效,我们可简单计算故障率为三分之一。 

RAID01的情况 DISK1DISK2两块硬盘做成RAID0DISK3DISK4两块硬盘也做成RAID0,然后把两组硬盘做成RAID1。仍然假设DISK1损坏,这时DISK1所在的RAID0组将无法读取。在剩下的3块盘中,只要DISK3DISK4两个盘中任何一个损坏,都会导致整个RAID失效,我们可简单计算故障率为三分之二。 

因此,RAID10RAID01在安全性方面要强。 

从数据存储的逻辑位置来看,在正常的情况下RAID01RAID10是完全一样的,而且每一个读写操作所产生的IO数量也是一样的,所以在读写性能上两者没什么区别。