用mdadm配置raid实现数据冗余的核心步骤是:选对raid级别(如raid1/5)、清空目标磁盘、创建阵列、保存配置至/etc/mdadm/mdadm.conf、更新initramfs、格式化并挂载,最后写入fstab实现开机自动激活与使用。

用 mdadm 配置 RAID 实现数据冗余,核心是选对级别、清空磁盘、创建阵列、保存配置、挂载使用。整个过程不依赖硬件卡,全靠系统内核和工具链支持,适合大多数服务器和 NAS 场景。
确认工具与磁盘状态
先确保 mdadm 已安装并识别目标磁盘:
- 运行 mdadm --version 检查是否就绪;若未安装,Ubuntu/Debian 执行 sudo apt install mdadm,CentOS/RHEL 用 sudo dnf install mdadm
- 用 lsblk 或 sudo fdisk -l 列出设备,挑出未挂载、无分区的空闲盘(如 /dev/sdb、/dev/sdc)
- 执行 sudo wipefs -a /dev/sdX 彻底清除旧文件系统签名,避免组装失败
按需创建冗余阵列
RAID 1 和 RAID 5 是最常用的数据保护方案,操作差异主要在设备数和命令参数:
-
RAID 1(镜像):至少 2 块盘,任一损坏不影响读写。命令示例:
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc -
RAID 5(奇偶校验):至少 3 块盘,允许单盘故障。命令示例:
sudo mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd - 创建后立即用 cat /proc/mdstat 查看同步进度,状态从 resyncing 变为 active 才算就绪
让 RAID 开机自动激活
默认重启后阵列不会自动组装,必须固化配置:
- 生成当前阵列信息并写入配置文件:
Ubuntu/Debian:sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
CentOS/RHEL:sudo mdadm --detail --scan >> /etc/mdadm.conf - 更新 initramfs,把 RAID 支持注入启动镜像:
Debian 系:执行 sudo update-initramfs -u
RHEL 系:执行 sudo dracut -f - 测试加载效果:重启前运行 sudo mdadm -As,再查 /proc/mdstat 是否显示 active
格式化、挂载并设为开机自启
阵列就绪后,才能当普通块设备使用:
- 格式化:sudo mkfs.ext4 /dev/md0(推荐 ext4,兼顾稳定与兼容)
- 建挂载点并挂载:sudo mkdir /mnt/raid && sudo mount /dev/md0 /mnt/raid
- 写入 fstab 实现开机自动挂载:
先获取 UUID:sudo blkid /dev/md0
再追加行到 /etc/fstab:
# RAID array
UUID=xxx /mnt/raid ext4 defaults,nofail 0 2











