Linux中用mdadm配置RAID需四步:先安装并加载内核模块,再清理未挂载磁盘,接着创建RAID1/5/10阵列,最后保存配置、更新initramfs并挂载。

在Linux系统中,用mdadm配置RAID是实现数据冗余与读写加速最直接、可控的方式。核心不在于工具多复杂,而在于选对级别、清空磁盘、保存配置、挂载可靠——四步缺一不可。
确认环境并安装mdadm
多数新装系统未预装mdadm,先验证是否存在:
- 运行 mdadm --version,若报错则需安装
- Debian/Ubuntu:执行 sudo apt update && sudo apt install mdadm
- RHEL/CentOS/Rocky:执行 sudo dnf install mdadm 或 sudo yum install mdadm
- 安装后加载内核模块(按需):sudo modprobe raid1(RAID 1)、sudo modprobe raid5(RAID 5)或 sudo modprobe raid10(RAID 10)
识别并清理目标磁盘
务必使用无数据、未挂载的磁盘,操作前请备份重要信息:
- 用 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT 或 sudo fdisk -l | grep "Disk /dev/sd" 查看可用磁盘(如 /dev/sdb、/dev/sdc)
- 确认未挂载:mount | grep "/dev/sd",若有输出,先 sudo umount /dev/sdX
- 清除旧签名:sudo wipefs -a /dev/sdb、sudo wipefs -a /dev/sdc(逐个执行)
- 可选但推荐:统一初始化为GPT分区表:sudo parted /dev/sdb mklabel gpt
创建常用RAID阵列
根据需求选择级别,注意最小磁盘数和容错能力:
-
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 -
RAID 10(性能+冗余兼顾):至少4块盘,支持单盘(或跨镜像对)故障
sudo mdadm --create /dev/md2 --level=10 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
创建后用 watch -n 1 cat /proc/mdstat 观察同步进度,状态变为 active 且无 [U_] 或 recovery 字样即就绪。
持久化配置与自动挂载
重启后阵列不会自动激活,必须完成以下三步:
-
保存阵列信息:
Debian/Ubuntu:sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
RHEL/CentOS:sudo mdadm --detail --scan >> /etc/mdadm.conf -
更新启动镜像:
Debian系:sudo update-initramfs -u
RHEL系:sudo dracut -f -
格式化并挂载:
sudo mkfs.ext4 /dev/md0(或 xfs)
sudo mkdir /mnt/raid && sudo mount /dev/md0 /mnt/raid
写入fstab实现开机自动挂载:
echo '/dev/md0 /mnt/raid ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

















