Linux RAID1 创建与配置实战指南(mdadm)
一、RAID1 核心价值与实战目标
RAID1(磁盘镜像) 通过数据冗余提供高可靠性:
- 当单块硬盘损坏时,数据不丢失
- 支持快速阵列重建
- 读写性能略低于单盘(镜像写入开销)
本文实战目标:
✅ 使用 mdadm 在 Linux 创建 RAID1
✅ 提供环境兼容方案(如工具缺失时的替代方案)
✅ 实现开机自动挂载与状态验证
示例环境:
- 系统:CentOS 7 / Ubuntu(通用方案)
- 数据盘:
/dev/sda+/dev/sdc - RAID设备:
/dev/md126 - 挂载点:
/data/raid1 - 文件系统:ext4
二、前置准备
安装 mdadm
按发行版选择命令:# Debian/Ubuntu apt update && apt install mdadm -y# CentOS/RHEL yum install mdadm -y验证安装:
mdadm --version磁盘检查与清理
关键步骤:清除旧分区表/RAID信息,避免冲突# 查看磁盘列表 lsblk清理旧分区(二选一):
# 方案A(推荐):使用 sgdisk sgdisk --zap-all /dev/sda# 方案B(无 sgdisk 时):使用 dd dd if=/dev/zero of=/dev/sda bs=512 count=2048清除文件系统签名:
wipefs -a /dev/sda建议同样对 sdc 也执行 wipefs,防止遗留。检查旧 RAID 阵列
若存在旧阵列,先尝试组装:mdadm --assemble --scan cat /proc/mdstat # 检查阵列状态⚠️ 无输出表示无旧阵列,可跳过此步
三、创建 RAID1 阵列
初始化阵列(兼容性方案)
# 创建阵列(预留一个磁盘位置) mdadm --create /dev/md126 --level=1 --raid-devices=2 /dev/sdc missingmissing:为/dev/sda预留位置,后续手动添加
❗ 若设备名冲突(如已有
/dev/md126):mdadm --stop /dev/md126 mdadm --remove /dev/md126添加第二块磁盘
mdadm --add /dev/md126 /dev/sda监控重建进度
watch cat /proc/mdstat # 实时查看状态- 等待状态变为
[UU](表示双盘正常):md126 : active raid1 sda[2] sdc[0]3907015680 blocks [2/2] [UU]
- 等待状态变为
四、文件系统与挂载
格式化 RAID 设备
mkfs.ext4 /dev/md126挂载到文件系统
mkdir -p /data/raid1 mount /dev/md126 /data/raid1验证挂载
df -h /data/raid1预期输出:
Filesystem Size Used Avail Use% Mounted on /dev/md126 3.6T 89M 3.4T 1% /data/raid1
五、开机自动挂载配置
保存 RAID 配置
# Debian/Ubuntu mdadm --detail --scan >> /etc/mdadm/mdadm.conf# CentOS/RHEL mdadm --detail --scan >> /etc/mdadm.conf配置 /etc/fstab
- 获取设备 UUID:
blkid /dev/md126预期输出: /dev/md126: UUID="d8e3eb19-2b2f-41f5-b8b0-05bbb1f01aee" TYPE="ext4" - 编辑
/etc/fstab:UUID=d8e3eb19-2b2f-41f5-b8b0-05bbb1f01aee /data/raid1 ext4 defaults 0 0
- 获取设备 UUID:
测试自动挂载
umount /data/raid1 mount -a df -h /data/raid1 # 检查是否成功挂载
六、检查与验证
查看阵列健康状态
mdadm --detail /dev/md126关键指标:
Raid Level : raid1 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 [UU] # 双盘正常故障模拟测试
- 状态
[_U]→ 单盘故障 - 状态
[__]→ 阵列崩溃
- 状态
关键验证操作:
# 重启测试 reboot df -h | grep raid1 # 重启后检查挂载# 读写测试 touch /data/raid1/testfile ls -l /data/raid1 rm -f /data/raid1/testfile
七、最佳实践与注意事项
✅ 定期维护:
cat /proc/mdstat # 每月检查阵列状态
mdadm --monitor --scan # 启用后台监控
✅ 关键认知:
- RAID1 ≠ 备份!仍需独立备份方案
- 更换故障盘后需手动触发重建
- 避免使用同一批次硬盘(降低同时故障风险)
❌ 常见错误:
- 未清理旧分区导致阵列冲突
- 忘记保存配置到
/etc/mdadm.conf - 直接拔盘未标记为
failed
最终配置摘要:
| 项目 | 值 |
|---|---|
| RAID 设备 | /dev/md126 |
| RAID 类型 | RAID1 |
| UUID | d8e3eb19-2b2f-41f5-b8b0-05bbb1f01aee |
| 文件系统 | ext4 |
| 挂载点 | /data/raid1 |
| 阵列状态 | 健康 [UU] |
| 可用空间 | ≈3.4 TB |

通过本指南,您已构建高可靠的磁盘镜像系统。下一步建议:配置监控告警(如
mdadm邮件通知)和定期数据备份。