トラックベースのレプリケーションの使用

リモートノードに同期するデータを前もってロードし、デバイスの初期同期をスキップする場合は、次の手順を行います。

[注記]注記

これは、ローカルノードに設定済みだが接続されていないプライマリロールのDRBDリソースがあることを前提とします。

つまり、デバイスの設定が完了し、両方のノードに同一のdrbd.confのコピーが存在し、最初のリソース昇格をローカルノードで実行するコマンドを発行したが、リモートノードがまだ接続されていない状態です。

  1. ローカルノードで次のコマンドを実行します。

    drbdadm -- --clear-bitmap new-current-uuid resource
  2. リソースのデータおよびそのメタデータの正確に同一のコピーを作成します。たとえば、ホットスワップ可能なRAID-1ドライブの一方を抜き取ります。この場合は、もちろん新しいドライブをセットしてRAIDセットを再構築しておくべきでしょう。抜き取ったドライブは、正確なコピーとしてリモートサイトに移動できます。

    別の方法としては、ローカルのブロックデバイスがスナップショットコピーをサポートする場合(LVMの上位でDRBDを使用する場合など)は、ddを使用してスナップショットのビット単位のコピーを作ってもかまいません。

  3. ローカルノードで次のコマンドを実行します。

    drbdadm new-current-uuid resource

    この2回目のコマンドには、--clear-bitmapオプションがありません。

  4. 対向ホストの設置場所にコピーを物理的に移動します。

  5. コピーをリモートノードに追加します。ここでも物理ディスクを接続するか、リモートノードの既存のストレージに移動したデータのビット単位のコピーを追加します。

    レプリケートしたデータだけでなく、関連するDRBDメタデータも必ず復元するかコピーしてください。そうでない場合、ディスクの移動を正しく行うことができません。

  6. リモートノードで次のコマンドを実行します。

    drbdadm up resource

2つのホストを接続しても、デバイスのフル同期は開始されません。代わりに、drbdadm -- --clear-bitmap new-current-uuidの呼び出し以降に変更されたブロックのみを対象とする自動同期が開始します。

以降、データの変更が 全くない 場合でも、 アクティビティログ の領域が含まれるため、それの同期が短時間行われます。これは、 チェックサムベースの同期 を使用することで緩和されます。

[ティップ]ティップ

この手順は、リソースが通常のDRBDリソースの場合でもスタックリソースの場合でも使用できます。スタックリソースの場合は、-Sまたは--stackedオプションをdrbdadmに追加します。