サーバークラスターのフェールオーバーファイアウォールを構築して、さまざまなオプションを検討し始めました。私はfreebsdのcarpに慣れていますが、このプロジェクトにはLinuxを使用する必要があります。
グーグルを検索すると、いくつかの異なるプロジェクトが作成されましたが、それらが提供する機能に関する明確な情報はありません。 CARPは仮想インターフェースにフェイルオーバーを提供しましたが、それがcorosyncの機能なのか、それともペースメーカーの機能なのかははっきりしません。
一方、私は何とかしてkeepalivedを機能させることができました。ただし、corosyncはinfinibandのネイティブサポートを提供することに注意しました。これは私にとって便利でしょう。
おそらく誰かが以下の違いを明らかにすることができます:
ルーターのフェイルオーバーに最適な製品はどれですか?
編集:それで私はもう少し考えました...
Pacemakerは、Corosync&Pacemakerを使用できる大きなプロジェクトです。コロシンクとハートビートは基本的に同じことをしているようです。したがって、どちらか一方を選択します。
Heartbeatは古いプロジェクトのようですが、まだ開発中です。
一方、キープアライブは完全に異なるプロジェクトであり、VRRPプロトコルを実装しています。それは他よりもリー機能を持っています。それはまだ広く使用されているようですが、最近のドキュメントがありません。
残念ながら、ファイアウォール/ルーターのフェイルオーバーの例はほとんどありません。誰かが素敵なハウツーを見つけましたか?スペイン語で書かれたものを見つけました。
キープアライブとハートビートのどちらを使用するかを決定するときに使用した一般的な経験則は次のとおりです。
ハートビートは通常、真のアクティブ/スタンバイクラスターセットアップ(実際には1つのノードのみが「アップ」)が必要な場合に使用されます。NFSについて考えてください。通常、ハートビートでは、サービスの開始と停止にスクリプト前後のアクションが使用されます。
Keepalivedの方がはるかに単純であり、通常はホットスタンバイでの使用に使用されます(つまり、サービスを冗長に維持するため)。
私が成功したkeepalivedの良い使用例は、冗長なNginxロードバランサーです。その状況では、ノードに障害が発生すると、「フローティングIP」がバックアップノードに移動します。
Keepalivedは単純ですが、独自のチェックスクリプトを作成できます(フェイルオーバーなどをトリガーします)。いくつかの情報: https://tobrunet.ch/2013/07/keepalived-check-and-notify -scripts /
どちらが最適かは、状況によって異なります。keepalivedは、ルーターのフェイルオーバーに適しています。
carp を見たことがありますか? Linuxファイアウォールで計画しているのと同じ目的で使用します。