私のイメージには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:「とにかくドライブがミラーから外れています。」は受け入れる必要はありません。それを調べなさい。なぜそれは鏡を離れる。新しいカーネルを使用しても、不良ブロックがドライブから欠落しなくなるため、ランダムなドライブ損失は発生しないでください。スマート状態などを確認してください。
答え2
ビットマップを使用するようにRAID-1を設定した場合(マンページを参照)、--re-add
接続が中断された後に記録された領域のみが記録されるため、はるかに高速です。
何らかの方法で(ビットマップ全体の同期なしで)ddを使用するよりも、/sys/block/md0/md/sync_speed_*を使用して同期速度を簡単に設定できます。
ddと同期するには、この間アクティブディスクを読み取り専用に設定する必要があります。したがって、MDドライバに作業を実行させる必要があります。まだ行っていない場合:ビットマップを追加してください。