web-dev-qa-db-ja.com

「失敗した」mdデバイスのマークを解除するにはどうすればよいですか?

Mdのソフトウェアバグをクリーンアップするために、RAIDの半分(RAID1の/ dev/sda1と/ dev/sdb1)に障害があるとマークしました:

mdadm /dev/md2 --fail /dev/sdb1
mdadm /dev/md2 --remove /dev/sdb1

しかし今では、代わりに「失敗した」半分を使用します。すなわち、/dev/sda1を使用する代わりに、/dev/sdb1を使用したいのですが、mdadmはそれをオンラインにすることを拒否します:

mdadm --stop /dev/md2
mdadm -A /dev/md2 /dev/sdb1 --run --force

/dev/sdb1は「スペア」であり、配列の実際のメンバーではないと見なされるため、これは失敗します。

4
Kees Cook

-Aである--assembleを使用していますが、-aである--addを使用する必要があります。

正しく思い出すと、既存のアレイに(再)追加されたデバイスは常にスペアとして追加され、その後すぐにカーネルはアレイが劣化してスペアがあることを認識し、再ミラーリングを開始します。これはwatch cat /proc/mdstatで確認できます。

2
poolie

実行する必要のあるコマンド全体は、アレイがアセンブルまたは実行されていないことを前提とする次のいずれかです(OPは実行中でないことを示します)。

アレイが実行されていない場合:

mdadm --assemble /dev/md2 /dev/sdb1

ただし、アレイが実行されている場合:

mdadm --manage /dev/md2 -a /dev/sdb1
1
Areeb Soo Yasir

パーティションのマークを解除する最も簡単な方法は、アレイに再度追加することだと思います。ところで、テストを行う必要がある場合は、アレイからドライブを削除しないでください。障害としてフラグを付け、再起動すると、他のパーティションにフォールバックします。

mdadm /dev/md2 --add /dev/sdb1
0