「mdadm: conf ファイル内に重複した MD デバイス名が見つかりました。」

「mdadm: conf ファイル内に重複した MD デバイス名が見つかりました。」

問題:

Ubuntu 16.04 (Server) ボックスを起動すると、Busybox V1.22.1 (initramfs) プロンプトが表示され、「mdadm: conf ファイル内に重複した MD デバイス名が見つかりました。」というメッセージが表示されます。

知っておくと便利な詳細:

  • RAID アレイに変更を加えているときにすべてのデータを別のデバイスに保存したので、データが失われる心配はありません。
  • この問題は、RAID の変更を行っているときに発生しました。SDC、SDD、および SDE にあったメインの MD RAID 5 アレイを削除しました。
  • 私のサーバーは md1 で起動し、md0 はスワップ ファイルです。どちらも sda と sdb 上のスパン デバイスです。
  • /home ディレクトリをスパン ドライブから移動しようとしていました。ここでの最終的な目標は、/、/home、および swap を sdd ドライブに移動することです。
  • Ubuntu を再インストールしようとしましたが、行き詰まってしまいました (Gigabyte 970A-DS3P FX マザーボードに関係していると思います。基本的に、Ubuntu ライブ USB を起動できません)。
  • 私のサーバーには CD/DVD/Blue-Ray ドライブがありません (そのため USB ドライブを使用しています)。

エラーメッセージ:

...
Begin:  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
mdadm:  Duplicate MD device names in conf file were found.
done.
done.
Gave up waiting for root device.  Common problems:
 - Boot args (cat /proc/cmdline)
   -Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=b5705e19-a3a3-4c70-9a1b-a86221e389ba

一時的な解決策:

mdadm.conf ファイルに余分な行があることに気付きました:

# definitions of existing MD arrays
ARRAY /dev/md/0  metadata=1.2 UUID=7c2dfe28:c4b78646:c1143a6e:9b415836 name=bane:0
ARRAY /dev/md/1  metadata=1.2 UUID=5bb24cc9:32f1540c:91119814:4b2597de name=bane:1
ARRAY /dev/md/2  metadata=1.2 UUID=3f089bd1:89b220f0:44a12b9a:6aa183a5 name=bane:2

# This file was auto-generated on Sun, 11 Feb 2018 23:08:06 -0500
# by mkconf $Id$
ARRAY /dev/md/2 metadata=1.2 name=bane:2 UUID=3f089bd1:89b220f0:44a12b9a:6aa183a5
ARRAY /dev/md/0 metadata=1.2 name=bane:0 UUID=7c2dfe28:c4b78646:c1143a6e:9b415836
ARRAY /dev/md/1 metadata=1.2 name=bane:1 UUID=5bb24cc9:32f1540c:91119814:4b2597de
ARRAY /dev/md3 metadata=1.2 name=bane:3 UUID=b8b0bdd6:be5fa734:8bc27641:57722ae3

次のコマンドを発行することで、この問題を解決できることがわかりました。

head -23 mdadm.conf > c.c
mv c.c mdadm.conf
mdadm -q --assemble --scan --run
exit

これが起こるシステム。

機能しなかったと思われる追加の手順:

  • BusyBox を使用したときと同じように、/etc/mdadm/mdadm.conf ファイルをコピーし、余分な行を削除しました。
  • 再起動
  • サーバーは同じメッセージとともに Busybox で再度起動します。
  • 上記のように一時的な解決策を実装し、mdadm.conf を確認すると、問題のある重複行は存在しません。

ここで何が欠けているのでしょうか? Ubuntu は起動時にどこか別の場所から mdadm.conf 情報を取得しますか?

ありがとう

答え1

私が探していた答えはこれを見つけました:

update-initramfs -u -v

再起動すると、Busybox/intramfs に落ちることなくサーバーが復旧しました。

答え2

私も同様の問題を抱えています。mdadm.confに重複した名前があります。

私は次の方法で修正しました: ファイルを再構築します: [initramfs]mdadm --examine --scan > /etc/mdadm/mdadm.conf RAID をアセンブルします: [initramfs]mdadm -q --assemble --scan --run

[initramfs]終了

自動的に再起動する

システムから最初に

次回の再起動のための修正: #update-initramfs -u

関連情報