keepalivedによるサーバ冗長化について

GMOアドマーケティングのインフラエンジニア うたです。
サーバを冗長化させたい時によく利用するkeepalivedですが、弊社でもソフトウェアロードバランサやProxyサーバを冗長化させたりするのに使用しています。

よく見るmaster/slave構成は

keep1

のようなアクティブ/スタンバイ構成ですが、
使用するVIPの倍のサーバを用意しておかないといけなくて、ムダがありそうです。

アクティブ/スタンバイ設定例

そこでスタンバイ機にもVIPを振り、常時2台をアクティブにする構成してみます。

keep2

priorityをserver1と2で逆転させることで、master stateを2台に分散可能です。
この状態で、どちからのサーバがダウンすると、片方のserverに2つのVIPが寄せられることになります。

keep3

当然3台以上でもリング構成が可能になります。

keep4

server2がダウンすると次のpriortiyの高いノードにVIPが引き継がれます。

keep5

この仕組を利用して、IPを引き継ぎながらサーバ冗長化をできるので色々な利用方法が考えられます。

今後ともこのような小ネタがあればご紹介していきたいと思います。