web-dev-qa-db-ja.com

Ubuntu mdadm RAIDからディスクを削除すると、アレイが劣化ではなく非アクティブとしてマークされます

私はVirtualBoxの下のUbuntu14.10でmdadmraid1アレイをセットアップしています。すべて正常に動作します:

The raid 1 is set up with /dev/sdc1 and /dev/sdd1:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdd1[2] sdc1[0]
      1045952 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ただし、ディスクの1つ(たとえば/ dev/sdb)を抜くと、次のようになります。

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sdc1[2](S)
      1046016 blocks super 1.2

unused devices: <none>

これは私が期待したものではありません...私は、非アクティブなアレイではなく、劣化したRAID1アレイを期待していました。私は何が間違っているのですか?

私のmdadm.confは、配列を次のようにリストしています。

# definitions of existing MD arrays
ARRAY /dev/md/0  level=raid1 num-devices=2 devices=/dev/sdc1,/dev/sdd1 metadata=1.2 UUID=ffa72d1e:a18e2f76:2d336ad8:5f01069b name=ubuntu:0
2
reljam

まず、私を正しい軌道に乗せてくれた大司教に感謝します。秘訣は、配列を停止することです(すでに非アクティブになっている場合でも)。これにより、アセンブル/実行を完了できます。

Sudo mdadm --stop /dev/md0
Sudo mdadm --assemble /dev/md0 --run

そして、明らかなことを強調するために、最後のステップはアレイを再マウントすることです。

Sudo mount -a
3
reljam

mdadm(8)によると:

Mdadmが配列のすべてのコンポーネントを見つけることができない場合、配列をアセンブルしますが、-runまたは--scanが指定されていない限りアクティブにしません。 --scanを使用してもこの動作を維持するには、-no-degradedを追加します。 「すべてのコンポーネント」とは、スーパーブロックに記録されているように、アレイが最後に実行されたときに存在した数を意味することに注意してください。アレイがすでに劣化していて、不足しているデバイスが新しい問題ではない場合でも、アセンブルされます。アレイが起動しない原因となるのは、新しく欠落しているデバイスだけです。

ミラーを実行したいだけの場合は、

mdadm --assemble /dev/md0 --run

これにより、劣化モードで起動するはずです。

1
archbishop