linux中用mdadm管理软件raid的核心是“创建—使用—监控—故障处理”主线,依赖内核md子系统与用户态工具协同,适用于测试、学习及中小规模生产环境;需先安装mdadm、确认设备名、合理分区,再按级别创建阵列(如raid 1用mdadm -cv /dev/md0 -l 1 -n 2 /dev/sdb1 /dev/sdc1),同步完成后格式化(mkfs.xfs)、挂载、写入fstab和mdadm.conf实现持久化,日常通过/proc/mdstat与mdadm -d监控,支持故障模拟、移除与热备自动重建。

Linux 中用 mdadm 管理软件 RAID,核心是围绕“创建—使用—监控—故障处理”这条主线展开。它不依赖硬件控制器,所有逻辑由内核 MD 子系统和用户态工具协同完成,适合测试、学习和中小规模生产环境。
准备与基础检查
确保系统已安装 mdadm 工具:
apt install mdadm(Debian/Ubuntu)或
yum install mdadm(RHEL/CentOS)。
添加硬盘后,先用 lsblk 或 fdisk -l 确认设备名(如 /dev/sdb、/dev/sdc),避免误操作。
若需分区,建议用 fdisk 或 parted 创建 Linux 类型分区(类型 83),再执行 partprobe 刷新分区表。
创建常见 RAID 阵列
创建前明确级别目标:RAID 0(提速无容错)、RAID 1(镜像保安全)、RAID 5(平衡容量与单盘容错)最常用。
示例:创建 RAID 1 阵列(两块盘互为镜像):
mdadm -Cv /dev/md0 -l 1 -n 2 /dev/sdb1 /dev/sdc1
关键参数说明:
• -Cv:创建并显示详细过程
• -l 1:指定 RAID 级别为 1
• -n 2:使用 2 块成员设备
• 可加 -x 1 /dev/sdd1 指定一块热备盘
• 推荐加 --metadata=1.0,把元数据写在设备末尾,便于灾难时直接挂载底层分区
格式化、挂载与持久化
阵列创建后处于同步状态(可通过 cat /proc/mdstat 实时查看),等同步完成再操作:
• 格式化:mkfs.xfs /dev/md0(推荐 XFS,支持在线扩容;EXT4 也可用)
• 创建挂载点并挂载:mkdir /mnt/raid && mount /dev/md0 /mnt/raid
• 写入自动挂载配置:
– 获取 UUID:blkid /dev/md0
– 编辑 /etc/fstab,添加一行:
UUID=xxx /mnt/raid xfs defaults 0 0
• 保存阵列配置到系统:mdadm --detail --scan >> /etc/mdadm.conf(部分发行版用 /etc/mdadm/mdadm.conf)
日常监控与故障模拟
运行中持续关注阵列健康:
• 查看状态:cat /proc/mdstat(简洁)或 mdadm -D /dev/md0(详细,含重建进度、设备状态)
• 模拟磁盘故障(仅实验环境):
mdadm /dev/md0 --fail /dev/sdb1
此时状态变为 degraded,但服务仍可用
• 移除故障盘:mdadm /dev/md0 --remove /dev/sdb1
• 添加新盘恢复:mdadm /dev/md0 --add /dev/sdb1(自动触发重建)
• 若有热备盘,故障后会自动顶替并开始重建,无需人工干预











