RAID,Redundant arrays of Inexpensive Disks,廉价冗余磁盘阵列。也称为Redundant arrays of Independent Disks,独立冗余磁盘阵列。

    其基本原理就是使用多个较小的磁盘通过不同的组织方式,组成一个大的磁盘组,以提高磁盘的IO能力和磁盘的耐用性。由于其不同的组织方式,所以分为了不同的级别。

    RAID到目前为止,分为0-6七个级别。

    标准RAID(RAID-0,RAID-1...RAID-6)

    

    RAID-0

    RAID0又称为条带卷(strip)存储,其基本原理是将数据划分为数据段或者数据块,存储在各个磁盘中。使用的最少磁盘数为2,能够使用的空间为N*min(磁盘1,...磁盘N)。min(磁盘1,...磁盘N)指的是N个磁盘中最小磁盘的容量。    

    在数据写入的时候,会将数据划分为N(磁盘数量)段,存储在相对应的磁盘中。由于将数据划分为N段,所以其读写速度理论上提升了N倍。但是由于此级别不能提供数据冗余,如果在运行的过程中,某个磁盘发生了错误,则会造成数据的丢失。

    

    RAID-1

    RAID1又称为镜像卷(mirror)存储,其原理是数据被同等的写入多个磁盘中,实现数据备份。使用的最少磁盘数为2,能够使用的空间为1*min(磁盘1,...磁盘N)。min(磁盘1,...磁盘N)指的是N个磁盘中最小磁盘的容量。

    在数据写入的时候,把数据百分百的复制到另外的N-1个磁盘上,实现了数据冗余,提高了数据的安全性。但是这种方式,写入速度较慢,读取速度快,而且磁盘的利用率较低。

    

    RAID-5

    RAID5采用了采用了校验码和并行传送技术,将数据和对应的XOR校验码分别存储在不同的磁盘上,其中全部的XOR校验码所占据的磁盘空间为一块磁盘的空间大小,相当于剩余的N-1块磁盘存储的都为数据。此种阵列需要至少三块磁盘。

    由于RAID5提供了数据校验功能,所以在有一块磁盘出现问题的时候,不会影响整个数据的完整性,从而保证了数据的安全性。当损坏的磁盘被重新代替时,通过XOR校验码,可以恢复磁盘上的数据。但是,由于在写入的时候,要不断计算校验码的关系,所以其写入速率有所下降。此种阵列,可使用的磁盘空间为(N-1)*min(磁盘1,...磁盘N)。min(磁盘1,...磁盘N)指的是N个磁盘中最小磁盘的容量。要用到的最少的磁盘数量为3块。

    RAID-6

    RAID6,independent data disks with two independent distributed parity schemes(带有两个独立分布式校验方案的独立数据磁盘)。RAID6使用了两个独立的校验码,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用和数据的完整性。

    使用此种阵列,需要至少4块磁盘,可用的数据磁盘空间为(N-2)*min(磁盘1,...磁盘N)。min(磁盘1,...磁盘N)指的是N个磁盘中最小磁盘的容量。其中,两种校验码所占据的磁盘空间为两块磁盘空间大小。降低了数据的写性能,其写性能较RAID5还有所下降。但是其读取性能有所提升。

    混合RAID

    RAID-10

    RAID10顾名思义就是先做RAID1,通过控制器将磁盘划分为镜像卷,进行冗余。随后做RAID0,通过控制器将数据分为条带进行存储。要使用最少4块磁盘。

    使用RAID10这种磁盘阵列,提高了数据的读写性能,但是磁盘的空间利用率只有原来的50%。有冗余能力,但是每隔数据块及其数据的备份只能有一份可以损坏,如果同时损坏,则数据整体就会损坏。例如,当磁盘1损坏的时候,剩余三块磁盘,只有当磁盘2损坏,整个数据才会丢失,理论故障率为1/3。

    RAID-01

    RAID10顾名思义就是先做RAID0,通过控制器将数据分为条带进行存储。随后做RAID1,通过控制器将磁盘划分为镜像卷,进行冗余。要使用最少4块磁盘。

    

    使用RAID01这种方式,同样提高了数据的读写速率以及数据的安全性,磁盘的空间利用率只有原来的50%。但是,其理论故障率有所提升。例如,当磁盘1损坏的时候,只要磁盘2或者磁盘3有一块损坏,则整个数据会丢失,所以,其理论故障率为2/3。