前言

RAID技术概述

RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种通过将多个物理磁盘组合成一个逻辑单元的技术,旨在提升数据存储的性能、可靠性或两者兼备。根据不同的配置(RAID级别),可实现数据冗余、读写加速或故障容错。

核心优势

  • 性能提升:通过并行读写(如RAID 0)缩短数据访问时间。
  • 数据冗余:部分RAID级别(如RAID 1、5、6)允许磁盘故障后恢复数据。
  • 容量扩展:多磁盘合并提供更大的逻辑存储空间。

常见RAID级别

  • RAID 0:条带化设计,无冗余,读写速度最快,但单盘故障会导致全部数据丢失。
  • RAID 1:镜像存储,数据完全复制到另一磁盘,冗余性高,但容量利用率仅50%。
  • RAID 5:分布式奇偶校验,允许单盘故障,平衡性能与冗余,需至少3块磁盘。
  • RAID 6:双奇偶校验,允许双盘故障,需至少4块磁盘,适合大容量环境。
  • RAID 10:RAID 1+0的组合,先镜像再条带化,兼顾性能与冗余,需至少4块磁盘。

应用场景

  • 企业存储:RAID 5/6用于数据库或文件服务器,确保数据安全。
  • 高性能计算:RAID 0适合临时数据处理,如视频编辑缓存。
  • 关键备份:RAID 1适用于金融或医疗系统的元数据保护。

注意事项

  • 成本与复杂度:高级别RAID需更多磁盘和控制器,维护成本较高。
  • 重建风险:大容量磁盘在重建时可能因第二块磁盘故障导致数据彻底丢失。
  • 非备份替代:RAID不能完全替代定期备份,需结合云存储或离线介质。

RAID的选择需权衡性能、冗余需求和预算,结合实际业务场景进行配置。

第一章 RAID是什么

RAID(独立磁盘冗余阵列)是一种将多个物理磁盘驱动器组合成一个或多个逻辑单元的技术,旨在提升数据存储的性能、可靠性或容量。其主要目标包括:

核心目标

  1. 性能提升:通过并行读写操作加速数据处理
  2. 冗余保护:通过数据备份或校验机制防止磁盘故障
  3. 容量扩展:整合多个磁盘的存储空间

常见级别详解

RAID 0(条带化)

  • 原理:数据分块(条带)后轮询写入磁盘
    数据块 = { D 1 , D 2 , . . . , D n } 分布于磁盘 { D i s k 1 , D i s k 2 , . . . , D i s k n } \text{数据块} = \{D_1, D_2, ..., D_n\} \quad \text{分布于磁盘} \{Disk_1, Disk_2, ..., Disk_n\} 数据块={D1,D2,...,Dn}分布于磁盘{Disk1,Disk2,...,Diskn}
  • 优势:读写速度倍增( n n n倍理论提升)
  • 缺陷:无冗余,任一磁盘故障导致数据全损
  • 存储效率:100%

RAID 1(镜像)

  • 原理:相同数据同时写入两组磁盘
    存储模式: D i s k A = D i s k B \text{存储模式:} \quad Disk_A = Disk_B 存储模式:DiskA=DiskB
  • 优势:高容错性(允许半数磁盘损坏)
  • 缺陷:存储利用率仅50%
  • 典型场景:金融系统关键数据

RAID 5(分布式奇偶校验)

  • 原理:数据与校验信息( P P P)轮询分布
    磁盘阵列: { D 1 , D 2 , P 3 } , { D 4 , P 5 , D 6 } , { P 7 , D 8 , D 9 } \text{磁盘阵列:} \quad \{D_1, D_2, P_3\}, \{D_4, P_5, D_6\}, \{P_7, D_8, D_9\} 磁盘阵列:{D1,D2,P3},{D4,P5,D6},{P7,D8,D9}
  • 关键技术:异或运算生成校验
    P = D 1 ⊕ D 2 ⊕ . . . ⊕ D n P = D_1 \oplus D_2 \oplus ... \oplus D_n P=D1D2...Dn
  • 优势:兼顾性能与冗余(允许1盘损坏)
  • 存储效率 ( n − 1 ) / n (n-1)/n (n1)/n n n n为磁盘数)

