web-dev-qa-db-ja.com

corosyncと複数のロードバランサー

ペースメーカー/ corosyncを使用して、ロードバランサー(オプションでnginx、pgpool、haproxy)にHA機能を提供しようとしています。私は3つのプリミティブを定義しました:

フェイルオーバーIPの場合は1、

lsb :: nginxの場合は1

lsb :: pgpoolの場合は1

このシナリオはテストしていませんが、lsb :: haproxyを追加できると思います。

それらをグループ化しました。私の問題は、たとえばpgpoolがダウンすると、クラスターがnginxを含む他のノードに切り替わるということです。ドキュメントの私の理解から、フェイルオーバーIPは1つのグループにのみ含めることができ、これはオールオアナッシングの状況になります(すべてのサービスが機能するか、1つが失敗した場合、3つすべてのサービスに対してフェイルオーバーが発生します)。それらをグループ化して、たとえばnode1が同じ仮想IPを使用してnginxとnode2のpgpoolとhaproxyを提供できるようにすることは可能ですか?それも可能ですか?私はDebianWheezyを使用しており、すべてのパッケージはそのリポジトリから取得されています(haproxyはバックポートから取得されます)。返信ありがとうございます。

1
thanasisk

最も簡単な方法は、2つのフェイルオーバーIPを用意することだと思います。 1つはnginx用で、もう1つはpgpool + haproxyペア。そうすれば、意図したとおりに機能します。 nginxは、最初のマシンから実行するように構成でき、pgpool + haproxy2番目のものからのペア。

2
n3rV3