web-dev-qa-db-ja.com

システムは、再起動を完了する前にmdadmが同期されていることを確認しますか?

これは 私のクレイジーなmdadm問題 へのフォローアップです。そもそもsdaが同期しなくなった原因を突き止めようとしています。私が考えることができる唯一のことは、私がちょうどたくさんの更新を実行し、カーネルのアップグレードをリロードするために再起動していたということです。両方のドライブが同期していなかった可能性はありますか? mdadm同期が行われている場合、システムは再起動を防ぎますか?それをすることができますか?何が起こったのかについて他に何か提案はありますか?そしてそれをさらに防ぐ方法。ドライブに問題はないようです。

7
xenoterracide

それは確かにクリーンシャットダウンで行います:

  • Debian mdadm FAQ は、カーネルが正しいことを行うことを意味します。

    8。 (の1つ)RAIDアレイがビジーで、停止できません。何が得られますか?
    mdadmがルートファイルシステムのあるアレイをシャットダウン時にビジーであると報告するのは完全に正常です。これは、アレイを停止できるようにルートファイルシステムをマウントする必要がある(または/ sbin/mdadmが存在しない)が、アレイを停止するにはルートファイルシステムをマウントできないためです。キャッチ22。カーネルは実際には停止する直前に配列を停止するので、すべて問題ありません。

  • mdドライバーはシャットダウン時にすべてのデバイスを読み取り専用として設定します (さらに、物理デバイスに約1秒の安定を与えます)。

書き込み中にシステムがクラッシュした場合でも、ドライバーは、書き込み中にブロックをダーティとしてマークし、ダーティなブロックが汚れた配列から開始された場合は再同期するように注意します。 配列の状態に関するコメント を参照してください。 カーネルのドキュメント は、汚れている(きれいにシャットダウンされていない)アレイと劣化している(欠けている部分がある)アレイは、安全ではないため、自動的に組み立てられないことを警告します。ダーティ配列をアセンブルすると、(おそらく非常に簡単に)/sys/block/md99/md/rd0/stateresyncが表示されます。全体として、mdドライバーは、ハードウェアコンポーネント(CPUまたはディスク)の全体的な障害からデータを保護します。これは、データに期待されることです。

Mdがユーザーを保護しないのは、RAM、CPU、マザーボード、またはディスクのビザンチン障害(つまり、1つ以上のビットのサイレントフリッピング)によるデータの破損です。ディスクハードウェアにはチェックサムがありますが、完全ではありません(例: Zfsプロモーション資料 を参照)。 Zfs および Btrfs は、ストレージデバイスの破損から保護できます。 Btrfsのチェックサムツリー ハードディスクが少し反転した場合に通知されるようにします。 Zfsは、CPUサイクルを犠牲にして、ランダムな破損だけでなく意図的な攻撃からも保護するSHA-256までのチェックサムの選択肢を提供します( Jeff Bonwickのブログ による)。

ファイルシステムを配置する前にraid1を作成しましたか?そうでない場合-RAIDデバイスにする前にファイルシステムを縮小しましたか?

そうしなかった場合、結果はRAIDデバイスの悪いスーパーブロックになる可能性があります。

0
Nils