ubuntu – どのようにmdadmが起動するたびにRAIDを自動アセンブルさせることができますか?

home-server kubuntu mdadm raid ubuntu

mdadmを活用してRAID(ミラーリング)を作成することに成功しました。しかし、毎回起動後に以下のコマンドを実行しなければなりません

mdadm --stop --scan // to stop /dev/md127 - I don't know where the number 127 even comes from
mdadm --assemble --scan // to start /dev/md0

何が間違っているのでしょうか?再起動のたびに RAID を自動起動する正しい方法は?

  47  BreakPhreak  2011-05-23


ベストアンサー

注意: これらの作業を行うには、root でログインするか、sudo を使用する必要があります

  • お気に入りのエディタを使って、以下のように/etc/mdadm/mdadm.confファイルを作成または編集します

ファイルが存在しない場合は、以下の内容を新しい空のファイルに貼り付けてください

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
  • ファイルを保存する

  • 次のコマンドを実行して、ファイルの最後に配列設定への参照を追加します

    mdadm –detail -scan >> /etc/mdadm/mdadm.conf

これにより、mdadm.confの最後に以下のような行が追加されます

ARRAY /dev/md0 level=raid5 num-devices=3 metadata=00.90 UUID=a44a52e4:0211e47f:f15bce44:817d167c

mdadm コマンドが ARRAY 行の上に他のものを追加している場合は、それを削除してください。例えば、私のマシンでは、コマンドは ARRAY 行の前に ‘mdadm: metadata format 00.90 unknown, ignored.’ を返します

これで、起動時にアレイが自動構築されるはずなので、/etc/fstab にエントリを追加してマウントすることができます (まだマウントされていない場合)

39  Linker3000  2011-05-23


古い質問だとは思いますが、32bit版のUbuntu Server 12.04ではこれでイライラしたことがありました

mdadm --detail --scan >> /etc/mdadm/mdadm.confを実行すると行が追加されました

ARRAY /dev/md0 メタデータ=1.2 name=ubuntu:0 UUID=a8a570c6:96f61865:05abe131:5c2e2f7e

再起動後、私は /dev/md0 を見ることができませんでした。もう一度 mdadm --detail --scan を実行すると (結果をファイルに入れずに) 表示されます

ARRAY /dev/md/ubuntu:0 metadata=1.2 name=ubuntu:0 UUID=a8a570c6:96f61865:05abe131:5c2e2f7e

で、手動で/dev/md/ubuntu:0をマウントするとうまくいくようになりました。結局、私もfstabファイルに入れたのはこれでした

私は、これがUbuntu 12.04で動作する方法であるかどうか、またはこれが悪い習慣であるかどうか、私が何を間違っていたのかはわかりません。ちょうど私のために働いたものを共有したいと思った

7  Deplicator  2013-04-11


Raspbian GNU/Linux 8 (jessie) を実行している Raspberry Pi 2 でこの問題が発生しました。私は /dev/sda1/dev/sdb1 に RAID アレイを持っていましたが、起動時にアセンブルに失敗しました。/etc/mdadm/mdadm.conf ファイルにエントリがありました

ARRAY /dev/md/0  metadata=1.2 UUID=53454954:4044eb66:9169d1ed:40905643 name=raspberrypi:0

(あなたの数字は異なります。これを取得する方法については、他の回答を参照してください)

私の/etc/fstabファイルにエントリがありました

/dev/md0        /data           ext4    defaults          0       0

(もちろん/dataは確かに存在していた)

OPのように、ブート後に手でRAIDアレイをアセンブルしてマウントすることができましたが、明らかに正しく設定しているにもかかわらず、ブート中に自動的にマウントすることができませんでした

以下のように解決することができました。/etc/init.d/mdadm-raidでスクリプトを調べて、デバッグコードを1行挿入してみました

ls /dev > /home/pi/devices.txt

再起動してこのファイルを確認すると、/dev/sda/dev/sdbmdadm-raidの初期化時には存在していたが、/dev/sda1/dev/sdb1のパーティションが欠けていたことがわかった。/etc/init.d/mdadm-raid ファイルを編集して、次の行を挿入しました

partprobe

をヘッダの後に追加しました (つまり、### END INIT INFOの後ではなく、スクリプトが始まる前)。これによりパーティションが検出され、mdadm-raidスクリプトはRAIDアレイをアセンブルして問題を解決することができました。誰かのお役に立てれば幸いです

5  Shaun Harker  2016-05-28


Debian wheezy では、もう一つのステップが必要です: /etc/default/mdadm で autostart を false から true に設定してください

#AUTOSTART:
#   should mdadm start arrays listed in /etc/mdadm/mdadm.conf automatically
#   during boot?
AUTOSTART=true

また、--scanオプションの代わりにmdadm -Es >>/etc/mdadm/mdadm.confを使用しなければなりませんでした

3  Bogdan Hlevca  2013-01-05


sudo mdadm -Es >> /etc/mdadm/mdadm.conf

今度は/etc/mdadm/mdadm.confに追加された行を以下のように編集します。基本的な部分以外は全て削除します。以下のようになっているはずです

ARRAY /dev/md5 UUID=031cea92:50a7a28c:6b077fe7:8817092a
ARRAY /dev/md6 UUID=53454954:4044eb66:9169d1ed:40905643

注:mdXでは都合に合わせてXを選択することができます

Now reboot

sudo update-initramfs -u
sudo reboot

EDIT: コマンドを修正しました

3  gorn  2015-05-04


Raspbian 上で、Raspberry Pi 上のいくつかの外付け USB HDD を使って、この問題と戦ってきました。USB ドライブが udev によって認識された後、checkfs.sh (起動時にファイルシステムをチェックする) の前に mdadm-raid が起動するように、サービスの起動順序を変更しました。mdadadm-raid の開始が早すぎると、ドライブが利用できず、アレイが組み立てられませんでした。これは、fsck がその後失敗して、ブートプロセスがメンテナンスプロンプトに落ちてしまうことを意味します (RAID アレイが他のサービスに必要なため)

ブート依存関係を修正して、checkroot.sh の後で checkfs.sh の前に mdadm-raid を起動し、update-rc.d mdadm-raid defaults の後に update-initramfs -uv -k `uname -r` (uname の周りのバックロックに注意) を実行するようにしたところ、(最終的に)修正されました。私にとっては、とにかく、YMMV です

0  Rodney  2015-05-26


で試してみました

mdadm --create /dev/md/abcdef ...

再起動時にソフトリンク/dev/md/abcdefが持続しているのを見て、必要であればソフトリンクからデバイスにアクセスします

それは許容できる解決策なのでしょうか?

0  gudge  2016-03-15


Raspberry Pi 3を持っていて、rootdelay=5/boot/cmdline.txtに追加すると、この問題が解決しました

クレジットはこちらになります

0  Petr Újezdský  2017-10-02


タイトルとURLをコピーしました