RAID(Redundant Array of Independent Disks):独立硬盘冗余阵列
RAID和备份的区别:RAID只能解决物理硬盘的问题,它不能解决逻辑错误(例如,人为删除数据,或是删除文件,或是故意删除的),备份不仅可以解决物理硬盘的问题,同时也能解决逻辑错误问题
RAID0 :为了解决硬盘跟不上CPU和内存的性能问题才出现的,所以是分条RAID
在磁盘中的(0,1,2)组成分条1,(3,4,5)组成分条2,raid0是从分条0开始写,写完一个分条,才会依次往下写
利用率:100%(n表示组成RAID0的磁盘数量,在存储里面n>=2,在服务器里面n>=1,在操作系统中所有盘必须做成RAID,否则无法识别到),冗余盘数:n-1
优点:性能快,相同类型的磁盘前提下,容量不同的磁盘可以组成一个RAID,无数据保护
缺点:没有数据保护功能,任何一个物理盘故障,整个RAID组失效,数据全丢失,性能不同的硬盘不能组成一个RAID,大盘只能当小盘用,会有一部分空间浪费
例如:一个酒店
分条:整个酒店每层楼的101房间组成一个分条。磁盘阵列中,所有磁盘上相同位置的条带的集合组成一个分条
条带:整个酒店的每个房间为一个条带。RAID的最小存储单位,它可以是一个扇区,也可以是多个连续的扇区
RAID1 :镜像RAID,存两份数据,一份用于备份,若用4块磁盘做raid1,同时存4份数据
利用率:1/n(n表示组成RAID0的磁盘数量,n必须为2的倍数,建议用2块盘做RAID1,因为利用率太低了,节约存储空间降低成本,注意:一般操作系统都会做成RAID1),冗余盘数:n-1
优点:有数据保护
缺点:利用率太低
注意:华为的存储做RAID1,n只能是2的倍数。其他厂商的存储,n可以为任意值
RAID组的状态:
1、降级:RAID中的坏盘数量
RAID3:异或运算XOR(⊕)的分条RAID
相同为假(0),相异为真(1)
1⊕1=0,0⊕0=0,1⊕0=1,0⊕1=1
工作原理:存放在磁盘中的数据是以二进制数0001类似的这种存放,3块数据盘,一块校验盘,通过异或算法,算出校验盘存放的数据,若有一块数据盘坏了,此时如果换上一块新盘,通过校验盘和另外两块数据盘可以通过异或算法算出坏盘的数据
注意:RAID3中,每个数据盘中的每个条带进行数据擦除的时候,校验盘都会进行数据擦除,若是3块数据盘,1块校验盘,校验盘需要承担3块盘的数据擦除压力,所以校验盘容易坏
利用率:(n-1)/n,并且n>=3
优点:对于连续的数据,在坏了一块盘的前提下,校验盘和其他盘都正常工作,坏盘不存数据,重新插入新盘是可以算出坏盘中为存放的数据
缺点:校验盘会成为RAID组的瓶颈,校验盘寿命短,容易坏,经常处于重构状态(坏盘的数据需要被其他的盘算出来,这个过程就比较慢了,这时候就会影响性能,通俗来讲,重新算数据的过程叫做重构)
RAID5:分布式奇偶校验条带化
利用率:(n-1)/n ,并且n>=3
工作原理:每一块盘都充当校验盘,从而分担校验数据的压力
缺点:只能坏一块盘,回退到降级状态,若坏了两块盘以上,找回数据,会丢失部分数据,很大可能找不回来
优点:在RAID3的基础上解决了不公平的问题(所谓的不公平就是校验盘需要干的活太多),当写入数据的时候,每块盘轮流充当校验盘,
RAID6:两种校验值
P+Q校验值:华为的RAID6,类似与双校验的RAID5
DP校验值:其他厂商,类似于两块检验的RAID3
DP的工作原理
RAID10:RAID1(解决性能问题,但是没有解决冗余问题)+RAID0(解决冗余问题,但是没有解决性能问题)
利用率:50%
缺点:最低需要4块盘,可以坏两块盘,但是同一个RAID1的盘不能同时坏两块,否则数据也会丢失。
优点:结合了RAID1和RAID0的优点,提高了安全性的同时提高了性能
业务场景:RAID0,RAID1,RAID5,RAID10用的比较多
需要理解的是以下两种场景:
1、随便写:数据库业务,对表和数据需要update,delete,随便读写操作,一般情况都是发生小的IO(input/output)请求,这种用RAID5
2、顺序写:备份(连续的过程),视频监控(连续的过程),保存到磁盘上的数据,连续的,并且是大的IO请求,这种用RAID10
RAID2.0技术