wiki/运维/Linux/笔记/20.RAID.md
2026-04-08 19:40:00 +08:00

202 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 1、RAID 概览
RAIDRedundant 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 基本语法
```shell
mdadm [mode] <raiddevice> [options] <component-devices>
```
### 5.2 常见模式和选项
- `-C`:创建 RAID
- `-A`:装配 RAID
- `-D`:查看详细信息
- `-f`:标记某块盘故障
- `-r`:移除磁盘
- `-a`:添加磁盘
- `-n`:指定 RAID 成员盘数量
- `-l`:指定 RAID 级别
- `-x`:指定热备盘数量
### 5.3 查看状态
```shell
cat /proc/mdstat
```
## 6、常见操作示例
### 6.1 创建 RAID 1
```shell
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
```
### 6.2 格式化 RAID 设备
```shell
mkfs.xfs /dev/md0
```
### 6.3 查看 RAID 详细信息
```shell
mdadm --detail /dev/md0
```
### 6.4 添加磁盘
```shell
mdadm --add /dev/md0 /dev/sdc1
```
### 6.5 移除磁盘
```shell
mdadm --remove /dev/md0 /dev/sdc1
```
### 6.6 停止 RAID
```shell
mdadm -S /dev/md0
```
### 6.7 清理 RAID 元数据
```shell
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 前先明确业务目标:要性能、要容量,还是要容错