RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种数据存储虚拟化技术,它将多个物理磁盘驱动器组合成一个或多个逻辑单元,以提供数据冗余、提高性能和/或增加存储容量。RAID技术广泛应用于服务器、数据存储系统和网络附加存储(NAS)等设备中,以提高数据可靠性和访问速度。
本文介绍以下 RAID 级别:
- RAID 0 – 条带化
RAID 1 – 镜像
RAID 5 – 带奇偶校验的条带化
RAID 6 – 具有双重奇偶校验的条带化
RAID 10 – 结合镜像和条带化
RAID 级别 0 – 条带化
在 RAID 0 系统中,系统数据被拆分为多个块,这些块被写入阵列中的所有驱动器。通过同时使用多个磁盘(至少 2 个),这可提供卓越的 I/O 性能。通过使用多个控制器(理想情况下每个磁盘一个控制器),可以进一步增强此性能。

RAID 0 的优势
- RAID 0 在读取和写入操作方面都提供了出色的性能。奇偶校验控制不会造成开销。
- 所有存储容量都已使用,没有开销。
- 该技术易于实施。
RAID 0 的缺点
- RAID 0 不具有容错能力。如果一个驱动器发生故障,RAID 0 阵列中的所有数据都将丢失。它不应用于任务关键型系统。
理想的用途
RAID 0 非常适合必须高速读/写的非关键数据存储,例如在图像修饰或视频编辑站上。
如果您只想使用 RAID 0 将 twee 驱动器的存储容量合并到一个卷中,请考虑将一个驱动器安装在另一个驱动器的文件夹路径中。这在 Linux、OS X 和 Windows 中都受支持,其优点是单个驱动器故障不会影响第二个磁盘或 SSD 驱动器的数据。
RAID 级别 1 – 镜像
通过将数据写入数据驱动器(或一组数据驱动器)和镜像驱动器(或一组驱动器),数据将存储两次。如果驱动器发生故障,控制器将使用数据驱动器或镜像驱动器进行数据恢复和连续操作。RAID 1 阵列至少需要 2 个驱动器。

RAID 1 的优势
- RAID 1 提供出色的读取速度和可与单个驱动器相媲美的写入速度。
- 如果驱动器发生故障,则不必重建数据,只需将它们复制到替换驱动器即可。
- RAID 1 是一项非常简单的技术。
RAID 1 的缺点
- 主要缺点是有效存储容量仅为总驱动器容量的一半,因为所有数据都会写入两次。
- 软件 RAID 1 解决方案并不总是允许对故障驱动器进行热插拔。这意味着只有在关闭它所连接的计算机的电源后才能更换故障驱动器。对于多人同时使用的服务器,这可能是不可接受的。此类系统通常使用支持热插拔的硬件控制器。
理想的用途
RAID-1 非常适合任务关键型存储,例如会计系统。它也适用于仅使用两个数据驱动器的小型服务器。
RAID 级别 5 – 带奇偶校验的条带化
RAID 5 是最常见的安全 RAID 级别。它至少需要 3 个驱动器,但最多可以使用 16 个驱动器。数据块在驱动器之间进行条带化,并在一个驱动器上写入所有块数据的奇偶校验和。奇偶校验数据不会写入固定驱动器,而是分布在所有驱动器上,如下图所示。使用奇偶校验数据,如果这些数据不再可用,计算机可以重新计算其他数据块之一的数据。这意味着 RAID 5 阵列可以承受单个驱动器故障,而不会丢失数据或访问数据。尽管 RAID 5 可以在软件中实现,但建议使用硬件控制器。通常在这些控制器上使用额外的缓存内存来提高写入性能。

