RAID 1 是什么
RAID 1 是最直观的冗余方式:同一份数据同时写入两块盘,两块盘互为完整镜像。读操作可以从任一块盘取数,因此读性能接近单盘的两倍;写操作必须两块都成功,写惩罚为 2。单块盘损坏时业务不中断,重建也只需一次整盘复制,是所有级别中重建压力最小、处置最直观的一种,常被用在系统盘与小型数据库上。
基本信息
| 最少盘数 | 2 块(双盘镜像),也可做 3 块的多路镜像 |
|---|---|
| 容量公式 | 两块盘时为 1 × 单盘容量;多盘镜像组为 floor(N/2) × 单盘容量 |
| 容错 | 通常 1 块;三路镜像(RAID 1 三副本)可容忍 2 块 |
| 写惩罚 | 2(一次写两份) |
| 读特性 | 两盘可并行读,随机读约 2 倍,顺序读提升有限 |
| 典型平台 | mdadm --level=1、硬件卡 RAID 1、Windows Server 存储空间镜像 |
典型使用场景
- 系统盘与引导盘:结构简单,换盘、重建、验收都不需要复杂操作
- 小型数据库或账务系统(单机两盘位机型):容量需求不大但要求至少一块盘容错
- 日志盘与配置盘:数据量小、写入频率不高,镜像代价可以接受
- 需要「拔盘即换」的现场:坏盘拔下插上新盘,重建过程基本无感
- 镜像作为快速回滚手段:升级前拆掉镜像中的一块盘作为物理回退点
mdadm 创建与验证
mdadm 创建与验证
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
cat /proc/mdstat # 确认 [2/2] [UU]
mdadm --detail /dev/md1 # 查看成员盘、状态与 UUID
mdadm --manage /dev/md1 --fail /dev/sdb1 --remove /dev/sdb1 # 模拟换盘
mdadm --manage /dev/md1 --add /dev/sdb1 # 加回后自动重建RAID 1 与 RAID 10 对比
| 维度 | RAID 1 | RAID 10 |
|---|---|---|
| 盘数 | 2 块(或多路镜像) | 4 块起、偶数 |
| 读并发 | 2 倍单盘 | 接近盘数 |
| 写并发 | 等同单盘(写惩罚 2) | 随镜像对数量提升 |
| 容量利用率 | 50% | 50% |
| 典型位置 | 系统盘、小数据盘 | 数据库与虚拟化数据盘 |
RAID 1 重建只需读取镜像另一端的数据并整盘复制,不依赖校验运算,因此重建速度由单盘写带宽决定,是主流级别中重建最快的一种。
三块盘的镜像在不同控制器上有不同处理:有的做成三副本、有的闲置第三块做热备、有的只允许两块成员,建阵列前先看控制器手册,否则可用容量与容错预期都会算错。