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/sdb
はmdadm-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