問題:
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