网络工程师——RAID技术
RAID技术:廉价磁盘冗余阵列
CPU的发展速度快,磁盘的发展速度慢,会造成性能方面的瓶颈,用RAID技术可以提升磁盘性能。
RAID就是磁盘条带化加上校验技术,加上镜像技术,通过条带化技术来提升磁盘性能
条带指的是将一块连续的数据分布式的存放在各个磁盘中,读取的时候可以同时从多个磁盘中读取,以此来达到性能方面的提升。
RAID可以提升磁盘读写的性能而且可以保证数据的可靠性。在企业存储领域是广泛使用RAID技术的。
数据条带化有三个概念:
一、条带宽度:指的是在一个RAID阵列中,有多少块磁盘来组成这个阵列,如果有四块磁盘组成这个阵列,那么这个阵列的条带宽度为四,有五块磁盘组成这这个阵列的条带宽度为五;
二、条带深度:指的是在单块磁盘中,他分块的大小;
三、条带大小:条带大小等于条带宽度乘以条带深度
RAID即独立磁盘冗余阵列,1987年由美国加州大学的伯克利分校提出,其基本思想是把多个独立的物理磁盘通过相关的算法组合成一个虚拟的逻辑硬盘,从而提供更大容量、更高性能或更高的数据容错功能。
目前的RAID级别有很多,基本的RAID级别从RAID0到RAID7,常用的只有RAID0、RAID1、RAID5、RAID6、RAID10
RAID0
RAID0使用的是数据分段技术(条带化技术),将所有硬盘构成一个磁盘阵列,可以同时对多个硬盘做读写动作,但不具备备份以及容错能力,他价格便宜,硬盘效率最佳,写入速度块,但是可靠度最差
数据 |
---|
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
D8 |
D9 |
D10 |
D11 |
... |
物理磁盘0 | 物理磁盘1 | 物理磁盘2 | 物理磁盘3 | 条带 |
---|---|---|---|---|
D0 | D1 | D2 | D3 | 条带0 |
D4 | D5 | D6 | D7 | 条带1 |
D8 | D9 | D10 | D11 | 条带2 |
所需成员磁盘数 | 2个或更多,最低为2个 |
---|---|
优点 | 更高的磁盘读写效率,不存在校验,不会暂用太多CPU资源,设计、使用和配置比较简单 |
缺点 | 无冗余,不能用于对数据安全性要求高的环境 |
适用领域 | 视频生成和编辑,图像编辑,其他需要大的传输带宽的操作 |
RAID1
RAID1,使用的镜像技术,就是把一个磁盘的内容同步备份复制到另一个磁盘里,所以具备了备份和容错能力,这样做使用率不高,但是可靠性高
利用率为百分之五十(50%)
数据 |
---|
D0 |
D1 |
D2 |
D3 |
... |
物理磁盘0 | 物理磁盘1 |
---|---|
D0 | D0 |
D1 | D1 |
D2 | D2 |
D3 | D3 |
所需成员磁盘数 | 2N个,(N≥1),最低为2个 |
---|---|
优点 | 就有百分百的数据冗余,提供最高的数据安全保障,理论上可以实现2倍的读取效率,设计和使用比较简单 |
缺点 | 开销大,空间利用率只有百分之五十,在写性能方面提升不大 |
适用领域 | 财务,金融等高可用,高安全的数据存储环境 |
RAID2
RAID2使用的海明校验,过于复杂,企业中使用较少
RAID3
RAID3采用有特定奇偶校验盘的数据分段技术,经用于奇偶校验的校验数据存到特定的磁盘中,具有数据容错能力,可靠性好。
当单个磁盘失效时,会产生奇偶盘I/O瓶颈效应
硬盘利用率=(n-1)/n
数据 |
---|
D0 |
D1 |
D2 |
D3 |
... |
物理磁盘0 | 物理磁盘1 | 物理磁盘2 | 物理校验磁盘3 |
---|---|---|---|
D00 | D01 | D02 | P0 |
D10 | D11 | D12 | P1 |
D20 | D21 | D22 | P2 |
D30 | D31 | D32 | P3 |
当物理磁盘0或其他其中一个磁盘损坏时,会通过校验磁盘和另外两个磁盘来计算出损害的磁盘中的数据进行数据重构
RAID4
RAID4和RAID3非常相似,只是在存放数据时单位不一样
RAID5
RAID5采用分布式奇偶校验数据分段技术,将用于奇偶校验的数据存放到各个磁盘中,具有数据容错能力,可靠性好,校验值分散在各个盘不同位置,相当于一定程度的分散了负载,古有较好的性能。
硬盘利用率=(n-1)/n
数据 |
---|
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
D8 |
D9 |
D10 |
D11 |
... |
物理磁盘0 | 物理磁盘1 | 物理磁盘2 | 物理磁盘3 | 条带 |
---|---|---|---|---|
D0 | D1 | D2 | P0 | 条带0 |
D3 | D4 | P1 | D5 | 条带1 |
D6 | P2 | D7 | D8 | 条带2 |
P3 | D9 | D10 | D11 | 条带3 |
RAID5主要解决了I/O瓶颈的问题
所需成员磁盘数 | 3个活更多,最低为3个 |
---|---|
优点 | 读性能比较高,中等的写性能,校验信息的分布式存取避免出现操作瓶颈 |
缺点 | 控制器设计复杂,磁盘重构建构成比较复杂 |
适用领域 | 文件服务器,Email服务器,Web服务器等环境数据库应用 |
RAID6
RAID6是由一些大型企业提出来的私有RAID级别标准,它的全称叫“带有两个独立分布式校验方案的独立数据磁盘”。
从功能上讲,能实现两个磁盘掉线容错的,都叫RAID6
磁盘利用率:(n-2)/n
条带 | 物理磁盘0 | 物理磁盘1 | 物理磁盘2 | 物理磁盘3 | 物理磁盘4 |
---|---|---|---|---|---|
条带0 | 数据1a | 数据1b | 数据1c | P1 | Q1 |
条带1 | 数据2d | 数据2e | P2 | Q2 | 数据2f |
条带2 | 数据3g | P3 | Q3 | 数据3h | 数据3i |
条带3 | P4 | Q4 | 数据4j | 数据4k | 数据4l |
条带4 | Q5 | 数据5m | 数据5n | 数据5o | P5 |
RAID7
RAID7过于复杂,是一整套的大型系统,不在基础范围内
RAID10
RAID10在企业中用的较多,RAID10是由RAID1和RAID0相结合,先镜像在条带化
磁盘利用率为百分之五十(50%)
数据 |
---|
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
D8 |
D9 |
D10 |
D11 |
... |
物理磁盘0 | 物理磁盘1 | 物理磁盘2 | 物理磁盘3 | 条带 |
---|---|---|---|---|
D0 | D0 | D1 | D1 | 条带0 |
D2 | D2 | D3 | D3 | 条带1 |
D4 | D4 | D5 | D5 | 条带2 |
D6 | D6 | D7 | D7 | 条带3 |
D8 | D8 | D9 | D9 | 条带4 |
D10 | D10 | D11 | D11 | 条带5 |
磁盘0和磁盘2先镜像,然后条带化,磁盘2和磁盘3先镜像,然后条带化。
在某种情况下可以允许两块磁盘同时损坏,例如磁盘0和磁盘1相互镜像,那么当磁盘0和磁盘1同时损坏则数据丢失,磁盘0和磁盘2不是相互镜像,可以同时损坏。
所需成员磁盘数 | 2N个,(N≥2),最低为4个 |
---|---|
优点 | 读性能很高,写性能较好,数据安全性好,在某种情况下允许N个磁盘同时损坏 |
缺点 | 空间利用率只有百分之五十,开销大 |
适用领域 | 多用于要求高可用性和高安全性的数据应用 |
在企业中适用最多的为RAID10和RAID5
性能方面 | RAID10在写数据的时候同时做镜像,而RAID5在写数据的时候做校验,而校验会比镜像慢,所以RAID10>RAID5 |
---|---|
数据可靠性 | RAID10在坏掉多块不相互镜像的磁盘时,不影响数据的读出,RAID5只要有多块磁盘损坏,数据则不能读出,所以RAID10>RAID5 |
数据重构方面 | 例如正常RAID10和RAID5的磁盘都为80G,磁盘数量都为4个,当RAID10的其中一块磁盘损坏时,只需要从镜像磁盘中拷贝80G即可完成重构,当RAID5其中一个磁盘损坏时,需要从另外三个磁盘中恢复数据,一个磁盘80G,三个磁盘则为240G,恢复速度则慢,速度慢另外其他磁盘损坏的几率就会增加,所以RAID10>RAID5 |
成本方面 | 成本方面比的时磁盘利用率,成本方面RAID5>RAID10,因为RAID5的利用率为(n-1)/n,四块磁盘也就是百分之七十五,而RAID10的利用率永远为百分之五十 |
RAID数据保护
方案 | 解释 |
---|---|
热备盘 | 在整个RAID组中放入一块磁盘,当这个RAID组中的一块磁盘损坏后,会根据其他磁盘把数据重构到热备盘,可以加快重构速度 |
预拷贝 | 通过磁盘监控技术,发现某一块磁盘即将发生故障,提前把数据拷贝到热备盘中 |
失效重构 | 当一块磁盘损坏后,如何对数据进行恢复 |
RAID状态 | 当一个RAID组中有一块磁盘损坏但是数据可以正常读出,RAID状态为降级状态,如果不能读出则为失效状态 |
RAID技术发展
传统RAID→LuN虚拟化→块虚拟化(RAID2.0)
传统RAID:磁盘少了性能提升不了,磁盘多了用不了那么大的空间
LuN虚拟化:组成磁盘阵列之后,进行LuN虚拟化,虚拟化后的LuN在给服务器适用,提高磁盘利用率
块虚拟化:传统的RAID都没有解决当一块磁盘损坏后,重构时时间过长的问题,对于现在而言,一块磁盘的容量都是非常大的,2TB、4TB、8TB都是常见的,当一块磁盘损坏,会化很长时间来重构,风险较高,那么以华为为厂商代表的这些厂商就开始研究RAID2.0的技术。
传统的RAID都是基于磁盘来构建RAID组的,而块虚拟化不是基于磁盘来构建组,而时基于数据块来构建RAID组的,首先把存储空间氛围很多数据块,然后构建RAID的时候时基于数据库来构建RAID组的,当构建一个RAID的时候,这个数据可能来源于所有磁盘,当在构建另外一个RAID的时候,他的数据块也会来源于所有磁盘,这样做的好处时当一个磁盘损坏,所有的磁盘都会参与数据的重构,而传统RAID为一个磁盘损坏,只有哪一个RAID组中的磁盘在参与数据重构
RAID2.0的优势
一、快速重构
二、自动负载均衡
三、系统性能提升
四、自愈合:当某一块磁盘损坏后,RAID会利用其他磁盘的剩余空间进行数据重构,不需要马上更换故障盘