raid10需至少4块同规格磁盘,先镜像再条带;用mdadm -cv /dev/md0 -l 10 -n 4 /dev/sd[b-e]创建,格式化、挂载并写入/etc/mdadm.conf和/etc/fstab实现持久化。

直接用 mdadm 在 Linux 上搭 RAID10,是兼顾读写速度和数据安全最实用的软件方案之一。它不是简单叠加 RAID1 和 RAID0,而是先做镜像、再做条带,四块盘起步,既防单盘故障,又支持并行读写。
RAID10 的硬性前提
必须满足几个基础条件,否则无法创建或失去设计优势:
- 最少需要 4 块大小相近的磁盘(例如 /dev/sdb /dev/sdc /dev/sdd /dev/sde),少于 4 块 mdadm 会拒绝创建
- 所有参与磁盘建议同型号、同容量,差异过大时,阵列总容量按最小盘计算
- 确保磁盘未被分区或挂载,可用 lsblk 和 sudo fdisk -l 确认裸设备状态
- 系统已安装 mdadm:sudo apt update && sudo apt install mdadm(Ubuntu/Debian)
创建 RAID10 阵列的核心命令
用一条命令完成初始化,关键参数不能错:
sudo mdadm -Cv /dev/md0 -l 10 -n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
- -Cv:创建并显示详细过程
- -l 10:明确指定 RAID 级别为 10(不是 1+0 或 0+1,mdadm 内部按 10 处理)
- -n 4:声明使用 4 块设备;若扩展到 6 或 8 盘,这里同步改数字
- 执行后会提示“Continue creating array?”,输入 y 确认
创建完成后立即检查:cat /proc/mdstat 应显示 md0 : active raid10 及同步进度;sudo mdadm -D /dev/md0 可查看成员盘、状态(U 表示正常)、Rebuild Status 等。
格式化、挂载与持久化
阵列创建完只是逻辑设备,还需文件系统和自动加载机制:
- 格式化为 ext4(通用稳定):sudo mkfs.ext4 /dev/md0;如需更高吞吐可选 xfs:sudo mkfs.xfs /dev/md0
- 新建挂载点并挂载:sudo mkdir /mnt/raid10 && sudo mount /dev/md0 /mnt/raid10
- 写入 fstab 实现重启自启:echo '/dev/md0 /mnt/raid10 ext4 defaults,nofail 0 2' | sudo tee -a /etc/fstab
- 保存阵列配置(重要!否则重启后 md0 可能不识别):sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf(Ubuntu 路径)或 /etc/mdadm.conf(CentOS)
日常维护与故障应对
RAID10 不是设好就不用管,定期检查和快速响应才能守住安全底线:
- 每月至少一次检查状态:sudo mdadm -Q /dev/md0(摘要)或 sudo mdadm -D /dev/md0(详情)
- 模拟故障测试恢复流程(仅限测试环境):sudo mdadm --manage /dev/md0 --fail /dev/sdb,再用 --remove 移除,--add 加新盘触发重建
- 发现某盘状态为 _(下划线)而非 U,说明已离线,应尽快替换并重建
- 重建期间避免大写入负载,可用 ionice -c3 降低优先级:sudo ionice -c3 mdadm --grow /dev/md0 --backup-file /tmp/raid10.bak(扩容时用)