混合级别

  • RAID 10(1+0):先镜像后条带化,兼顾速度与安全
    物理结构: 
    [ 磁盘A1 ↔ 磁盘A2 ]  -- 条带化 --  
    [ 磁盘B1 ↔ 磁盘B2 ]
    

技术演进:现代RAID控制器支持动态扩容、在线重建、缓存加速等高级功能,结合SSD可突破传统性能瓶颈。

第二章 作用与级别

RAID 0(条带化)

RAID 0(条带化)是一种存储技术,其主要作用与特性如下:

作用:

  1. 性能提升:通过将数据分割成块并并行写入多个驱动器,显著提高读写速度。理论上, n n n个驱动器的阵列可使吞吐量提升至单盘的 n n n倍。
  2. 容量最大化:总存储空间为所有驱动器容量之和( C 总 = ∑ i = 1 n C i C_{\text{总}} = \sum_{i=1}^{n} C_i C=i=1nCi)。

级别特性:

  • 无冗余:数据均匀分布在各驱动器,但无校验或镜像备份。
  • 故障风险:任一驱动器失效将导致整个阵列数据丢失,可靠性为 P 存活 = ∏ i = 1 n P i P_{\text{存活}} = \prod_{i=1}^{n} P_i P存活=i=1nPi P i P_i Pi为单盘存活率)。

典型应用场景:

  • 需高速读写的临时数据处理(如视频编辑缓存)
  • 对冗余要求低的非关键数据存储

⚠️ 注意:RAID 0不适用于数据安全要求高的场景,常需配合定期备份使用。若需冗余,可考虑RAID 1/5/6等。

RAID 1(镜像)

RAID 1(镜像)的作用与级别可概括如下:

作用

  1. 数据冗余
    通过实时同步写入两个(或多个)磁盘,确保存储数据的完全一致性。当任一磁盘发生故障时,系统仍能通过镜像磁盘维持正常运行,实现高可靠性。

  2. 提升读取性能
    数据可从多个磁盘并行读取(如 读取吞吐量 ≈ n × 单盘速度 \text{读取吞吐量} \approx n \times \text{单盘速度} 读取吞吐量n×单盘速度,其中 n n n 为磁盘数),但写入性能受限于同步操作(需同时写入所有镜像盘)。

  3. 简化数据恢复
    故障磁盘替换后,仅需从镜像盘直接复制数据即可完成重建,无需复杂计算。


级别特性

  • RAID级别:标准定义为 RAID 1(镜像级别),仅由两个磁盘组成基础镜像组。
  • 磁盘利用率:有效存储容量为总容量的 50 % 50\% 50%(例如 2 × 4 TB 2 \times 4\text{TB} 2×4TB 磁盘仅提供 4 TB 4\text{TB} 4TB 可用空间)。
  • 适用场景:适用于对数据安全性要求极高(如金融系统、关键数据库)但对存储成本不敏感的场景。

对比其他RAID级别

特性 RAID 1 RAID 0 RAID 5
冗余能力 完全冗余 无冗余 单磁盘冗余
容量效率 50 % 50\% 50% 100 % 100\% 100% ( n − 1 ) / n (n-1)/n (n1)/n
读写性能 读高、写较低 读写均高 读高、写中等

RAID 5(分布式奇偶校验)

好的,我们来详细解释一下 RAID 5。

RAID 5(分布式奇偶校验)的作用与级别

