独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。是一种数据存储技术,利用虚拟化存储技术把多个硬盘组合为一个存储空间。目的为提升性能或数据冗余,或是两者同时提升。
在运作中,取决于 RAID 层级不同,数据会以多种模式分散于各个硬盘,RAID 层级的命名会以 RAID 开头并带数字,例如:RAID 0 、 RAID 1 、 RAID 5 、 RAID 6 、 RAID 7 、 RAID 01 、 RAID 10 、 RAID 50 、 RAID 60 。每种等级都有其理论上的优缺点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器 (群) 读写性能。
RAID 有多种类型,每种类型在性能、存储容量和可靠性方面各不相同,本文将简要介绍 Synology 群晖 NAS 支持的 RAID 类型,包括执行要求、优势和不足。
Synology NAS 支持的 RAID 类型
此表简要介绍了 Synology NAS 支持的各种 RAID 类型,包括存储容量、 RAID 类型所需的最少硬盘数量以及数据丢失之前允许的故障硬盘数量。
| RAID 类型 | 硬盘数量 | 硬盘容错能力 | 说明 | 存储容量 |
|---|---|---|---|---|
| SHR-1 | 1 | 0 | 在组合不同容量的硬盘时优化存储空间大小。如果存储空间由两个或更多硬盘构成,可提供数据冗余。建议新手选择此选项。 | 1 x(硬盘容量) |
| ≧2 | 1 | 系统优化容量 | ||
| SHR-2 | ≧4 | 2 | ||
| Basic | 1 | 0 | 单个硬盘构成独立的单元。不提供数据冗余。 | 1 x(硬盘容量) |
| JBOD | ≧1 | 0 | 将多个硬盘组合为一个存储空间,容量等于所有硬盘容量的总和。不提供数据冗余。 | 所有硬盘容量的总和 |
| RAID 0 | ≧2 | 0 | “区块延展” 功能是将数据分成多个块,并将数据块分散到多个组成硬盘上以提高性能的过程。不提供数据冗余。 | 所有硬盘容量的总和 |
| RAID 1 | 2 | 1 | 同时向所有硬盘写入相同的数据。提供数据冗余。 | 最小硬盘的容量 |
| 3 | 2 | |||
| 4 | 3 | |||
| RAID 5 | ≧3 | 1 | 执行区块延展,并对分散到所有组成硬盘上的数据执行奇偶校验,从而提供比 RAID 1 更有效的数据冗余。 | (N – 1) x(最小硬盘的容量) |
| RAID 6 | ≧4 | 2 | 执行两个层级的数据奇偶校验以存储相当于两个硬盘容量的冗余数据,提供比 RAID 5 更大程度的数据冗余。支持创建大小最大为 1 PB 的 Btrfs 存储空间,但仅适用于特定 Synology NAS 型号且需要满足特定条件。 | (N – 2) x(最小硬盘的容量) |
| RAID 10 | ≧4 (偶数) | 所有硬盘容量总和的一半 | 提供 RAID 0 的性能和 RAID 1 的数据保护级别,将硬盘组合到由两个镜像数据的硬盘组成的群组。 | (N / 2) x(最小硬盘的容量) |
| RAID F1 | ≧3 | 1 | 执行区块延展,并对分散到所有组成硬盘上的数据执行奇偶校验。在特定硬盘上写入更多奇偶校验信息。建议用于全闪存阵列。 | (N – 1) x(最小 SSD 的容量) |
注意:
- “Basic” 之外的 RAID 类型仅适用于特定 Synology NAS 型号,具体取决于硬盘插槽数和安装的硬盘数量。
- RAID F1 仅适用于特定 Synology NAS 型号(了解更多)。另请注意,当每个 RAID 阵列的硬盘数量上限为 12 或更少时,会提高 RAID F1 的工作效率。
- “N” 表示存储空间中硬盘的总数。
- 对于支持 RAID Group 功能的 Synology NAS 型号(了解更多),至少需要两个硬盘才能实施 JBOD 。
- 不同 RAID 类型支持不同的存储容量扩充方法(了解更多);但是,某些 RAID 类型完全不支持存储容量扩充。例如,RAID 0 存储池无法通过添加硬盘或更换为更大容量的硬盘来扩充容量。
Synology Hybrid RAID (SHR)
Synology Hybrid RAID (SHR) 是一种自动化 RAID 管理系统,专为简化存储管理以及满足不熟悉 RAID 类型的新用户而设计。
SHR 可以将不同容量的硬盘组合成一个存储池,以优化容量和性能,减少硬盘空间浪费,并提供更灵活的存储解决方案。当安装足够数量的硬盘时,
- SHR-1 提供 1 块硬盘的容错能力,
- SHR-2 提供 2 块硬盘的容错能力。
换句话说,SHR 存储池可以承受一块或两块硬盘故障而不会丢失数据,有关 SHR 的更多信息,请参阅本文。
RAID 0
RAID 0 组合两个或更多硬盘以提高性能和容量,但不提供容错功能。单个硬盘出现故障将导致阵列中的所有数据丢失。 RAID 0 对于需要高价格/性能平衡的非关键系统非常有用。
RAID 1
RAID 1 通常由两个硬盘来执行。硬盘中的数据会进行镜像,在硬盘出现故障时提供容错保护功能。读取性能得到提高,而写入性能与单个硬盘相似。可承受单个硬盘出现故障而不会丢失数据。在容错保护非常关键而空间和性能不那么重要时,往往使用 RAID 1 。
RAID 5
RAID 5 提供容错并提高读取性能。至少需要三个硬盘才能组成。 RAID 5 可承受单个硬盘丢失。硬盘发生故障时,故障硬盘上的数据将从其余硬盘上延展的奇偶校验进行重建。因此,当 RAID 5 阵列处于降级状态时,读写性能会受到严重影响。当空间和成本比性能更重要时,RAID 5 是理想选择。
RAID 6
RAID 6 与 RAID 5 类似,但提供了另一层区块延展,并可承受两块硬盘故障。至少需要四个硬盘才能组成。由于增加了容错能力,RAID 6 的性能低于 RAID 5 。当空间和成本重要且需要承受多块硬盘故障时,RAID 6 具有吸引力。
RAID 10
RAID 10 集合了 RAID 1 与 RAID 0 的优势。读写性能有所提高,但用于存储数据的空间仅为总空间的一半。需要四个或更多硬盘使得成本相对较高,但在提供容错保护功能时性能较高。只要故障不是发生在同一子群组,RAID 10 可承受多个硬盘出现故障。 RAID 10 对于需要高 I/O 的应用程序而言是理想的解决方案,例如数据库服务器。
RAID F1
RAID F1 采用 RAID 5 机制,提供容错并提高读取性能。但 RAID F1 会让系统在某一特定硬盘上写入更多奇偶校验信息来加速其寿命周期,以避免所有硬盘同时耗尽耐用性。与 RAID 5 相比,此机制可能会稍微影响性能。至少需要三个硬盘才能组成。 RAID F1 可承受单个硬盘丢失。硬盘发生故障时,故障硬盘上的数据将从其余硬盘上延展的奇偶校验进行重建。因此,当 RAID F1 阵列处于降级状态时,读写性能会受到严重影响。 RAID F1 是全闪存阵列的理想选择。
参考资料
- RAID 类型,https://kb.synology.cn/zh-cn/DSM/help/DSM/StorageManager/storage_pool_what_is_raid