RAID 5 的工作原理
要理解RAID 5的工作原理,首先要了解两个核心概念:
1. 条带化存储(Striping):数据被分割成小块,称为条带,并交替存储在阵列中的各个磁盘上。这种方式使得多个磁盘可以并行工作,从而显著提升数据读取速度。
2. 分布式奇偶校验(Distributed Parity):RAID 5中的奇偶校验并不是集中在某一块磁盘上,而是均匀地分布在所有磁盘中。对于每一条带,都会生成相应的校验信息,并存储在一个不同的磁盘上。这样,如果某块磁盘失效,其数据可以通过剩余磁盘中的数据和校验信息重建。
在RAID 5中,假设有四块硬盘(Disk 0、Disk 1、Disk 2、Disk 3),数据将分为条带A、B、C和奇偶校验P。数据和奇偶校验信息会交错存储在不同磁盘上,举个简单的例子:
· 第一个条带:Disk 0 存储 A1,Disk 1 存储 A2,Disk 2 存储 A3,Disk 3 存储奇偶校验 P1
· 第二个条带:Disk 0 存储奇偶校验 P2,Disk 1 存储 B1,Disk 2 存储 B2,Disk 3 存储 B3
这样,如果任意一块硬盘失效,通过奇偶校验的反向计算就能重建丢失的数据。
RAID 5 的优势
- 读取数据事务非常快,而写入数据事务稍慢(由于必须计算奇偶校验)。
- 如果驱动器发生故障,您仍然可以访问所有数据,即使在更换故障驱动器并且存储控制器在新驱动器上重建数据时也是如此。
RAID 5 的缺点
- 驱动器故障会影响吞吐量,尽管这仍然是可以接受的。
- 这是一项复杂的技术。如果使用 4TB 磁盘的阵列中的一个磁盘发生故障并被更换,则恢复数据(重建时间)可能需要一天或更长时间,具体取决于阵列上的负载和控制器的速度。如果另一个磁盘在此期间出现故障,数据将永远丢失。
理想的用途
RAID 5 是一个很好的全能系统,它结合了高效的存储、出色的安全性和不错的性能。它非常适合数据驱动器数量有限的文件和应用程序服务器。
RAID 级别 6 – 具有双重奇偶校验的条带化
RAID 6 与 RAID 5 类似,但奇偶校验数据被写入两个驱动器。这意味着它至少需要 4 个驱动器,并且可以承受 2 个驱动器同时死机。两个驱动器在完全相同的时刻发生故障的可能性当然非常小。但是,如果 RAID 5 系统中的驱动器死机并被新驱动器替换,则需要数小时甚至一天以上的时间来重建交换的驱动器。如果另一个驱动器在此期间死机,您仍然会丢失所有数据。使用 RAID 6,RAID 阵列甚至可以在第二次故障中幸存下来。

RAID 6 的优势
- 与 RAID 5 一样,读取数据事务非常快。
- 如果两个驱动器发生故障,您仍然可以访问所有数据,即使在更换故障驱动器时也是如此。因此,RAID 6 比 RAID 5 更安全。
RAID 6 的缺点
- 由于必须计算额外的奇偶校验数据,写入数据事务比 RAID 5 慢。在一份报告中,我读到写入性能降低了 20%。
- 驱动器故障会影响吞吐量,尽管这仍然是可以接受的。
- 这是一项复杂的技术。重建一个驱动器出现故障的阵列可能需要很长时间。
理想的用途
RAID 6 是一款出色的全能系统,它结合了高效的存储、出色的安全性和不错的性能。在使用许多大型驱动器进行数据存储的文件和应用程序服务器中,它比 RAID 5 更可取。
RAID 级别 10 – 结合 RAID 1 和 RAID 0
可以将 RAID 0 和 RAID 1 的优点(和缺点)组合在一个系统中。这是嵌套或混合 RAID 配置。它通过镜像辅助驱动器上的所有数据,同时在每组驱动器上使用条带化来加快数据传输速度,从而提供安全性。

RAID 10 的优势
- 如果 RAID 10 配置中的某个磁盘出现问题,则重建时间非常快,因为所需要做的就是将所有数据从幸存的镜像复制到新驱动器。对于 1 TB 的驱动器,这可能只需 30 分钟。
RAID 10 的缺点
- 一半的存储容量用于镜像,因此与大型 RAID 5 或 RAID 6 阵列相比,这是一种昂贵的冗余方式。
RAID 不能替代备份!
除 RAID 0 之外的所有 RAID 级别都提供针对单个驱动器故障的保护。RAID 6 系统甚至可以在 2 个磁盘同时死机的情况下幸存下来。为了完全安全,您仍然需要备份存储在 RAID 系统上的数据。
- 如果所有驱动器由于功率峰值而同时发生故障,该备份将派上用场。
- 当存储系统被盗时,这是一种保护措施。
- 备份可以保存在场外的不同位置。如果自然灾害或火灾摧毁了您的工作场所,这可能会派上用场。
- 备份多代数据的最重要原因是用户错误。如果有人不小心删除了一些重要数据,并且在几个小时、几天或几周内都没有被注意到,一组良好的备份可以确保您仍然可以检索这些文件。