(57)【要約】【課題】クラスタシステムにおける各サーバ装置が有するローカルの物理記憶装置を、クラスタシステムの共有記憶装置として動作可能とすることである。【解決手段】一の装置間連携部３５は、ローカルの物理記憶装置１８１〜１８４に対してデータの読み書きを指示する。一のミラーディスクコントローラ３４は、論理記憶装置に対して、物理記憶装置をミラー化して割り当てる。一のミラー情報管理部３３は、前記論理記憶装置及びミラー化された前記物理記憶装置に関するミラーディスク構成情報を保持する。前記一のミラーディスクコントローラ３４は、リモートの物理記憶装置１９１〜１９４に対するデータの読み書きが可能であるときには、前記論理記憶装置に対して、トータルの物理記憶装置１８１〜１８４，１９１〜１９４をミラー化して割り当てる。前記一のミラー情報管理部３３は、前記論理記憶装置及びミラー化された前記トータルの物理記憶装置１８１〜１８４，１９１〜１９４に関するミラーディスク構成情報を保持する。【選択図】図４
2008225643.tif 000002
【特許請求の範囲】
【請求項１】
ローカルの物理記憶装置に対してデータの読み書きを指示する一の装置間連携部と、
論理記憶装置に対して、物理記憶装置をミラー化して割り当てる一のミラーディスクコントローラと、
前記論理記憶装置及びミラー化された前記物理記憶装置に関するミラーディスク構成情報を保持する一のミラー情報管理部とを具備し、
前記一のミラーディスクコントローラは、
リモートの物理記憶装置に対してデータの読み書きを指示する他の装置間連携部がある場合において、当該他の装置間連携部を通じて、前記リモートの物理記憶装置に対するデータの読み書きが可能であるときには、前記論理記憶装置に対して、前記ローカルの物理記憶装置に前記リモートの物理記憶装置を加えたトータルの物理記憶装置をミラー化して割り当て、
前記一のミラー情報管理部は、
前記論理記憶装置及びミラー化された前記トータルの物理記憶装置に関するミラーディスク構成情報を保持する
サーバ間ミラーディスクコントローラ。
【請求項２】
前記一のミラー情報管理部は、
データの読み書きが可能な論理記憶装置及びデータの読み書きが不可能な論理記憶装置に関するアクセス制限情報を保持し、
当該アクセス制限情報に基づいて、ソフトウェアに対して、データの読み書きが可能な論理記憶装置に対するアクセスのみを許可し、データの読み書きが不可能な論理記憶装置に対するアクセスを受け付けない
請求項１記載のサーバ間ミラーディスクコントローラ。
【請求項３】
前記一のミラー情報管理部は、
ソフトウェアが、論理記憶装置に対してデータの書き込みをしてきた場合には、前記一のミラーディスクコントローラに対して、その内容を出力し、
前記一のミラーディスクコントローラは、
前記論理記憶装置に対して、前記トータルの物理記憶装置をミラー化して割り当てることにより、一のミラーディスクが前記ローカルの物理記憶装置であり、他のミラーディスクが前記リモートの物理記憶装置となっている場合には、当該データの書き込みを、前記ローカルの物理記憶装置と、前記リモートの物理記憶装置とに行うように、前記一の装置間連携部へ伝え、
前記一の装置間連携部は、
前記ローカルの物理記憶装置に対する書き込みを指示すると共に、前記他の装置間連携部に対して、前記リモートの物理記憶装置に対する第二の書き込みを行うように指示する
請求項１又は２記載のサーバ間ミラーディスクコントローラ。
【請求項４】
前記一のミラー情報管理部は、
ソフトウェアが、論理記憶装置に対してデータの書き込みをしてきた場合において、前記ミラーディスク構成情報が、前記論理記憶装置に対して、前記ローカルの物理記憶装置と、前記リモートの物理記憶装置とがミラー化されて割り当てられていることを示していたときには、前記他の装置間連携部と連携する他のミラー情報管理部に対して、その内容を出力し、
前記一の装置間連携部は、
前記リモートの物理記憶装置に対して第一の書き込みを行う前記他の装置間連携部から、第二の書き込みを指示された場合には、前記ローカルの物理記憶装置に当該第二の書き込みを指示する
請求項１又は２記載のサーバ間ミラーディスクコントローラ。
【請求項５】
請求項１〜４いずれか１項に記載のサーバ間ミラーディスクコントローラを搭載した
拡張カード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ間ミラーディスクコントローラ、拡張カードに関する。
【背景技術】
【０００２】
クラスタシステムは、複数のサーバ・マシンを連携して動作させて、１台のサーバ・マシンのように振る舞うようにしたシステムである。ＨＡ（High Availability）クラスタシステムでは、システムの可用性を高めるために、ひとつのサーバ・マシンで障害が発生すると、残りのサーバ・マシンがバックアップする。特に、２台のサーバ・マシンを使用する場合には、運用系のサーバ・マシンに障害が発生すると、待機系のサーバ・マシンにサービス業務をフェイルオーバ（Fail over）する。これにより、クライアントに対して、サービス業務を停止することなく、可用性の高いサービスを継続提供する。
【０００３】
ＨＡクラスタシステムには、共有ディスク装置を使用するものがある。共有ディスクタイプのＨＡクラスタシステムは、大規模なシステムに非常に適しているが、共有ディスク装置がＳＰＯＦ（Single Point of Failure）になる。このＳＰＯＦの問題を解決するためには、共有ディスク装置を二重化するなどすればよいが、その場合には、ＨＡクラスタシステムが、とても高価なシステムになってしまう。
【０００４】
図１に、共有ディスクタイプのＨＡクラスタシステムを示す。図１において、ＨＡクラスタシステムは、二つのサーバ装置１００，１１０と、一つの共有ディスク装置１２０とを有している。二つのサーバ装置１００，１１０は、ソフトウェア１０１，１１１として、オペレーティングシステム１０４，１１４と、共有型クラスタソフトウェア１０３，１１３と、アプリケーション１０２，１１２とを有している。これらのソフトウェア１０１，１１１は、不図示のメインメモリにロードされて、不図示のＣＰＵにて実行される。サーバ装置１００，１１０から、共有ディスク装置１２０へのアクセスは、各サーバ１０１，１１１のＨＢＡ(Host Bus Adapter：例えば、ＳＣＳＩコントローラ)１０５，１１５を介して行われる。共有ディスク装置１２０は、複数のディスク１２４，１２５，１２６と、これらを制御するディスク制御部１２３と、各サーバ１０１，１１１のＨＢＡ１０５，１１５と接続されたディスクアレイコントローラ１２１，１２２とを有している。複数のディスク１２４，１２５，１２６は、冗長化のために、一般的に、Ｒａｉｄ（Redundant Arrays of Inexpensive Disks）構成を取る。
【０００５】
図１において、共有ディスク装置１２０のディスク１２４〜１２６には、論理ディスク名が与えられる。ソフトウェア１０１，１１１は、この論理ディスク名によって、共有ディスク装置１２０へアクセスする。アプリケーション１０２，１１２には、サーバ装置１００，１１０間で共有されるトランザクション・データの書き込み先が設定される。この設定では、共有ディスク装置１２０のディスク１２４〜１２６に与えられる論理ディスク名が使用される。アプリケーション１０２，１１２でトランザクションが発生すると、共有型クラスタソフトウェア１０３，１１３は、トランザクション・データを共有ディスク装置１２０へ書き込むように、オペレーティングシステム１０４，１１４に指示する。オペレーティングシステム１０４，１１４は、ＨＢＡ１０５，１１５を介して、トランザクション・データをディスクアレイコントローラ１２１，１２２へ送出する。ディスクアレイコントローラ１２１，１２２は、オペレーティングシステム１０４，１１４からトランザクション・データの書き込み命令を受けると、当該論理ディスク名が与えられているディスク１２４，１２５，１２６に対して、トランザクションデータを書き込むように、ディスク制御部１２３へ指示する。ディスク制御部１２３は、指定されたアドレスへトランザクション・データを書き込む。
【０００６】
ＨＡクラスタシステムには、データミラータイプもある。データミラータイプでは、異なるサーバ・マシンが有するそれぞれのローカルディスク間で、データをミラー化する。これにより、共有ディスクタイプと同じ機能を、より低価格で提供し、高可用性を実現する。データミラータイプは、それぞれのローカルディスクのデータをレプリケーション技術によって冗長化させ、異なるサーバ・マシン間で同期書き込みを行う。しかしながら、サーバ・マシン間でデータをミラー化する必要があるため、大量のデータを必要とする大規模システムには不向きである。
【０００７】
図２に、データミラータイプのＨＡクラスタシステムを示す。図２において、ＨＡクラスタシステムは、二つのサーバ装置１３０，１４０を有している。二つのサーバ装置１３０，１４０は、ソフトウェア１３１，１４１として、オペレーティングシステム１３４，１４４と、ミラー型クラスタソフトウェア１３３，１４３と、アプリケーション１３２，１４２とを有している。これらのソフトウェア１３１，１４１は、不図示のメインメモリにロードされて、不図示のＣＰＵにて実行される。
【０００８】
図２において、ミラー型クラスタソフトウェア１３３，１４３は、ディスク１３７〜１３９，１４７〜１４９をミラー化し、当該ミラーディスクの論理ディスク名を保持する。この論理ディスク名は、アプリケーション１３２，１４２に設定される。サーバ装置１３０のアプリケーション１３２でトランザクションが発生したとする。このとき、アプリケーション１３２は、ミラー型クラスタソフトウェア１３３に対して、ミラー化されている論理ディスク名を指定して、トランザクション・データの書き込みを要求する。サーバ装置１３０のミラー型クラスタソフトウェア１３３は、アプリケーション１３２からトランザクション・データの書き込み要求を受けると、その論理ディスク名が与えられているミラーディスクを確認する。そして、ミラー化されている二つのディスク１３７〜１３９，１４７〜１４９に対して、トランザクション・データを書き込む。ここでは、サーバ装置１３０と、他のサーバ装置１４０とに対して、当該トランザクション・データを書き込みに行く。
【０００９】
まず、ミラー型クラスタソフトウェア１３３は、ローカルのディスク１３７〜１３９に対して一つ目の書き込みを行う。ミラー型クラスタソフトウェア１３３は、オペレーティングシステム１３４に対して、トランザクション・データの書き込みを指示し、オペレーティングシステム１３４は、ディスクアレイコントローラ１３５に対して、そのトランザクション・データを書き込むように指示する。ディスクアレイコントローラ１３５は、オペレーティングシステム１３４から書き込み命令を受けると、該当するいずれかのディスク１３７〜１３９に対して、トランザクション・データを書き込むように、ディスク制御部１３６へ指示する。ディスク制御部１３６は、いずれかのディスク１３７〜１３９における指定されたアドレスへ、当該トランザクション・データを書き込む。
【００１０】
同時に、ミラー型クラスタソフトウェア１３３は、リモートのディスク１４７〜１４９に対して二つ目の書き込みを行う。ミラー型クラスタソフトウェア１３３は、ＬＡＮコントローラ１５０，１５１、及びＬＡＮ回線１５２を通して、他のサーバ装置１４０のミラー型クラスタソフトウェア１４３にアクセスして、トランザクション・データを送信し、ミラー型クラスタソフトウェア１４３に対して、二つ目の書き込みを指示する。サーバ装置１４０において、ミラー型クラスタソフトウェア１４３は、オペレーティングシステム１４４に対して、トランザクションデータの書き込みを指示する。オペレーティングシステム１４４は、ディスクアレイコントローラ１４５に対して、そのトランザクションデータを書き込むように指示する。ディスクアレイコントローラ１４５は、オペレーティングシステム１４４から書き込み命令を受けると、該当するいずれかのディスク１４７〜１４９に対して、トランザクション・データを書き込むように、ディスク制御部１４６へ指示する。ディスク制御部１４６は、いずれかのディスク１４７〜１４９における指定されたアドレスへ、当該トランザクション・データを書き込む。
【００１１】
このように、データミラータイプのＨＡクラスタシステムでは、一のサーバ装置１３０と他のサーバ装置１４０との間で、データをミラー化し、同期させる。一のサーバ装置１３０におけるディスク１３７〜１３９に障害が発生した場合、ミラー型クラスタソフトウェア１３３は、他のサーバ装置１４０のミラー型クラスタソフトウェア１４３に、その旨を通知する。以降、障害ディスクへの読み書きは行わず、ミラー型クラスタソフトウェア１３３は、ＬＡＮコントローラ１５０〜１５１、及びＬＡＮ回線１５２経由で、他のサーバ装置１４０において、障害ディスクのミラーディスクとなっているディスク１４７〜１４９のみに対して読み書きを実行する。このように、ミラー型クラスタソフトウェアでは、ディスクへのアクセスをネットワークへのアクセスに切り替える。そのため、オーバーヘッドが大きく、性能の低下が発生してしまう。かつ、オペレーティングシステムのファイルシステムにも依存している。
【００１２】
データミラータイプのＨＡクラスタシステムに関連する先行技術としては、特開２００１−１０９６４２号公報（特許文献１参照）に記載された「クラスタシステム、及びそのデータ複写方法」の発明と、特開２００３−１３１８１８号公報（特許文献２参照）に記載された「クラスタ構成ストレージにおけるクラスタ間ＲＡＩＤ構成」の発明と、特開２００５−２９３３１５号公報（特許文献３参照）に記載された「データミラー型クラスタシステム及びデータミラー型クラスタシステムの同期制御方法」の発明とが知られる。
【００１３】
特許文献１においては、クラスタシステムは、それぞれがローカルディスクを有する少なくとも主系サーバと従系サーバとからなる。主系サーバは、第１の書換手段と、更新要求送信手段とを具備する。第１の書換手段は、アプリケーションプログラムから出力されたその保有するローカルディスクに記録したデータの更新要求に応じてローカルディスクの保持するデータを書き換える。更新要求送信手段は、この第１の書換手段によるデータの書き換えが正常に行われた際に従系サーバに対してその保有するローカルディスクの更新要求を送信する。従系サーバは、バッファと、バッファ制御手段と、第２の書換手段とを具備する。バッファは、前記更新要求送信手段から送信を受けた更新要求が非同期の更新要求の場合、その更新要求を一時的に格納する。バッファ制御手段は、前記更新要求送信手段から前記バッファに既に書き込まれている更新要求と同一の領域に対する新たな更新要求を受信した場合、この新たな更新要求のみを前記バッファに格納し、前記既に書き込まれている更新要求を破棄する。第２の書換手段は、前記バッファから更新要求を読み出して、ローカルディスクのデータを書き換える。
【００１４】
特許文献２においては、計算機システムは、１台以上のホストコンピュータと複数のクラスタからなるストレージシステムを接続してなる。この計算機システムにおいては、ストレージクラスタが１台以上の記憶装置と１つ以上のコントローラとキャッシュメモリと制御情報を格納する共用メモリを有し、クラスタ間を接続するネットワークにより各コントローラが他のクラスタ内のキャッシュメモリや共用メモリの内容を利用可能である。ストレージシステムは、複数のクラスタの１台以上の記憶装置からなる記憶装置アレイを構成する。当該記憶装置アレイに対するデータ更新時には、第１のクラスタのキャッシュメモリに保持した更新データを用いて第２のクラスタの記憶装置に格納された冗長データの更新を行う。
【００１５】
特許文献３においては、データミラー型クラスタシステムは、一台が運用系、少なくとももう一台が待機系として動作するサーバ装置から構成され、運用系データベース上のデータ変更を待機系のデータベースに反映する。各サーバ装置は、それぞれのデータベースと、両サーバ装置からアクセス可能な共有メモリとを備える。また、各サーバ装置は、トランザクションを相手サーバ装置に転送できるインターコネクトにより相互に接続されている。各サーバ装置においては、運用系メモリドライバ手段は、運用系として動作しているときに、データベース上のデータの変更を共有メモリに書き込む。待機系メモリドライバ手段は、待機系として動作しているときに、前記インターコネクトを介して共有メモリ上に転送されてきたデータをデータベースに書き込む。
【００１６】
【特許文献１】特開２００１−１０９６４２号公報
【特許文献２】特開２００３−１３１８１８号公報
【特許文献３】特開２００５−２９３３１５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明の課題は、クラスタシステムにおける各サーバ装置が有するローカルの物理記憶装置を、クラスタシステムの共有記憶装置として動作可能とすることである。本発明の他の課題は、一のサーバ装置が、他のサーバ装置におけるオペレーティングシステムに依存せずに、当該他のサーバ装置が有するローカルの物理記憶装置に対してアクセスすることを可能にすることである。
【課題を解決するための手段】
【００１８】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１９】
本発明に係るサーバ間ミラーディスクコントローラ（３１）においては、一の装置間連携部（３５）は、ローカルの物理記憶装置（１８１〜１８４）に対してデータの読み書きを指示する。一のミラーディスクコントローラ（３４）は、論理記憶装置に対して、物理記憶装置をミラー化して割り当てる。一のミラー情報管理部（３３）は、前記論理記憶装置及びミラー化された前記物理記憶装置に関するミラーディスク構成情報を保持する。前記一のミラーディスクコントローラ（３４）は、リモートの物理記憶装置（１９１〜１９４）に対してデータの読み書きを指示する他の装置間連携部（４５）がある場合において、当該他の装置間連携部（４５）を通じて、前記リモートの物理記憶装置（１９１〜１９４）に対するデータの読み書きが可能であるときには、前記論理記憶装置に対して、前記ローカルの物理記憶装置（１８１〜１８４）に前記リモートの物理記憶装置（１９１〜１９４）を加えたトータルの物理記憶装置（１８１〜１８４，１９１〜１９４）をミラー化して割り当てる。前記一のミラー情報管理部（３３）は、前記論理記憶装置及びミラー化された前記トータルの物理記憶装置（１８１〜１８４，１９１〜１９４）に関するミラーディスク構成情報を保持する。
【００２０】
本発明に係るサーバ間ミラーディスクコントローラ（３１）においては、前記一のミラー情報管理部（３３）は、データの読み書きが可能な論理記憶装置及びデータの読み書きが不可能な論理記憶装置に関するアクセス制限情報を保持する。そして、当該アクセス制限情報に基づいて、ソフトウェアに対して、データの読み書きが可能な論理記憶装置に対するアクセスのみを許可し、データの読み書きが不可能な論理記憶装置に対するアクセスを受け付けない。
【００２１】
本発明に係るサーバ間ミラーディスクコントローラ（３１）においては、前記一のミラー情報管理部（３３）は、ソフトウェアが、論理記憶装置に対してデータの書き込みをしてきた場合には、前記一のミラーディスクコントローラ（３４）に対して、その内容を出力する。前記一のミラーディスクコントローラ（３４）は、前記論理記憶装置に対して、前記トータルの物理記憶装置（１８１〜１８４，１９１〜１９４）をミラー化して割り当てることにより、一のミラーディスクが前記ローカルの物理記憶装置（１８１〜１８４）であり、他のミラーディスクが前記リモートの物理記憶装置（１９１〜１９４）となっている場合には、当該データの書き込みを、前記ローカルの物理記憶装置（１８１〜１８４）と、前記リモートの物理記憶装置（１９１〜１９４）とに行うように、前記一の装置間連携部（３５）へ伝える。前記一の装置間連携部（３５）は、前記ローカルの物理記憶装置（１８１〜１８４）に対する書き込みを指示すると共に、前記他の装置間連携部（４５）に対して、前記リモートの物理記憶装置（１９１〜１９４）に対する第二の書き込みを行うように指示する。
【００２２】
本発明に係るサーバ間ミラーディスクコントローラ（３１）においては、前記一のミラー情報管理部（３３）は、ソフトウェアが、論理記憶装置に対してデータの書き込みをしてきた場合において、前記ミラーディスク構成情報が、前記論理記憶装置に対して、前記ローカルの物理記憶装置（１８１〜１８４）と、前記リモートの物理記憶装置（１９１〜１９４）とがミラー化されて割り当てられていることを示していたときには、前記他の装置間連携部（４５）と連携する他のミラー情報管理部（４３）に対して、その内容を出力する。前記一の装置間連携部（３５）は、前記リモートの物理記憶装置（１９１〜１９４）に対して第一の書き込みを行う前記他の装置間連携部（４５）から、第二の書き込みを指示された場合には、前記ローカルの物理記憶装置（１８１〜１８４）に当該第二の書き込みを指示する。
【００２３】
本発明に係る拡張カードにおいては、上述した本発明に係るサーバ間ミラーディスクコントローラ（３１）を搭載する。
【発明の効果】
【００２４】
本発明によれば、クラスタシステムにおける各サーバ装置が有するローカルの物理記憶装置を、クラスタシステムの共有記憶装置として動作可能とすることができる。また、一のサーバ装置が、他のサーバ装置におけるオペレーティングシステムに依存せずに、当該他のサーバ装置が有するローカルの物理記憶装置に対してアクセスすることができる。
【発明を実施するための最良の形態】
【００２５】
本実施の形態は、複数のサーバ装置を具備するクラスタシステムにおいて、それぞれのサーバ装置が有するローカルの物理記憶装置をミラー化し、共有記憶装置として扱うことを可能としたことを特徴としている。図３に、本実施の形態のシステム構成図を示す。図３において、ＨＡクラスタシステムは、二つのサーバ装置１０，２０を有している。二つのサーバ装置１０，２０は、ソフトウェア１６１，１７１として、オペレーティングシステム１６４，１７４と、共有型クラスタソフトウェア１６３，１７３と、アプリケーション１６２，１７２とを有している。これらのソフトウェア１６１，１７１は、ローカルディスク１３７〜１３９，１４７〜１４９から、不図示のメインメモリにロードされて、不図示のＣＰＵにて実行される。サーバ装置１０のサーバ間ミラーディスクコントローラ１１は、ローカルディスク１３７〜１３９を管理し、他のサーバ間ミラーディスクコントローラ２１に対して、ローカルディスク１３７〜１３９に関する情報を提供する。同時に、サーバ間ミラーディスクコントローラ１１は、他のサーバ装置２０のローカルディスク１４７〜１４９を管理するサーバ間ミラーディスクコントローラ２１から、他のサーバ装置２０のローカルディスク１４７〜１４９に関する情報の提供を受ける。そして、サーバ間ミラーディスクコントローラ１１は、オペレーティングシステムに対して、ミラー化されている論理ディスク名を通知すると共に、その論理ディスク名に対応する物理ディスクとして、自ら管理するローカルディスク１３７〜１３９のみならず、他のサーバ装置２０のローカルディスク１４７〜１４９も含めることができる。この論理ディスク名を用いることにより、アプリケーション１６２と共有型クラスタソフトウェア１６３は、ミラーディスクに対して、共有型クラスタシステムにおける共有ディスク装置へのアクセスと等価なアクセスが可能になる。
【００２６】
本実施の形態によるＨＡクラスタシステムの動作概要を説明する。サーバ装置１０において、アプリケーション１６２には、ミラー化されているディスクが論理ディスク名で設定される。このアプリケーション１６２でトランザクションが発生したとする。共有型クラスタソフトウェア１６３は、アプリケーション１６２からトランザクション・データを受け取り、オペレーティングシステム１６４に対して、共有ディスク化したディスクへの書き込みを依頼する。オペレーティングシステム１６４は、サーバ間ミラーディスクコントローラ１１に対して、当該トランザクション・データの書き込みを指示する。サーバ間ミラーディスクコントローラ１１は、論理ディスク名からミラー化されているディスクを確認する。そして、ローカルディスク１３７〜１３９を制御するディスク制御部１３６へ、当該トランザクション・データの一つ目の書き込みを指示し、かつ、ファイバーチャネル１５３を介して、当該トランザクション・データをサーバ装置２０のサーバ間ミラーディスクコントローラ２１へ送出する。サーバ装置２０のサーバ間ミラーディスクコントローラ２１は、サーバ装置１０における一つ目の書き込みに同期させて、サーバ装置２０のローカルディスク１４７〜１４９を制御するディスク制御部１４６に対して、二つ目の書き込みを指示する。
【００２７】
オペレーティングシステム１６４から、トランザクション・データの書き込みを指示されたサーバ間ミラーディスクコントローラ１１は、当該データの書き込みを、サーバ装置２０のサーバ間ミラーディスクコントローラ２１に依頼することもできる。このとき、サーバ間ミラーディスクコントローラ２１は、論理ディスク名からミラー化されているディスクを確認する。そして、ローカルディスク１４７〜１４９を制御するディスク制御部１４６へ、当該トランザクション・データの一つ目の書き込みを指示し、かつ、ファイバーチャネル１５３を介して、当該トランザクション・データをサーバ装置１０のサーバ間ミラーディスクコントローラ１１へ送出する。サーバ装置１０のサーバ間ミラーディスクコントローラ１１は、サーバ装置２０における一つ目の書き込みに同期させて、サーバ装置１０のローカルディスク１３７〜１３９を制御するディスク制御部１３６に対して、二つ目の書き込みを指示する。
【００２８】
図４に、サーバ間ミラーディスクコントローラの詳細説明図を示す。図４において、サーバ装置３０のサーバ間ミラーディスクコントローラ３１は、キャッシュ３２と、ミラー情報管理部３３と、ミラーディスクコントローラ３４と、装置間連携部３５とを有する。ミラー情報管理部３３は、他のサーバ間ミラーディスクコントローラ４１と、ファイバーチャネル１５４を介して、ミラーディスク情報を交換したり、論理ディスクへのアクセスを連携したりする。装置間連携部３５は、他のサーバ間ミラーディスクコントローラ４１と、ファイバーチャネル１５５を介して、ディスクアクセスを連携する。同様に、サーバ装置４０のサーバ間ミラーディスクコントローラ４１は、キャッシュ４２と、ミラー情報管理部４３と、ミラーディスクコントローラ４４と、装置間連携部４５とを有する。ミラー情報管理部４３は、他のサーバ間ミラーディスクコントローラ３１と、ファイバーチャネル１５４を介して、ミラーディスク情報を交換したり、論理ディスクへのアクセスを連携したりする。装置間連携部４５は、他のサーバ間ミラーディスクコントローラ３１と、ファイバーチャネル１５５を介して、ディスクアクセスを連携する。
【００２９】
サーバ間ミラーディスクコントローラ３１は、拡張カードに搭載されている。この拡張カードをサーバ装置３０に実装すると、ミラー情報管理部３３が、不図示のバスを介して不図示のＣＰＵに接続されると共に、装置間連携部３５が、不図示のケーブルを介してディスク制御部１８０に接続される。同様に、サーバ間ミラーディスクコントローラ４１も、拡張カードに搭載されている。この拡張カードをサーバ装置４０に実装すると、ミラー情報管理部４３が、不図示のバスを介して不図示のＣＰＵに接続されると共に、装置間連携部４５が、不図示のケーブルを介してディスク制御部１９０に接続される。また、サーバ間ミラーディスクコントローラ３１を搭載した拡張カードは、少なくとも一本の光ケーブルを接続するコネクタを具備し、サーバ間ミラーディスクコントローラ４１を搭載した拡張カードも、少なくとも一本の光ケーブルを接続するコネクタを具備する。サーバ間ミラーディスクコントローラ３１，４１を搭載した二つの拡張カードを光ケーブルで接続することにより、論理回線２回線分のファイバーチャネル１５４，１５５を形成することができる。
【００３０】
図４において、サーバ装置３０のミラー情報管理部３３は、自サーバ装置３０のミラーディスク構成情報やエラー情報の管理を行い、かつ、他サーバ装置４０のディスク１９１〜１９４を使用して、共有ディスク化したミラーディスクの構成情報やエラー情報の管理を行い、また、ミラーディスクコントローラ３４へのデータ出力、装置間連携部３５へのディスクアクセス制御情報の出力を行う。装置間連携部３５は、ミラー情報管理部３３よりディスクアクセス制御情報の入力、他サーバ装置４０の装置間連携部４５との間でのデータや情報の入出力、ミラーディスクコントローラ３４へのデータの入出力、ディスク制御部１８０へのデータの入出力やディスク１８１〜１８４のエラー情報の入出力を行う。同様に、サーバ装置４０のミラー情報管理部４３は、自サーバ装置４０のミラーディスク構成情報やエラー情報の管理を行い、かつ、他サーバ装置３０のディスク１８１〜１８４を使用して、共有ディスク化したミラーディスクの構成情報やエラー情報の管理を行い、また、ミラーディスクコントローラ４４へのデータ出力、装置間連携部４５へのディスクアクセス制御情報の出力を行う。装置間連携部４５は、ミラー情報管理部４３よりディスクアクセス制御情報の入力、他サーバ装置３０の装置間連携部３５との間でのデータや情報の入出力、ミラーディスクコントローラ４４へのデータの入出力、ディスク制御部１９０へのデータの入出力やディスク１９１〜１９４のエラー情報の入出力を行う。このように、サーバ間ミラーディスクコントローラ３１は、ミラーディスクコントローラ３４の他に、ミラー情報管理部３３と、装置間連携部３５とを有する。同様に、サーバ間ミラーディスクコントローラ４１は、ミラーディスクコントローラ４４の他に、ミラー情報管理部４３と、装置間連携部４５とを有する。これにより、サーバ装置３０，４０間でミラーディスクを構成でき、また、ローカルのディスクとリモートのディスクとを合わせたトータルのディスク１８１〜１８４，１９１〜１９４を、共有型クラスタシステムにおける共有ディスク装置として利用することができる。
【００３１】
ミラー情報管理部３３は、自サーバ装置３０、及び他サーバ装置４０のミラーディスク構成情報や、ミラーディスクのアクセス制御情報、各ディスク１８１〜１８４，１９１〜１９４のエラー情報を格納する。ミラー情報管理部３３は、自サーバ装置３０のミラーディスクコントローラ３４へ自サーバ装置３０でアクセス可能なミラーディスクの構成情報を出力し、装置間連携部３５には、自サーバ装置３０でアクセス可能なディスクの情報を出力する。ミラー情報管理部３３は、他サーバ装置４０のミラー情報管理部４３へ、他サーバ装置４０におけるアクセス可能なミラーディスクへアクセスするために、データの入出力と、当該ミラーディスクの排他制御とを行う。
【００３２】
装置間連携部３５は、自サーバ装置３０のディスク１８１〜１８４の情報と、他サーバ装置４０の装置間連携部４５から受け取った他サーバ装置４０のディスク１９１〜１９４に関する情報をまとめる。そして、自サーバ装置３０からアクセス可能なディスクと、自サーバ装置３０からはアクセス不可となるディスクとの管理を行う。自サーバ装置３０から利用可能なディスクの構成情報を自サーバ装置３０のミラーディスクコントローラ３４に出力する。
【００３３】
次に、図４に示すサーバ装置３０からのデータの書き込みを例に、サーバ間ミラーディスクコントローラの動作について説明する。なお、ミラー構成は、ディスク１８１とディスク１８２とで一つの論理ディスクＡを構成し、ディスク１９１とディスク１９２とで論理ディスクＢを構成し、ディスク１８３とディスク１９３とで論理ディスクＣを構成し、ディスク１８４とディスク１９４とで論理ディスクＤを構成しているものとする。また、論理ディスクへのアクセス権限については、サーバ装置３０は、論理ディスクＡと論理ディスクＣへの権限を持っているものとし、サーバ装置４０は、論理ディスクＢと論理ディスクＤへの権限を所有しているものとする。このアクセス制限情報はミラー情報管理部３３，４３にて保持している。
【００３４】
［Ａ］図４において、サーバ装置３０から論理ディスクＡへのアクセスがあった場合には、ミラー情報管理部３３にて、自サーバ装置３０のみの構成であることを検出する。ミラー情報管理部３３は、自サーバ装置３０のミラーディスクコントローラ３４へデータを出力する。ミラーディスクコントローラ３４は、当該データをミラー化して保存するように、二つのディスクへの書き込みを装置間連携部３５へ指示する。装置間連携部３５は、ディスク制御部１８０を経由して、ディスク１８１とディスク１８２とへ、同一データの重複書き込みを行う。
【００３５】
［Ｂ］サーバ装置３０から論理ディスクＢへのアクセスはできない。論理ディスクＢは、他サーバ装置４０のみの構成であり、サーバ装置３０のオペレーティングシステムは、論理ディスクＢを認識することができない。
【００３６】
［Ｃ］サーバ装置３０から論理ディスクＣへのアクセスがあった場合には、ミラー情報管理部３３にて、自サーバ装置３０のみの構成では無いことを検出する。ミラー情報管理部３３は、データを受け取ると、サーバ装置４０のディスク１９３への書き込みも存在するため、まず、ファイバーチャネル１５４を介して、ミラー情報管理部４３へデータを出力する。ミラー情報管理部４３は、受信したデータをキャッシュ４２に出力する。キャッシュ４２へのデータの書き込みが完了すると、ミラー情報管理部４３は、完了通知を、ファイバーチャネル１５４を介して、ミラー情報管理部３３へ出力する。
【００３７】
ミラー情報管理部３３は、ミラー情報管理部４３へデータを出力すると同時に、ミラーディスクコントローラ３４へも同一のデータを出力する。このデータを入力するミラーディスクコントローラ３４は、ディスク１８３と、ディスク１９３とに書き込まれるデータを、装置間連携部３５へ出力する。装置間連携部３５は、自サーバ装置３０のディスク制御部１８０へデータを出力すると同時に、ファイバーチャネル１５５を介して、他サーバ装置４０の装置間連携部４５へも同一のデータを出力する。
【００３８】
自サーバ装置３０では、ディスク制御部１８０がディスク１８３への書き込みを行う。ディスク１８３への書き込みが完了すると、書き込み完了通知が、装置間連携部３５を経由して、ミラーディスクコントローラ３４へ届く。
【００３９】
他サーバ装置４０では、当該データを、装置間連携部４５が受信する。装置間連携部４５は、書き込みデータをディスク制御部１９０へ出力し、ディスク制御部１９０は、ディスク１９３への書き込みを行う。ディスク１９３への書き込みが完了すると、書き込み完了通知が、装置間連携部４５、ファイバーチャネル１５５、装置間連携部３５を介して、ミラーディスクコントローラ３４へ届く。
【００４０】
ミラーディスクコントローラ３４は、２つの書き込みが正常に終了したことを確認すると、書き込み完了通知を、ミラー情報管理部３３へ送出する。この完了通知を受け取ったミラー情報管理部３３は、ファイバーチャネル１５４を介して、ミラー情報管理部４３へ書き込み完了を通知する。ミラー情報管理部４３は、キャッシュ４２に保存していたデータを削除すると同時に、その旨の通知を、ファイバーチャネル１５４を介して、ミラー情報管理部３３へ送信する。この通知を入手したミラー情報管理部３３は、サーバ装置３０のオペレーティングシステムへ、データの書き込みが完了したことを通知する。
【００４１】
［Ｄ］サーバ装置３０から、論理ディスクＤへのアクセスを行おうとすると、ミラー情報管理部３３において、論理ディスクＤは、他サーバ装置４０のみにアクセス権限があることが検出される。ミラー情報管理部３３は、アクセスが許可されていないことを検出し、サーバ装置３０のオペレーティングシステムへエラー・メッセージを返す。
【００４２】
装置間連携部３５では、ディスク１８１〜１８４，１９１〜１９４のアクセス制限情報を保持している。ディスク１８１、ディスク１８２に関しては、サーバ装置３０のみで論理ディスクＡを構成しているため、装置間連携部３５から装置間連携部４５へディスク１８１，１８２の存在を出力しない。そのため、サーバ装置４０のオペレーティングシステムは、これらのディスク１８１，１８２の存在を認識できない。また同様に、サーバ装置４０のみで論理ディスクＢを構成しているディスク１９１、ディスク１９２は、サーバ装置３０のオペレーティングシステムから、その存在を認識できない。このため、サーバ装置３０から論理ディスクＢへのアクセスは存在しない。
【００４３】
論理ディスクＣ、論理ディスクＤに関しては、両方のサーバ装置３０，４０にアクセスを許可することも可能である。論理ディスクＤへのアクセス権限が無かったサーバ装置３０に対して、ディスク１８４，１９４へのアクセスを許可する場合には、ミラー情報管理部３３が、論理ディスクＤを構成しているディスク１８４，１９４へのアクセスを行うように、ミラーディスクコントローラ３４を制御する。論理ディスクＣへのアクセス権限が無かったサーバ装置４０に対して、ディスク１８３，１９３へのアクセスを許可した場合には、ミラー情報管理部４３が、論理ディスクＣを構成しているディスク１８３，１９３へのアクセスを行うように、ミラーディスクコントローラ４４を制御する。
【００４４】
［Ｃ’］両方のサーバ装置３０，４０に、論理ディスクＣに対するアクセス権限が付与された場合について説明する。サーバ装置３０のオペレーティングシステムから、論理ディスクＣに対する書き込みがあったとき、当該論理ディスクＣへの書き込みを、サーバ装置３０側のミラーディスクコントローラ３４を用いて実行することができ、或いは、当該論理ディスクＣへの書き込みを、サーバ装置４０側のミラーディスクコントローラ４４を用いて実行することもできる。論理ディスクＣへの書き込みを、サーバ装置３０側のミラーディスクコントローラ３４を用いて行う場合については、上述した。ここでは、論理ディスクＣへのアクセスを、サーバ装置４０側のミラーディスクコントローラ４４を用いて行う場合について説明する。
【００４５】
サーバ装置３０のオペレーティングシステムより、ミラー情報管理部３３へデータが出力される。ミラー情報管理部３３は、キャッシュ３２へそのデータを出力すると同時に、他サーバ装置４０のミラー情報管理部４３へも当該データを出力する。他サーバ装置４０において、ミラー情報管理部４３は入力したデータをミラーディスクコントローラ４４へ出力する。ミラーディスクコントローラ４４は、装置間連携部４５に対して、論理ディスクＣへの書き込みを指示する。装置間連携部４５は、ディスク制御部１９０を介して、ディスク１９３への書き込みを行うと共に、ファイバーチャネル１５５を介して、装置間連携部３５に対して、論理ディスクＣへの書き込みを指示する。装置間連携部３５は、ディスク制御部１８０を介して、ディスク１８３への書き込みを行う。書き込みが完了すると、装置間連携部３５は、ファイバーチャネル１５５を介して、書き込み完了通知を装置間連携部４５へ出力する。装置間連携部４５は、ディスク１８３への書き込み完了通知、及び、ディスク１９３への書き込み完了通知を、ミラーディスクコントローラ４４へ返す。ミラーディスクコントローラ４４は、ミラー情報管理部４３へ、これらの完了通知を出力する。ミラー情報管理部４３は、ミラー情報管理部３３へ、当該完了通知を出力する。この完了通知を入力したミラー情報管理部３３は、キャッシュ３２のデータを削除すると同時に、サーバ装置３０のオペレーティングシステムに対して、論理ディスクＣへの書き込み完了通知を行う。
【００４６】
以上説明したように、本実施の形態においては、以下のような効果を奏する。第１の効果は、サーバ装置間のミラーディスクへのアクセスを、オペレーティングシステムの下位層に当たるハードウェアレベルで制御しているので、オペレーティングシステムのファイルシステムに依存することなく、ミラーディスクへのアクセスができることである。第２の効果は、サーバ装置間のミラーディスクへのアクセスを、ＬＡＮ回線へのアクセスに変更していないので、オーバーヘッドを少なくできることである。第３の効果は、異なるサーバ装置で、同一の論理ディスクを認識できるため、当該同一の論理ディスクとして認識できるディスクを、共有型クラスタシステムの共有ディスク装置として使用することができることである。
【図面の簡単な説明】
【００４７】
【図１】図１は、共有ディスクタイプのＨＡクラスタシステムを示す図である。
【図２】図２は、データミラータイプのＨＡクラスタシステムを示す図である。
【図３】図３は、本実施の形態のシステム構成図である。
【図４】図４は、サーバ間ミラーディスクコントローラの詳細説明図である。
【符号の説明】
【００４８】
１０，２０，３０，４０，１００，１１０，１３０，１４０  サーバ装置
１１，２１，３１，４１  サーバ間ミラーディスクコントローラ
３２，４２  キャッシュ
３３，４３  ミラー情報管理部
３４，４４  ミラーディスクコントローラ
３５，４５  装置間連携部
１０１，１１１，１３１，１４１，１６１，１７１  ソフトウェア
１０２，１１２，１３２，１４２，１６２，１７２  アプリケーション
１０３，１１３，１６３，１７３  共有型クラスタソフトウェア
１３３，１４３  ミラー型クラスタソフトウェア
１０４，１１４，１３４，１４４，１６４，１７４  オペレーティングシステム
１０５，１１５  ホスト・バス・アダプタ
１２０  共有ディスク装置
１２１，１２２，１３５，１４５  ディスクアレイコントローラ
１２３，１３６，１４６，１８０，１９０  ディスク制御部
１２４〜１２６，１３７〜１３９，１４７〜１４９，１８１〜１８４，１９１〜１９４  ディスク
１５０，１５１  ＬＡＮコントローラ
１５２  ＬＡＮ回線
１５３〜１５５  ファイバーチャネル
【図１】
2008225643.tif 000003
【図２】
2008225643.tif 000004
【図３】
2008225643.tif 000005
【図４】
2008225643.tif 000006