RAID 5 是一种将数据条带化(Striping)与分布式奇偶校验(Distributed Parity)技术相结合的磁盘阵列级别。它主要服务于以下两个核心目的:

  1. 提高数据可靠性(容错能力):这是 RAID 5 最主要的作用。它能够容忍阵列中一块磁盘的故障而不会导致数据丢失。这是通过存储奇偶校验信息实现的。
  2. 提升读取性能:由于数据被条带化分布在多个磁盘上,当读取数据时,多个磁盘可以同时工作,从而提升读取速度。
  3. 提高存储空间利用率:相比于 RAID 1(镜像)需要 100% 的冗余空间,RAID 5 只需要牺牲相当于一块磁盘容量的空间来存储奇偶校验信息,因此空间利用率更高。

RAID 5 的级别特征

  • 级别:RAID 5
  • 最小磁盘数:至少需要 3 块物理磁盘才能构建 RAID 5 阵列。
  • 数据分布方式(条带化与分布式奇偶校验)
    • 数据被分割成大小固定的块(条带)。
    • 这些数据块和对应的奇偶校验块被循环地、均匀地分布存储在阵列中的所有磁盘上。
    • 奇偶校验块不是固定存储在某一特定磁盘上(这点与 RAID 3/4 不同),而是轮流存储在不同的磁盘上。例如,在由三块磁盘组成的 RAID 5 中:
      • 条带 1:数据块 A1 在磁盘1,数据块 A2 在磁盘2,奇偶校验块 Ap 在磁盘3。
      • 条带 2:数据块 B1 在磁盘1,数据块 B2 在磁盘3,奇偶校验块 Bp 在磁盘2。
      • 条带 3:数据块 C1 在磁盘2,数据块 C2 在磁盘3,奇偶校验块 Cp 在磁盘1。
    • 这种奇偶校验信息轮流存储的方式就是“分布式”的含义。
  • 容错能力:RAID 5 可以容忍一块磁盘的完全故障。当一块磁盘失效时,可以利用剩余磁盘上的数据块和奇偶校验信息,通过异或运算(XOR)来重建丢失的数据。计算公式大致为:
    丢失的数据 = 剩余数据块 1 ⊕ 剩余数据块 2 ⊕ … ⊕ 奇偶校验块 丢失的数据 = 剩余数据块1 \oplus 剩余数据块2 \oplus \ldots \oplus 奇偶校验块 丢失的数据=剩余数据块1剩余数据块2奇偶校验块
    • 重要限制:如果同时有两块或以上磁盘发生故障,数据将无法恢复,导致数据丢失。因此,当一块磁盘故障后,需要尽快更换新盘并重建阵列。
  • 存储空间利用率:总可用容量等于所有磁盘总容量减去一块磁盘的容量。例如:
    • 3 块 1TB 磁盘:总容量 3TB,可用容量 3 T B − 1 T B = 2 T B 3TB - 1TB = 2TB 3TB1TB=2TB
    • 4 块 1TB 磁盘:总容量 4TB,可用容量 4 T B − 1 T B = 3 T B 4TB - 1TB = 3TB 4TB1TB=3TB
    • 可用容量计算公式: 可用容量 = ( N − 1 ) × 单盘容量 可用容量 = (N - 1) \times 单盘容量 可用容量=(N1)×单盘容量(N 为磁盘数量)。
  • 性能特点
    • 读取性能:通常非常好,接近 RAID 0(条带化),因为数据分布在多个盘上,可以并行读取。
    • 写入性能:相对较差(尤其是小文件写入)。因为每次写入数据块时,通常需要读取旧数据块、旧奇偶校验块,计算新的奇偶校验块(涉及 XOR 运算),然后再写入新数据块和新奇偶校验块。这个过程被称为“写惩罚”(Write Penalty)。
  • 适用场景:适用于需要良好读取性能、较高存储空间利用率以及一定容错能力的场景,如文件服务器、Web服务器、中小型数据库等。

总结:

RAID 5 是一种平衡了性能、容量和成本的常用 RAID 级别。它通过分布式存储奇偶校验信息,在牺牲一块磁盘容量的前提下,提供了对单盘故障的容错能力,并提升了读取性能。其主要弱点是写入性能开销较大,且无法承受两块磁盘同时故障。

RAID 10(1+0)

好的,我们来详细解释一下 RAID 10(也常称为 RAID 1+0)。

