1. 基本概念
RAID(Redundant Array of Independent Disks)是一种磁盘阵列技术,通过将多个物理磁盘组合成一个大容量的逻辑磁盘,提高磁盘存储的性能和可靠性。
RAID一共有0~6一共7种,其中RAID 0、RAID1、RAID 5和RAID6比较常用。
RAID级别 | 冗余磁盘 | 空间利用率 | 性能 | 可靠性 |
0 | 0颗 | 100 % 100\%100% | 最高 | 最低 |
1 | n / 2 n/2n/2颗 | 50 % 50\%50% | 低 | 最高 |
3 | 1 11颗 | ( n − 1 ) / n (n-1)/n(n−1)/n | 较高 | 较低 |
5 | 1 11颗 | ( n − 1 ) / n (n-1)/n(n−1)/n | 较高 | 较低 |
6 | 2 22颗 | ( n − 2 ) / n (n-2)/n(n−2)/n | 较低 | 较高 |
其中,n nn为磁盘数。
2. RAID 0
RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术,指块级拆分但没有任何冗余的磁盘阵列,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。
RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。
为了解决这一问题,便出现了RAID 0的另一种模式(常说的RAID 0)。即在N块硬盘上选择合理的带区来创建带区集。其原理就是将原先顺序写入的数据被分散到所有的N块硬盘中同时进行读写。N块硬盘的并行操作使同一时间内磁盘读写的速度提升了N倍。
虽然RAID 0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,没有提供冗余或错误修复能力,如果出现故障,无法进行任何补救。所以,RAID 0一般用于对数据安全性要求不高的情况。
3. RAID 1
RAID 1 是使用块级拆分的磁盘镜像,提供最好的写操作性能,多用在保存关键性的重要数据的场合。原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%。
另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1
RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,可使用多个磁盘控制器。
4. RAID 0+1
RAID 0+1是RAID0与RAID1的结合体。单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,可在磁盘镜像中建立带区集。这种配置方式综合了带区集和镜像的优势,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。
5. RAID 5
RAID5称为分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。RAID5 具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长,拥有更高的容量以及更高的性能。
RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。
6. RAID6
RAID6是带有两种分布存储的奇偶校验码的独立磁盘结构。RAID6 引入双重校验的概念,可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,可以看作是RAID5的 扩展。由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多。
RAID6 具有快速的读取性能、更高的容错能力,但成本要高于 RAID5 许多,写性能也较差,设计和实施非常复杂。因此,RAID6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。
其中,p 0 p0p0代表第0带区的奇偶校验值,而p A pApA代表数据块A的奇偶校验值