用 mdadm 创建和管理 linux 软 raid 的核心是“准备→创建→格式化→挂载→持久化”五步:先 wipefs 清元数据并按大小合理分区(≥2tb 须 gpt+raid 标记),再用 mdadm --create 指定级别、设备及 --metadata=1.0 等关键参数创建阵列,接着 mkfs 格式化、mount 挂载,最后必须执行 mdadm --detail --scan >> /etc/mdadm.conf 并重建 initramfs 实现重启后自动组装,日常需通过 /proc/mdstat 和 mdadm --detail 监控状态、处理故障与重构。

用 mdadm 创建和管理 Linux 软 RAID,核心是“准备→创建→格式化→挂载→持久化”五步,每步都有关键细节不能跳过。
磁盘准备:清空元数据 + 合理分区
所有参与 RAID 的磁盘必须干净,否则旧 RAID 元数据会干扰新阵列启动。
- 先用 wipefs -a -f /dev/sdX 彻底清除设备级元数据(包括 LVM、旧 RAID、文件系统签名)
- 区分磁盘大小:
- GPT 分区后务必执行 parted /dev/sdX set 1 raid on,标记为 RAID 类型,否则某些发行版无法识别
- 分区完成后,再对分区(如 /dev/sdX1)执行一次 wipefs -a -f,避免残留
创建阵列:指定级别、设备与元数据格式
命令结构固定,但参数选错会导致后续无法自动组装或兼容性问题。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 基础命令:mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
- 生产环境建议加 --metadata=1.0(元数据存设备末尾),方便单盘直接挂载恢复数据
- 多主机共享磁盘时加 --homehost=any,避免因主机名不匹配导致阵列无法自动组装
- 创建过程可后台查看:watch -n1 cat /proc/mdstat,直到显示 active 且无 checking 或 resync
启用持久化:保存配置并更新初始化镜像
不配置就重启,/dev/md0 很可能消失——这是最常被忽略的一步。
- 生成配置行:mdadm --detail --scan >> /etc/mdadm.conf(Debian/Ubuntu 用 /etc/mdadm/mdadm.conf)
- 确认配置已写入后,重建 initramfs:dracut -f(RHEL/CentOS/Fedora)或 update-initramfs -u(Debian/Ubuntu)
- 验证是否生效:重启前执行 mdadm --stop /dev/md0 && mdadm --assemble --scan,能成功加载即配置正确
日常管理:监控、故障替换与简单扩容
RAID 不是设完就不管,需定期看状态、及时响应降级。
- 查实时状态:cat /proc/mdstat(快速)、mdadm --detail /dev/md0(详细,含设备状态、UUID、重建进度)
- 模拟故障盘(测试用):mdadm /dev/md0 --fail /dev/sdb1;移除它:mdadm /dev/md0 --remove /dev/sdb1
- 换新盘后添加:mdadm /dev/md0 --add /dev/sdc1,系统自动开始重构,用 watch cat /proc/mdstat 观察
- RAID1/5/6 扩容需停机,RAID10 支持在线扩容,但操作复杂,非必要不建议现场执行










