-
计算机和网络技术的高速发展对存储性能和数据可靠性的要求不断的提高。使用RAID技术是很好的解决途径。
学习目标
-
了解RAID的定义与特点
-
理解RAID数据组织方式和冗余原理
-
熟练掌握各RAID级别的原理及特性
-
了解RAID的实现方式
目录
-
RAID的基本概念
-
RAID级别
-
RAID的实现方式和运行状态
一、RAID的定义
-
RAID的全称
廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks)
-
RAID的定义
多个独立的物理硬盘按照不同的方式组合起来,形成一个虚拟的硬盘
RAID的优势
1)RAID在容量和管理上的优势
- 易于灵活的进行容量扩展
- “虚拟化”使可管理性极大的增强
2)RAID在性能上的优势
- “磁盘分块”技术带来性能的提高
3)RAID在可靠性和可用性上的优势
- 通过冗余技术和热备、热换提升了可靠性
RAID组织数据的基本方式
RAID存取数据的基本方式
1)并行存取方式
- 适用于大型的、以长时间顺序访问数据为特征的应用
2)独立存取方式
- 适用于数据存取频繁,每笔存取数据量较小的应用
镜像冗余的概念
-
镜像冗余使用了磁盘镜像技术
-
磁盘镜像是一个简单的设备虚拟化技术,每个I/O操作都会在两个磁盘上执行,两个磁盘看起来就像一个磁盘一样
-
镜像冗余可以提高磁盘的读性能
镜像冗余的实现方式
校验冗余的概念
-
根据冗余算法计算阵列中成员磁盘上数据的校验信息,将校验信息保存在其他的磁盘资源上
-
保证数据可靠性
-
和镜像冗余相比较,校验冗余的开销更小
XOR算法
-
相同为假,不同为真
-
XOR的逆操作是XOR
操作数1 |
操作数2 |
XOR结果 |
假 |
假 |
假 |
假 |
真 |
真 |
真 |
假 |
真 |
真 |
真 |
假 |
热备和热换
-
热备是指在不干扰当前系统的正常使用的情况下,用系统中另外一个正常的备用磁盘顶替失效磁盘
-
热换是指在不影响系统正常运转的情况下,用正常的磁盘物理替换RAID阵列中的失效磁盘
二、RAID级别
1)组成RAID阵列的不同方式称为RAID级别
2)不同的RAID级别
- 不同的存储性能
- 不同的数据可靠性
- 不同的存储成本
RAID0的工作原理
-
RAID0是以条带的形式将数据均匀分布在阵列的各个磁盘上
RAID0的特性
所需成员磁盘数 |
2个或更多,最低为2个 |
优点 |
极高的磁盘读写效率 不存在校验,不会占用太多CPU资源 设计、使用和配置比较简单 |
缺点 |
无冗余,不能用于对数据安全性要求高的环境 |
适用领域 |
视频生成和编辑、图像编辑 其他需要大的传输带宽的操作 |
RAID1的工作原理
-
RAID1以镜像为冗余方式,对虚拟磁盘上的数据做多份拷贝,放在成员磁盘上
RAID1的特性
所需成员磁盘数 |
2N个,(N≥1),最低为2个 |
优点 |
具有100%数据冗余,提供最高的数据安全保障 理论上可以实现2倍的读取效率 设计和使用比较简单 |
缺点 |
开销大,空间利用率只有50% 在写性能方面提升不大 |
适用领域 |
财务、金融等高可用、高安全的数据存储环境 |
RAID2
1)采用校验冗余
- 把数据分散为位或块,加入汉明码,间隔写入到磁盘阵列的每个磁盘中
- 在成员磁盘上的地址都一样
2)采用了并行存取方式
3)花费大,成本昂贵
RAID3的工作原理
-
在RAID3中,数据块被分为更小的块并行传输到各个成员磁盘上,同时计算XOR校验数据存放到专用的校验磁盘上
RAID3的特性
所需成员磁盘数 |
3个或更多,最低为3个 |
优点 |
读写性能都比较好 当有磁盘损坏时,对整体吞吐量影响较小 减少了开销 |
缺点 |
控制器设计复杂 采用并行存取方式,主轴同步时吞吐量没有提高 校验磁盘的写性能有瓶颈 |
适用领域 |
视频生成和图像、视频编辑等 需要高吞吐量的应用环境 |
RAID4的工作原理
-
在RAID4中,数据被分为更大的块并行传输到各个成员磁盘上,同时计算XOR校验数据存放到专用的校验磁盘上
RAID4
-
RAID4采用独立存取方式,将条带由RAID3的小数据块改为更大的数据块,这是RAID4和RAID3最大的不同
-
RAID4的校验较为迅速,可以获得相对于RAID3更高的读取速度,但写入速度极差,控制器的设计更加复杂
RAID5的工作原理
-
RAID5采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上
RAID5的特性
所需成员磁盘数 |
3个或更多,最低为3个 |
优点 |
读性能比较高 中等的写性能 校验信息的分布式存取,避免出现写操作的瓶颈 |
缺点 |
控制器设计复杂 磁盘重建的过程比较复杂 |
适用领域 |
文件服务器、Email服务器、Web服务器等环境 数据库应用 |
RAID6
-
RAID6是指带有两种分布存储的检验信息的磁盘阵列,它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合,使用了二种奇偶校验方法,需要N+2个磁盘
-
常用的RAID6技术:
- RAID6 P+Q
- RAID6 DP
RAID6 P+Q
-
RAID6 P+Q会根据公式计算出P和Q的值,当有两个数据同时丢失时,仍可以计算出原数据
|
磁盘1 |
磁盘2 |
磁盘3 |
磁盘4 |
磁盘5 |
条带1 |
数据1a |
数据1b |
数据1c |
P1 |
Q1 |
条带2 |
数据2d |
数据2e |
P2 |
Q2 |
数据2f |
条带3 |
数据3g |
P3 |
Q3 |
数据3h |
数据3i |
条带4 |
P4 |
Q4 |
数据4j |
数据4k |
数据4l |
条带5 |
Q5 |
数据5m |
数据5n |
数据5o |
P5 |
RAID6 DP
-
RAID6 DP中的DP指Double Parity,它在RAID4的基础上不仅有行的校验,还增加了一个用来存放斜向校验信息的磁盘
数据磁盘1 |
数据磁盘2 |
数据磁盘3 |
数据磁盘4 |
横向校验磁盘 |
斜向校验磁盘 |
数据a |
数据b |
数据c |
数据d |
P1 |
DP1 |
数据e |
数据f |
数据g |
数据h |
P2 |
DP2 |
数据i |
数据j |
数据k |
数据l |
P3 |
DP3 |
数据m |
数据n |
数据o |
数据p |
P4 |
DP4 |
|
|
|
|
|
DP5 |
RAID7
-
RAID7是一种新的RAID标准,它与以前见到的RAID级别有明显的区别,可以理解成一个独立的“存储计算机”
-
RAID7自身带有智能化实时操作系统和用于存储管理的软件工具,可以完全独立与主机运行,不占用主机CPU资源
组合不同级别的RAID
1)组合不同级别RAID的目的
- 从RAID0到RAID6,不同级别的RAID在性能、冗余、价格等方面做了不同程度的折中
- 组合不同级别的RAID,目的是扬长避短,产生具有优势特性的混合RAID级别
2)重点介绍
- RAID 10
- RAID 50
RAID10的工作原理
-
RAID10结合RAID1和RAID0,先镜像,再条带化
RAID10的特性
所需成员磁盘数 |
2N个,(N≥2),最低为4个 |
优点 |
读性能很高 写性能比较好 数据安全性好,允许同时有N个磁盘失效 |
缺点 |
空间利用率只有50% 开销大 |
适用领域 |
多用于要求高可用性和高安全性的数据库应用 |
RAID50的工作原理
-
RAID50是RAID5和RAID0的结合,先实现RAID5,再条带化
RAID50的特性
所需成员磁盘数 |
6个或更多,最低为6个 |
优点 |
比RAID5有更好的读性能 比相同容量的RAID5重建时间更短 可以容许N个磁盘同时失效 |
缺点 |
设计复杂,比较难实现 同一个RAID5组内的两个磁盘失效会导致整个阵列的失效 |
适用领域 |
大型数据库服务器、应用服务器、文件服务器等应用 |
常用RAID级别的比较
RAID级别 |
RAID0 |
RAID1 |
RAID3 |
RAID5 |
RAID10 |
别名 |
条带 |
镜像 |
专用奇偶位条带 |
分布奇偶位条带 |
镜像阵列条带 |
容错性 |
无 |
有 |
有 |
有 |
有 |
冗余类型 |
无 |
镜像 |
奇偶校验 |
奇偶校验 |
镜像 |
备盘 |
无 |
有 |
有 |
有 |
有 |
读性能 |
高 |
低 |
高 |
高 |
中间 |
随机写性能 |
高 |
低 |
最低 |
低 |
中间 |
连续写性能 |
高 |
低 |
低 |
低 |
中间 |
需要的磁盘数 |
2个或更多 |
2个或2N个 |
3个或更多 |
3个或更多 |
4个或2N(N≥2) |
可用容量 |
总的磁盘容量 |
磁盘容量的50% |
磁盘容量的(N-1)/N |
磁盘容量的(N-1)/N |
磁盘容量的50% |
思考
常用RAID级别中:
- 哪种RAID级别性能最好?
- 哪种RAID级别冗余程度最高?
- 相同可用容量下,哪种RAID级别开销最高?
解答
常用RAID级别中:
- RAID0的性能最好;
- RAID1的冗余程度最高;
- 相同可用容量下,RAID1和RAID 10的开销最高。
三、RAID的实现方式和运行状态
软件RAID和硬件RAID
1)软件RAID
- 功能都依赖于主机CPU完成,没有第三方的控制处理器和I/O芯片
2)硬件RAID
- 有专门的RAID控制处理器和I/O处理芯片来处理RAID任务,不需占用主机CPU资源
RAID的运行状态
-
建立(Create)
-
正常(Normal)
-
降级/临界(Degrade/Critical)
-
重建(Rebuild/Recover)
-
重构(Reconstruct)
-
失效(Failed)
思考
若RAID5的一块磁盘失效,则:
- 目前该RAID阵列运行在什么状态之下?
- 若又有一块磁盘发生故障,会进入什么状态?
解答
若RAID5的一块磁盘失效,则
- 目前处在降级/临界状态下
- 再有一块磁盘发生故障,将进入失效状态
总结
-
分块、分区、分条是RAID组织数据的重要概念
-
RAID的冗余方式有镜像冗余和校验冗余
-
常用RAID级别有RAID1、RAID5和RAID10等