RAID,即独立驱动器(或磁盘)冗余阵列,是一个信息存储技术的短语,它将数据分割并复制到几个硬盘上。建立RAID可以提高数据的有效性和可靠性或I/O效率,尽管一个目的可能会损害另一个目的。RAID系统是基于软件和硬件的,并由Linux支持。你可以利用各种RAID级别,每个级别都有自己的一套好处、缺点和总体目标。这篇比较文章将比较RAID 5(采用奇偶校验纵横交错的方法进行容错)和RAID 10(也利用镜像进行冗余信息)。某些RAID级别提供了弹性,使其能够承受某些设备的故障。这篇文章很好地演示了如何测试由两个或可能更多的物理设备组成的基于软件的RAID系统。那么,让我们开始吧。这里有一个命令,我们可以在命令行外壳中使用,以检查Ubuntu 20.04系统中支持的RAID配置。

RAID 5
在RAID 5中,数据信息均匀地分布在所有设备上,只需要三个物理磁盘,数据和完整性信息被切分到每个磁盘上。这意味着数据被分成同等大小的片断,并在逻辑上分散在矩阵上。因此,奇偶校验数据被收集、拆分和传播。如果任何一块硬盘发生故障,矩阵将使用这些数据来计算和检索任何丢失的内容。
RAID 5的主要好处是,它不需要存储镜像,允许在恢复过程中的数据可用性,并提供极大的信息完整性。RAID 5适用于具有中等程度复杂性的应用。假设你选择将文件一分为二,用3个长度相当的文件填充你的矩阵,标题为 "A"、"B "和 "C"。就保护每个硬盘上的信息而言,在这种设计下我们放弃了相当于一个硬盘的存储。正如你所看到的,当其中一个硬盘损坏时,文件似乎不受影响,或者奇偶校验信息可用于重新创建已丢失的文件。这就是RAID 5的工作原理。
| DISK 1 | DISK 2 | DISK 3 |
| 文件a1 | 文件a2 | 同位数a |
| 文件b1 | 奇偶性b | 文件b2 |
| 奇偶性c | 文件c1 | 文件c2 |
RAID 5的优点
- RAID 5有一个快速的读取速度。
- 因为有奇偶性,所以有数据冗余。
- 设置的条件很好。
- 一个失败的硬盘可能会被迅速修复。
- 有大量的存储容量。
- 为了节省停机时间,磁盘可以热交换。
RAID 5的劣势
- 当两个硬盘同时崩溃时,所有信息都会丢失。
- 写入速度会因为奇偶校验驱动器而变慢。
- 数据恢复可能需要很长的时间。
- 对于那些不熟悉RAID系统的人来说,设置可能是困难的。
RAID 10
RAID 10是RAID 0和RAID 1的混合体,具有额外的磁盘分割和驱动安全功能。这种保护是通过镜像来保证的,它在独立的镜像磁盘上为每个内存驱动器创建一个相同的克隆,而不是收集奇偶校验数据。RAID 10至少需要四个设备才能发挥作用,进一步的驱动器应成对插入。矩阵首先在整个存储设备上进行信息条带化,然后将其镜像到镜像磁盘上,从而产生两个相同的磁盘。随着利用的磁盘数量的增加,它的成本也越来越高;所需的最小物理磁盘数量为4个。立即就会发现,无论我们拥有多少套磁盘,我们都只能拥有一半的存储容量。
无论是哪一方面的好处,都源于这样一个事实,即以某种方式可以很容易地替换有问题的磁盘,并从又一个磁盘中传输数据。在与前面描述的常见配置和背景相仿的情况下,我们可以观察到这样的情况。
| 存储盘1 | 存储盘2 |
| 文件a1 | 文件a2 |
| 文件b1 | 文件b2 |
| 镜像盘1 | 镜像盘2 |
| 文件a1 | 文件a2 |
| 文件b1 | 文件b2 |
RAID 10的优点
- 因为所有进程都在不同的驱动器上同时进行,所以它的读写速度快得惊人。
- 为了节省停机时间,磁盘确实可以很好地适应。
- 可以从故障状态中迅速反弹。
- 它确实有较高的容错能力,因为它可以忍受几个磁盘的故障。
RAID 10的劣势
- 由于镜像的失败,它的成本很高,导致存储容量的浪费。
RAID 5与RAID 10的比较
| RAID 5 | RAID 10 | |
| 存储磁盘 | 在RAID 5中,最少需要的物理盘数量是3个。 | 在RAID 10中,最少需要的物理磁盘数量是4个。 |
| 存储容量 | 60-70%,它把重点放在信息存储上。与RAID 10相比,它的容量似乎更大。 | 50%,RAID 10将速度置于存储容量之上。与RAID 5相比,它的容量要小得多。 |
| 成本 | 昂贵的成本 | 非常昂贵 |
| 容错性 | 只有一个磁盘会出现故障 | 多个驱动器可能发生故障 |
| 数据恢复 | 可以通过奇偶校验系统恢复 | 可以通过100%的数据冗余来实现 |
| 奇偶校验 | 是(在单个磁盘上) | 没有 |
| 关键功能 | 用一个奇偶校验系统对磁盘驱动器进行分层。 | 磁盘分区和复制相结合。 |
| 可靠性 | 它不像RAID 10那样可靠。 | 它的性能优于RAID 5。 |
| 写入速度 | 与RAID 10相比,RAID 5具有更快的写入速度。 | 与RAID 5对比,RAID 10的写入速度较慢。 |
总结
这篇指南文章讨论了这些RAID层之间最重要的区别,以及它们如何完成和保持数据保护。RAID 10只是对其拥有的每一位信息产生一个相同的副本,而RAID 5则是收集奇偶校验数据并进行计算。这意味着RAID 10可以承受更多的磁盘中断;但是,它的整体存储空间永远不能超过一半。