3.9 KiB
3.9 KiB
1、RAID 概览
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种把多块磁盘组合起来使用的技术,目的是在性能、容量、可靠性之间做平衡。
常见目标:
- 提升读写性能
- 提高数据可靠性
- 提供故障容忍能力
需要注意:RAID 不是备份。即使做了 RAID,仍然需要独立备份策略。
2、常见 RAID 级别
2.1 RAID 0
特点:
- 条带化写入
- 读写性能高
- 无冗余
- 任意一块盘坏掉,数据整体丢失
适合:
- 临时数据
- 对性能要求高、对安全性要求不高的场景
2.2 RAID 1
特点:
- 镜像
- 数据写入两份
- 安全性高
- 成本较高,容量利用率低
适合:
- 对可靠性要求较高的系统盘或小型关键业务盘
2.3 RAID 5
特点:
- 条带化 + 单校验
- 至少需要 3 块盘
- 可容忍 1 块盘故障
- 读性能较好,写性能受校验影响
适合:
- 兼顾容量和可靠性的通用场景
2.4 RAID 6
特点:
- 双校验
- 至少需要 4 块盘
- 可容忍 2 块盘故障
- 安全性更高,但写入开销更大
适合:
- 大容量存储、对容错要求较高的场景
2.5 RAID 10
特点:
- RAID 1 + RAID 0 的组合
- 兼顾性能和可靠性
- 容量利用率通常约为一半
- 成本较高
适合:
- 数据库、高并发业务、性能和安全性都重要的场景
3、RAID 级别对比
| 级别 | 最少磁盘数 | 容量利用率 | 容错能力 | 性能特点 |
|---|---|---|---|---|
| RAID 0 | 2 | 高 | 无 | 读写快 |
| RAID 1 | 2 | 低 | 可坏 1 块(镜像组内) | 读较好,写一般 |
| RAID 5 | 3 | 较高 | 可坏 1 块 | 读好,写有校验开销 |
| RAID 6 | 4 | 中等 | 可坏 2 块 | 安全高,写更慢 |
| RAID 10 | 4 | 低 | 较好 | 性能和可靠性都不错 |
4、硬 RAID 与软 RAID
4.1 硬 RAID
由 RAID 卡等硬件完成管理。
特点:
- 对操作系统更透明
- 稳定性通常更强
- 常见于物理服务器
4.2 软 RAID
由操作系统通过软件实现,Linux 中常用工具是 mdadm。
特点:
- 成本低
- 学习和实验方便
- 依赖系统资源
生产中是否使用软 RAID,要根据业务、硬件条件和运维能力综合判断。
5、mdadm 命令
mdadm 是 Linux 下管理软 RAID 的核心工具。
5.1 基本语法
mdadm [mode] <raiddevice> [options] <component-devices>
5.2 常见模式和选项
-C:创建 RAID-A:装配 RAID-D:查看详细信息-f:标记某块盘故障-r:移除磁盘-a:添加磁盘-n:指定 RAID 成员盘数量-l:指定 RAID 级别-x:指定热备盘数量
5.3 查看状态
cat /proc/mdstat
6、常见操作示例
6.1 创建 RAID 1
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
6.2 格式化 RAID 设备
mkfs.xfs /dev/md0
6.3 查看 RAID 详细信息
mdadm --detail /dev/md0
6.4 添加磁盘
mdadm --add /dev/md0 /dev/sdc1
6.5 移除磁盘
mdadm --remove /dev/md0 /dev/sdc1
6.6 停止 RAID
mdadm -S /dev/md0
6.7 清理 RAID 元数据
mdadm --zero-superblock /dev/sdb1
7、常见运维注意点
- RAID 不是备份,重要数据仍需独立备份
- RAID 重建期间性能可能下降
- RAID 5/6 在大容量盘上重建时间可能较长
- 对系统盘、数据库盘、归档盘要根据业务特点选择不同 RAID 级别
- 动手前一定要确认设备名,避免误清盘
8、小结
- RAID 用于平衡性能、容量和可靠性
- RAID 0 快但不安全,RAID 1 安全但成本高
- RAID 5/6 适合做冗余存储,RAID 10 兼顾性能与可靠性
- Linux 软 RAID 的核心工具是
mdadm - 做 RAID 前先明确业务目标:要性能、要容量,还是要容错