MDADM - 災害復旧またはRAID5アレイをそのままにしたまま

MDADM - 災害復旧またはRAID5アレイをそのままにしたまま

簡単に言えば、ここの最初のスレッドでは、次のようにソフトウェアRAID5アレイを設定しました。 4つのディスクデバイス、各ディスクデバイスにlinux-RAIDパーティションがあります。これらのディスクは次のとおりです。 /dev/sda1 /dev/sdb1 /dev/sdd1 /dev/sde1

/ dev / md0は、暗号化されたLVMを持つraid5デバイスです。 cryptsetupを使用してデバイスを開き、vgscanとlvcan -aを使用してボリュームをマッピングしました。

昨日/dev/sdd1がダウンしていることがわかりました。私が従ったステップは次のとおりです。

0. 障害が発生したディスクの削除

#  mdadm --remove /dev/md0 /dev/sdd1

1. ドライブ障害の確認

mdadm --examine /dev/sdd1

「メタデータを読み取れません」エラーが発生します。

2. パーティションテーブルをお読みください。

partedを使用していて、Linux-RAIDパーティションが消えたことを発見し、それを再作成しようとすると(ドライブを再度追加できるようにしたいと思います)、「自分のデバイスに書き込めません」というメッセージが表示されました。

したがって、明らかな事実は、ハードドライブが動作しないことです。

3. ケースからハードドライブを取り外します。 (悪いことが起こる可能性があります。)

だから私のケースから/ dev / sdd1を抽出してみましたが、それが4つのドライブのうちどのドライブであるかはわかりません。それで、SATAケーブルの1つを抜いて、ちょうど/dev/sde1を抜いたことに気づきました。再接続し、次のケーブルを抜きました。よかった! /dev/sdd1

4.私が何をしたの? !悲しい顔

使用:

# mdadm --detail /dev/md0

私は/dev/sde1が配列を「削除済み」とマークしたことに気づきました。 --re-addなしで再度追加しようとしましたが、次のようになります。

mdadm --add /dev/md0 /dev/sde1

/proc/mdstat は再構築プロセスを示し、 mdadm --detail /dev/md0 は /dev/sde1 を「スペア」と表示します。おそらくここでひどいことをしているでしょう。

私は配列から/dev/sde1を削除し、--re-addを使ってみましたが、mdadmはそれを行うことができないと言って停止し、配列を再組み立てするように提案しました。

5. 次はどこに行きますか?

まず、故障したハードドライブを交換する新しいハードドライブを待っています。一度持っていて、それを新しいLinux-RAIDパーティションデバイス(/ dev / sdd1と呼ばれる)に設定したら、アレイを停止する必要があります(LVMボリュームはマウントされなくなり、明らかにcryptsetupは暗号化デバイスをオフにしますが、mdadmアレイを停止できません) )。システム全体を再起動して最初から起動することを検討しています。私がしなければならないことは次のとおりです。

# mdadm --stop /dev/md0
# mdadm --stop /dev/md0
# mdadm --examine /dev/sd*1
# mdadm --assemble --scan --run --verbose

--runオプションがないと、mdadmが劣化したアレイスキャンを拒否するという内容を読みました。

ベストシナリオ:再組み立てプロセスは/ dev / sde1を認識し、新しい/ dev / sdd1を使用して古いエラーを修正します。私はどんなデータも失うことはありませんし、幸せになります。

最悪で最も一般的なシナリオ:アレイの再構築は/ dev / sde1の復元に失敗し、空の新しいアレイで開始する必要があります。

ここで何か抜けましたか?このプログラムで何を確認する必要がありますか?

フランスから来た暖かい挨拶

ベストアンサー1

だから完全に回復できました。ありがとうこのリンク

私がしたことは次のとおりです。

  1. 故障したディスクを交換し、サーバーを再起動しました。
  2. その後、新しいディスクをLinux-RAIDパーティションタイプにフォーマットしました。

    # mdadm --examine /dev/sda1 /dev/sdb1 /dev/sdd1 /dev/sde1
    

次に、上記のリンクに沿って--examineコマンドによって提供された情報に基づいてアレイを(再)作成しました。

# mdadm --create /dev/md0 --level=5 --raid-devices=4 --chunk=512 --name=server:0 /dev/sda1 /dev/sdb1 missing /dev/sde1 --assume-clean

このリンクからわかるように、--assume-cleanがトリックを行いました! / dev / sde1の「待機」状態を防ぎ、それを新しいアレイのアクティブ部分として使用します。

おそらく、「既存の」デバイスからアレイを再生成するときの主な問題は、データが失われない限り、ブロックパラメータを操作しないことです。

  1. 次に、この新しいアレイに新しいデバイスを追加します。

    # mdadm --add /dev/md0 /dev/sde1
    

サーバーの再構築が開始された後(10Tbは6時間かかります)、アレイ全体の整合性チェックを強制しました(やはり6時間かかります)。

すべてが私に回復し、私は安心しました!

おすすめ記事