GNU/Linux >> Linux の 問題 >  >> Linux

シンプルな mdadm RAID 1 がスペアをアクティブにしない

これを行うと、実際には何もせずに単にドライブをアレイにチャッキングします。つまり、ドライブはアレイのメンバーですが、アクティブではありません。デフォルトでは、これによりスペアになります:

sudo mdadm /dev/md0 --add /dev/sdb1

スペアがある場合は、アレイのアクティブ ドライブ数を強制的に増やすことで、スペアを増やすことができます。 3 台のドライブと 2 台の予想 アクティブな場合、アクティブ数を 3 に増やす必要があります。

mdadm --grow /dev/md0 --raid-devices=3

RAID アレイ ドライバは、ドライブが「不足」していることに気づき、スペアを探します。スペアが見つかると、アクティブ ドライブとしてアレイに統合されます。予備のターミナルを開き、このやや大雑把なコマンド ラインをそこで実行して、再同期の進行状況を監視します。必ず 1 行で入力するか、改行 (\) 文字を使用してください。再構築が完了したら、ターミナルで Ctrl-C を入力してください。

while true; do sleep 60; clear; sudo mdadm --detail /dev/md0; echo; cat /proc/mdstat; done

アレイには、同期している 2 つのアクティブなドライブがありますが、3 つのドライブがないため、100% クリーンではありません。故障したドライブを取り外してから、アレイのサイズを変更してください。 --grow に注意してください flag は少し間違った名前です - いずれかを意味します 拡大または縮小:

sudo mdadm /dev/md0 --fail /dev/{failed drive}
sudo mdadm /dev/md0 --remove /dev/{failed drive}
sudo mdadm --grow /dev/md0 --raid-devices=2

エラーに関しては、ドライブ (つまり、PATA/SATA ポート、ケーブル、またはドライブ コネクタ) のリンクの問題は、ホット スペアのフェイルオーバーをトリガーするのに十分ではありません。 「不良」ドライブへのリンクをリセットしている間。私は 3 つのドライブ アレイ (2 つのホット、1 つのスペア) を実行しており、ドライブの 1 つが最近、ログに少しバーフアップすることを決定したため、これを知っています。アレイ内のすべてのドライブをテストしたところ、3 つすべてが SMART テストの「長い」バージョンに合格したため、プラッター、機械部品、またはオンボード コントローラーの問題ではありません。 SATAポートの不良。おそらくこれはあなたが見ているものです。ドライブを別のマザーボード ポートに切り替えるか、別のケーブルを使用してみて、改善するかどうかを確認してください。

フォローアップ:ミラーの 3 つのドライブへの拡張を完了し、失敗して不安定なドライブを md アレイから取り外し、ケーブルを新しいものにホットスワップし (マザーボードはこれをサポートしています)、ドライブを再度追加しました。再追加すると、すぐにドライブの再同期が開始されました。これまでのところ、ログに 1 つのエラーも記録されていません ドライブが頻繁に使用されているにもかかわらず。そうです、ドライブ ケーブルが壊れる可能性があります。


私はまったく同じ問題を抱えていました。私の場合、アクティブな RAID ディスクが同期中に読み取りエラーに苦しんでいることがわかりました。したがって、新しいディスクは新しいほうが正常に同期されたため、スペアとしてマークされたままになりました。

/var/log/messages およびその他のシステム ログでエラーを確認することをお勧めします。さらに、ディスクの SMART ステータスを確認することもお勧めします。
1) 短いテストを実行します:

<ブロック引用>

"smartctl -t short /dev/sda"

2) テスト結果を表示します:

<ブロック引用>

"smartctl -l selftest /dev/sda"

私の場合、これは次のようなものを返しました:

<ブロック引用>

===読み取りスマートデータセクションの開始 ===
SMART セルフテスト ログ構造のリビジョン番号 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
1 拡張オフライン 完了:読み取り失敗 90% 7564 27134728
2 短いオフライン 完了:読み取り失敗 90% 7467 1408449701

ライブ ディストリビューションを起動し、欠陥のあるディスクから新しい (現在は「予備」の) ディスクにデータを手動でコピーする必要がありました。


私はまったく同じ問題を抱えていて、アレイに再度追加したい 2 番目のディスクにエラーがあると常に考えていました。しかし、それは私の元のディスクに読み取りエラーがありました。

smartctl -t short /dev/sdX で確認できます 数分後に smartctl -l selftest /dev/sdX で結果を確認します .私にとっては、次のように見えました:

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       20%     25151         734566647

私はこのマニュアルでそれらを修正しようとしました。それは楽しかった :-)。両方のディスクのエラーをチェックしたことは知っていますが、問題は、まだ md アレイにあるディスクに読み取りエラーがあるため、2 番目のディスクの追加に失敗することだと思います。

更新

smartctl -a /dev/sdX を追加で実行する必要があります Current_Pending_Sector> 0 と表示される場合は、何か問題があります

197 Current_Pending_Sector 0x0012 098 098 000 Old_age 常に - 69

私にとっては、テストのためだけに RAID からディスクを削除し、読み取りエラーのために再同期できなかったことが間違いなく問題でした。同期は途中で中止されました。まだ RAID アレイにあるディスクを確認すると、smartctl で問題が報告されました。

上記のマニュアルでそれらを修正でき、保留中のセクターの数が減ったことがわかりました。しかし、多すぎて長くて退屈な手順なので、バックアップを使用して別のサーバーにデータを復元しました。

SMART を使用する機会がなかったので、セルフ テストでこれらの壊れたセクターが表示されなかったと思います。

私にとっては教訓です。アレイからディスクを取り外す前に、ディスクを確認してください。


Linux
  1. シンプルなハードドライブのデータ回復

  2. ハードウェアRAIDコントローラの背後にあるハードディスク情報?

  3. Gptパーティショニングを使用したMdadmRAIDの実装?

  1. 既存のIntelRapidStorageアレイ用にMdadmを構成しますか?

  2. 「アレイを開始するのに十分ではありません」 – mdadm RAID アレイの起動中にエラーが発生しました

  3. RedHat / CentOS :mdadm によるソフトウェア RAID の管理

  1. ソフトウェア RAID アレイ (mdadm) で故障したミラー ディスクを交換する

  2. mdadm:コマンドが見つかりません

  3. 再起動後に Linux RAID が消える