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

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

[高橋郷,著]

導入シナリオ

 「サーバ・クラスタとは何か」の節では、サーバ・クラスタの概要を最も単純な構成で説明したが、サーバ・クラスタを実際に構成する際には、いくつか考慮することがある。具体的には、クラスタ・モデルとフェイルオーバー・ポリシーの2つである。

クラスタ・モデル
  クラスタ・モデルは、共有ディスクの利用形態により大きく2種類に分けられる。俗にいう「アクティブ−アクティブ構成」と「アクティブ−パッシブ構成」である。アクティブ−アクティブ構成は「Shared Deviceモデル」、アクティブ−パッシブ構成は「Shared Nothingモデル」とも呼ばれる。

アクティブ−アクティブ構成
  アクティブ−アクティブ構成は、すべてのサーバが稼働系サーバとして稼働している構成である。例えば、2台のサーバでクラスタを構成した場合、2台とも同じサービスを提供し、同時に共有ディスクに書き込みができる構成だ。この構成は負荷分散の機能も兼ね備えるため、ハイパフォーマンスでシステム利用率も高い。

アクティブ−アクティブ構成
アクティブ−アクティブ構成では、すべてのサーバが稼働し、処理を行う。システムの利用率は高く、全体のパフォーマンスも向上させやすい。

 しかし、共有ディスクに対する同時書き込みの制御は、どのようなアプリケーションでも対応できるわけではなく、アプリケーションが専用のアーキテクチャで実装されている必要がある。そのため、次のアクティブ−パッシブ構成と比較すると非常に高価になりやすい。

 また、計画時に注意すべき点もある。すべてのサーバが正常稼働している場合は問題がないが、仮に1台のサーバがダウンした場合、稼働中のサーバに処理が集中するという点である。分散されていた処理要求を残ったサーバで処理しなくてはならないため、仮に2台構成で2台とも常時60%程度の平均稼働率で動作していたとすると、単純な計算では稼働率が100%を超えるため、サービス・レベルを維持できなくなる可能性もある。一般的にキャパシティ・プランニングは、ピーク時でも70〜80%を超えないようにするものだ。緊急時のSLA(Service Level Agreement。提供されるサービスの内容や質に関する合意契約)にもよるが、前記のようなリスクを含む状態は、一般的には設計ミスといわざるを得ない。なお、アクティブ−アクティブ構成を提供する製品としては、Oracle RAC(Real Application Cluster)などがある。

アクティブ−パッシブ構成
  アクティブ−パッシブ構成は、共有ディスクを1台のサーバが専有するモデルである。クラスタを構成するサーバは、稼働系と待機系に分けられ、仮に2台のサーバでクラスタを構成した場合は、稼働系サーバのみでクライアントへサービスを提供し、障害が発生した場合に初めて待機系に切り替える、いわゆるホットスタンバイ型のクラスタ構成である。切り替え時にサーバのメモリ上にあるデータの扱いをどうするかを考慮する必要はあるが、構成が単純なため、さまざまなアプリケーションで対応が容易という利点がある。

アクティブ−パッシブ構成
アクティブ−パッシブ構成では、サーバが稼働系と待機系に分かれ、障害が発生した時点で待機系が稼働する。

 またこの構成では、クラスタリング機能をソフトウェアで提供することが多く、アクティブ−アクティブ構成と比較して非常に安価である。さらに、共有ディスクの制御は稼働系のサーバが管理しているため、クラスタを構成する待機系サーバを追加しやすいというメリットもある。つまり、クラスタを構成するサーバが障害を起こした場合、そのサーバを切り離して、代わりに使っていないサーバを待機系のサーバとして利用することが可能となり、復旧作業が簡単になる。

 ただし稼働系サーバが停止した場合は、共有ディスクの切り替え、アプリケーションやサービスの起動が必要なため、クライアントの要求を切断し、かつ稼働までに数十秒から場合によっては数分のダウンタイムが発生する。SLAを決める場合には、この点が一番重要である。よくある勘違いは「高可用性=無停止」と思われている点である。万一の際の認識をユーザーと共有しておかないと、システムが稼働してからトラブルが発生することになる。

 もう1つのデメリットとしては、サーバ・リソースの使用率が低下しがちな点がある。待機系のサーバが存在するため、問題がない限り高スペックなサーバを遊ばせてしまうことになりかねない。この点に関しては、共有ディスクを別に用意することで解決できる場合がある。共有ディスクを2台用意して、1台ずつクラスタを構成するサーバに割り当てることで、アクティブ−アクティブの構成をとることも可能である。ただし、データの共有ができないため、同じアプリケーションやサービスを同時に提供することはできない。またこの場合、障害時には、アクティブ−アクティブ構成と同様の考慮が必要となる。Windowsのクラスタ(MSCS)は、アクティブ−パッシブ構成を提供する製品である。

 アクティブ−アクティブ構成、アクティブ−パッシブ構成の比較を以下にまとめる。

  アクティブ−アクティブ アクティブ−パッシブ
概要 ・サーバすべてが共有ディスクに同時にアクセス可能
・同時に負荷分散を行うことも可能
・単一サーバのみが共有ディスクへアクセス可能
・複数の共有ディスクがあれば制限付きのアクティブ−アクティブ構成が可能
障害時のダウンタイム ○ほぼなし ×切り替えの時間ダウンタイム発生
アプリケーション △専用アプリケーションとなることが多い ○汎用的に利用できるアプリケーションが多い
障害復旧 ×困難 ○容易
サーバ・リソースの利用効率 ○よい △一般的に悪い
負荷分散 ○可能 ×不可
価格 ×高価 ○安価
表3 クラスタ・モデルの比較

 これら2つの構成とは別に、遠隔地でのクラスタ・モデルとして、Mirrored Disks構成というものがある。この構成は、遠隔地に設定されている共有ディスク間で同期を取ることで、データの整合性とサービスを提供するモデルである。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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