起動後、RAID1デバイス(/dev/md_d0
*)が変な状態になってマウントできなくなることがあります
* 元々は/dev/md0
を作っていたのですが、いつの間にか/dev/md_d0
に変わってしまいました
# mount /opt
mount: wrong fs type, bad option, bad superblock on /dev/md_d0,
missing codepage or helper program, or other error
(could this be the IDE device where you in fact use
ide-scsi so that sr0 or sda or so is needed?)
In some cases useful info is found in syslog - try
dmesg | tail or so
RAID デバイスが何かの拍子にアクティブでないように見える
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5]
[raid4] [raid10]
md_d0 : inactive sda4[0](S)
241095104 blocks
# mdadm --detail /dev/md_d0
mdadm: md device /dev/md_d0 does not appear to be active.
質問なのですが、どのようにしてデバイスを再びアクティブにするのでしょうか(mdmadm
を使用して、私は推測しています)?
(それ以外の時は起動後は問題なく(アクティブになって)手動でマウントできています。しかし、/etc/fstab
に入れていても自動でマウントされません
/dev/md_d0 /opt ext4 defaults 0 0
そこでボーナスの質問ですが、起動時に/opt
でRAIDデバイスを自動的にマウントするにはどうすればいいのでしょうか?)
Ubuntu 9.10のワークステーションです。この質問の私のRAIDセットアップの背景情報
編集:私の/etc/mdadm/mdadm.conf
はこんな感じです。このファイル、少なくとも手で触ったことはありません
# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
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 <my mail address>
# definitions of existing MD arrays
# This file was auto-generated on Wed, 27 Jan 2010 17:14:36 +0200
/proc/partitions
では、最後のエントリはmd_d0
で、少なくとも今は、再起動後、たまたまデバイスが再びアクティブになったときに、md_d0
になります。(非アクティブの時も同じようになるかどうかはわかりませんが)
解決方法:Jimmy Hedmanが提案したように、mdadm --examine --scan
の出力を取りました
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=de8fbd92[...]
を使って、/etc/mdadm/mdadm.conf
で追加したところ、主な問題が解決したようです。/etc/fstab
を変更して/dev/md0
を再び使用するようにしたら(/dev/md_d0
の代わりに)、RAIDデバイスも自動的にマウントされるようになりました!
31 Jonik 2010-03-09
ボーナスの質問に
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
25 Jimmy Hedman 2010-03-10
Linux が再起動時にマウントするためには、手動で /etc/mdadm/mdadm.conf
に配列を追加する必要があることがわかりました。それ以外の場合は、md_d1
非アクティブなデバイスなど、あなたが持っているものと同じものが得られます
conf-file は以下のようになっているはずです – つまり、各 md-device に対して ARRAY
行のファイルです。私の場合、このファイルには新しい配列がありませんでしたが、もしそれらがリストアップされているのであれば、おそらくこれは問題を解決するものではないでしょう
# definitions of existing MD arrays
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=f10f5f96:106599e0:a2f56e56:f5d3ad6d
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=aa591bbe:bbbec94d:a2f56e56:f5d3ad6d
md-deviceごとに1つの配列を追加し、上記のコメントの後、またはコメントがない場合はファイルの最後に追加します。UUID は sudo mdadm -E --scan
で取得します
$ sudo mdadm -E --scan
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=f10f5f96:106599e0:a2f56e56:f5d3ad6d
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=aa591bbe:bbbec94d:a2f56e56:f5d3ad6d
ご覧のように、スキャン結果からの出力をファイルにコピーすることができます
私はubuntuのデスクトップ10.04 LTSを実行し、私が覚えている限り、この動作はUbuntuのサーバーバージョンとは異なりますが、それは私が間違っている可能性がありますサーバー上で私のmd-devicesを作成したような長い時間前だった。また、私はちょうどいくつかのオプションを逃したことかもしれません
とにかく、conf-fileに配列を追加すると、トリックを行うようです。私は上記のレイド1とレイド5を何年も何の問題もなく実行してきました
11 Erik 2011-08-01
警告。もしあなたが復元不可能なデータを持っているのであれば、以下のいずれかを試す前に、関係するパーティションのコピーを作成することをお勧めします。しかし、これは私の場合はうまくいきました
私も同じ問題を抱えていました。配列が非アクティブな状態で表示され、ここで他の人が提案してくれた “mdadm –examine -scan >/etc/mdadm.conf “を含め、何もしていませんでした
私の場合、ドライブ交換後にRAID-5アレイを起動しようとすると、ダーティ(dmesg
経由)と言っていました
md/raid:md2: not clean -- starting background reconstruction
md/raid:md2: device sda4 operational as raid disk 0
md/raid:md2: device sdd4 operational as raid disk 3
md/raid:md2: device sdc4 operational as raid disk 2
md/raid:md2: device sde4 operational as raid disk 4
md/raid:md2: allocated 5334kB
md/raid:md2: cannot start dirty degraded array.
/proc/mdstat
で非アクティブと表示されるようになりました
md2 : inactive sda4[0] sdd4[3] sdc4[2] sde4[5]
3888504544 blocks super 1.2
確かに、交換したドライブ(/dev/sdb4
)を除いて、すべてのデバイスで同じイベントが発生していました
[root@nfs1 sr]# mdadm -E /dev/sd*4 | grep Event
mdadm: No md superblock detected on /dev/sdb4.
Events : 8448
Events : 8448
Events : 8448
Events : 8448
しかし、アレイの詳細を見ると、5つのデバイスのうち4つのデバイスが利用可能であることがわかりました
[root@nfs1 sr]# mdadm --detail /dev/md2
/dev/md2:
[...]
Raid Devices : 5
Total Devices : 4
[...]
Active Devices : 4
Working Devices : 4
[...]
Number Major Minor RaidDevice State
0 8 4 0 inactive dirty /dev/sda4
2 8 36 2 inactive dirty /dev/sdc4
3 8 52 3 inactive dirty /dev/sdd4
5 8 68 4 inactive dirty /dev/sde4
(上記は「状態」欄の記憶からのもので、スクロールバックバッファには見当たらない)
配列を止めて、再度組み立てることで解決できました
mdadm --stop /dev/md2
mdadm -A --force /dev/md2 /dev/sd[acde]4
その時点でアレイは立ち上がっていて、5つのデバイスのうち4つで動作していましたが、交換用のデバイスを追加することができ、再構築中です。ファイルシステムには問題なくアクセスできました
7 Sean Reifschneider 2012-03-21
私はUbuntu 10.04でFStabのエラーでサーバーが起動しないという問題を抱えていました
上記の解決策にあるように、このコマンドを実行してみました
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
これにより、”mdadm –examine -scan “の結果が”/etc/mdadm/mdadm.conf “に追加されます
私の場合は、これでした
ARRAY /dev/md/0 metadata=1.2 UUID=2660925e:6d2c43a7:4b95519e:b6d110e7 name=localhost:0
これはfakeraid 0です。 /etc/fstabで自動マウントするための私のコマンドは以下の通りです
/dev/md0 /home/shared/BigDrive ext3 defaults,nobootwait,nofail 0 0
ここで重要なのは、「nobootwait」と「nofail」があることです。nobootwaitは起動を妨げているシステムメッセージをスキップしてくれます。私の場合、これはリモートサーバ上にあったので必須でした
これが何人かの人の助けになることを願っています
5 Nick Woodhams 2012-04-24
でmdデバイスをアクティベートすることができます
mdadm -A /dev/md_d0
私は、RAIDメンバーの1つが発見される前に、いくつかのスタートアップスクリプトが早すぎて起動してしまったか、または似たような問題があったのだと思います。手っ取り早い回避策として、/etc/rc.local に以下の行を追加することができるはずです
mdadm -A /dev/md_d0 && mount /dev/md_d0
編集 : /etc/mdadm/mdadm.confには古い設定名が残っているようです。このファイルを編集して、md0をmd_d0に置き換えてください
2 wazoox 2010-03-09
md_d0 : inactive sda4[0](S)
は、RAID1 アレイとしては間違っているように見えます。これは、アレイにはアクティブなデバイスがなく、予備のデバイスが 1 つあることを示唆しているようです ((S)で示されるように、故障したデバイスには(F)が表示され、OK/アクティブなデバイスには何も表示されません) – デグレードされていない RAID1 アレイには、少なくとも 2 つの OK/アクティブなデバイスがあるはずです (そして、デグレードされたアレイには)。少なくとも 1 台の OK/アクティブなデバイス)そして、故障していないスペア デバイスがない RAID1 アレイをアクティブにすることはできません (別のドライブが故障したときにアクティブになるまで、スペアにはデータのコピーが含まれていないからです)。/proc/mdstat
の出力を正しく読めば、現在の状態ではアレイをアクティブにすることはできません
マシンにスピンアップに失敗した物理ドライブがありますか?ls /dev/sd*
は、そのマシンに通常表示されると思われるすべてのドライブとパーティションをリストアップしていますか?
2 David Spillett 2010-03-10
私も同じような問題を抱えていました…私のサーバは、関連デバイスのパーティションを増やした後、md2をマウントしませんでした。このスレッドを読んで、md2のRAIDデバイスには新しいUUIDがあり、マシンは古いものを使おうとしていることがわかりました
提案されたように… ‘md2’ の出力を使って
mdadm --examine --scan
/etc/mdadm/mdadm.conf
を編集して、古いUUIDの行を上記のコマンドから出力されたものに置き換えたところ、問題は解決しました
2 Peter Errity 2011-08-15
/dev/md[012346789}
で何かをするふりをすると/dev/md{126,127...}
に行く。/dev/md0
は/dev/md126
か/dev/md127
でマウントされ続ける
umount /dev/md127
または umount /dev/md126
これは一時的なもので、システムを停止することなくコマンドや一部のアプリケーションを実行できるようにするためのものです
2 Vanderj68 2012-11-26
ハードウェアに問題がなく、アレイを起動するのに十分なドライブやパーティションがあると仮定して、アレイを起動させる簡単な方法は以下の通りです
md20 : inactive sdf1[2](S)
732442488 blocks super 1.2
sudo mdadm --manage /dev/md20 --run
何らかの理由でアレイは正常に動作しているのですが、何かの原因で起動や構築ができなくなっている可能性があります。私の場合は、mdadmが元のアレイ名がmd127であることを知らず、そのアレイ用にすべてのドライブが接続されていなかったことが原因でした。再接続する際には、手動でアセンブルしなければなりませんでした (おそらく、オフラインの古いアレイ名のために、mdadmがアレイがすでにアクティブになっていると考えたバグでしょう)
2 Areeb Soo Yasir 2017-02-14