“mdadm:conf 文件中找到重复的 MD 设备名称。”

YIT*_*SGP 5 server boot mdadm initramfs 16.04

问题:

\n\n

当我启动我的 Ubuntu 16.04(服务器)盒子时。我陷入 Busybox V1.22.1 (initramfs) 提示符中,收到一条消息 \xe2\x80\x9cmdadm: 在conf 文件中找到重复的 MD 设备名称。\xe2\x80\x9d

\n\n

很高兴知道详细信息:

\n\n
    \n
  • 当我对我的 raid 阵列进行更改时,我将所有数据保存到另一台设备上,因此我不担心丢失数据。
  • \n
  • 当我进行raid更改时,出现了这个问题。我已经删除了位于 sdc、sdd 和 sde 上的主 md raid 5 阵列。
  • \n
  • 我的服务器启动到 md1,md0 是我的交换文件,这两个文件都是 sda 和 sdb 上的跨设备。
  • \n
  • 我试图从跨区驱动器移动我的 /home 目录。我的\n最终目标是将 /、/home 移动到 SDD 驱动器。
  • \n
  • 我尝试重新安装 Ubuntu,但遇到了麻烦(我认为这与 Gigabyte 970A-DS3P FX 主板有关,基本上我无法启动到 Ubuntu live USB)。
  • \n
  • 我的服务器没有 CD/DVD/蓝光驱动器(因此使用 USB\n驱动器)。
  • \n
\n\n

错误信息:

\n\n
...\nBegin:  Running /scripts/local-block ... mdadm:  Devices UUID-7c2dfe28-c4b7-8646-c114-3a6e9b415836 and UUID--7c2dfe28-c4b7-8646-c114-3a6e9b415836 have the same name: /dev/md/0\nmdadm:  Duplicate MD device names in conf file were found.\ndone.\ndone.\nGave up waiting for root device.  Common problems:\n - Boot args (cat /proc/cmdline)\n   -Check rootdelay= (did the system wait long enough?)\n   - Check root= (did the system wait for the right device?)\n - Missing modules (cat /proc/modules; ls /dev)\nALERT! UUID=b5705e19-a3a3-4c70-9a1b-a86221e389ba\n
Run Code Online (Sandbox Code Playgroud)\n\n

临时解决方案:

\n\n

我发现我的 mdadm.conf 文件有多余的行:

\n\n
# definitions of existing MD arrays\nARRAY /dev/md/0  metadata=1.2 UUID=7c2dfe28:c4b78646:c1143a6e:9b415836 name=bane:0\nARRAY /dev/md/1  metadata=1.2 UUID=5bb24cc9:32f1540c:91119814:4b2597de name=bane:1\nARRAY /dev/md/2  metadata=1.2 UUID=3f089bd1:89b220f0:44a12b9a:6aa183a5 name=bane:2\n\n# This file was auto-generated on Sun, 11 Feb 2018 23:08:06 -0500\n# by mkconf $Id$\nARRAY /dev/md/2 metadata=1.2 name=bane:2 UUID=3f089bd1:89b220f0:44a12b9a:6aa183a5\nARRAY /dev/md/0 metadata=1.2 name=bane:0 UUID=7c2dfe28:c4b78646:c1143a6e:9b415836\nARRAY /dev/md/1 metadata=1.2 name=bane:1 UUID=5bb24cc9:32f1540c:91119814:4b2597de\nARRAY /dev/md3 metadata=1.2 name=bane:3 UUID=b8b0bdd6:be5fa734:8bc27641:57722ae3\n
Run Code Online (Sandbox Code Playgroud)\n\n

我发现我可以通过发出以下命令来解决这个问题:

\n\n
head -23 mdadm.conf > c.c\nmv c.c mdadm.conf\nmdadm -q --assemble --scan --run\nexit\n
Run Code Online (Sandbox Code Playgroud)\n\n

系统就这样出现了。

\n\n

\xe2\x80\x99t 似乎不起作用的其他步骤:

\n\n
    \n
  • 我复制了 /etc/mdadm/mdadm.conf 文件并删除了额外的\n行,就像使用 BusyBox 时一样。
  • \n
  • 重新启动
  • \n
  • 服务器再次启动至 Busybox,并显示相同的消息。
  • \n
  • 当我按照上面详细说明实现临时解决方案并检查 mdadm.conf 时,有问题的重复行不存在。
  • \n
\n\n

我在这里缺少什么?Ubuntu 启动时是否从其他地方提取 mdadm.conf 信息?

\n\n

谢谢

\n

YIT*_*SGP 4

我找到了我一直在寻找的答案:

update-initramfs -u -v
Run Code Online (Sandbox Code Playgroud)

我重新启动,服务器恢复正常,没有掉到 Busybox/intramfs。


小智 0

我有类似的问题,mdadm.conf 上有重复的名称

我通过以下方式修复:重建文件: [initramfs]mdadm --examine --scan > /etc/mdadm/mdadm.conf 组装袭击: [initramfs]mdadm -q --assemble --scan --run

[initramfs]退出

自动重新机器人

首先从系统

修复下次重新启动:#update-initramfs -u