mdraidの再同期はどのように機能しますか?

mdraidの再同期はどのように機能しますか?

私のイメージには2つのドライブ(linux sw raid / mdadm)があります。ドライブの1つは過去にイメージを残し、その内容は今数日が経ちました。現在ダウングレードされている画像(ドライブは1つありません)を使用しており、次の点を考慮しています。

  • アップデートドライブを2番目のドライブに複製するdd
  • 2番目のドライブを追加して再同期しますが、再同期プロセスがどのように機能するのか、どのデータが上書きされるのかわかりません(そのミラーにLVMボリュームがあります)

私はddこれが安全なアプローチだと思います。とにかく、私は再同期がどのように機能するかに興味があります。

ベストアンサー1

正しいアプローチも似ていますmdadm --add /dev/md0 /dev/sdb1。代わりに正しい配列を使用し、代わりにmd0正しいパーティションを使用してくださいsdb1

コアはアレイが実行中です。。コピーするデータが何であるかを完全に明確にします。現在実行中のデータです。ビットマップが有効になると、変更された内容のみがコピーされるため、再同期速度が大幅に高速化されます。それ以外の場合はすべてをコピーします。

悪意のある人やディスクシステムで書き込み操作が失われたり、ビットマップが間違っている可能性があることを心配し、コピー全体を強制してもかまいませんmdadm --zero-superblock /dev/sdb1。 。正しいパーティション)。

配列が現在実行されていない場合(たとえば、異常終了してアセンブリを再構築する場合)、スーパーブロックに保存されている更新数フィールドを使用してコピーする内容を決定します。更新回数が多すぎるディスクの再追加を拒否できますが(スーパーブロックを0に設定)、アクティブデータは上書きされません。

そのアプローチを使用すると、dd(a)最終的にスーパーブロックが複製され、2つのディスクが作成されます1(スーパーブロックはアレイ内のディスク位置を保存します)。 (b)一貫性のないコピーが得られます。コピー中(または読み取り専用モードで)アレイを停止しない限り。 (その後、aとbを変更するには、上記のようにスーパーブロックを消去し、mdraidにデータをコピーさせる必要があります。)

つまり、mdraid(または他のRAID)を使用することを決定すると、重複して管理できます。あなたほとんどないその問題を解決したい。 LVMと同じ:データを移動したい場合pvmoveなどを使用できます。あなたは使用しませんdd

PS:「とにかくドライブがミラーから外れています。」は受け入れる必要はありません。それを調べなさい。なぜそれは鏡を離れる。新しいカーネルを使用しても、不良ブロックがドライブから欠落しなくなるため、ランダムなドライブ損失は発生しないでください。スマート状態などを確認してください。

おすすめ記事