RAID:
Redundant Arrays of Inexpensive Disks(廉价磁盘冗余阵列)
Independent独立磁盘冗余阵列
Berkeley:A case for RedundentArrays of Inexpensive Disks RAID
多个独立的物理硬盘按照不同的方式组合起来,形成一个虚拟的硬盘,来提升性能和冗余性;
能解决什么问题:
提高IO能力
多个磁盘并行读写来实现;RAID控制器高级产品有专用RAID内存、独立电源;
提高耐用性
磁盘冗余来实现;
RAID的优势
RAID在容量和管理上有优势
易于灵活容量扩容;
“虚拟化”使可管理性极大增强;
RAID在性能上的优势
“磁盘分块”技术带来性能的提高;
RAID在可靠性和可用性上的优势
通过冗余技术和热备、热换提升了可靠性;
RAID实现的方式:
外接式磁盘阵列;通过扩展卡提供适配能力,扩展卡称为Adapter适配器;
内接式RAID:主板集成RAID控制器
Software RAID:
RAID级别:仅用来标识磁盘组织形式
不同的RAID级别,多块磁盘组织在一起的工作方式有所不同;
不同的存储性能
RAID-0:0级别,条带卷,strip;
RAID-1:1级别,镜像卷,mirror;
...
RAID-5:
RAID-6:
RAID10:
RAID01:
RAID机制中也把文件划分为块,这里的块称为chunk;存储形式是把数据分散保存在不同的硬盘中
RAID-0的工作原理
是以条带形式将数据均匀分布在阵列的各个磁盘上;
特点:
磁盘数:最低2个;
优点:读、写性能提升,不存在校验,不会占太多cpu资源,设计、使用和配置比较简单;
缺点:无冗错能力,不能用于对数据安全性要求高的环境;
可用空间:N(硬盘个数)*min(S1,S2...取决于最小的硬盘的空间)
适用领域:视频生成和编辑、图形编辑,其它需要大的传输带宽的操作;
RAID-1工作原理:
以镜像为冗余方式,对虚拟磁盘上的数据做多份拷贝,放在成员磁盘上;
特点:
磁盘数:最低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的工作原理
采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上;
相对于RAID-4把校验码存放在一块硬盘上,而RAID-5是将3块盘循环轮流作存放校验码。左对称即校验码存放各盘的顺序是先在前2块盘存数据,第3块盘存校验码,依次类推,右对称相反。
特点:
磁盘数:最低3个
优点:读性能较高,中等的写性能,校验信息的分布方式存取,避免出现写操作的瓶颈;
缺点:控制器设计复杂,磁盘重建的过程比较复杂;
可用空间:(N-1)*min(S1,S2,...其中的最小空间)
有容错能力:1块磁盘
适用领域:文件服务器、email服务器、web服务器等环境,数据库应用;
RAID-6:用2块盘做校验盘,校验码存两次;
读、写性能提升;
可用空间:(N-2)*min(S1,S2,...其中最小空间)
有容错能力:2块磁盘;
最少磁盘数:4,4+
组合不同级别的RAID
组合不同级别的RAID的目的
从RAID0到RAID6,不同级别的RAID在性能、冗余、价格等方面做了不同传递的折中;
重点介绍:
RAID-10、RAID-01、RAID-50
RAID-10的工作原理
RAID10结合RAID1和RAID0,先镜像,再条带化;
特点:
磁盘数:最低4个,2n个,n大于等于2;
优点:读性能很高,写性能比较好,数据安全性好,允许同时有N个磁盘失效;
缺点:利用率只有50%,开销大;
可用空间:N*min(S1,S2,...其中最小空间)/2;
有容错能力:每组镜像最多只能坏一块;
适用领域:多用于要求高可用性和高安全性的数据库应用;
RAID-01:
先分成两组做成RAID-0,再把组成的RAID-0做成RAID-1;不符合常用方法,每一组有一块坏的硬盘可能性大;
RAID-50的工作原理
是RAID5和RAID0的结合,先实现RAID5,再条带化;(先做RAID-5在做RAID-0,最少6块盘,每组允许坏1块盘,空间利用率灵活)、RAID7(某家公司的私有技术,实际是文件服务器)
特点:
磁盘数:最低6个;
优点:比RAID5有更好的读性能,比相同容量的RAID5重建时间更短,可以容许N个磁盘同时失效;
缺点:设计复杂,比较难实现;同一个RAID5组内的两个磁盘失效会导致整个阵列失效;
适用领域:大型数据库服务器、应用服务器、文件服务器等应用;
JBOD:Just a Bunch ofDisks
将多块磁盘空间合并成一个大的连续空间使用;
可用空间:sum(S1+S2+,...磁盘空间之和)
常用RAID级别的比较:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD
RAID-0性能最好;
RAID-1冗余度最高;
相同可用容量下,RAID-1和RAID-10开销最高;