web-dev-qa-db-ja.com

スプールファイルのフェイルオーバーを有効にするDRBD(-alike)ソリューション

ハードビートとDRBDを使用してKannelサービスのフェイルオーバーセットアップをセットアップしようとしています。 1台のマシンがプライマリマシンであり、そのマシンが停止/ダウンすると、セカンダリに切り替わります。

Kannelは、一時(track/DLR)ファイルにスプールディレクトリを使用しています。プライマリサーバーがダウンしたときに追跡データが失われないようにするために、データはDRBDによって同期されています。ただし、DRBDでは、同期されたパーティションを両方のサーバーに同時にマウントすることはできません。したがって、スイッチの場合にkannelを機能させるために、パーティションを(アン)マウントしたり、Kannelを(再)起動したりするアップ/ダウンスクリプトを作成する必要があります。これは可能ですが、プライマリサーバーを切り替える際の潜在的なリスクもあります(Kannelの起動と停止には時間がかかる場合があります)。

上記のインストールをセットアップすると、システムは大量のSMSトラフィックと負荷を処理し、後で変更するのが難しいため、同じことを実現するために他のオプションを調査しています。安定した持続的な意思決定を行うために。

誰かが代替オプションを持っていますか?

ありがとう

PS。 Kannelがそのtracking/dlrデータをデータベースに保存する可能性があることは知っていますが、他のkannel boxes/processsを使用しているため、それを使用できません。データベース機能。

2
Rene Feiner

これがシナリオに役立つかどうかはわかりませんが、GFS2などのクラスターファイルシステムを使用している場合、DRBDはデュアルプライマリボリュームで機能します。

1
Sven

移行するときは、それを吸い上げて、Kannelがシャットダウンするのを待つ必要があります。離脱ノードでシャットダウンする前に、他のノードでKannelを起動しても安全かどうかを知る信頼できる方法はありません。したがって、Kannelがシャットダウンする前にDRBDを反転する意味はありません(DRBDでセカンダリからプライマリに切り替える時間はミリ秒)。

0
womble