Linux mdadm raid アレイのドライブエラー。助ける!

Linux mdadm raid アレイのドライブエラー。助ける!

私のシステムが一種の致命的なエラーのために苦しんでいるようです。今慌てて、どうすればいいかわかりません。

3ドライブRAID 10アレイがあります。今朝私は配列(すべての写真がある場所)にアクセスするのに問題があることを知りました。 mdadmを確認すると、アレイ(ドライブ2)から1つのドライブが取り外されたことがわかります。コンピュータが予期せず終了し(停電)、ドライブが追い出されたためだと思いました。

ドライブを再度追加しようとしましたが、うまくいきました。その後、mdstatで再構築の進行状況を確認しましたが、再構築の速度は10kb / sでした。はい。この速度で3TBドライブを再構築するには数年かかります。 dmsegをチェックすると、ドライブ3で多くのI / Oエラーが発生することがわかりました。ドライブ3にある種のハードウェア障害が発生したようです。ディスクユーティリティ(gnome、gnome-disk-toolなどから出てきたようです)を使ってドライブの状態を確認しましたが、ほぼ6000個の不良セクタがありますが、それ以外はすべて正常と言われています。

今、私はドライブ2が実際には大丈夫だと思ってパニックになっています。その後、コンピュータをシャットダウンしてみました(mdstatが再同期していても保存されていると読みました)。

残念ながら、シャットダウン機能は機能しません。 「ESC」を押すと端末が表示され、「print_req_error:I/Oエラー、dev sdd、セクタ...」タイプエラーが表示されます。私は何をすべきかわかりません。など?このような状況が30分間続いた。

どんな提案がありますか?

答え1

これは奇跡です。何とかアレイをバックアップして実行しました。これが私がしたことです:

  1. 元の記事で述べたように、システムはまだ失敗したドライブに書き込もうとしているため終了しませんでした。私はuser361233のアドバイスに従ってプラグを抜きました。
  2. 私はもはや慌てません。コンピュータの電源を切っても、次の手順を考えることができます。
  3. 私は行って、2つの新しい3TBドライブを購入しました。
  4. 私は眠りにつき、今日ドライブが1つだけ接続されているライブセッションUSB(manjaro)を使用してコンピュータを起動しました(したがって、各ディスクに対して1回3回再起動しました)。 kdeパーティションマネージャを使用してディスクの状態を確認しました。 SMARTステータスは、すべてのディスクが正常であることを示します。その後、アレイのディスク3で発生したすべてのハードウェア障害が少なくとも一時的に消えることを願っています。
  5. 3つのディスクをすべて接続して再起動しました(再びライブセッションUSBを使用)。振り返ってみると、manjaroはすでにmdadmがインストールされており、アレイ(/ dev / md127など)を起動しようとしていたため、回復環境に最適な選択ではありませんでした。手動でアレイを起動しようとしたときにこれを見つけました。

    mdadm --assemble --scan
    

    これにより、すでにアクティブな配列(または同様のもの)があると文句を言います。 /dev/md127が自動的に起動することがあることを覚えていて、その配列を停止して手動で起動してみました。

    mdadm --stop /dev/md127
    mdadm --assemble --scan
    

    これも機能しません。次に、実際にアレイを組み立てるために使用される各ディスクのパーティションを指定してみました。

    mdadm  --assemble /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1
    

    動作します!それからmdadm --examine /dev/md0。奇妙なことは、アレイが最大3/3ディスクとなっていることです。確認したところ、cat /proc/mdstatアレイのドライブ2が再構築されているという兆候はありませんでした(元のドライブ2は、停電後にアレイから追い出されたドライブであったことを忘れないでください)。ある種の奇跡が起こった。コンピュータをシャットダウンしたとき、ドライブ2は非常にゆっくりと再構築されていましたが、これは実際には問題ありませんでした。そして今回はmdadmが何とかこれをアレイに受け入れました。

  6. その後、アレイにアクセスして購入した新しいディスクにデータをコピーしようとしました。動作しません。単にディレクトリの内容をリストすると、lsコマンドは中断されます。今回もdmesgディスク3(\ dev \ sdd)に関連する多数のI / Oエラーが発生します。

  7. コマンドをキャンセルし、lsCTRL-Cを数回試した後、コマンドプロンプトが再起動されるまで数分待ちました。この時点でmdadm --examine /dev/md0。次に、ディスク3にハードウェア障害があることを識別し、そのディスクをアレイから取り出す。アレイには、ディスク1(/dev/sdb、完全に正常なドライブ)とディスク2(/dev/sdc、これらすべてが起動したときに元のアレイから除外されたドライブ)しかありません。

  8. 配列に再びアクセスしようとしましたが、これで動作します!また、ファイルブラウザを使用してすべてのlsファイルを一覧表示することもできます。この時点で、私は購入した追加のドライブに重要なファイルをすべてコピーし始めました。これでこのプロセスはほぼ終わりました。

最後に、定期的に別々のデバイスにファイルをバックアップする必要があることを思い出してください。以前はこんな習慣がありましたが、ここ1~2年間放置しておきました。この投稿が長すぎて最も具体的でない場合は申し訳ありません。各コマンドの正確な出力は記憶されません。

長い話を短く私はコンピュータの電源を切ってパニックにならなかった。その後、問題を解決するための計画を立てる時間があります。これは最新のバックアップを維持するための良い通知です。

答え2

あなたの質問に答えるのが難しく、コメントが長すぎるので、いくつかの一般的なガイドラインだけを教えてください。

今、私はドライブ2が実際には大丈夫だと思ってパニックになっています。

カーネルエラーがない場合は、ディスクを再度追加してください(以前と同じ役割と同じオフセットで)はデータを「破棄」しません。すでに存在していたのと同じデータの大部分を書き換えるため、破損は発生しません。

  • アレイに複数のドライブがない場合は、役割が変更される可能性があります。
  • オフセットは通常、以前のsdx値を追加したときにのみ変更されます。sdx1
  • 非常に幸運な場合は、以前に奇妙な状態であった場合、オフセットも変更される可能性があります。

ドライブに問題がなくても、キックされたドライブの主な問題は、そのドライブがアレイの一部ではなくなることです。アレイが書き込みモードでマウントされると、アレイのデータは変更され、削除されたドライブのデータは更新されないため、古くなり、もはや「良好」になりません。

ディスクユーティリティ(gnome、gnome-disk-toolなどから出てきたようです)を使ってドライブの状態を確認しましたが、ほぼ6000個の不良セクタがありますが、それ以外はすべて正常と言われています。

ドライブに問題が発生した場合は、データを回復できません。 6,000個の不良セクタが一晩現れなかった場合は、ずっと前にそのドライブを交換した可能性があります。直接テストしない場合は、できるだけ早くエラーが発生したドライブを監視して交換します。これによりRAIDが失敗します。

ddrescue既存のドライブからコピーできる新しいドライブを購入し、Copy-On-Writeオーバーレイを使用したデータ復旧実験。上書きを使用すると、元のファイルを変更せずに書き込むことができます(したがって、新しいディスクコピーを作成する必要はなく、コピーのコピーも必要ありません)。ただし、上書きには動作中のドライブが必要で、故障したドライブを使用して上書きすることはできません。

関連情報