[Linux]データレプリケーション構成で膨大なトラフィックが発生する事があるのですが?

発生原因
本事象は OS が提供する raid-check というデータスクラビング機能が実行されていることが考えられます。

RHEL/CentOS 5.4 以降では Software RAID を構成している場合にデータスクラビングが有効になります。

このデータスクラビングは、Software RAID を構成するデバイス上のデータの比較 (読み込み) を行い、
不一致があれば修正 (書き込み) をおこない、読み取りエラーを返すセクタを再構築します。

LifeKeeper ではネットワークで接続された各ノードのローカルディスクを使用して Software RAID を構築する事により、
データレプリケーションを実現しているため、コミュニケーションパスなどに負荷上昇が発生します。

定期的な発生
この機能は cron に登録されている場合は定期的に実行され、
実行中にある程度のパフォーマンス低下を引き起こす場合があります。
つまり、データスクラビングの実施はデータの同一性保護とパフォーマンスのトレードオフとなります。

データスクラビングの定期的な実施の可否につきましては、以下を参考にお客様にてご判断ください。
なお、データスクラビングの実施の可否により、LifeKeeper のデータレプリケーション等の動作に影響を受ける事はありません。
ただし、LifeKeeper は独自にデータスクラビング機能に類する、不良セクタの検出や修復を行う機能は備えておりません。

・実施する場合のメリット
 レプリケーションに使用するディスクの不良セクタや、
 ターゲットディスクの書き換えによる不整合を早期に発見する事が可能です。

・実施する場合のデメリット
 レプリケーションに使用する全てのディスクの全てのデータの読み取り比較を行うため、
 レプリケーションに使用するネットワークおよびディスクが高負荷になる事により、システム全体として処理遅延につながります。
 また、ディスクサイズに比例してデータスクラビングに要する時間は長くなります。

 これは cron による実施時刻を調整する事により、サービスへの影響を軽減できると考えられます。

発生中のスイッチオーバやフェイルオーバ
データスクラビングの実施中にスイッチオーバやフェイルオーバが行われても、
データの比較 (読み込み) のみを行っている場合であれば基本的に影響はありません。

データスクラビングにおいてデータの修復 (書き込み) が発生する事は、
ソースノードまたはターゲットノードのディスク異常や、
ターゲットノードのディスクに直接書き込みを行ったなどの、データ修復が行われる以前の問題が考えられます。
この場合、ターゲット側のファイルシステムは破損に至っている可能性があるので、
データ修復が行われている間はスイッチオーバを行うべきではありません。

その他
raid-check および cron に関しては OS が提供する機能であるため、
LifeKeeper サポートから操作方法などをご案内する事ができませんので、予めご了承ください。

掲載日: 2013年2月1日

return top