2010-03-09 09:55:18 +0000 2010-03-09 09:55:18 +0000
31
31

アクティブでないRAIDデバイスを再び動作させるには?

起動後、RAID1デバイス(/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 デバイスは、なぜか inactive になっているようです。

# 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.

問題は、(おそらく/dev/md0を使用して)デバイスを再びアクティブにする方法です。

(他の時は起動後は問題なく(アクティブ)で、手動でも問題なくマウントできました。しかし、/dev/md_d0 にしていても自動マウントしてくれません。

/dev/md_d0 /opt ext4 defaults 0 0

ボーナスの質問です。**RAIDデバイスをブート時にmdmadmで自動的にマウントするにはどうすればいいでしょうか?この質問にある私のRAIDセットアップの背景情報 ](https://superuser.com/questions/101630/creating-a-raid1-partition-with-mdadm-on-ubuntu).

編集 . 私の/etc/fstabはこのようになっています。このファイルは、少なくとも手で触ったことはありません。

# 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

/optでは、最後のエントリが/etc/mdadm/mdadm.confになっていますが、少なくとも今は、再起動後、たまたまデバイスがアクティブになった時には、/proc/partitionsになっています。(非アクティブ時も同じかどうかはわかりませんが)

解決策 : Jimmy Hedman さんが提案してくれた のように、md_d0 の出力を取ってみました。

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=de8fbd92[...]

の出力を mdadm --examine --scan に追加してみたところ、主な問題が解決したようです。/etc/mdadm/mdadm.confを再度(/etc/fstabではなく)/dev/md0を使うように変更したら、RAIDデバイスも自動的にマウントされるようになりました!

回答 (9)

25
25
25
2010-03-10 12:34:08 +0000

ボーナス問題のために

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
11
11
11
2011-08-01 02:41:23 +0000

Linuxが再起動時にマウントするためには、手動でアレイを/etc/mdadm/mdadm.confに追加しなければならないことがわかりました。そうしないと、md_d1-devices that is notactive など、あなたの言う通りの結果になってしまいます。

conf-file は以下のようになるはずです。私の場合、このファイルには新しい配列が含まれていませんでしたが、もしそれらがリストアップされているのであれば、おそらくこれでは問題は解決されないでしょう。

# 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はARRAYで取得します。

$ 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ファイルに配列を追加するとうまくいくようです。私は何年もの間、上記のレイド1とレイド5を何の問題もなく実行してきました。

7
7
7
2012-03-21 22:21:47 +0000

警告:最初に言っておきますが、以下のことは("–force “を使用しているため)私にはリスクが高いように思えます。しかし、これは私の場合はうまくいきました。

私も同じ問題を抱えていました。配列が非アクティブとして表示され、ここで他の人が提案してくれた "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

(上記は「状態」欄のメモリからのもので、私のスクロールバックバッファでは見つけられません)。

[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
[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

(上記は「State」欄のメモリ上のものですが、私のスクロールバックバッファには見つかりません。

mdadm --stop /dev/md2
mdadm -A --force /dev/md2 /dev/sd[acde]4

この時点でアレイは起動し、5つのデバイスのうち4つで動作していました。ファイルシステムにも問題なくアクセスできるようになりました。

5
5
5
2012-04-24 01:29:43 +0000

私はUbuntu 10.04でFStabのエラーでサーバーが起動できない問題を抱えていました。

mdadm --examine --scan >> /etc/mdadm/mdadm.conf

上記の解決策にあるように、このコマンドを実行してみました。

ARRAY /dev/md/0 metadata=1.2 UUID=2660925e:6d2c43a7:4b95519e:b6d110e7 name=localhost:0

これは “mdadm –examine -scan "の結果を”/etc/mdadm/mdadm.conf “に追加します

私の場合は次のようになりました:

/dev/md0 /home/shared/BigDrive ext3 defaults,nobootwait,nofail 0 0

これはfakeraid 0です。私の場合、/etc/fstabにある自動マウント用のコマンドは、

0x1&

ここで重要なのは、"nobootwait "と "nofail "を設定していることです。nobootwaitは起動を妨げているシステムメッセージをスキップしてくれます。私の場合、これはリモートサーバ上にあったので必須でした。

参考になれば幸いです。

2
2
2
2010-03-09 10:46:27 +0000
mdadm -A /dev/md_d0

でmdデバイスをアクティベートすることができますが、起動スクリプトの起動が早すぎて、RAIDメンバーの1つが発見される前に起動してしまったか、あるいは似たような問題が発生したのでしょう。手っ取り早くダーティーな回避策として、/etc/rc.local に以下の行を追加することができるはずです:

mdadm -A /dev/md_d0 && mount /dev/md_d0

編集 : どうやら /etc/mdadm/mdadm.conf には古い設定名がまだ含まれているようです。このファイルを編集して、md0の出現をmd_d0に置き換えてください。

2
2
2
2011-08-15 01:56:27 +0000

私も同じような問題を抱えていました…私のサーバーは、関連デバイスのパーティションを成長させた後、md2をマウントしようとしませんでした。このスレッドを読んで、md2 RAIDデバイスには新しいUUIDがあり、マシンは古いものを使おうとしていることがわかりました。

mdadm --examine --scan

/etc/mdadm/mdadm.confを編集して、古い UUIDの行を上のコマンドからの出力で置き換えたところ、問題が解決しました。

2
2
2
2010-03-10 13:14:14 +0000

md_d0 : inactive sda4[0](S) は RAID1 アレイでは間違っているように見えます。これは、アレイにアクティブデバイスがなく、スペアデバイスが1つあることを示唆しているように見えます((S)で示されている場合、故障したデバイスには(F)が表示され、OK/アクティブデバイスには何も表示されません)。もし私が /proc/mdstat の出力を正しく読んでいれば、現在の状態ではアレイをアクティブにすることはできません。

スピンアップに失敗した物理ドライブがマシン内にありますか?ls /dev/sd* は、通常そのマシンに表示されるであろうすべてのドライブとパーティションをリストアップしていますか?

2
2
2
2012-11-26 21:43:18 +0000

/dev/md[012346789}で何かをするふりをすると/dev/md{126,127...}./dev/md0でマウントし続けるか、/dev/md126でマウントしなければなりません。

umount /dev/md127 または umount /dev/md127

これは、システムを停止することなくコマンドやいくつかのアプリケーションを実行できるようにするための一時的なものです。

2
2
2
2017-02-14 23:24:17 +0000

ハードウェアに問題がなく、アレイを起動するのに十分なドライブやパーティションがあると仮定して、アレイを起動させる簡単な方法は以下の通りです。

md20 : inactive sdf1[2](S)
      732442488 blocks super 1.2

 sudo mdadm --manage /dev/md20 --run

0x1& 0x1&

何らかの理由でアレイが正常に動作しているにもかかわらず、何かが原因で起動や構築ができないということがあります。私の場合は、mdadmが元のアレイ名がmd127であることを知らず、そのアレイ用にすべてのドライブが接続されていなかったことが原因でした。再接続する際には、手動でアセンブルしなければなりませんでした (おそらく、オフラインの古いアレイ名のために、mdadmがアレイがすでにアクティブになっていると考えたバグでしょう)。

関連する質問

6
10
5
37
10