RAID 10 (RAID 1+0) 的作用与级别

1. 定义与别称
RAID 10 是一种复合(或称嵌套)级别的磁盘阵列技术。它结合了 RAID 1(镜像)和 RAID 0(条带化)两种基本 RAID 级别的特性。因此,它常被称为 RAID 1+0,表示其构建过程是先做镜像(RAID 1),再做条带化(RAID 0)

2. 核心作用
RAID 10 的主要作用是在提供高性能的同时,保障数据的冗余和容错能力。它旨在解决纯 RAID 0 缺乏容错性和纯 RAID 1 写入性能相对较低的问题。

3. 技术特点与工作原理

  • 构建方式:构建 RAID 10 至少需要 4 块硬盘。首先,将硬盘两两配对,每组组成一个 RAID 1(镜像)对。然后,将这些 RAID 1 镜像对作为一个整体,再进行 RAID 0(条带化)操作。
  • 数据写入
    • 数据被条带化(分割)后写入不同的 RAID 1 镜像对。
    • 在每个 RAID 1 镜像对内部,数据被镜像(完全复制)到两块硬盘上。
  • 数据读取:可以从多个硬盘(尤其是多个 RAID 1 镜像对中的活动盘)同时读取数据,提高了读取速度。
  • 容错能力
    • RAID 10 可以容忍同一 RAID 1 镜像对中的一块硬盘故障而不丢失数据或中断服务(因为镜像对中的另一块硬盘有完整数据副本)。
    • 如果不同 RAID 1 镜像对中各有一块硬盘同时故障,阵列通常也能继续运行。
    • 但是,如果同一个 RAID 1 镜像对中的两块硬盘都故障,或者多个镜像对中各坏一块盘且这些盘恰好存储了同一条带的数据,则会导致数据丢失。因此,其容错能力取决于故障硬盘是否分布在不同的镜像组中。
  • 存储效率:由于采用了镜像,总存储空间的 50% 用于存储冗余数据。例如,使用 4 块 1TB 硬盘组成 RAID 10,实际可用容量为 2TB。
  • 性能
    • 读性能:由于条带化和可以从多个镜像对读取,读取性能通常接近甚至超过 RAID 0。
    • 写性能:由于需要在每个 RAID 1 镜像对内写入两份相同数据,写性能通常比 RAID 0 低,但比纯 RAID 1 高(因为条带化允许并行写入多个镜像对)。

4. 总结
RAID 10 是一种高性能、高可靠性的磁盘阵列方案。它通过先镜像后条带化的方式,结合了 RAID 1 的数据安全性和 RAID 0 的 I/O 性能优势。其主要代价是需要至少双倍数量的硬盘(导致 50% 的存储效率损失)和较高的成本。它非常适合对性能(尤其是 I/O 密集型应用)和容错性都有较高要求的场景,如数据库服务器、应用服务器等。

第三章 创建RAID

需求描述:

为Linux服务器添加4块SCSI硬盘

使用mdadm软件包,构建RAID5磁盘阵列,提高磁盘存储的性能和可靠性
检查是否已安装mdadm软件包

检查是否已安装mdadm软件包

rpm -q mdadmyum install -y mdadm
在这里插入图片描述
mdadm(Multiple Disk and Device Administration)是Linux系统中用于管理软件RAID(冗余磁盘阵列)的工具。其核心功能包括:

创建和管理RAID阵列:支持RAID 0、1、5、6、10等常见级别,允许将多块磁盘组合为逻辑卷。
监控和故障恢复:实时检测磁盘状态,自动替换故障磁盘并重建数据。
配置灵活性:支持热插拔、动态扩容和阵列迁移等操作
mdadm命令常用选项

-C:创建一个新的raid设备
-l:指定 RAID 级别(如 -l 0 为 RAID 0,-l 1 为 RAID 1)。
-n:指定参与 RAID 的磁盘数量
-a yes:自动创建设备文件(默认行为)。
-r: 移除设备
-a: 添加设备
-S: 停止RAID
-A: 启动RAID

