简介
RAID 是英文 Redundant Array of Independent Disk 的首字母缩写,中文意思是:独立磁盘冗余阵列。通俗的讲就是把多块硬盘组成一个独立的磁盘阵列进行管理。
RAID 白皮书上的解释:RAID(独立冗余磁盘阵列)是一项能提升外部存储解决方案性能的简单技术。它能让您根据自己的需要选择最佳的设备使
用方式。简单地说,RAID 技术可以将一个硬盘上的任务分散或复制到多个(少则两个)磁盘上,借此来提高性能或建立数
据冗余以防驱动器发生故障。您可以通过设定设备的 RAID 模式来决定设备以何种方式处理数据。

RAID 的实现方式分类
RAID 可以按照硬盘数量和组织方式不同分为不同类型的 RAID 实现。
常见的有: RAID 0、RAID 1、RAID 5、RAID 6、RAID 01、RAID 10
不常见的有:RAID 2、RAID 3、RAID 4、RAID 7、RAID 50、RAID 53

优缺点:

                    RAID-0:
                        读、写性能提升
                        可用空间:N*min(S1,S2,...)
                        无容错能力
                        最少磁盘数:2, 2+
                        特点:
                            优点:读、写性能提升,不存在校验,不会占太多CPU资源,设计、使用和配置比较简单;
                            缺点:无冗错能力,不能用于对数据安全性要求高的环境;
                            可用空间:N (硬盘个数) *min (s1,s2...取决于最小的硬盘空间)
                            适用领域:视频生成和编辑、图形编辑,其它需要大的传输宽带的操作

                    RAID-1:
                        读性能提升、写性能略有下降
                        可用空间:1*min(S1,S2,...)
                        有冗余能力
                        最少磁盘数:2, 2N
                        特点:
                            磁盘数:最低2个,2n个,n大于等于1
                            优点:
                                读性能提升、写性能略有下降,具有100%数据冗余,提供最高的数据安全保障,理论上可实现2倍的读取效率设计和使用较简单;
                            缺点:
                                开销大,空间利用率只有50%,在写性能方面提升不大;
                            有冗余能力
                            可用空间:1*min (s1,s2...由最小硬盘的空间决定)
                            适用领域:财务、金融等高可用、高安全的数据存储环境
                    RAID-2:
                        采用校验冗余
                            把数据分散为位或块,加入汉明码,间隔写入到磁盘阵列的每个磁盘中在成员磁盘上的地址都一样
                        采用并行存取的方式
                        花费大、成本昂贵

                    RAID-3:
                        数据块被分成更小的块,并行传输到各个成员磁盘上,同时计算xor校验数据存放到专用的校验磁盘上;
                        xor算法:(异或)
                            相同为假、不同为真

                        特点:
                            磁盘数:最低3个
                            优点:
                                读写性能都较好,当磁盘损坏时,对整体吞吐量影响较小,减少了开销;
                            缺点:
                                控制器设计复杂,采用并行的存取方式,主轴同步时吞吐量没有提高,校验磁盘的写性能有瓶颈;
                            适用领域:
                                视频生成和图形、视频编辑等;需要高吞吐量的应用环境;

                    RAID-4:
                        多块数据盘异或运算值存于专用校验盘
                        校验存储在固定磁盘
                        最少需要3块硬盘;
                        数据交叉存储在2块硬盘中,再由第3块硬盘存储数据的校验码;
                        校验码是由2块硬盘中的chunk块按位进行异或运算后而得的值;
                        其中1块硬盘坏了不影响文件数据读写操作,数据还可以恢复,但就是有些慢;即使坏了1块硬盘仍然继续在线工作时,称为降级模式,此时数据没有保障,风险较大;所以要马上用新硬盘替换坏硬盘,暂定业务,用2块可用盘进行计算,按位校验恢复数据到新硬盘即可,当所有数据都恢复到新硬盘后,就能继续正常工作了;但是万一在恢复过程中也是有风险的;
                        RAID4还有一个固有缺点:用单块盘作为存放校验码,无论前面哪块盘访问数据,校验盘都得被访问;即集中存放校验码的校验盘访问压力过大,很容易造成性能瓶颈;所以,尽早发现坏盘损坏,就能尽早更换;可以在接1块新硬盘当做空闲备用盘。
                         异或运算,存储校验码:
                        例如:1101,0110按位校验,校验码为:1011  
                    RAID-5:
                        读、写性能提升
                        可用空间:(N-1)*min(S1,S2,...)
                        有容错能力:允许最多1块磁盘损坏
                        最少磁盘数:3, 3+
                        校验有序的存储在不同磁盘
                        采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上;
                        相对于RAID-4把校验码存放在一块硬盘上,而RAID-5是将3块盘循环轮流作存放校验码。左对称即校验码存放各盘的顺序是先在前2块盘存数据,第3块盘存校验码,依次类推,右对称相反。 
                        特点:
                            磁盘数:最低3个
                            优点:
                                读性能较高,中等的写特性,校验信息的分布方式存取,避免出现写操作的瓶颈;
                            缺点:
                                控制器设计复杂,磁盘重建的过程比较复杂;
                            可用空间:(N-1)*min(S1,S2,...其中的最小空间)
                            有容错能力:1块磁盘
                            适用领域:文件服务器、email服务器、web服务器等环境,数据库应用;

                    RAID-6:
                        读、写性能提升
                        可用空间:(N-2)*min(S1,S2,...)
                        有容错能力:允许最多2块磁盘损坏
                        最少磁盘数:4, 4+
                        有两个校验


                    组合不同级别的RAID
                    组合不同级别的RAID的目的
                        从RAID0到RAID6,不同级别的RAID在性能、冗余、价格等方面做了不同程度的折中;
                        重点介绍:
                        RAID-10、RAID-01、RAID-50

                    RAID-10:
                        读、写性能提升
                        可用空间:N*min(S1,S2,...)/2
                        有容错能力:每组镜像最多只能坏一块
                        最少磁盘数:4, 4+
                        先使用RAID 1连接两块磁盘,在使用RAID 0连接4块磁盘
                        特点:
                            磁盘数:最低4个,2n个,n大于等于2;
                            优点:
                                读性能很高,写性能比较好,数据安全性好,允许同时有N个磁盘失效;
                            缺点:
                                利用率只有50%,开销大;
                            可用空间:N*min(S1,S2,...其中最小空间)/2;
                            有容错能力:每组镜像最多只能坏一块;
                            适用领域:多用于要求高可用性和高安全性的数据库应用;

                    RAID-01:
                        多块磁盘先实现RAID0,再组合成RAID1
                        同RAID 10 ,只不过是先采用RAID 0
                        先分成两组做成RAID-0,再把组成的RAID-0做成RAID-1;不符合常用方法,每一组有一块坏的硬盘可能性大;

                    RAID-50:
                        多块磁盘先实现RAID5,再组合成RAID0
                        是RAID5和RAID0的结合,先实现RAID5,再条带化;(先做RAID-5在做RAID-0,最少6块盘,每组允许坏1块盘,空间利用率灵活)、RAID7(某家公司的私有技术,实际是文件服务器)

                        特点:
                            磁盘数:最低6个;
                            优点:
                                比RAID5有更好的读性能,比相同容量的RAID5重建时间更短,可以容许N个磁盘同时失效;
                            缺点:
                                设计复杂,比较难实现;同一个RAID5组内的两个磁盘失效会导致整个阵列失效;
                            适用领域:大型数据库服务器、应用服务器、文件服务器等应用;

                    JBOD:Just a Bunch Of Disks
                        功能:将多块磁盘的空间合并一个大的连续空间使用
                        可用空间:sum(S1,S2,...)
                    RAID7
                        可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式
                    常用级别:
                        RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

                    常用RAID级别的比较:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD
                        RAID-0性能最好;
                        RAID-1冗余度最高;
                        相同可用容量下,RAID-1和RAID-10开销最高;

                软件RAID和硬件RAID
                    软件RAID:功能都依赖于主机cpu完成,没有第三方的控制处理器和I/O芯片;
                    硬件RAID:有专门的RAID控制处理器和I/O处理芯片来处理RAID任务,不需占用主机cpu资源;

