今回から,前回までの作業で構築したHeartbeatによるWebサーバー1+1クラスタ構成を拡張することで,サーバーのクラスタリングについて,さらに理解を深めていきたいと思います。
前回までに構築した1+1クラスタ構成では,現用系でサービスが提供されている間,故障が発生しない限り,待機系側は特に何のサービスも提供していない状態となっています(図1)。
今回,「1+1Crossクラスタ構成」に拡張していきます。1+1Crossクラスタ構成にすると,待機系のサーバーでもサービスを提供しているため,有効活用できます。もし一方のノードが故障した場合は,他方のノードにフェイルオーバーして,サービスを継続提供することになります(図2)。
1+1Crossクラスタ構成は,待機系ノードを有効活用できる一方で,図2 のように,故障に伴いフェイルオーバーが発生した後,いずれかのノード1台で,2つのサービスを提供することになります。そのため,平常時と比較して,パフォーマンスが低下するというデメリットがあります。
この1+1Cross構成は「双方向スタンバイ構成」「現用/待機 双方向構成」「現用/待機 たすき掛け構成」などとも呼ばれます。
1+1Crossのリソース・イメージ
前回までは,Webサーバーを冗長化させましたが,1+1Crossクラスタ構成に拡張するにあたり,もう1つ別のサービスを冗長化させることになります。今回は,Heartbeat自体の動作に対する理解を深めるため,アプリケーションではなく,Dummyリソースを想定することとします。
最終的には,現状の図3の構成から,図4の構成に拡張していきます。この構成で,フェイルオーバーが発生したときの動作イメージは,図5のようになります。