mdadm 启动错误,增量启动 RAID 阵列 Ubuntu 服务器 14.04

use*_*118 5 raid mdadm boot

我用 Ubuntu 14.04 为 Samba 构建了一个小型服务器,我有一个 SSD 驱动器(安装了 ubuntu)和 2 个 3TB SATA 磁盘,sata 磁盘与 mdadm 组合成 Raid 1。

现在有时(不是每次都这样,我认为这可能与脏关机有关)系统在启动过程中挂起:

incrementally starting raid arrays
mdadm: Create user root not found 
mdadm: create group disk not found 
incrementally started raid arrays
Run Code Online (Sandbox Code Playgroud)

这 4 行不断重复。这真的很奇怪,因为启动卷(ssd)没有配置为raid,这不应该影响它吗?

重要编辑:如果我按 ctrl + alt + del ,服务器会重新启动并正常启动,如果我在mdadm --detail /dev/md0 启动后查看 raid dev ,一切看起来都不错。

我不是 linux 专业人士,也没有在互联网上找到与这些错误相关的任何内容,所以现在我有点卡住了,也许有人知道问题可能是什么或一些高级故障排除建议(日志文件等) ?

感谢阅读 Stefan

use*_*118 2

终于“修正”了这个错误。简短版本:Transcend SSD (TS128GSSD25S-M) 与华擎 B85M Pro4 主板组合导致该错误。使用 clonezilla 将系统克隆到三星 840 Evo 后,我现在启动了 30 次,没有出现任何问题。

深度问题报告:但是为什么 mdadm 会出现完全不相关的 raid 阵列问题?:嗯,在创建 Raid 阵列时(或者默认情况下?我不太清楚),mdadm 将 raid 初始化脚本放入 initramfs 中。该脚本检查 rootfs 是否已安装,如果 rootfs(在我的 SSD 上)未安装,则会跳转到函数 mountroot_fail

message "Incrementally starting RAID arrays..."
if mdadm --incremental --run --scan; then
message "Incrementally started RAID arrays."
return 0
Run Code Online (Sandbox Code Playgroud)

这导致了令人困惑的输出。从 initramfs 中删除这些脚本后,我遇到了真正的问题:

放弃了 root 设备。常见问题:

  • 启动参数 (cat /proc/cmdline)
    • check rootdelay=(系统等待的时间是否足够长?)
    • check root=(系统是否等待正确的设备?)
  • 缺少模块(cat /proc/modules;ls /dev)

    ALERT! /dev/disk/by-uuid/01234567-89ab-cdef-0123-456789abcdef does not exist. Dropping to a shell!
    BusyBox v1.13.3 (Ubuntu 1:1.13.3-1ubuntu11) built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    (initramfs) 
    
    Run Code Online (Sandbox Code Playgroud)

由于错误不是持续存在的,我想尝试一下不同的 SSD,并且 BAM 工作正常。