区别:
RAID 0:如果你有n块磁盘,原来只能同时写一块磁盘,写满了再下一块,做了RAID 0之后,n块可以同时写,速度提升很快,但由于没有备份,可靠性很差。n最少为2

RAID 1:正因为RAID 0太不可靠,所以衍生出了RAID 1。如果你有n块磁盘,把其中n/2块磁盘作为镜像磁盘,在往其中一块磁盘写入数据时,也同时往另一块写数据。坏了其中一块时,镜像磁盘自动顶上,可靠性最佳,但空间利用率太低。n最少为2

RAID 3:为了说明白RAID 5,先说RAID 3.RAID 3是若你有n块盘,其中1块盘作为校验盘,剩余n-1块盘相当于作RAID 0同时读写,当其中一块盘坏掉时,可以通过校验码还原出坏掉盘的原始数据。这个校验方式比较特别,奇偶检验,1 XOR 0 XOR 1=0,0 XOR 1 XOR 0=1,最后的数据时校验数据,当中间缺了一个数据时,可以通过其他盘的数据和校验数据推算出来。但是这有个问题,由于n-1块盘做了RAID 0,每一次读写都要牵动所有盘来为它服务,而且万一校验盘坏掉就完蛋了。最多允许坏一块盘。n最少为3.
RAID 5:在RAID 3的基础上有所区别,同样是相当于是1块盘的大小作为校验盘,n-1块盘的大小作为数据盘,但校验码分布在各个磁盘中,不是单独的一块磁盘,也就是分布式校验盘,这样做好处多多。最多坏一块盘。n最少为3
在这里插入图片描述
RAID 6:在RAID 5的基础上,又增加了一种校验码,和解方程似的,一种校验码一个方程,最多有两个未知数,也就是最多坏两块盘

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