You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 24.04下mdadm RAID开机无法自动装配,启动后显示异常但手动装配可正常运行

Ubuntu 24.04下mdadm RAID开机无法自动装配,启动后显示异常但手动装配可正常运行

看起来你遇到的是Ubuntu 24.04里mdadm RAID开机自动装配失败,但手动触发就能正常拉起的典型流程冲突问题,结合你给出的日志和操作细节,咱们来梳理下问题根源和解决方向:

问题根源分析

从你提供的启动日志可以看到关键异常:

(udev-worker)[706]: md0: Process '/usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/md0' failed with exit code 1.

这是snap的自动导入进程在开机时抢在mdadm完成RAID装配前,尝试挂载/dev/md0设备,结果失败了——这个操作直接干扰了mdadm的正常自动装配流程,导致系统误以为RAID缺少一块磁盘,最终让RAID处于inactive状态。

而你手动执行mdadm -A /dev/md0时的日志也印证了这一点:

  • 内核提示md: array md0 already has disks!,说明其实RAID的所有磁盘信息已经被系统识别,只是没有被正确激活;
  • 后续日志显示5块磁盘都被正常识别为RAID成员,最终RAID 5成功激活,容量也恢复正常,这说明你的RAID硬件和数据本身完全没问题,只是启动时的流程顺序出了问题。

具体解决步骤

1. 优先保证mdadm的开机启动优先级

首先确保mdadm的配置正确,并且在开机时优先启动:

  • 编辑/etc/default/mdadm文件,确认以下配置项:
    AUTOSTART=true
    START_DAEMON=true
    
  • 执行命令更新initramfs,让配置生效:
    sudo update-initramfs -u
    

2. 阻止snap干扰md设备的自动处理

针对snap的自动导入冲突,我们可以通过udev规则阻止snap对md类设备的操作:

  • 创建udev规则文件:
    sudo nano /etc/udev/rules.d/99-disable-snap-md.rules
    
  • 在文件中写入以下内容:
    SUBSYSTEM=="block", KERNEL=="md*", ENV{UDISKS_IGNORE}="1"
    
  • 保存退出后,重启udev服务:
    sudo systemctl restart udev
    

3. 验证并更新RAID配置文件

确保/etc/mdadm/mdadm.conf里正确包含了md0的配置信息,避免mdadm开机时找不到RAID定义:

  • 执行命令扫描当前RAID信息并写入配置文件:
    sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf
    

做完以上操作后,重启系统测试,应该就能看到RAID正常自动装配了。

备注:内容来源于stack exchange,提问作者Vword

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 08:39:39