ペースメーカー/ 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はバックポートから取得されます)。返信ありがとうございます。
最も簡単な方法は、2つのフェイルオーバーIPを用意することだと思います。 1つはnginx
用で、もう1つはpgpool + haproxy
ペア。そうすれば、意図したとおりに機能します。 nginx
は、最初のマシンから実行するように構成でき、pgpool + haproxy
2番目のものからのペア。