RAID 10核心是先镜像再条带,需至少4块同规格硬盘组成两组RAID 1,再条带化为一个逻辑设备,兼顾高性能与单盘容错,适用于数据库等I/O密集场景。

Linux 中配置 RAID 10 的核心是先镜像、再条带,用至少 4 块硬盘组成两组 RAID 1(镜像对),再将这两组并行条带化为一个逻辑设备。它天然兼顾高读写性能和单盘容错能力,适合数据库、虚拟化宿主等 I/O 密集型场景。
硬件与准备要点
RAID 10 要求磁盘数量为偶数且 ≥4。推荐使用同型号、同容量、同固件版本的硬盘(如 4× 2TB SATA SSD),避免因性能差异或容量不一致导致阵列降级或空间浪费。若物理盘不足,可用同一块大硬盘划分多个等大小分区模拟(仅限测试环境)。务必确认磁盘未被挂载或用于 LVM/其他 RAID:
- 运行 lsblk 或 fdisk -l 查看可用磁盘(如 /dev/sdb /dev/sdc /dev/sdd /dev/sde)
- 用 mdadm --examine /dev/sd[b-e] 检查是否已有 RAID 元数据;若有,先清除:mdadm --zero-superblock /dev/sd[b-e]
- 建议为每块盘创建一个主分区,并设类型为 fd(Linux raid autodetect),例如用 fdisk 输入 t → fd → w
创建 RAID 10 阵列
使用 mdadm 创建时明确指定 level=10(不是 1+0 或 0+1),系统会自动按“镜像+条带”方式组织:
- 命令示例(4 块盘,分区形式):
sudo mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 - 创建后立即查看状态:cat /proc/mdstat —— 显示 "active raid10" 且所有设备为 "U" 表示正常
- 可选:添加元数据版本提升兼容性,如加参数 --metadata=1.2
- 注意:RAID 10 不支持像 RAID 5 那样动态扩容,扩展必须成对添加磁盘(如从 4 块扩到 6 块需加 2 块)
格式化、挂载与持久化
阵列同步完成(/proc/mdstat 显示 "clean")后即可使用:
- 格式化:mkfs.xfs /dev/md0(XFS 对大文件和并发 I/O 更友好)或 mkfs.ext4 /dev/md0
- 创建挂载点并挂载:mkdir /mnt/raid10 && mount /dev/md0 /mnt/raid10
- 写入配置文件确保重启后自动加载:
运行 sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf(Ubuntu/Debian)或 /etc/mdadm.conf(RHEL/CentOS)
再执行 update-initramfs -u(Debian系)或 dracut -f(RHEL系)
验证冗余与性能表现
RAID 10 允许每个镜像组中坏一块盘而不丢数据。可手动模拟故障验证:
- 标记某盘为故障:sudo mdadm /dev/md0 --fail /dev/sdb1
- 移除该盘:sudo mdadm /dev/md0 --remove /dev/sdb1
- 观察 cat /proc/mdstat 是否仍为 "clean" 且降级(degraded)但可读写
- 插入新盘并重新加入:sudo mdadm /dev/md0 --add /dev/sdb1,系统将自动重建
- 性能方面:4 块 7200rpm HDD 组 RAID 10,实测连续读写可达 400–500 MB/s;4 块 NVMe SSD 可突破 3 GB/s,且 4K 随机读写 IOPS 远高于 RAID 5



















