(57)【要約】【課題】  系切り替えを行うクラスタシステムにおいて、ストレージ装置に対するアクセスの排他制御を行う。【解決手段】  実行系で系障害が起こった場合、待機系との間のHeart Beatメッセージが途絶えるため、待機系のクラスタプログラム２０４は、実行系の障害を検知する。その際、クラスタプログラム２０４は、ＦＣ−ＳＷ内のパス設定プログラム６０２に対して実行系からのディスクアクセスのパスの切り換え要求を送信する。その要求を受け取ったパス設定プログラム６０２は、パス管理テーブル６０３を書き換えて、実行系からのディスクアクセスのパスを遮断する。そして、処理の結果をクラスタプログラム２０４に送信する。その結果を受け取ったクラスタプログラム２０４は、サーバプログラム２０６の起動などを行う。サーバプログラム２０６は、実行系１０１に障害が発生し、業務処理が停止した時点のチェックポイントから業務処理を開始する。【選択図】      図２
2006189963.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を行う実行系計算機と、
前記実行系計算機に障害が発生した場合に、前記実行系計算機の処理を引き継ぐ待機系計算機と、
前記処理に伴って、前記実行系計算機および前記待機系計算機からアクセスを受け、所定のデータを入出力するストレージ装置と、
前記実行系計算機、前記待機系計算機および前記ストレージ装置とがそれぞれ通信するための複数のポートを備え、それらのポート間を接続するパスを制御するパス接続スイッチと、
を備えるクラスタシステムにおけるストレージアクセス制御方法であって、
前記待機系計算機が、前記実行系計算機に障害が発生したことを検出した場合に、前記パス接続スイッチに前記各計算機と前記ストレージ装置との間のパスの切り換え要求を送信し、
前記パス接続スイッチは、前記パスの切り換え要求を受信した場合に、前記実行系計算機と前記ストレージ装置との間のアクセスを禁止するとともに、前記待機系計算機と前記ストレージ装置との間のアクセスを許可するように前記パスを設定し、そのパスの設定結果を前記待機系計算機に送信し、
前記待機系計算機は、前記パスの設定結果を受信した場合に、前記実行系計算機が行っていた処理を引き継ぐ
ことを特徴とするストレージアクセス制御方法。
【請求項２】
前記パス接続スイッチは、
ファイバチャネルスイッチであり、
所定のゾーンとそのゾーンに属するポートとの関係を管理するゾーン管理テーブルを備え、
前記実行系計算機と前記ストレージ装置との間のアクセスを禁止するときに、前記実行系計算機のポートと前記ストレージ装置のポートとを異なるゾーンに割り当てるように前記ゾーン管理テーブルを設定し、
前記待機系計算機と前記ストレージ装置との間のアクセスを許可するときに、前記待機系計算機のポートと前記ストレージ装置のポートとを同じゾーンに割り当てるように前記ゾーン管理テーブルを設定する
ことを特徴とする請求項１に記載のストレージアクセス制御方法。
【請求項３】
前記パス接続スイッチは、ＬＡＮスイッチであること
を特徴とする請求項１に記載のストレージアクセス制御方法。
【請求項４】
前記実行系計算機および前記待機系計算機のメモリダンプ用領域が前記ストレージ装置内に存在する場合、
前記クラスタシステムは、
前記実行系計算機と前記パス接続スイッチ、および、前記待機系計算機と前記パス接続スイッチの間に、それぞれの間のアクセスパスとしてデータ転送用パスおよびダンプ出力用パスを備え、
前記パス接続スイッチは、
前記実行系計算機と前記ストレージ装置との間のアクセスを禁止するときに、前記実行系計算機のデータ転送用パスと前記ストレージ装置との間のアクセスを禁止し、前記実行系計算機のダンプ出力用パスと前記ストレージ装置との間のアクセスを許可する
ことを特徴とする請求項１ないし請求項３のいずれか一項に記載のストレージアクセス制御方法。
【請求項５】
所定の処理を行う実行系計算機と、
前記実行系計算機に障害が発生した場合に、前記実行系計算機の処理を引き継ぐ待機系計算機と、
前記処理に伴って、前記実行系計算機および前記待機系計算機からアクセスを受け、所定のデータの入出力を制御するストレージ制御装置と、
前記ストレージ制御装置に接続され、前記データを入出力するストレージ装置と、
前記実行系計算機、前記待機系計算機および前記ストレージ制御装置とがそれぞれ通信するための複数のポートを備え、前記実行系計算機と前記ストレージ制御装置との間、および、前記待機系計算機と前記ストレージ制御装置との間をそれぞれ接続するパス接続スイッチと、
を備えるクラスタシステムにおけるストレージアクセス制御方法であって、
前記待機系計算機は、前記実行系計算機に障害が発生したことを検出した場合に、前記パス接続スイッチを介して前記ストレージ制御装置に前記実行系計算機からのアクセスを拒否する要求を送信し、
前記ストレージ制御装置が、前記要求を受信した場合に、前記実行系計算機からのアクセスを拒否するように内部テーブルを設定し、
前記待機系計算機が、前記実行系計算機が行っていた処理を引き継ぐ
ことを特徴とするストレージアクセス制御方法。
【請求項６】
所定の処理を行う実行系計算機と、
前記実行系計算機に障害が発生した場合に、前記実行系計算機の処理を引き継ぐ待機系計算機と、
前記処理に伴って、前記実行系計算機および前記待機系計算機からアクセスを受け、所定のデータを入出力するストレージ装置と、
前記実行系計算機、前記待機系計算機および前記ストレージ装置とがそれぞれ通信するための複数のポートを備え、それらのポート間を接続するパスを制御するパス接続スイッチと、
を備えるクラスタシステムであって、
前記待機系計算機は、前記実行系計算機に障害が発生したことを検出した場合に、前記パス接続スイッチに前記各計算機と前記ストレージ装置との間のパスの切り換え要求を送信し、
前記パス接続スイッチは、前記パスの切り換え要求を受信した場合に、前記実行系計算機と前記ストレージ装置との間のアクセスを禁止するとともに、前記待機系計算機と前記ストレージ装置との間のアクセスを許可するように前記パスを設定し、そのパスの設定結果を前記待機系計算機に送信し、
前記待機系計算機は、前記パスの設定結果を受信した場合に、前記実行系計算機が行っていた処理を引き継ぐ
ことを特徴とするクラスタシステム。
【請求項７】
所定の処理を行う実行系計算機と、
前記実行系計算機に障害が発生した場合に、前記実行系計算機の処理を引き継ぐ待機系計算機と、
前記処理に伴って、前記実行系計算機および前記待機系計算機からアクセスを受け、所定のデータを入出力するストレージ装置と、
がそれぞれ通信するための複数のポートを備え、それらのポート間を接続するパスを制御するパス接続スイッチであって、
前記待機系計算機からの要求によって、障害が発生した前記実行系計算機と前記ストレージ装置との間のアクセスを禁止し、前記待機系計算機と前記ストレージ装置との間のアクセスを許可すること
を特徴とするパス接続スイッチ。
【請求項８】
所定の計算機およびパス接続スイッチに請求項１ないし請求項５のいずれか一項に記載のストレージアクセス制御方法を実行させることを特徴とするストレージアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行系および待機系を備えることで、障害許容性を有するコンピュータシステム技術に関する。また、計算機における通信のアクセス制御技術に関する。
【背景技術】
【０００２】
複数の系と共有ディスク装置からなるクラスタシステムでは、ある系が障害となった場合、待機していた別の系に切り替え（ホットスワップ）を行うことで、処理を続行することができる。このような系切り替えシステムでは、共有ディスク装置に対する書き込みが複数の系から同時に行われた場合にデータが破壊される恐れがあるため、共有ディスク装置へのアクセス（以下、ディスクアクセスという）には排他制御が必要となる。
【０００３】
従来、複数台の計算機からの共有ディスク装置へのアクセスについて排他制御を行う場合には、ＳＣＳＩ(Small Computer System Interface）のRESERVEコマンド、RELEASEコマンドを用いる方法やＬＶＭ(Logical Volume Manager)で論理ボリュームのアクティブ、非アクティブの制御を行う方法が用いられてきた。
ＳＣＳＩのRESERVEコマンドは、論理ユニットの予約を行い、RELEASEコマンドでその予約を解放するまでは他のイニシエータからのRESERVE要求を受け付けないようにすることができる（非特許文献１参照）。
また、ＬＶＭでは、ＶＧ（Volume Group）に対するアクティブ状態、非アクティブ状態を実行系、待機系のクラスタソフトウェアで制御することにより、アクティブ状態でない系からのディスクアクセスを防ぐことができる（非特許文献２参照）。
【０００４】
一方、特定の計算機からの不正なディスクアクセスを防止する手段として、上位装置の識別情報とディスク装置のポートを対応付けたテーブルをディスク装置に保持しておき、あらかじめ定義された上位装置からのアクセスを拒否するという方法がある（特許文献１参照）。
共有ディスク装置を持つクラスタシステムにおいて、系障害が発生することにより系切り替えを行う際には、ディスク装置への不正な二重書き込みを防止するために、障害となった系から共有ディスク装置への書き込みを防止する必要がある。その方法としては、系切り替えのタイミングで待機系から障害系（系障害が発生した実行系）をリセットし、ＯＳ（Operating System）自体を停止させることによりディスクアクセスを停止させるという手段が用いられている（特許文献２参照）。
【特許文献１】特開平１０−３３３８３９号公報（段落００６１〜００７２、図１、図６、図７）
【特許文献２】特開平１０−２０７８５５号公報（段落００３０〜００５５、図１）
【非特許文献１】“T10 Working Drafts”、［online］、T10 (Technical Committee of the International Committee on Information Technology Standards)、［２００４年１２月２７日検索］、インターネット＜ＵＲＬ：http://www.t10.org＞
【非特許文献２】“Service Guardの管理”、［online］、第９版、２００４年６月、Hewlett-Packard Development Company、［２００４年１２月２７日検索］、インターネット＜ＵＲＬ：http://docs.hp.com/ja/B3936-90080/B3936-90080.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ディスク装置への二重書き込みによるデータ破壊を防止するためには、ディスクアクセスの排他制御が必要であるが、系自体に障害が発生した場合には、クラスタソフトウェアだけではディスクアクセスを制御できないので、系そのものをリセットしなければならなかった。しかし、リセットを行うシステムでは、リセット機構をもつ専用のハードウェアが必須であり、汎用性に欠けるという問題がある。また、リセット機構を要するため、クラスタ構成のシステムに対して新たな計算機を追加する場合にもコストがかかる。また、障害となった系の障害原因を調査するためには、リセットを行う前にメモリのダンプをディスク装置に保存するといった処理が必要となる。
【０００６】
そこで、前記問題に鑑みて、本発明の目的は、系切り替えを行うクラスタシステムにおいて、ストレージ装置に対するアクセスの排他制御を行う手段を提供することにある。
【課題を解決するための手段】
【０００７】
前記課題を解決する本発明は、所定の処理を行う実行系計算機と、実行系計算機に障害が発生した場合に、実行系計算機の処理を引き継ぐ待機系計算機と、処理に伴って、実行系計算機および待機系計算機からアクセスを受け、所定のデータを入出力するストレージ装置と、実行系計算機、待機系計算機およびストレージ装置とがそれぞれ通信するための複数のポートを備え、それらのポート間を接続するパスを制御するパス接続スイッチとを備えるクラスタシステムにおけるストレージアクセス制御方法であって、待機系計算機が、実行系計算機に障害が発生したことを検出した場合に、パス接続スイッチに各計算機とストレージ装置との間のパスの切り換え要求を送信し、パス接続スイッチが、パスの切り換え要求を受信した場合に、実行系計算機とストレージ装置との間のアクセスを禁止するとともに、待機系計算機とストレージ装置との間のアクセスを許可するようにパスを設定し、そのパスの設定結果を待機系計算機に送信し、待機系計算機が、パスの設定結果を受信した場合に、実行系計算機が行っていた処理を引き継ぐことを主な特徴とする。なお、本発明は、クラスタシステム、パス接続スイッチおよびストレージアクセス制御プログラムを含むものとする。
【発明の効果】
【０００８】
本発明によれば、系切り替えを行うクラスタシステムにおいて、ストレージ装置に対するアクセスの排他制御を行うことができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１０】
≪第１の実施の形態≫
最初に、本発明の第１の実施の形態を説明する。
【００１１】
<システムの構成と概要>
図１は、本発明の第１の実施の形態に係るクラスタシステムの機能構成を示す図である。クラスタシステム１は、ブレードサーバ１０３、ＦＣ−ＳＷ（Fibre Channel-SWitch）１０４および共有ディスク装置１０５を含んで構成される。
【００１２】
ブレードサーバ１０３は、実行系１０１および待機系１０２から構成される。ここで、系とは、例えば、ブレードサーバ１０３に組み込まれるブレード（サーバ基板）に対応するものであり、所定の業務処理を行うことができる１個の計算機に相当する。以下、系を計算機ともいう。実行系１０１は、現在業務処理（処理）を実行している計算機である。待機系１０２は、現在は業務処理をせず、実行系１０１に障害が発生した場合にその業務処理を引き継ぐ計算機であり、換言すれば、系の切り替えを待っている計算機である。実行系１０１、待機系１０２の各計算機では、ＯＳ２０１、２０２、クラスタプログラム２０３、２０４およびサーバプログラム２０５、２０６がそれぞれ動作する。ＯＳ２０１、２０２は、各計算機において動作するプログラムを含む計算機のシステム全体を管理する。クラスタプログラム２０３、２０４は、系の監視および切り替えを行う。サーバプログラム２０５、２０６は、業務処理を行うアプリケーションプログラム（業務プログラムやプログラムともいう）である。
【００１３】
クラスタプログラム２０３、２０４は、自系および他系の状態を保持しておくための系情報テーブル２０７、２０８をそれぞれ持つ。系情報テーブル２０７、２０８には、例えば、各計算機のＩＰ（Internet Protocol）アドレスや、各計算機上で動作しているサーバプログラム名、共有リソースの種類や名前などが保持される。クラスタプログラム２０３は、自系のサーバプログラム２０５と通信を行い、サーバプログラム２０５の状態を監視する。
【００１４】
各計算機上で動作するクラスタプログラム２０３および２０４は、その間で一定時間ごとにHeart Beatと呼ばれるメッセージをやり取りすることにより、互いに相手の系が正常に動作しているかどうかをチェックしている。このHeart Beatメッセージの送受信は、各クラスタプログラム２０３、２０４によって監視パス３０１を介して行われる。待機系１０２のクラスタプログラム２０４は、実行系１０１のクラスタプログラム２０３からのHeart Beatメッセージを検知できなかった場合、実行系１０１または監視パス３０１に何らかの障害が発生したとみなし、系の切り替えを行う契機とする。なお、監視パス３０１は、専用のＬＡＮ（Local Area Network）などによって実現される。クラスタプログラム２０４により系の切り替えを行うことで業務処理を続行することができる。
【００１５】
各計算機は、ＦＣアダプタ４０１、４０２をそれぞれ有し、各パス４０３、４０４およびＦＣ−ＳＷ１０４を通して共有ディスク装置１０５にアクセスすることができる。
【００１６】
ＦＣ−ＳＷ１０４は、ブレードサーバ１０３の実行系１０１、待機系１０２および共有ディスク装置１０５に接続され、各系と共有ディスク装置１０５との間のデータ転送パスの接続を管理、制御する。ＦＣ−ＳＷ１０４は、ポート５０１（Ｐ１）、５０２（Ｐ２）、５０３（Ｐ３）の間を接続するデータ転送のパス５０４、５０５、５０６を管理するパス管理部６０１と、パス制御を行うパス設定プログラム６０２と、パスのアクセス可否を保持するパス管理テーブル６０３とを備える。実行系１０１からのディスクアクセス要求は、ポート５０１を通じてパス管理部６０１に受信される。パス管理部６０１では、パス設定プログラム６０２の実行により、パス管理テーブル６０３を参照し、そのアクセスが許可されているかどうかを判断する。許可されている場合はアクセスが行われるが、許可されていない場合はその要求が拒否される。また、各計算機のＬＡＮアダプタ７０１、７０２は、ＦＣ−ＳＷ１０４のＬＡＮアダプタ７０３にパス７０４、７０５でそれぞれ接続されており、ＦＣ−ＳＷ１０４のパス管理部６０１と通信を行うことができる。なお、パス７０４、７０５は、専用のＬＡＮなどによって実現される。
【００１７】
共有ディスク装置１０５は、実行系１０１や待機系１０２による業務処理などに伴って各計算機からアクセスを受け、所定のデータを入出力する。所定のデータとは、例えば、データベースに格納される、業務処理に関するデータやログ情報などである。
【００１８】
ここではＦＣアダプタ４０１、４０２およびＦＣ−ＳＷ１０４を用いてストレージ装置（共有ディスク装置１０５）にアクセスする例を示したが、ＦＣアダプタ４０１、４０２およびＦＣ−ＳＷ１０４をＬＡＮアダプタおよびＬＡＮスイッチに置き換えて、ストレージ装置としてＩＰストレージを用いるようにしてもよい。また、図１ではＦＣ−ＳＷ１０４の制御を７０１ないし７０５で構成されるＬＡＮで行っているが、ＦＣを用いたネットワークに置き換えてもよい。
【００１９】
以下、処理の概要を説明する。まず、実行系１０１で系障害が起こった場合、待機系１０２との間のHeart Beatメッセージが途絶えるため、待機系１０２のクラスタプログラム２０４は、実行系１０１に障害が発生したことを検知する。その際に、系情報テーブル２０８内の実行系１０１の状態を稼動状態（実行系として業務処理を行っている状態）から障害状態に書き換える。
実行系１０１からは共有ディスク装置１０５へのアクセスが継続して行われている可能性があるため、クラスタプログラム２０４は、ＦＣ−ＳＷ１０４内のパス設定プログラム６０２に対して実行系１０１からのディスクアクセスのパス５０４を切断するための要求（パスの切り換え要求）をＬＡＮアダプタ７０２から送信する。このようにすることにより、実行系１０１は、共有ディスク装置１０５にアクセスすることができなくなる。
【００２０】
その要求を受け取ったパス設定プログラム６０２は、パス管理テーブル６０３の中から、実行系１０１が使用しているパスを検索し、強制的にパス５０４をアクセス不可に設定する。これにより、実行系１０１からのディスクアクセスは遮断（禁止）される。その後、パス設定プログラム６０２は処理の結果（パスの切り換え結果）をクラスタプログラム２０４に送信する。
その結果を受け取ったクラスタプログラム２０４は、外部ネットワークに接続されているＬＡＮアダプタのＩＰアドレスの引継ぎ、サーバプログラム２０６の起動、系が３つ以上存在する場合には、全他系への切り替え完了通知を行う。サーバプログラム２０６は、クラスタプログラム２０４から起動された後、共有ディスク装置１０５内のデータを参照して、実行系１０１に障害が発生し、業務処理が停止した時点のチェックポイントから業務処理を開始する。
【００２１】
<システムの処理>
図２は、系の切り替えの処理を示すフローチャートである。この一連の処理は、実行系１０１のクラスタプログラム２０３、待機系１０２のクラスタプログラム２０４、ＦＣ−ＳＷ１０４のパス設定プログラム６０２および待機系１０２のサーバプログラム２０６の各処理から構成される。この例では、実行系１０１で障害が発生し、待機系１０２のクラスタプログラム２０４が障害を検知することにより、待機系１０２に切り替わるまでの処理の流れを示している。なお、ここでいう障害とは、各系の間で送受信されるHeart Beatメッセージに対する応答がないことによって検出されるものであり、そのとき業務処理を行っている実行系１０１のクラスタプログラム２０３のハングアップやスローダウン、監視パス３０１の通信障害などを含む。
【００２２】
まず、実行系１０１で障害が発生すると（Ｓ１０１）、実行系１０１のクラスタプログラム２０３は、Ｓ２０１で待機系１０２のクラスタプログラム２０４から送信されたHeart Beatメッセージに対する応答を返すことができない。そこで、クラスタプログラム２０４は、クラスタプログラム２０３からの応答が返って来ない時間が所定の閾値を超えたときに障害を検知する（Ｓ２０２）。実行系１０１の障害を検知したクラスタプログラム２０４は、保持している系情報テーブル２０８を変更して（Ｓ２０３）、実行系１０１の状態を稼動状態から障害状態に設定する。その後、ＦＣ−ＳＷ１０４のパス設定プログラム６０２に対して、ディスクアクセスに使用されているパス５０４の遮断、および待機系１０２からのパス接続を含む、ディスクアクセスのパスの切り換え要求を発行する（Ｓ２０４）。パス設定プログラム６０２は、次に待機系１０２が使用する切り換え先のパス５０５が利用可能であるかどうかを調査する（Ｓ３０１）。パス５０５が利用可能であれば（Ｓ３０２のＹＥＳ）、実行系１０１からのディスクアクセスを遮断（禁止）し、待機系１０２からのディスクアクセスを許可するようにパス管理テーブル６０３（詳細は後記）を書き換える（Ｓ３０３）。その後、クラスタプログラム２０４に結果を送信する（Ｓ３０４）。
【００２３】
クラスタプログラム２０４は、パス切り換えが正常終了したかどうかの判定を行う（Ｓ４０１）。パス切り換えが正常終了しなかった場合には（Ｓ４０１のＮＯ）、系の切り替えに失敗した（Ｓ４０２）ことになり、それ以降の系の切り替え処理を行わないため、待機系１０２では、サーバプログラム２０６を起動しない。パス切り換えが正常終了した場合には（Ｓ４０１のＹＥＳ）、待機系１０２のクラスタプログラム２０４は、基幹ＬＡＮアダプタのエイリアス（別名）ＩＰアドレスの付け替え（ＬＡＮ切り替え）を行い（Ｓ４０３）、系情報テーブル２０８の状態変更を行う（Ｓ４０４）。具体的には、実行系１０１の状態を削除し、待機系１０２の状態を待機状態から稼動状態に設定する。これは、待機系１０２が実行系の計算機となったことを示す。そして、サーバプログラム２０６を起動する（Ｓ４０５）。待機系１０２のサーバプログラム２０６は、共有ディスク装置１０５を参照して、実行系１０１に障害が発生し、業務処理が停止した時点のチェックポイントから業務処理を開始する（Ｓ５０１）。さらに、クラスタプログラム２０４は、系が３つ以上ある場合に、全系に対して系切り替え完了通知を行う（Ｓ６０１）。なお、実行系１０１のクラスタプログラム２０３では、ディスクアクセスのパス５０４が切断された後、障害情報を収集することができる（Ｓ７０１）。
【００２４】
以上の一連の処理により、実行系１０１の障害検出時に、ディスクアクセスのパスを切り換えることによって、リセットを行うことなく系切り替えを行うことが可能となる。また、パスの切り換え処理が完了した後から、実行系１０１の障害調査を行うことができる。
【００２５】
<テーブルの構成>
図３は、パス管理テーブルの構成を示す図であり、障害発生前後の状態を含めて示している。この図３は、ＦＣ−ＳＷ１０４の内部において、どのポート間のパスがアクセス可能であるかという情報をまとめたパス管理テーブル６０３を示したものである。
障害発生前のパス管理テーブル６０３１は、ディスク（共有ディスク装置１０５）側ポートＩＤＰ３に対して、計算機側ポートＩＤＰ１からはアクセスできるが、計算機側ポートＩＤＰ２からはアクセスできないことを示している。実行系１０１で系障害が発生し、待機系１０２がポートＩＤＰ１からポートＩＤＰ３へのアクセスを切断する要求を出した場合、障害後のパス管理テーブル６０３２に示すように、ポートＩＤＰ３に対して、ポートＩＤＰ１からはアクセスできなくなるが、系の切り替えによってポートＩＤＰ２からはアクセスできるようになる。
【００２６】
このパス管理テーブル６０３をＦＣ−ＳＷ１０４内のパス管理部６０１に持ち、パス設定プログラム６０２が共有ディスク装置１０５の排他制御を行うことによって、障害が発生した系（以下、障害系という）からの共有ディスク装置への書き込みを確実に防止することができる。また、ポート間のアクセスパスを容易に操作できることから、ＦＣアダプタを多重化した場合においても、柔軟なアクセス制御が可能となる。
【００２７】
<ハードウェアの構成>
図４は、クラスタシステムのハードウェア構成を示す図である。クラスタシステム１は、実行系１０１、待機系１０２、ＦＣ−ＳＷ１０４、共有ディスク装置１０５を含んで構成される。実行系１０１の計算機内では、ＣＰＵ（Central Processing Unit）１０６、メモリ１１２、監視パス用のＬＡＮアダプタ３０２、ＦＣ−ＳＷ制御用のＬＡＮアダプタ７０１、ＦＣアダプタ４０１および入出力装置１１０がバス１０８を介して接続されている。待機系１０２の計算機の構成も同様である。メモリ１１２、１１３上には、ＯＳ２０１、２０２、クラスタプログラム２０３、２０４およびサーバプログラム２０５、２０６がそれぞれロードされている。各クラスタプログラム２０３、２０４は、系の情報を管理する系情報テーブル２０７、２０８をそれぞれ持つ。ＦＣアダプタ４０１、４０２、ＬＡＮアダプタ７０１、７０２および共有ディスク装置１０５は、ＦＣ−ＳＷ１０４に接続する。監視パス用のＬＡＮアダプタ３０２、３０３は、系の監視を行うためのHeart Beatメッセージのやりとりに使用される。
【００２８】
≪第２の実施の形態≫
次に、本発明の第２の実施の形態を説明する。なお、前記した実施の形態と重複する説明は省略する。
【００２９】
図５は、クラスタシステムの機能構成を示す図であり、特に、ＦＣ−ＳＷの制御を管理プロセッサで行う場合の図である。図１では、ＦＣ−ＳＷ１０４の制御をクラスタプログラム２０４が行っているが、図５に示すように、ブレードサーバ１０３内に管理プロセッサ７１０が内蔵されているクラスタシステム１では、管理プロセッサ７１０がＦＣ−ＳＷ１０４の制御を行う。図５では、ＬＡＮアダプタ７０１、７０２を管理プロセッサ７１０に接続している。クラスタプログラム２０４が管理プロセッサ７１０に対して障害系１０１のディスクアクセスのパス切断要求を発行することにより、管理プロセッサ７１０で動作しているＦＣ−ＳＷ制御プログラム７１１がＦＣ−ＳＷ１０４に対してパス切断要求を発行し、ＦＣ−ＳＷ１０４内のパス設定プログラム６０２はパス５０４を切断する。
管理プロセッサ７１０を介することによって、管理プロセッサ７１０がＦＣ−ＳＷ１０４との間のプロトコル処理を行うことになるので、各系のＣＰＵに負荷をかけることなくＦＣ−ＳＷ１０４の制御を行うことができるという効果がある。
【００３０】
図６は、クラスタシステムのハードウェア構成を示す図であり、特に、ＦＣ−ＳＷの制御を管理プロセッサが行う場合の図である。実行系１０１のＬＡＮアダプタ７０１および待機系１０２のＬＡＮアダプタ７０２が管理プロセッサ７１０に接続されている。管理プロセッサ７１０では、ＦＣ−ＳＷ制御プログラム７１１が動作しており、ＦＣ−ＳＷ１０４の制御を行うことができる。
【００３１】
図７は、系の切り替えの処理を示すフローチャートであり、特に、ＦＣ−ＳＷの制御を管理プロセッサで行う場合のフローチャートである。
実行系１０１の障害が発生してから待機系１０２のクラスタプログラム２０４がパス切り換え要求を発行するまで（Ｓ１０１ないしＳ２０４）の流れは、図２と同様である。クラスタプログラム２０４からのパス切り換え要求を管理プロセッサ７１０が受け取ると、ＦＣ−ＳＷ制御プログラム７１１はＦＣ−ＳＷ１０４に対してパス切り換え要求を発行する（Ｓ２０５）。ＦＣ−ＳＷ１０４内のパス設定プログラム６０２は、切り換え先パスの状態調査を行う（Ｓ３０１）。このとき、切り換え先パスが利用可能であれば（Ｓ３０２のＹＥＳ）、実行系１０１からのディスクアクセスを遮断（禁止）し、待機系１０２からのディスクアクセスを許可するようにパス管理テーブル６０３を書き換える（Ｓ３０３）。そして、その結果をＦＣ−ＳＷ制御プログラム７１１に対して送信する（Ｓ３０４）。ＦＣ−ＳＷ制御プログラム７１１は、その結果を判定する（Ｓ４０１）。正常終了しなかった場合には（Ｓ４０１のＮＯ）、系切り替え失敗通知であるエラーメッセージを待機系１０２のクラスタプログラム２０４に送信し、クラスタプログラム２０４は、サーバプログラム２０６の起動を中止する。パスの切り換えが正常終了した場合には（Ｓ４０１のＹＥＳ）、クラスタプログラム２０４に対してその結果を正常終了メッセージとして送信する（Ｓ４０６）。その後の処理は、図２と同様である。
【００３２】
≪第３の実施の形態≫
次に、本発明の第３の実施の形態を説明する。なお、前記した実施の形態と重複する説明は省略する。
【００３３】
ＦＣ−ＳＷでは、複数の計算機でディスク装置を共有している場合、他の計算機が使用しているディスク装置に不正な書き込みを行わないように、ポートのグループを定義することができる。異なるグループに属するポートに接続された計算機は、互いに認識できない。この技術はゾーニングと呼ばれる。これを用いて、系障害が発生したことを契機に、障害系のポートを別のゾーンに分離することで不正なディスクアクセスを防ぐことができる。
【００３４】
図８は、ゾーン管理テーブルの構成を示す図である。ゾーン管理テーブルは、ゾーンに属するポートを変更することによって、各ポートに接続される計算機（実行系（障害系）１０１、待機系１０２）と共有ディスク装置１０５との間におけるアクセスの排他制御を行うテーブルである。障害が発生する前のゾーン管理テーブル６０３３では、ＦＣ−ＳＷ１０４に付属するポート１、ポート３およびポート４がゾーン１に割り当てられ、ポート２がゾーン２に割り当てられている。これによって、ポート２に接続されている待機系１０２が、ポート３に接続されている共有ディスク装置１０５にアクセスできないように制御される。そして、実行系１０１に障害が発生し、系の切り替えが行われる際には、障害が発生した後のゾーン管理テーブル６０３４に示すように、ポート１をゾーン２に変更し、ポート２をゾーン１に変更することによって、障害系１０１からのゾーン１のリソース（特に、共有ディスク装置１０５）へのアクセスを禁止し、待機系１０２からのゾーン１のリソース（特に、共有ディスク装置１０５）へのアクセスを許可することができる。
【００３５】
≪第４の実施の形態≫
次に、本発明の第４の実施の形態を説明する。なお、前記した実施の形態と重複する説明は省略する。
【００３６】
図９は、クラスタシステムおよびＦＣ−ＳＷのハードウェア構成を示す図であり、特に、ブレードサーバがローカルディスク装置を持たず、メモリダンプ取得用の領域が共有ディスク装置内に存在する場合の図である。
この構成は、ローカルディスク装置を持たないブレードサーバのあるクラスタシステムにおいて、共有ディスク装置にメモリダンプを取る場合、系の切り替えにより障害系のデータ転送用パスが切断されると、共有ディスク装置へのアクセスができなくなるため、障害系のメモリダンプが取られないという問題を解決するものである。
【００３７】
実行系１０１および待機系１０２の構成については、ＦＣアダプタを２個使用している以外は図１と同様であるため、ＦＣ−ＳＷ１０４、共有ディスク装置１０６およびそれらに接続されている部分を示す。
この構成では、業務用およびダンプ用にそれぞれ１本ずつＦＣを使用している。すなわち、図９に示すように、業務用ＦＣアダプタ４０１１、４０２１およびダンプ用ＦＣアダプタ４０１２、４０２２は、それぞれ個別のＦＣケーブルを介してＦＣ−ＳＷ１０４に接続されている。共有ディスク装置１０６内には、業務用領域１０６１およびダンプ用領域１０６２が存在し、それらが接続されるＦＣアダプタ（図示せず）があるものとする。なお、ダンプ用領域１０６２は、メモリダンプを取得する場合に使用される。図９に示すように、これらのアダプタは、ＦＣ−ＳＷ１０４内のポートＰ１１（５０１１）、Ｐ１２（５０１２）、Ｐ２１（５０２１）、Ｐ２２（５０２２）およびＰ３１（５０３１）に接続されており、ポート間のパスはパス管理部６０１によって管理される。パス管理部６０１は、各ポートに対して当該ポート以外のすべてのポートとの間のパスを管理しており、その接続（通信許可とする）および切断（通信不可とする）を行うことができる。
【００３８】
なお、図９では、共有ディスク装置１０６において、業務用領域１０６およびダンプ用領域１０６２が別のディスク装置にそれぞれ設定されているように示されているが、業務用領域１０６およびダンプ用領域１０６２が１つのディスク装置に論理ユニットを分けて設定されるようにしてもよい。
【００３９】
実行系１０１に障害が発生した場合には、待機系１０２のクラスタプログラム２０４（図１参照）が障害系１０１の業務用のパス５０４１を切断する要求をＦＣ−ＳＷ１０４に対して発行する。ＦＣ−ＳＷ１０４が、その要求を受けると、障害系１０１の業務用のパス５０４１は切断するが、ダンプ用のパス５０４２は接続する。これは、障害系１０１の業務用ＦＣ（データ転送用パス）と共有ディスク装置１０６との間のアクセスを禁止し、ダンプ用ＦＣ（ダンプ出力用パス）と共有ディスク装置１０６との間のアクセスを許可することを意味する。これによって、障害系１０１は、系の切り替え後もメモリダンプ用領域１０６２に対してはアクセスできるため、障害系１０１のメモリダンプを取得することが可能である。
【００４０】
これによれば、ローカルディスク装置を持たないブレードサーバのあるクラスタシステムにおいても、リセット操作が不要であり、メモリダンプを取りつつ、系の切り替えを安全に行うことが可能となる。
【００４１】
≪第５の実施の形態≫
次に、本発明の第５の実施の形態を説明する。なお、前記した実施の形態と重複する説明は省略する。
【００４２】
図１０は、クラスタシステムの機能構成を示す図であり、特に、系の切り替え時にファイバチャネル接続記憶制御装置（以下、記憶制御装置）を用いてディスクアクセスの排他制御を行う場合の図である。
実行系および待機系の構成については、図１と同様であるため、ＦＣ−ＳＷ１０４およびストレージシステム８０１を示す。ＦＣ−ＳＷ１０４は、ストレージシステム８０１に接続されており、ストレージシステム８０１は、記憶制御装置８０２および共有ディスク装置１０５を含んで構成される。記憶制御装置８０２は、ファイバチャネル制御部８０３、デバイスインタフェース制御部８０４、マイクロプロセッサ８０５、制御メモリ８０６から構成される。制御メモリ８０６内には、制御テーブル８０７が格納されており、マイクロプロセッサ８０５から読み書きすることができる。ファイバチャネル制御部８０３は、実行系１０１および待機系１０２からのアクセスに対してマイクロプロセッサ８０５への割り込みや、ディスクアクセス要求元への応答を行う。デバイスインタフェース制御部８０４では、共有ディスク装置１０５のアクセス制御を行う。
【００４３】
記憶制御装置８０２を用いた場合、実行系１０１の障害を検知すると、待機系１０２のクラスタプログラム２０４は、ＦＣ−ＳＷ１０４を通して記憶制御装置８０２に対して、障害系１０１からのディスクアクセスを拒否する要求を発行する。ファイバチャネル制御部８０３は、マイクロプロセッサ８０５に割り込みをかけ、マイクロプロセッサ８０５は、障害系１０１からの要求を拒否するように制御テーブル８０７を書き換える。次に、障害系１０１からのアクセス要求があった場合には、マイクロプロセッサ８０５が制御テーブル８０７を参照したときにアクセスを拒否する設定になっているため、ディスク装置の排他処理が実現でき、安全に系の切り替えを行うことが可能となる。
この方法においても、障害系１０１のリセットが必要ないため、メモリダンプを取る必要はない。
【００４４】
図１１は、記憶制御装置で使用される制御テーブルの構成を示す図である。記憶制御装置８０２で使用する識別名としては、実行系１０１をＨＯＳＴＡ、待機系１０２をＨＯＳＴＢとする。また、ファイバチャネル制御部８０３のポート名をＣＴＬ０Ｐ０とする。障害が発生する前は、制御メモリ８０６内に制御テーブル８０７１が記憶されており、共有ディスク装置１０５に対して、実行系１０１からはアクセス可能であり、待機系１０２からはアクセス不可の状態となっている。実行系１０１に障害が発生した場合には、制御テーブル８０７２に示すように状態を変更して、実行系１０１からはアクセスを不可とし、待機系１０２からはアクセスを可能とする。
【００４５】
以上の説明によれば、待機系１０２のクラスタプログラム２０４が実行系１０１の障害を検知した場合、ＦＣ−ＳＷ１０４内のデータ転送のパス５０４を切断することにより、障害系１０１から共有ディスク装置１０５への不正なアクセスを抑止しつつ、系切り替えを行うことができる。その際、待機系１０２のクラスタプログラム２０４は実行系１０１に対してＣＰＵのリセット処理を行う必要がないため、リセット処理に必要な専用のハードウェアが不要になる。このため、汎用性が高く、コストの削減にも繋がるため，計算機の拡張も容易になる。
【００４６】
次に、障害系１０１のメモリ内容は系切り替え後も保持されているため、メモリダンプを取らずに障害原因の調査を行うことが可能となる。また、ＬＶＭのようなＯＳ依存のソフトウェアも不要となる。さらに、共有ディスク装置１０５との間のデータ転送に多重化したファイバケーブルを用いることにより、スループットの向上も期待できる。これによれば、各系の計算機からの共有ディスク装置１０５へのアクセスの排他制御を確実に行うことができる。
【００４７】
以上本発明の実施の形態について説明したが、図１に示すクラスタシステム１のそれぞれで実行されるプログラム（ストレージアクセス制御プログラムを含む）をコンピュータによる読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の実施の形態に係るクラスタシステム１が実現されるものとする。
【００４８】
≪その他の実施の形態≫
以上本発明について好適な実施の形態について一例を示したが、本発明は前記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、以下のような実施の形態が考えられる。
（１）前記実施の形態では、ブレードサーバ１０３に実行系１０１および待機系１０２の２個の計算機があるように記載したが、ブレードサーバ１０３が３個以上の計算機から構成されていてもよい。また、前記実施の形態では、共有ディスク装置１０５が１台であるように示したが、２台以上の構成であってもよい。
（２）前記実施の形態では、系の切り替えおよびディスクアクセスの制御を、各計算機およびＦＣ−ＳＷのプログラムが行うように記載したが、それらの制御をハードウェアまたはオブジェクトが行うようにしてもよい。
【図面の簡単な説明】
【００４９】
【図１】本発明の第１の実施の形態に係るクラスタシステムの機能構成を示す図である。
【図２】本発明の第１の実施の形態に係る系の切り替えの処理を示すフローチャートである。
【図３】本発明の第１の実施の形態に係るパス管理テーブルの構成を示す図である。
【図４】本発明の第１の実施の形態に係るクラスタシステムのハードウェア構成を示す図である。
【図５】本発明の第２の実施の形態に係るクラスタシステムの機能構成を示す図である。
【図６】本発明の第２の実施の形態に係るクラスタシステムのハードウェア構成を示す図である。
【図７】本発明の第２の実施の形態に係る系の切り替えの処理を示すフローチャートである。
【図８】本発明の第３の実施の形態に係るゾーン管理テーブルの構成を示す図である。
【図９】本発明の第４の実施の形態に係るクラスタシステムおよびＦＣ−ＳＷのハードウェア構成を示す図である。
【図１０】本発明の第５の実施の形態に係るクラスタシステムの機能構成を示す図である。
【図１１】本発明の第５の実施の形態に係る制御テーブルの構成を示す図である。
【符号の説明】
【００５０】
１      クラスタシステム
１０１  実行系（実行系計算機）
１０２  待機系（待機系計算機）
１０４  ＦＣ−ＳＷ（パス接続スイッチ、ファイバチャネルスイッチ、ＬＡＮスイッチ）
１０５、１０６  共有ディスク装置（ストレージ装置）
５０１、５０２、５０３  ポート
５０４、５０５、５０６  パス
６０３、６０３１、６０３２  パス管理テーブル
６０３３、６０３４  ゾーン管理テーブル
８０２  記憶制御装置（ストレージ制御装置）
【図１】
2006189963.tif 000003
【図２】
2006189963.tif 000004
【図３】
2006189963.tif 000005
【図４】
2006189963.tif 000006
【図５】
2006189963.tif 000007
【図６】
2006189963.tif 000008
【図７】
2006189963.tif 000009
【図８】
2006189963.tif 000010
【図９】
2006189963.tif 000011
【図１０】
2006189963.tif 000012
【図１１】
2006189963.tif 000013