一、RAID 是什么?
RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,简称为「磁盘阵列」,其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。
二、RAID 有哪些?
RAID方案常见的可以分为:
-
RAID0
-
RAID1
-
RAID5
-
RAID6
-
RAID10
三、分别是什么?
RAID 0 :有多少块磁盘,存数据时,将数据拆分成多少份,分别装入这些磁盘中
这意味着磁盘的连续读写性能成倍增长(随机不变),但是数据会变得十分危险:因为数据被拆分成多份,一旦某块磁盘出现问题,数据将不可恢复。RAID 0 是速度最快的磁盘阵列,同时也是最危险的磁盘阵列。RAID 0 至少需要两块磁盘。
RAID1
RAID1 是磁盘阵列中单位成本最高的一种方式。因为它的原理是在往磁盘写数据的时候,将同一份数据无差别的写两份到磁盘,分别写到工作磁盘和镜像磁盘,那么它的实际空间使用率只有50%了,两块磁盘当做一块用,这是一种比较昂贵的方案。
RAID1其实与RAID0效果刚好相反。RAID1 这种写双份的做法,就给数据做了一个冗余备份。这样的话,任何一块磁盘损坏了,都可以再基于另外一块磁盘去恢复数据,数据的可靠性非常强,但性能就没那么好了。
RAID 3:它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。
RAID4
RAID4与RAID3的原理大致相同,RAID-4是以 条带 为单位。提供了非常好的读性能,但写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。在实际应用中很少见,主流存储产品也很少使用RAID4保护。
6、RAID5
RAID5称为分布奇偶校验条带,应该是目前最常见的RAID等级,原理与RAID4相似,但不存在RAID4中的并发写操作时的校验盘性能瓶颈问题。
RAID-5数据以 条带 为单位分布到各个硬盘上,不是把所有的校验块集中保存在一个专门的校验盘中,而是将校验块分散到所有的数据盘中。
- 性能卓
- 读速度将非常好
- 写速度处于平均水准,如果我们不使用硬件 RAID 控制器,写速度缓慢
- 从所有驱动器的奇偶校验信息中重建
- 完全容错
- 1个磁盘空间将用于奇偶校验
- 可以被用在文件服务器,Web服务器,非常重要的备份中
RAID-5的校验值采用的是异或算法。异或运算是二进制数值间的一种算法,其运算符号为XOR,或者用“⊕”表示。RAID-5之所以能够容错,就是利用了异或运算的以下特点
# 1.运算结果与运算顺序无关
(a ⊕ b) ⊕ c=a ⊕ (b ⊕ c)
# 2.各个参与运算的数字与结果循环对称
# 如果a ⊕ b ⊕ c=d, 那么:
a=b ⊕ c ⊕ d
b=a ⊕ c ⊕ d
c=a ⊕ b ⊕ d
上面例子中的a、b、c、d看作RAID-5四块成员盘上的条带,其中三个是数据条带,剩下一个是校验条带,如果有一块成员盘离线,不管哪个条带丢失了,都可以用剩下的三个条带经过异或计算出来。
如下图所示,RAID-5的校验码存在于所有硬盘上,其中P0为数据条带0、1的校验值,P1为数据2、3的校验值,P2为数据4、5的校验值。
RAID6
RAID6称为双重奇偶校验条带,引入双重校验的概念解决其他RAID等级无法解决的两个磁盘同时发生故障数据完整性问题。但是,它的成本要高于RAID5许多,写性能也较差,且设计和实施非常复杂。因此RAID6很少得到实际应用,一般是替代RAID10方案的经济性选择。
标准RAID等级各有优势和不足。把多个RAID等级组合起来,实现优势互补,弥补相互的不足,从而达到在性能、数据安全性等指标上更高的RAID系统。当然,组合等级的实现成本一般都非常昂贵,只是在少数特定场合应用。实际得到较为广泛应用的只有RAID01和RAID10两个等级。
- 性能不佳
- 读的性能很好
- 如果我们不使用硬件 RAID 控制器写的性能会很差
- 从两个奇偶校验驱动器上重建
- 完全容错
- 2个磁盘空间将用于奇偶校验, 成本高
- 可用于大型阵列
- 用于备份和视频流中,用于大规模
RAID10
RAID 10 可以被称为1 + 0或0 +1。同时拥有RAID0的超凡速度和RAID1的高数据可靠性,但是磁盘的利用率比较低
-
RAID01是先做条带化再作镜像,本质是对物理磁盘实现镜像;
-
RAID10是先做镜像再作条带化,是对虚拟磁盘实现镜像。
相同的配置下,通常RAID01比RAID10具有更好的容错能力。RAID01兼备了RAID0和RAID1的优点,整体磁盘利用率均仅为50%。
- 良好的读写性能
- 总容量丢失一半的可用空间
- 容错
- 从副本数据中快速重建
- 由于其高性能和高可用性,常被用于数据库的存储中
以下是比较图: