同期速度の設定

バックグラウンド同期中は 同期先のデータの一貫性が一時的に失われるため、 同期をできるだけ早く完了したいと考えるでしょう。 ただし、バックグラウンド同期がすべての帯域幅を占有すれば、 フォアグラウンドレプリケーションに使用できなくなり、 アプリケーションのパフォーマンス低下につながります。 これは避ける必要があります。 同期用の帯域幅はハードウェアに合わせて設定する必要があります。 永続的または一時的な設定が可能です。

[重要項目]重要項目

同期速度をセカンダリノードの 最大書き込みスループットを上回る速度に設定しても意味がありません。 デバイス同期の速度をどれほど高速に設定しても、 セカンダリノードがそのI/Oサブシステムの能力より高速に書き込みを行うことは不可能です。

また、同じ理由で、同期速度をレプリケーションネットワークの 帯域幅の能力を上回る速度に設定しても意味がありません。

syncerの永続的な速度設定

リソースがバックグラウンド再同期に使用する最大帯域幅を永続的に設定するには、 リソースに対してrateオプションを指定します。 これは、/etc/drbd.confsyncerセクションに記述します。

resource resource
  syncer { 
    rate 40M;
    ...
  }
  ...
}

毎秒の速度はビット単位ではなくバイトで設定します。

[ティップ]ティップ

経験則では、 この数値として使用可能なレプリケーション帯域幅の30%程度が適切です。 180MB/sの書き込みスループットを維持できるI/Oサブシステム、 および110MB/sのネットワークスループットを維持できる ギガビットイーサネットネットワークの場合は、 ネットワークが律速要因になります。 速度は次のように計算できます。

式6.1 syncer 速度の例(有効帯域幅が110MB/sの場合)


この結果、rateオプションの推奨値は33Mになります。

一方、最大スループットが80MB/sのI/Oサブシステム、 およびギガビットイーサネット接続を使用する場合は、 I/Oサブシステムが律速要因になります。 速度は次のように計算できます。

式6.2 syncer 速度の例 (有効帯域幅が 80 MB/s の場合)


この場合、rateオプションの推奨値は24Mになります。

syncerの一時的な速度変更

syncerの速度を一時的に設定したい場合もあるでしょう。 たとえば、いずれかのクラスタノードの定期保守を行ったときに、 バックグラウンド再同期を高速に実行したい場合などです。 また、アプリケーションの書き込み操作が非常に多いときに、 バックグラウンド再同期の速度を落して、 既存の帯域幅の多くをレプリケーションのために確保したい場合もあります。

たとえば、ギガビットイーサネットリンクのほとんどの帯域幅を再同期に割り当てるには、 次のコマンドを実行します。

drbdsetup /dev/drbdnum syncer -r 110M

numはDRBDデバイスのデバイスマイナー番号と置き換えます。 このコマンドは一方のノードに対して実行するだけです。

この一時的な設定を元に戻して、 /etc/drbd.confで設定されたsyncer速度を再び有効にするには、 次のコマンドを実行します。


drbdadm adjust resource