連載
» 2009年03月26日 00時00分 公開

Windowsクラスタリング入門:第3回 MSCSによるファイル共有の実現から運用ノウハウまで (2/4)

[高橋郷,著]

MSCSをサポートしているアプリケーション

 共有フォルダの例では、手動でMSCSの提供するサービスを設定したが、MSCSをサポートしているEnterprise Server製品ではウィザードなどでMSCSを構成する手助けをしてくれる。

Microsoft SQL Server
  データベース・システムはフェイルオーバー・クラスタで最も広く利用されているアプリケーションだろう。SQL Serverは古くからMSCSをサポートしている。現在利用されていると思われるSQL Server 2005/2008では、フェイルオーバー・クラスタ上でインストールを実行すると、ウィザード形式で必要な情報を入力するだけで、いくつものリソースを手動で作成しなくてもSQL Serverのフェイルオーバー・クラスタによる可用性を提供可能となっている。

SQL Server 2005のフェイルオーバー・クラスタの作成
SQL Server 2005のセットアップ・ウィザードで、[SQL Server フェールオーバー クラスタの作成]のチェックを入れれば、クラスタの設定が自動的に完了する。

Oracle Fail Safe
  SQL Serverと同じく代表的なデータベース製品であるOracleもOracle Fail Safeという製品としてMSCSのサポートを行っている。Oracle Fail Safeでは、Oracle Fail Safe Managerをクラスタで管理するための専用のツールが用意されており、Oracleに適したリソース管理が可能となっている。

MSCS未サポートのアプリケーションの対応

 MSCSに対応していないアプリケーションであっても、汎用アプリケーション、汎用サービス、汎用スクリプト(これらをここでは汎用リソースと呼ぶ)を利用することで、MSCS上で独自のアプリケーションなどを動作させることが可能だ。また、HKEY_LOCAL_MACHINE以下に限定されるが、固有のレジストリ情報をほかのノードへ複製することもできる。

 ただし、汎用リソースでは、障害の検知の仕組みには制限がある。汎用リソースでは、専用のリソースDLLがないため、アプリケーションやサービス固有の障害検知の仕組みを提供できない。つまり、アプリケーションの障害そのものは検出できない。何らかの理由、例えばプロセスが停止するなどでアプリケーションが応答しなくなった場合のみ、クラスタ・ サービスがアプリケーションを再起動するか、フェイルオーバーするアクションを実施する。

汎用サービスの作成手順
  汎用サービスの作成手順を簡単に紹介する。今回はTelnetサービスをMSCS上で動作させてみる。

  1. [新しいリソース]ウィザードを起動する。
  2. [リソースの種類]で[汎用サービス]を選択する。
  3. [実行可能な所有者]ですべてのノードを選択する(デフォルト)。
  4. [依存関係]では何も選択せずに次へ進める。
  5. [汎用サービス パラメータ]ではサービス名を入力する。ここでいうサービス名は表示名ではないことに気を付ける必要がある。サービス名にはレジストリのHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesの下に表示されているキー名で確認するか、[サービス]のプロパティの「サービス名」に表示されている名前を指定する。
サービス名の指定
ここでは[サービス]のプロパティの「サービス名」などに表示されている名前を指定する。
  (1)Telnetのサービス名である「TlntSvr」を入力する。

サービス名の確認方法
[管理ツール]−[サービス]で対象としたいサービスのプロパティを開き、「サービス名」を調べる。
  (1)Telnetのサービス名が「TlntSvr」であることを確認する。

レジストリによるサービス名の確認方法
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesの下に表示されているキー名で確認できる。

 6. 「レジストリ レプリケーション」では何も指定しない。これで汎用サービスの作成が完了となる。

汎用サービスのレジストリ・レプリケーション
汎用サービスで指定したレジストリ情報は各ノードで共有される。

 汎用サービスを構成する場合の注意点として、各ノードの該当サービス、今回の例の場合はTelnetサービスの[スタートアップの種類]を[手動]または[自動]の設定に変更しておく必要がある。サービスの起動ができない状態では、汎用リソースをオンラインにした途端に障害となる。

 動作確認としては、サービスの管理やNET STOPコマンドでサービスを停止したり、タスクマネージャからプロセスを強制終了させたりすると、フェイルオーバーすることが確認できる。

 参考までに汎用リソースに限ったことではないが、MSCSで実行するアプリケーションの選定に役立つ情報として下記のサイトを参照するとよいだろう。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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