使用fdisk工具进行分区

使用fdisk工具将新磁盘设备/dev/sdb、/dev/sdc、 /dev/sdd、 /dev/sde划分出主分区sdb1、sdc1、 sdd1、 sde1, 并且
把分区类型的ID标记号改为
在这里插入图片描述
echo "- - - " > /sys/class/scsi_host/host0/scan # 重启或者扫描fdisk -l
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建 RAID 0

创建 RAID 0 矩阵

mdadm -Cv /dev/md10 -l0 -n2 /dev/sde /dev/sdf

查看创建结果

cat /proc/mdstat

文件格式化

mkfs.xfs /dev/md10

挂载

mount /dev/md10 /myraid

创建 RAID 1

创建 RAID 1矩阵

mdadm -Cv /dev/md10 -l1 -n2 /dev/sde /dev/sdf

查看创建结果

cat /proc/mdstat

文件格式化

mkfs.xfs /dev/md10

挂载

mount /dev/md10 /myraid

创建 RAID 5

检查mdadm包,安装mdadm包

rpm -q mdadm
yum install -y mdadm

对4块硬盘进行分区

使用fdisk对四块硬盘进行分区。
分别为:sde1、sdf1、sdg1、sdh1,类型为Linux raid autodetect
在这里插入图片描述

创建 RAID 5

命令常用选项

  1. -C:创建一个新的raid设备
  2. -l:指定 RAID 级别(如 -l 0 为 RAID 0,-l 1 为 RAID 1)。
  3. -n:指定参与 RAID 的磁盘数量
  4. -a yes:自动创建设备文件(默认行为)。
  5. -r: 移除设备
  6. -a: 添加设备
  7. -S: 停止RAID
  8. -A: 启动RAID

混合级别:

先镜像再条带

mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[ef]1 :镜像
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[gh]1 :镜像
mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1 :条带化

查看创建结果

cat /proc/mdstat

文件格式化

mkfs.xfs /dev/md10

挂载

mount /dev/md10 /myraid

总结

RAID技术总结

一、基本概念

RAID(Redundant Array of Independent Disks)即独立磁盘冗余阵列,是一种将多个物理磁盘组合成逻辑单元的技术,主要目标包括:

  1. 提升性能:通过并行读写加速数据访问
  2. 增强容错:利用冗余数据实现故障恢复
  3. 扩展容量:整合多个磁盘的存储空间

二、常见级别对比
级别 技术原理 最少磁盘数 优势 局限性
RAID 0 条带化(数据分块存储) 2 最高读写性能 无冗余,单盘故障全损
RAID 1 镜像(完全数据复制) 2 100%数据冗余 存储利用率仅50%
RAID 5 分布式奇偶校验 3 性能与冗余平衡 单盘故障时性能下降
RAID 6 双重分布式奇偶校验 4 允许双盘同时故障 写性能较低
RAID 10 镜像+条带化(先镜像再条带) 4 高读写性能与强容错 成本高,利用率50%

三、关键技术特性
  1. 条带化(Striping)

    • 数据分块存储在多个磁盘
    • 并行读写显著提升传输速率
    • 典型应用:RAID 0/5/6/10
  2. 镜像(Mirroring)

    • 实时复制数据到备用磁盘
    • 提供实时故障保护
    • 典型应用:RAID 1/10
  3. 奇偶校验(Parity)

    • 通过异或运算生成校验数据
    • 分布式存储实现空间高效冗余
    • 典型应用:RAID 5/6

四、应用场景建议
  • 高性能需求:视频编辑/数据库 → RAID 0/10
  • 高可靠性:金融系统/医疗数据 → RAID 1/6/10
  • 性价比平衡:文件服务器 → RAID 5
  • 大容量存储:备份系统 → RAID 6

注意事项

  1. RAID不能替代定期备份
  2. 同批次磁盘可能同时老化
  3. 重建过程可能导致二次故障
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