web-dev-qa-db-ja.com

LVMRaid-5アレイの回復

RAID-5アレイに障害が発生しましたが、回復できないようです。基本的に、このデータはRAID 5にあり、RAIDが組み込まれているLVMを使用していました。ディスクの1つが不良になっていることに気付いたので、新しいディスクを入手してpvmoveを発行し、障害のあるディスクから新しいディスクにエクステントを移動しました。移行中のある時点で、古いディスクに障害が発生し、完全に応答を停止しました(なぜそれが発生するのかわかりません)。それで再起動しましたが、アレイがまったく起動しません。すべてが十分によく見えます、例えば。 3/4ディスクは機能しており、故障したディスクでも一時的にバックアップされていると確信しています(ただし、信頼しないでください)。しかし、lvchange -a y vg-array/array-dataを発行すると、dmesgで次のエラーが発生します

not clean -- starting background reconstruction
device dm-12 operational as raid disk 1
device dm-14 operational as raid disk 2
device dm-16 operational as raid disk 3
cannot start dirty degraded array.

Mdadmの使用を強制的に開始する方法があると確信していますが、lvmについては何も見ていません。しかし、私は3つのディスクを持っているので、すべてのデータはそこになので、回復可能でなければなりません。誰かがそれを行う方法を知っていますか?

1
Max Ehrlich

これに対する解決策は、カーネルブートパラメータを追加することです

md-mod.start_dirty_degraded=1

あなたの/etc/default/grubそしてupdate-grubそして再起動します。それでもボリュームを手動でアクティブ化する必要がありましたが、そのパラメーターを追加した後、ダーティ劣化したアレイは警告であり、エラーではありません。

これは https://www.kernel.org/doc/html/latest/admin-guide/md.html#boot-time-Assembly-of-degraded-dirty-arrays に記載されています。

1
Max Ehrlich

新しいデバイスを追加した後、その上にPVを作成し、vgextendを使用してPVをボリュームグループに追加し、vgreduce --remove --forceを使用して欠落しているPVを削除します。次のコマンドを使用して、LVM上のraid6アレイを修復できます。

lvconvert --repair <vgname>/<lvname>

lvsで修復の進行状況を確認できます。これは、Cpy%Syncに表示されます。

0
Akihide