文章目录
1. RAID 0
1.1 介绍:
RAID 0 是 速度最快 的一种 RAID 模式
RAID 0 至少需要两个磁盘,并且会将 数据分条到每个磁盘
所有磁盘的可用容量合在一起,成为计算机上的一个逻辑卷
如果 一个磁盘发生故障,所有磁盘的数据 都将 不可访问,因为 数据分条到每个磁盘 里了
1.2 应用:
RAID 0 是要求 最高速度 和 最大容量 的 理想选择
要 处理超大型文件的视频编缉 可以使用 RAID 0 来编辑视频的多个流,以达到 最佳播放效果 和 最快导出效果
RAID 0 阵列 更适于在频繁的文件处理 中使用,不宜用作唯一的存储备份解决方案,也 不宜在关键任务系统中使用
1.3 读写速度:
RAID 0 读写速度 = 磁盘数 x 磁盘读写
1.4 速度容量:
RAID 0 可用容量 = 磁盘数 x 磁盘容量
2. RAID 1
2.1 介绍:
RAID 1 是一种 安全 的 RAID 模式
RAID 1 至少需要两个磁盘,并且磁盘成对计算机上将安装 一个逻辑卷
两个磁盘 合并后的 可用容量 限制为 最小磁盘的容量上限
如果 一个磁盘出现故障,可以立即从 第二个磁盘上获取数据
即使 一个磁盘出现故障,也 不会丢失任何数据
它的原理时在往磁盘上写数据时,将数据无差别写两份到磁盘,分别写道工作磁盘和镜像磁盘,所以空间使用率只有50%
2.2 应用:
RAID 1 可提供 最高的数据安全性,但由于 数据需写入两次,因此在 写入时性能会略有下降
在 更注重安全性而非速度 的情况下,RAID 1 是 理想选择
2.3 读写速度:
RAID 1 读写速度 ≤ 磁盘数 x 读写速度 / 磁盘数
2.4 容量:
RAID 1 可用容量 ≤ 磁盘数 x 磁盘容量 / 2
3. RAID 3
3.1 介绍:
RAID 3 使用 字节级别的条带化 技术
RAID 3 采用 专用的奇偶校验磁盘,因此计算机上会安装 一个逻辑卷
RAID 3 阵列能在 一个磁盘出现故障 的情况下 确保数据不丢失
如果 一个磁盘出现故障,该磁盘上的 数据可以重建到更换磁盘上
如果 数据尚未重建到更换磁盘上,而此时 又有一个磁盘出现故障,那么阵列中的 所有数据都将丢失
3.2 应用:
RAID 3 在要 读取连续的长文件(如:视频文件)的环境中 可提供良好的数据安全性
由于数据是从 奇偶校验块中读取,因此 磁盘故障不会导致服务中断
RAID 3 适用于 追求性能并要求持续访问数据(如:视频编辑)
对于 密集使用不连续文件 来说,RAID 3 并 非理想之选,因为 专用的奇偶校验磁盘 会影响 随机读取性能
3.3 读写速度:
RAID 3 读写速度 ≤ ( 磁盘数 - 1 ) x 磁盘读写速度 / ( 磁盘数 - 1 )
3.4 容量:
RAID 3 可用容量 = ( 磁盘数 - 1 ) x 磁盘容量
4. RAID 3 + Spare
4.1 介绍:
RAID 3 + Spare 模式下,阵列中会有 一个磁盘保持空置状态
如果 一个磁盘出现故障,故障磁盘中的数据就会 自动重建到空磁盘(备用磁盘)上
4.2 应用:
RAID 3 + Spare 模式下,磁盘故障不需要立即处理
RAID 3 + Spare 会使用 热备用磁盘对自己进行重建,但 故障磁盘还是应尽快更换
4.3 容量:
RAID 3 + Spare 可用容量 = ( 磁盘数 - 2 )磁盘容量
5. RAID 5
5.1 介绍:
RAID 5 综合了 RAID 0 的 条带化技术 以及 阵列数据冗余技术
RAID 5 至少需要三个磁盘,允许最多同时坏一块磁盘,若同事有两块磁盘同时损坏,数据就无法恢复
RAID 3 和 RAID 5 的区别:RAID 3 配置提供的 性能更高,但 总容量略低
数据会在 所有磁盘之间分条,并且 每个数据块的奇偶校验块 § 写入到同一条带上
如果 一个磁盘出现故障,该磁盘上的数据 可以重建到更换磁盘上
出现故障时,数据不会丢失,但如果 数据尚未重建到更换磁盘上,而此时 又有一个磁盘出现故障,阵列中的 所有数据都将丢失
5.2 应用:
RAID 5 综合考虑了 数据安全 和 磁盘空间充分利用 这两方面的因素
由于数据是从 奇偶校验块中读取,因此 磁盘故障不会导致服务中断
RAID 5 适用于 归档,且 适合追求性能并要求持续访问数据(如:视频编辑)
5.3 容量:
RAID 5 可用容量 = ( 磁盘数 - 1 )磁盘容量
6. RAID 5 + Spare
6.1 介绍:
RAID 5 + Spare 是一种 RAID 5 阵列,其中有 一个磁盘用作备用磁盘,用于在 磁盘发生故障时立即重建系统
RAID 5 + Spare 至少需要四个磁盘
如果 一个磁盘发生故障,磁盘上的 数据仍然可以访问,因为数据是 从奇偶校验块 中读取的
故障磁盘上的数据 将重建到热备用磁盘上
当 故障磁盘更换后,更换的磁盘便成为新的热备用磁盘
出现故障时,数据不会丢失,但如果 系统尚未将数据 重建到热备用磁盘上,而此时 又有一个磁盘出现故障,那么阵列中的 所有数据都将丢失
6.2 应用:
RAID 5 + Spare 的优点:在系统将 数据重建至备用磁盘时用户仍可以继续访问数据
RAID 5 + Spare 能 提供良好的数据安全,但 磁盘空间由于热备用磁盘的存在(在其他磁盘出现故障之后才使用)而 受到限制
RAID 5 + Spare 会使用 热备用磁盘对自己进行重建,但 故障磁盘还是应尽快更换
6.3 容量:
RAID 5 + Spare 可用容量 = ( 磁盘数 - 2 )磁盘容量
7. RAID 6
7.1 介绍:
RAID 6 的数据会在 所有磁盘间进行分条,并且 每个数据块 的 两个奇偶校验块 写入到 同一条带 上
RAID 6 至少需要四个磁盘
如果 一个磁盘出现故障,该磁盘上的 数据可以重建到更换磁盘 上
RAID 6 最多允许两个磁盘出故障 而 不丢失数据,而且它能 更快地重建故障磁盘上的数据
7.2 应用:
RAID 6 能 进行有效的重建,确保了数据的可靠性
安全性要求较高 且对 性能要求不高 可以选择 RAID 6
7.3 容量:
RAID 6 可用容量 = ( 磁盘数 - 2 )磁盘容量
8. RAID 0 + 1
8.1 介绍:
RAID 0 + 1 是一种 安全 的 RAID 模式,由条带集的镜像组成
RAID 0 + 1 的 磁盘数 为 四的倍数
在 RAID 0 + 1 中,五个磁盘 的 第五个磁盘 将成为 备用磁盘 或 空置磁盘
在 RAID 0 + 1 中,最多允许两个磁盘出现故障 而 不会丢失数据,但故障磁盘 必须属于同一 RAID 0 队列
8.2 应用:
RAID 0+1 使用 RAID 0 条带技术 来 提供良好的速度,但设备的 可用容量会减少一半
8.3 容量:
RAID 0 + 1 可用容量 = 磁盘数磁盘容量 / 2
9. RAID 10
9.1 介绍:
RAID 10(也称为 RAID 1 + 0)是合并了其他级别(尤其是 RAID 1 和 RAID 0)特点的另一种 RAID 级别
RAID 10 是一种 镜像集条带,意思是 数据在两个镜像阵列间分条
条带化 在阵列之间发生,而 镜像 是 在相同的阵列中出现,两种技术的组合加快了重建的速度
RAID 10 的 磁盘数 为 四的倍数
在 RAID 10 中,五个磁盘 的 第五个磁盘 将成为 备用磁盘 或 空置磁盘
在 RAID 10 中,每个镜像 对中 可以有一个磁盘出现故障 而 不丢失数据
故障磁盘 所在阵列的磁盘会成为整个阵列中的弱点
如果 镜像 对中的 另一个磁盘也发生故障,则 会丢失整个阵列
9.2 应用:
RAID 10 使用 RAID 0 条带技术 来 提供良好的速度,但设备的 可用容量会减少一半
9.3 容量:
RAID 10 可用容量 = 磁盘数磁盘容量 / 2▌
10. 串联
10.1 介绍:
磁盘 串联 时,其 容量 将会 合并,并且数据会写入阵列中的主磁盘,主磁盘写满后再写入下一个磁盘
串联 无性能优势,也 不能增加数据安全措施
串联 只是 扩大总容量 而将 两个磁盘组合为一个卷 的方法
通过 串联可以完全使用阵列 中 所有磁盘的容量,并且在磁盘发生故障时 大部分数据都可以保存下来
只有 故障磁盘上的数据 、部分写入故障磁盘 和 作业磁盘的数据才会丢失
10.2 容量:
串联可用容量 = 磁盘数磁盘容量
11. JBOD
11.1 介绍:
JBOD 代表 简单磁盘捆绑
阵列中的 每个磁盘,无论是属于 不同设备 还是 同一设备,都会作为 单独的磁盘 安装在计算机上
11.2 容量:
JBOD可用容量 = 磁盘数磁盘容量
12. RAID2
- RAID2 称为纠错海明码磁盘阵列,其设计思想是利用海明码实现数据校验冗余。海明码是一种在原始数据中加入若干校验码来进行错误检测和纠正的编码技术,其中第 2n 位( 1, 2, 4, 8, … )是校验码,其他位置是数据码。因此在 RAID2 中,数据按位存储,每块磁盘存储一位数据编码,磁盘数量取决于所设定的数据存储宽度,可由用户设定。上图所示的为数据宽度为 4 的 RAID2 ,它需要 4 块数据磁盘和 3 块校验磁盘。如果是 64 位数据宽度,则需要 64 块 数据磁盘和 7 块校验磁盘。可见, RAID2 的数据宽度越大,存储空间利用率越高,但同时需要的磁盘数量也越多。
- 海明码自身具备纠错能力,因此 RAID2 可以在数据发生错误的情况下对纠正错误,保证数据的安全性。它的数据传输性能相当高,设计复杂性要低于后面介绍的 RAID3 、 RAID4 和 RAID5 。
- 但是,海明码的数据冗余开销太大,而且 RAID2 的数据输出性能受阵列中最慢磁盘驱动器的限制。再者,海明码是按位运算, RAID2 数据重建非常耗时。由于这些显著的缺陷,再加上大部分磁盘驱动器本身都具备了纠错功能,因此 RAID2 在实际中很少应用,没有形成商业产品,目前主流存储磁盘阵列均不提供 RAID2 支持。
13. RAID4
- RAID4 与 RAID3 的原理大致相同,区别在于条带化的方式不同。 RAID4 按照 块的方式来组织数据,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。 RAID4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。
- RAID4 在不同磁盘上的同级数据块同样使用 XOR 校验,结果存储在校验盘中。写入数据时, RAID4 按这种方式把各磁盘上的同级数据的校验值写入校验 盘,读取时进行即时校验。因此,当某块磁盘的数据块损坏, RAID4 可以通过校验值以及其他磁盘上的同级数据块进行数据重建。
- RAID4 提供了 非常好的读性能,但单一的校验盘往往成为系统性能的瓶颈。对于写操作, RAID4 只能一个磁盘一个磁盘地写,并且还要写入校验数据,因此写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。正是如上这些限制和不足, RAID4 在实际应用中很少见,主流存储产品也很少使用 RAID4 保护。
13. RAID00
- AID00 是由多个成员 RAID0 组成的高级 RAID0 。它与 RAID0 的区别在于, RAID0 阵列替换了原先的成员磁盘。可以把 RAID00 理解为两层条带化结构的磁盘阵列,即对条带再进行条带化。这种阵列可以提供更大的存储容量、更高的 I/O 性能和更好的 I/O 负均衡。
14. RAID01 和 RAID10
- 一些文献把这两种 RAID 等级看作是等同的,本文认为是不同的。 RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力,原理如上图 所示。
- RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。 RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50% 。
14. RAID100
- 通常看作 RAID 1+0+0 ,有时也称为 RAID 10+0 ,即条带化的 RAID10 。原理如图 10 所示。 RAID100 的缺陷与 RAID10 相同,任意一个 RAID1 损坏一个磁盘不会发生数据丢失,但是剩下的磁盘存在单点故障的危险。最顶层的 RAID0 ,即条带化任务,通常由软件层来完成。
- RAID100 突破了单个 RAID 控制器对物理磁盘数量的限制,可以获得更高的 I/O 负载均衡, I/O 压力分散到更多的磁盘上,进一步提高随机读性能,并有效降低热点盘故障风险。因此, RAID100 通常是大数据库的最佳选择。
15. RAID30 ( RAID53 )、 RAID50 和 RAID60
- 这三种 RAID 等级与 RAID00 原理基本相同,区别在于成员 “ 磁盘 ” 换成了 RAID3 、 RAID5 和 RAID6 ,分别如图 11 、 12 、 13 所示。其中, RAID30 通常又被称为 RAID53[13] 。其实,可把这些等级 RAID 统称为 RAID X0 等级, X 可为标准 RAID 等级,甚至组合等级(如 RAID100 )。利用多层 RAID 配置,充分利用 RAID X 与 RAID0 的优点,从而获得在存储容量、数据安全性和 I/O 负载均衡等方面的大幅性能提升。