連載
» 2008年12月03日 00時00分 公開

Windowsクラスタリング入門:第1回 MSCS導入の準備〜サーバ・クラスタの基礎知識〜 (4/5)

[高橋郷,著]

フェイルオーバー・ポリシー
  フェイルオーバー・ポリシーは、アプリケーションに障害が発生したときの切り替え規則のことである。「フェイルオーバー」とは、障害時などにアプリケーションやサービスの実行をほかのサーバへ切り替えることをいう。主にアクティブ−パッシブ構成の際に考慮する。通常、複数台でクラスタを構成する場合、障害発生時に単一のサーバに負荷が片寄らないように、かつ負荷の分散が予測できるように、切り替え先を複数あるうちのどのサーバにするかの設定を行う。

 フェイルオーバー・ポリシーにはいくつかのモデルがあるが、ここでは代表的な4つのモデルについて紹介する。

フェイルオーバー・ペア
  フェイルオーバー・ペアは、クラスタを構成するサーバ群の中で、サーバ同士ペアを組ませて、そのサーバ間のみで障害時の切り替えを行うモデルである。2台構成のクラスタと同じである。

 メリットとしては、影響範囲を限定しやすい、処理能力の計画(キャパシティ・プランニング)が容易であることが挙げられる。他方、ペアとなっているサーバを完全な待機系として利用する場合はよいが、ペア側で異なるアプリケーションを実行している場合は、障害時を想定して、サーバ・リソースの使用量を平均50%以下に抑える必要があり、ハードウェア・リソースの利用率が低くなる点がデメリットである。

フェイルオーバー・ペア
あらかじめサーバのペアを決めておき、この間で障害時のフェイルオーバーを行う。
 (1)アプリAを実行しているサーバとアプリCを実行しているサーバに障害が発生。
 (2)ペアとして構成しているサーバにアプリAとCをフェイルオーバーする。

ホット・スタンバイ・サーバ
  ホット・スタンバイ・サーバ構成は、クラスタ構成されている複数台のサーバのうち1台だけ待機系として保持し、障害発生時には、障害を発生したサーバに代えて、待機系のサーバを稼働させるモデルである。待機系のサーバは、稼働系のサーバのうち、一番負荷の高いサーバに合わせてキャパシティ・プランニングする。

 メリットとしては、稼働系のサーバ・リソースがフルに利用できることにある。またフェイルオーバー・ペアと同じく、影響と処理予測が立てやすいことも挙げられる。デメリットとしては、複数台(2台以上)の障害には耐え切れないことだ。

ホット・スタンバイ・サーバ
複数の稼働系サーバに対し、待機系サーバを1台だけ用意し、障害時には稼働系サーバに代えて稼働させる。
 (1)アプリBを実行しているサーバに障害が発生。
 (2)待機しているサーバにアプリBをフェイルオーバーする。
 (3)アプリAとBを実行しているサーバに障害が発生。
 (4)待機しているサーバにアプリAとBをフェイルオーバーするが、高性能なサーバでないと負荷に耐えられない可能性がある。

N+I
  N+Iは、ホット・スタンバイ・サーバの待機系サーバを複数台用意する構成モデルである。待機系サーバは、実行されるアプリケーションやサービスの数および負荷状況、サーバ・スペック、場合によっては障害が発生しやすいサービスやサーバなどさまざまな要素を考慮して、N台の稼働系サーバに対して1台用意する。この考え方は、NとIに決まった数があるわけではなく、具体的な台数についてはキャパシティ・プランニングを行い決定する。

 メリットとしては、複数台の稼働系サーバの障害に耐えられること、柔軟なキャパシティ・プランニングが可能なこと、処理性能の予測が立てやすいことが挙げられる。デメリットとしては、設定が複雑化しやすいことが挙げられる。

N+I
稼働系サーバに対し、複数の待機系サーバを用意する。ホット・スタンバイ・サーバ構成とは異なり、複数台の稼働系サーバが障害を起こした場合でもフェイルオーバーが可能。
 (1)アプリAとアプリCを実行しているサーバに障害が発生。
 (2)アプリAとアプリCを待機しているサーバにフェイルオーバーする。

フェイルオーバー・リング
  フェイルオーバー・リングは、フェイルオーバー・ペアを拡張したもので、切り替え先が重複しないように、リングを作るように切り替えフローを定義した構成モデルである。

 メリットとしては、単一障害の影響の特定が容易であり、制限付きではあるが複数台の障害に耐えられることが挙げられる。デメリットとしては、複数台の障害が発生した場合にアプリケーションやサービスが偏る可能性があること、異なるサービスを提供するサーバの場合、処理性能を予測しにくくキャパシティ・プランニングが複雑化することがある。

フェイルオーバー・リング
フェイルオーバー・ペアを拡張し、切り替え先が重複しないようにリング形式にしたもの。
 (1)アプリAを実行しているサーバで障害が発生。
 (2)フローにしたがいアプリBを実行しているサーバにアプリAをフェイルオーバーする。
 (3)さらにフェイルオーバー先のサーバで障害が発生。
 (4)アプリAとBが、アプリCのサーバにフェイルオーバーする。するとアプリCが稼働するサーバに負荷が偏り、耐えられなくなる可能性がある。仮に?でアプリCのサーバで障害が発生した場合は、負荷が分散されるので、このときは複数の障害にも耐えられる構成になっているといえる。

 以上が代表的なフェイルオーバー・ポリシーとなる。これら以外にクラスタ・システムに切り替え先を判断させるランダム構成や、アプリケーションやサービスごとにそれぞれのポリシーを持たせるカスタマイズ構成などがある。

クラスタの基本用語
  具体的なマイクロソフトのクラスタ技術について説明する前に、押さえておいてほしい用語について整理しておく。ほとんどはマイクロソフトのクラスタにかぎらず一般的な用語となるので、マイクロソフトのクラスタに興味のない方も参考にしてほしい。

用語 説明
ノード クラスタを構成するサーバ
ハートビート クラスタを構成するノードの生存確認の方法。もともとはネットワークの疎通確認の言葉だが、クラスタ環境でも同じ用途のためこのように呼ばれる。TCP/IPでの送受信にて生存確認を行っている
計画停止 障害(サーバまたはサービスの意図しない停止)とは異なり、メンテナンスやパッチ適用などのための計画的な停止。基本的に手動で実施される
フェイルオーバー 障害時、または計画停止時に稼働系ノードと待機系ノードを切り替える動作のこと
フェイルバック 障害や計画停止により、メインで稼働するノードからフェイルオーバーして待機系に切り替わった後、メイン稼働するノードが復旧したら再度フェイルオーバーし、処理をメイン稼働するノードに戻すこと
仮想サーバ クラスタを構成したノード群に対して、共通でアクセスするための仮想サーバ。コンピュータ名とIPアドレスで構成される
リソース クラスタ上で動作するアプリケーションやサービスの最小単位。アプリケーションやサービスそのもの以外にも、ディスクや、IPアドレスなどもリソースとなる
グループ 関連するリソースをまとめたグループ。フォルダのようなもの。グループはフェイルオーバーの最小単位にもなる
依存関係 リソース間の関連を示すこと。Windowsのサービスの依存関係と同じように、別のリソースが正常起動していないと実施できない関係
表4 クラスタの基礎用語

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。