(57)【要約】【課題】従来に比較してより冗長性を高めた、新規な情報処理システム、その情報処理システムにおける制御方法、およびその情報処理システムのサーバ装置で実行される制御プログラムを提供する。【解決手段】情報処理システムは、第１のサーバ装置および第２のサーバ装置のうち一方をアクティブに設定するとともに、アクティブに設定されたサーバ装置に障害が発生すると、他方のサーバ装置をアクティブに切り替えるための第１の切替手段と、第１のサーバ装置がアクティブに設定されている場合に、第１の記憶装置を主として第２の記憶装置との間でデータの同期化処理を実行させるとともに、第２のサーバ装置がアクティブに切り替えられると、第２の記憶装置を主としてデータ記憶に係る処理を実行させるための第２の切替手段とを含む。【選択図】図６
2014134925.tif 000002
【特許請求の範囲】
【請求項１】
第１のサーバ装置と、
前記第１のサーバ装置と第１のネットワークを介して接続され、前記第１のサーバ装置とは異なる場所に配置された第２のサーバ装置と、
前記第１のサーバ装置がアクセスする第１の記憶装置と、
前記第２のサーバ装置がアクセスする第２の記憶装置とを備え、前記第１の記憶装置と前記第２の記憶装置とは第２のネットワークを介して接続されており、さらに
前記第１のサーバ装置および前記第２のサーバ装置のうち一方をアクティブに設定するとともに、アクティブに設定されたサーバ装置に障害が発生すると、他方のサーバ装置をアクティブに切り替えるための第１の切替手段と、
前記第１のサーバ装置がアクティブに設定されている場合に、前記第１の記憶装置を主として前記第２の記憶装置との間でデータの同期化処理を実行させるとともに、前記第２のサーバ装置がアクティブに切り替えられると、前記第２の記憶装置を主としてデータ記憶に係る処理を実行させるための第２の切替手段とを備える、情報処理システム。
【請求項２】
前記第１の切替手段は、前記第１のサーバ装置および前記第２のサーバ装置の各々で独立に実行され、他方のサーバ装置の状態を監視する監視アプリケーションを含み、
前記第２の切替手段は、前記第１のサーバ装置および前記第２のサーバ装置の各々に実装され、同じサーバ装置で実行される前記監視アプリケーションが他方のサーバ装置に障害が発生したと判断したことに応答して、前記第１の記憶装置および前記第２の記憶装置に必要な指令を出力するロジックを含む、請求項１に記載の情報処理システム。
【請求項３】
前記第２の切替手段は、いずれかのサーバ装置に障害が発生すると、前記第１の記憶装置および前記第２の記憶装置の状態に応じて、データ記憶に係る処理のモードを決定する、請求項１または２に記載の情報処理システム。
【請求項４】
前記第２の切替手段は、前記第１のサーバ装置に障害が発生したときに、前記第１の記憶装置および前記第２の記憶装置がいずれも健全であれば、前記第２の記憶装置を主として前記第１の記憶装置との間でデータの同期化処理を実行させる、請求項３に記載の情報処理システム。
【請求項５】
前記第２の切替手段は、前記第１のサーバ装置に障害が発生したときに、前記第１の記憶装置が健全でなければ、前記第２の記憶装置に単独でデータ記憶処理を実行させる、請求項３または４に記載の情報処理システム。
【請求項６】
第１のサーバ装置と、前記第１のサーバ装置と第１のネットワークを介して接続され、前記第１のサーバ装置とは異なる場所に配置された第２のサーバ装置とを備える情報処理システムにおける制御方法であって、
前記情報処理システムは、前記第１のサーバ装置がアクセスする第１の記憶装置と、前記第２のサーバ装置がアクセスする第２の記憶装置とをさらに備え、前記第１の記憶装置と前記第２の記憶装置とは第２のネットワークを介して接続されており、前記制御方法は、
前記第１のサーバ装置および前記第２のサーバ装置のうちアクティブに設定されたサーバ装置に障害が発生すると、他方のサーバ装置をアクティブに切り替えるステップと、
前記第１のサーバ装置がアクティブに設定されている場合に、前記第１の記憶装置を主として前記第２の記憶装置との間でデータの同期化処理を実行させるとともに、前記第２のサーバ装置がアクティブに切り替えられると、前記第２の記憶装置を主としてデータ記憶に係る処理を実行させるステップとを含む、制御方法。
【請求項７】
第１のサーバ装置と、前記第１のサーバ装置と第１のネットワークを介して接続され、前記第１のサーバ装置とは異なる場所に配置された第２のサーバ装置とを備える情報処理システムにおいて、前記第１のサーバ装置および前記第２のサーバ装置で実行される制御プログラムであって、
前記情報処理システムは、前記第１のサーバ装置がアクセスする第１の記憶装置と、前記第２のサーバ装置がアクセスする第２の記憶装置とをさらに備え、前記第１の記憶装置と前記第２の記憶装置とは第２のネットワークを介して接続されており、
前記制御プログラムは、他方のサーバ装置の状態を監視する監視アプリケーションによって、他方のサーバ装置に障害が発生したことが検知されると起動され、
前記制御プログラムは、前記サーバ装置に、
前記第１のサーバ装置がアクティブに設定されている場合に、前記第１の記憶装置を主として前記第２の記憶装置との間でデータの同期化処理を実行させるステップと、
前記第２のサーバ装置がアクティブに切り替えられると、前記第２の記憶装置を主としてデータ記憶に係る処理を実行させるステップとを実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化された情報処理システム、その情報処理システムにおける制御方法、およびその情報処理システムのサーバ装置で実行される制御プログラムに関するものである。
【背景技術】
【０００２】
従来から、重要性の高いデータセンターなどでは、信頼性を向上させるために、高可用性（High Availability：ＨＡ）構成（以下、「ＨＡ構成」とも記す。）が採用されている。このようなＨＡ構成の一例として、特開２００７−１３３５４２号公報（特許文献１）は、現用系ノードおよび待機系ノードを備える情報引継ぎシステムであって、データ転送量を少なくしてサーバ間の情報引継ぎを行うことができる構成を開示する。但し、この先行技術では、データ記憶装置（ストレージ）については言及されていない。
【０００３】
これに対して、特開２００７−２７９８９０号公報（特許文献２）は、第１のストレージ装置を含む第１の系と、第２のストレージ装置を含む第２の系とを備える構成において、第１の系のノードに障害が発生したときには、第１の系または第２の系のノードで業務を引継ぐフェールオーバ方法を開示する。
【０００４】
特開２００８−１３４９８７号公報（特許文献３）は、ストレージ装置とホストコンピュータとを含む情報システムの可用性を向上させる構成を開示する。より詳細には、第１のストレージ装置に障害が発生した場合、ホストコンピュータが第１のストレージ装置へ送るデータを第２のストレージ装置に対して送る。
【０００５】
特開２００８−０３３８２９号公報（特許文献４）は、ホスト計算機から入出力されるデータを格納するプライマリボリュームを有する第一のストレージシステムと、プライマリボリュームとの間でコピーペアを形成可能なセカンダリボリュームを有する第二のストレージシステムとを備えるバックアップシステムを開示する。より詳細には、プライマリボリュームからセカンダリボリュームへのリモートコピー完了を検出すると、ホスト計算機は、プライマリボリュームとセカンダリボリュームとの間のコピーペアを分割し、プライマリボリュームのスナップショットをセカンダリボリュームに保持させる。
【０００６】
特開２００８−１３４９８６号公報（特許文献５）に開示される情報システムでは、第１のストレージ装置に、第３のボリュームを有する第３のストレージ装置が接続されると共に、第１のストレージ装置に接続された第２のストレージ装置に第４のボリュームを有する第４のストレージ装置が接続され、第１及び第３のストレージ装置が、第１のボリュームに格納されたデータを第３のボリュームにリモートコピーし、第１及び第２のストレージ装置が、第１のボリュームに格納されたデータを第２のボリュームにリモートコピーし、第３及び第４のストレージ装置が、第３のボリュームに格納されたデータを第４のボリュームにリモートコピーする。
【０００７】
特開２０１１−０３９８０４号公報（特許文献６）は、ストレージ管理プログラムに、障害時動作管理の処理を示した情報に基づきリモートバックアップの停止、継続を判断する機能を備えることによって、障害が発生したアプリケーションおよびその障害内容に基づくバックアップの停止、継続可能とする構成を開示する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−１３３５４２号公報
【特許文献２】特開２００７−２７９８９０号公報
【特許文献３】特開２００８−１３４９８７号公報
【特許文献４】特開２００８−０３３８２９号公報
【特許文献５】特開２００８−１３４９８６号公報
【特許文献６】特開２０１１−０３９８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述の先行技術には、サーバ装置同士をＨＡ構成とするものや、サーバ装置と記憶装置とからなるシステム同士をＨＡ構成とするものなどが開示されている。しかしながら、このような従来の構成は、サーバ装置や記憶装置に生じるハード的またはソフト的な局所的な障害を考慮したものであり、サーバ装置や記憶装置が配置されているサイト自体が災害などで損傷を受けた場合などについてまで考慮したものではない。
【００１０】
本発明は、このような課題を解決するためになされたものであって、その目的は、従来に比較してより冗長性を高めた、新規な情報処理システム、その情報処理システムにおける制御方法、およびその情報処理システムのサーバ装置で実行される制御プログラムを提供することである。
【課題を解決するための手段】
【００１１】
本発明のある局面に従う情報処理システムは、第１のサーバ装置と、第１のサーバ装置と第１のネットワークを介して接続され、第１のサーバ装置とは異なる場所に配置された第２のサーバ装置と、第１のサーバ装置がアクセスする第１の記憶装置と、第２のサーバ装置がアクセスする第２の記憶装置とを含む。第１の記憶装置と第２の記憶装置とは第２のネットワークを介して接続されている。情報処理システムは、さらに、第１のサーバ装置および第２のサーバ装置のうち一方をアクティブに設定するとともに、アクティブに設定されたサーバ装置に障害が発生すると、他方のサーバ装置をアクティブに切り替えるための第１の切替手段と、第１のサーバ装置がアクティブに設定されている場合に、第１の記憶装置を主として第２の記憶装置との間でデータの同期化処理を実行させるとともに、第２のサーバ装置がアクティブに切り替えられると、第２の記憶装置を主としてデータ記憶に係る処理を実行させるための第２の切替手段とを含む。
【００１２】
好ましくは、第１の切替手段は、第１のサーバ装置および第２のサーバ装置の各々で独立に実行され、他方のサーバ装置の状態を監視する監視アプリケーションを含み、第２の切替手段は、第１のサーバ装置および第２のサーバ装置の各々に実装され、同じサーバ装置で実行される監視アプリケーションが他方のサーバ装置に障害が発生したと判断したことに応答して、第１の記憶装置および第２の記憶装置に必要な指令を出力するロジックを含む。
【００１３】
好ましくは、第２の切替手段は、いずれかのサーバ装置に障害が発生すると、第１の記憶装置および第２の記憶装置の状態に応じて、データ記憶に係る処理のモードを決定する。
【００１４】
さらに好ましくは、第２の切替手段は、第１のサーバ装置に障害が発生したときに、第１の記憶装置および第２の記憶装置がいずれも健全であれば、第２の記憶装置を主として第１の記憶装置との間でデータの同期化処理を実行させる。
【００１５】
さらに好ましくは、第２の切替手段は、第１のサーバ装置に障害が発生したときに、第１の記憶装置が健全でなければ、第２の記憶装置に単独でデータ記憶処理を実行させる。
【００１６】
本発明の別の局面に従えば、第１のサーバ装置と、第１のサーバ装置と第１のネットワークを介して接続され、第１のサーバ装置とは異なる場所に配置された第２のサーバ装置とを備える情報処理システムにおける制御方法が提供される。情報処理システムは、第１のサーバ装置がアクセスする第１の記憶装置と、第２のサーバ装置がアクセスする第２の記憶装置とをさらに含む。第１の記憶装置と第２の記憶装置とは第２のネットワークを介して接続されている。制御方法は、第１のサーバ装置および第２のサーバ装置のうちアクティブに設定されたサーバ装置に障害が発生すると、他方のサーバ装置をアクティブに切り替えるステップと、第１のサーバ装置がアクティブに設定されている場合に、第１の記憶装置を主として第２の記憶装置との間でデータの同期化処理を実行させるとともに、第２のサーバ装置がアクティブに切り替えられると、第２の記憶装置を主としてデータ記憶に係る処理を実行させるステップとを含む。
【００１７】
本発明のさらに別の局面に従えば、第１のサーバ装置と、第１のサーバ装置と第１のネットワークを介して接続され、第１のサーバ装置とは異なる場所に配置された第２のサーバ装置とを備える情報処理システムにおいて、第１のサーバ装置および第２のサーバ装置で実行される制御プログラムが提供される。情報処理システムは、第１のサーバ装置がアクセスする第１の記憶装置と、第２のサーバ装置がアクセスする第２の記憶装置とをさらに含む。第１の記憶装置と第２の記憶装置とは第２のネットワークを介して接続されている。制御プログラムは、他方のサーバ装置の状態を監視する監視アプリケーションによって、他方のサーバ装置に障害が発生したことが検知されると起動される。制御プログラムは、サーバ装置に、第１のサーバ装置がアクティブに設定されている場合に、第１の記憶装置を主として第２の記憶装置との間でデータの同期化処理を実行させるステップと、第２のサーバ装置がアクティブに切り替えられると、第２の記憶装置を主としてデータ記憶に係る処理を実行させるステップとを実行させる。
【発明の効果】
【００１８】
本発明によれば、従来に比較してより冗長性を高めた情報処理システム、その情報処理システムにおける制御方法、およびその情報処理システムのサーバ装置で実行される制御プログラムを提供できる。
【図面の簡単な説明】
【００１９】
【図１】本実施の形態に従う情報処理システムの構成を示す模式図である。
【図２】本実施の形態に従う情報処理システムにおける切替処理の構成を示す模式図である。
【図３】本実施の形態に従う情報処理システムに含まれるサーバ装置のハードウエア構成を示す模式図である。
【図４】本実施の形態に従う情報処理システムに含まれる記憶装置のハードウエア構成を示す模式図である。
【図５】本実施の形態に従う情報処理システムに含まれるサーバ装置のソフトウエア構成を示す模式図である。
【図６】本実施の形態に従う情報処理システムにおける処理手順を示すシーケンス図である。
【図７】本実施の形態に従う情報処理システムにおける記憶装置の処理モードを示す表である。
【図８】本実施の形態に従う情報処理システムにおいて記憶装置が単独でデータ保持を行う場合を示す模式図である。
【発明を実施するための形態】
【００２０】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２１】
＜Ａ．情報処理システムの概要＞
まず、本実施の形態に従う情報処理システムの概要について説明する。図１は、本実施の形態に従う情報処理システムの構成を示す模式図である。図１を参照して、本実施の形態に従う情報処理システムＳＹＳは、複数の処理センターで構成される。図１には、２つの処理センター１および２からなる情報処理システムＳＹＳの例を示すが、これに限られることなく、３つ以上の処理センターを配置する構成を採用してもよい。
【００２２】
処理センター１および２の各々には、サーバ装置および記憶装置が配置される。より詳細には、処理センター１は、サーバ装置１００と、記憶装置１５０とを含み、処理センター２は、サーバ装置２００と、記憶装置２５０とを含む。なお、処理センター１と処理センター２との間で、各々に含まれる装置構成を同一にする必要はない。
【００２３】
情報処理システムＳＹＳにおいて、サーバ装置１００とサーバ装置２００とはＨＡ構成になっている。より具体的には、サーバ装置１００は、処理センター１のローカルネットワーク１９０を介して、広域ネットワーク４に接続されており、サーバ装置２００は、処理センター２のローカルネットワーク２９０を介して、広域ネットワーク４に接続されている。このようなネットワーク構成によって、サーバ装置１００とサーバ装置２００との間では、必要なデータを遣り取りすることができる。後述するように、サーバ装置１００および２００の各々では、互いに状態を監視する監視アプリケーションが実行されており、一方のサーバ装置において何らかの障害が発生すると、その処理を引継ぐ処理が実行される。
【００２４】
このように、情報処理システムＳＹＳは、サーバ装置１００と、サーバ装置１００と広域ネットワーク４を介して接続され、サーバ装置１００とは異なる場所に配置されたサーバ装置２００とを含む。情報処理システムＳＹＳには、サーバ装置１００およびサーバ装置２００のうち一方をアクティブに設定するとともに、アクティブに設定されたサーバ装置に障害が発生すると、他方のサーバ装置をアクティブに切り替えるための切替機能が実装されている。このような切替機能によって、サーバ装置１００とサーバ装置２００との間のＨＡ構成が実現される。
【００２５】
記憶装置１５０には、サーバ装置１００が主としてアクセスし、記憶装置２５０には、サーバ装置２００が主としてアクセスする。記憶装置１５０および２５０自体が冗長系になっていることが好ましく、本実施の形態においては、複数の物理的な記憶デバイス（典型的には、ハードディスク）を組み合わせることで、サーバ装置からは仮想的に一つの記憶装置（記憶ボリューム）として扱うことができる構成が採用されている。すなわち、記憶装置１５０および２５０の各々は、複数のハードディスクからなるディスクアレイとして構成される。このような意味において、記憶装置１５０および２５０を、以下「仮想ストレージ」とも記す。このような仮想ストレージを実現するために、サーバ装置１００と記憶装置１５０との間は、ＳＡＮ（Storage Area Network）を介して接続されており、サーバ装置２００と記憶装置２５０との間も、ＳＡＮを介して接続されている。
【００２６】
情報処理システムＳＹＳにおいて、記憶装置１５０と記憶装置２５０とについてもＨＡ構成になっている。より具体的には、記憶装置１５０が接続されるＳＡＮと記憶装置２５０が接続されるＳＡＮとの間は、光ネットワーク６を介して接続されている。一例として、情報処理システムＳＹＳにおいては、記憶装置１５０が接続されるＳＡＮには、ＷＤＭ（Wavelength Division Multiplexing）変換器１９４が接続されており、記憶装置２５０が接続されるＳＡＮには、ＷＤＭ変換器２９４が接続されている。ＷＤＭ変換器１９４と変換器２９４との間には光ファイバが設けられており、必要なデータが遣り取りされる。正常な状態では、記憶装置１５０と記憶装置２５０との間で同期化処理が実行されており、記憶装置１５０および記憶装置２５０の間では、同一のデータが保持している状態（同期状態）が維持される。この同期状態において、基本的には、一方の記憶装置が「主」（以下「プライマリ」とも記す。）となり、他方の記憶装置が「副」（以下「セカンダリ」とも記す。）になっている。つまり、プライマリに設定された記憶装置は、保持しているデータに対する追加・削除・変更などを検知すると、その内容をセカンダリに設定された記憶装置に対しても反映する。
【００２７】
情報処理システムＳＹＳにおいては、基本的には、アクティブ化されているサーバ装置に対応する記憶装置がプライマリに設定される。例えば、サーバ装置１００がアクティブに設定されている場合には、対応する記憶装置１５０がプライマリに設定され、記憶装置２５０に対して同期化処理を実行する。逆に、サーバ装置２００がアクティブに設定されている場合には、対応する記憶装置２５０がプライマリに設定され、記憶装置１５０に対して同期化処理を実行する。但し、これらに限られることなく、記憶装置１５０および２５０のうち一方を常にプライマリに設定しておいてもよい。
【００２８】
上述したように、サーバ装置１００および２００の各々では、互いに状態を監視する監視アプリケーションが実行されており、一方のサーバ装置において何らかの障害が発生すると、サーバ装置同士で処理の引継ぎが実行される。この処理の引継ぎに応じて、記憶装置１５０と記憶装置２５０との間でも同期化処理に係るプライマリの切り替えなどが実行される。
【００２９】
このように、情報処理システムＳＹＳは、サーバ装置１００がアクセスする記憶装置１５０と、サーバ装置２００がアクセスする記憶装置２５０とを有している。記憶装置１５０と記憶装置２５０とは、光ネットワーク６を介して接続されている。そして、サーバ装置１００がアクティブに設定されている場合に、記憶装置１５０をプライマリとして記憶装置２５０との間でデータの同期化処理を実行させるとともに、サーバ装置２００がアクティブに切り替えられると、記憶装置２５０をプライマリとしてデータ記憶に係る処理を実行させるための、切替機能が実装されている。このような切替機能によって、記憶装置１５０と記憶装置２５０との間でもＨＡ構成が実現される。
【００３０】
このように、本実施の形態に従う情報処理システムＳＹＳにおいては、いわば処理センター同士がＨＡ構成になっている。
【００３１】
次に、アクティブで運用中のサーバ装置に何らかの障害が発生した場合の動作について、図２を参照しつつ説明する。図２は、本実施の形態に従う情報処理システムにおける切替処理の構成を示す模式図である。図２（ａ）には、サーバ装置１００がアクティブに設定されており、サーバ装置２００がスタンバイに設定されている状態を示す。広域ネットワーク４を介して接続されているローカルネットワーク１９０および２９０は、同一セグメント化されている。すなわち、ローカルネットワーク１９０および２９０に接続されるノードに割り当てられるネットワークアドレス（典型的には、ＩＰ（Internet Protocol）アドレス）は、同一のセグメントに属することになる。
【００３２】
図２（ａ）に示す状態においては、アクティブに設定されているサーバ装置１００に対して、仮想ＩＰアドレスが割り当てられている。この仮想ＩＰアドレスは、アクティブなサーバ装置に割り当てられ、広域ネットワーク４に直接的または間接的に接続されている各種クライアント装置（図示しない）がサーバ装置へアクセスする際に用いられる。すなわち、クライアント装置は、予め定められた単一の仮想ＩＰアドレスに基づいてサーバ装置を特定する。この仮想ＩＰアドレスは、サーバ装置のアクティブ／スタンバイの状態に応じて、動的に割り当てられる。あるいは、ＤＮＳ（Domain Name System）を用いることで、クライアント装置から同一のホスト名を用いて、アクティブなサーバ装置に適宜アクセスできるようになる。各サーバ装置は、本来のＩＰアドレスを別に有している場合もある。また、記憶装置１５０と記憶装置２５０との間では、記憶装置１５０がプライマリになって両者の間の同期化処理を実行する。
【００３３】
図２（ｂ）に示す状態において、サーバ装置１００に何らかの障害が発生した場合を考える。このとき、スタンバイであったサーバ装置２００がアクティブに設定されるとともに、サーバ装置１００に割り当てられていた仮想ＩＰアドレスがサーバ装置２００へ割り当てられる。すなわち、クライアント装置から見れば、仮想ＩＰアドレスに基づいて特定されるサーバ装置がサーバ装置２００へ切り替えられる。
【００３４】
このサーバ装置間の引継ぎ処理（テイクオーバ）と並行して、記憶装置についても引継ぎ処理（テイクオーバ）が実行される。具体的には、記憶装置２５０がプライマリになり、記憶装置１５０がセカンダリになる。これによって、記憶装置１５０と記憶装置２５０との間で同期化処理が継続される。
【００３５】
このようなサーバ装置および記憶装置のそれぞれがテイクオーバを実行することで、処理センター１（サイト）自体が災害などで損傷を受けた場合であっても、サーバ装置の運用およびデータの利用を継続できる。
【００３６】
＜Ｂ．ハードウエア構成＞
次に、本実施の形態に従う情報処理システムＳＹＳに含まれるサーバ装置１００および２００ならびに記憶装置１５０および２５０のハードウエア構成について説明する。
【００３７】
典型的には、サーバ装置１００および２００は、汎用アーキテクチャに従うコンピュータで構成される。説明の便宜上、サーバ装置１００について説明するが、サーバ装置２００についても同様の構成で実現される。図３は、本実施の形態に従う情報処理システムＳＹＳに含まれるサーバ装置のハードウエア構成を示す模式図である。
【００３８】
図３を参照して、サーバ装置１００は、プロセッサ１０２と、メモリ１０４と、ネットワークインターフェイス１０６と、ハードディスク（ＨＤＤ）１０８と、ファイバチャネルインターフェイス１１０と、光学ドライブ１１２とを含む。これらの各コンポーネントは、内部バス１１６を介して互いにデータ通信可能に構成されている。
【００３９】
プロセッサ１０２は、サーバ装置１００における各種処理を実行する演算主体である。なお、サーバ装置１００の処理量に応じて、マルチプロセッサ構成やマルチコアプロセッサが採用されることもある。メモリ１０４は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの不揮発性メモリから構成され、プロセッサ１０２がプログラムを実行するために必要な命令コードや各種データを保持するワーキングメモリとして機能する。ネットワークインターフェイス１０６は、ローカルネットワーク１９０を介して、他のサーバ装置とデータを遣り取りするための処理を実行する。ハードディスク１０８は、プロセッサ１０２で実行されるＯＳ（Operating System）、監視アプリケーション、後述するような切替処理を実行するためのスクリプトなどを格納している。なお、サーバ装置１００が扱うデータは、基本的には、記憶装置１５０に格納されることになっており、ハードディスク１０８には、サーバ装置１００を動作させるためのシステムプログラムなどを格納する。
【００４０】
ファイバチャネルインターフェイス１１０は、ＳＡＮを介して、記憶装置１５０にアクセスするための処理を実行する。なお、ＳＡＮが多重化されている場合には、ファイバチャネルインターフェイス１１０も複数のチャネルを介してデータを遣り取りできるように構成される。光学ドライブ１１２は、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）やＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの光学記録媒体１１４からプログラムなどを読出して、ハードディスク１０８へインストールなどを行う。
【００４１】
典型的には、記憶装置１５０および２５０には、複数の物理的な記憶デバイス（典型的には、ハードディスク）が実装される。説明の便宜上、記憶装置１５０について説明するが、記憶装置２５０についても同様の構成で実現される。図４は、本実施の形態に従う情報処理システムＳＹＳに含まれる記憶装置のハードウエア構成を示す模式図である。
【００４２】
図４を参照して、記憶装置１５０は、プロセッサ１５２と、チップセット１５４と、メモリ１５６と、ファイバチャネルインターフェイス１５８−１，１５８−２と、データバス１６０と、複数のハードディスク（ＨＤＤ）１７０−１，１７０−２，１７０−３，１７０−４，…とを含む。
【００４３】
プロセッサ１５２は、記憶装置１５０における各種処理を実行する演算主体である。チップセット１５４は、プロセッサ１５２、メモリ１５６、ハードディスク１７０などとの間でデータを遣り取りするエレメントであり、サーバ装置１００などからのアクセス要求に応じて、必要なデータを読出し、あるいは、送信されたデータをハードディスク１７０に書き込む。例えば、チップセット１５４は、記憶装置１５０が提供する記憶領域のボリュームなどを管理する。メモリ１５６は、記憶装置１５０が動作するために必要な情報（一例として、コンフィギュレーション情報１５７）を保持する。複数のハードディスク（ＨＤＤ）１７０−１，１７０−２，１７０−３，１７０−４，…は、データバス１６０を介して、チップセット１５４との間でデータを遣り取りする。
【００４４】
＜Ｃ．ソフトウエア構成＞
次に、本実施の形態に従うサーバ装置１００および２００のソフトウエア構成について説明する。図５は、本実施の形態に従う情報処理システムＳＹＳに含まれるサーバ装置のソフトウエア構成を示す模式図である。
【００４５】
図５を参照して、サーバ装置１００および２００は、そのソフトウエア構成として、クラスタアプリケーション１３０および２３０、切替スクリプト１３２および２３２、ならびに、記憶装置制御ソフトウエア１３４および２３４をそれぞれ含む。
【００４６】
クラスタアプリケーション１３０および２３０の各々は、互いに状態を監視するとともに、何らかの障害が発生した場合に、情報の引継ぎ処理を実行する監視アプリケーションである。この情報の引継ぎ処理には、仮想ＩＰアドレスを引継ぐ処理も含まれる。すなわち、クラスタアプリケーション１３０および２３０は、サーバ装置１００および２００の間で、アクティブ／スタンバイを切り替えるための処理を実行する。このように、サーバ装置１００および２００は、サーバ装置のアクティブ／スタンバイを切り替えるための手段として、サーバ装置１００およびサーバ装置２００の各々で独立に実行され、他方のサーバ装置の状態を監視する監視アプリケーションを含む。
【００４７】
切替スクリプト１３２および２３２は、それぞれクラスタアプリケーション１３０および２３０が他のサーバ装置において何らかの障害が発生したと判断した場合に、記憶装置１５０および２５０の切替処理を実行する。基本的には、いずれかのサーバ装置において何らかの障害が発生すると、他方のサーバ装置で実行されるクラスタアプリケーションがその障害の発生を検知し、対応する切替スクリプトが記憶装置１５０および２５０に対して、必要な指令を出力する。このように、サーバ装置１００および２００は、記憶装置１５０および２５０のプライマリ／セカンダリを切り替えるための手段として、それぞれのサーバ装置に実装され、同じサーバ装置で実行されるクラスタアプリケーション（監視アプリケーション）が他方のサーバ装置に障害が発生したと判断したことに応答して、記憶装置１５０および記憶装置２５０に必要な指令を出力するロジックを含む。すなわち、切替スクリプト１３２および２３２は、他方のサーバ装置の状態を監視する監視アプリケーションであるクラスタアプリケーション１３０および２３０によって、他方のサーバ装置に障害が発生したことが検知されると起動される制御プログラムである。
【００４８】
記憶装置制御ソフトウエア１３４および２３４は、記憶装置１５０および２５０へのアクセスを管理するとともに、記憶装置１５０および２５０の状態を変更する処理を実行する。より具体的には、記憶装置制御ソフトウエア１３４および２３４は、切替スクリプト１３２および２３２からの指示に従って、記憶装置１５０および２５０に対して必要な指示を与えることで、状況に応じて同期化処理の内容を適宜変更する。
【００４９】
＜Ｄ．処理手順＞
次に、本実施の形態に従う情報処理システムＳＹＳにおける処理手順について説明する。図６は、本実施の形態に従う情報処理システムＳＹＳにおける処理手順を示すシーケンス図である。説明の便宜上、処理センター１のサーバ装置１００がアクティブに設定されるとともに、記憶装置１５０がプライマリに設定されて運用している場合において、サーバ装置１００に何らかの障害が発生したときの処理について説明する。サーバ装置２００がアクティブに設定されている場合にサーバ装置２００に何らかの障害が発生したときも同様の処理が実行されるので、詳細な説明は繰返さない。以下の処理の説明において、便宜上、各動作の実行主体がそれを実現するプログラムであるように記載するが、実際の処理は、サーバ装置１００および２００のプロセッサがプログラム（クラスタアプリケーションや切替スクリプトなど）を実行することで実現される。
【００５０】
図５および図６を参照して、クラスタアプリケーション１３０および２３０は、互いに状態を監視する（図５の（１）；図６のシーケンスＳＱ１００）。一方、記憶装置１５０と記憶装置２５０との間では、記憶装置１５０をプライマリ、記憶装置２５０をセカンダリとして、両者の間で同期化処理が実行される。すなわち、記憶装置１５０と記憶装置２５０との間は、同期状態に維持される（図６のシーケンスＳＱ１０２）。プライマリに設定される記憶装置１５０が提供する仮想ストレージを「Ｐ−ＶＯＬ（Primary Volume）」とも称し、セカンダリに設定される記憶装置２５０が提供する仮想ストレージを「Ｓ−ＶＯＬ（Secondary Volume）」とも称す。
【００５１】
その後、サーバ装置１００において何らかの障害が発生すると（図６のシーケンスＳＱ１０４）、サーバ装置２００のクラスタアプリケーション２３０は、そのサーバ装置１００に障害が発生したことを検知する（図５の（２）；図６のシーケンスＳＱ１０６）。すると、クラスタアプリケーション２３０は、サーバ装置１００のクラスタアプリケーション１３０との間で処理の引継ぎが実行される（図５の（３）；図６のシーケンスＳＱ１０８）。例えば、サーバ装置１００に割り当てられている仮想ＩＰアドレスを解除し、サーバ装置２００に同一の仮想ＩＰアドレスを割り当てる処理が実行される。その後、クラスタアプリケーション２３０は、切替スクリプト２３２に対する起動指令を発行する（図５の（４）；図６のシーケンスＳＱ１１０）。
【００５２】
この起動指令に応答して、切替スクリプト２３２は、記憶装置１５０および２５０の属性値・状態値を取得する（図５の（５）；図６のシーケンスＳＱ１１２）。典型的には、属性値は、記憶装置１５０および２５０のボリューム属性を示し、状態値は、同期状態を示すペア値を示す。これらの情報の詳細については、後述する。
【００５３】
続いて、切替スクリプト２３２は、サーバ装置の切り替え後の記憶装置１５０および２５０におけるデータ記憶に係る処理モードを決定する（図６のシーケンスＳＱ１１４）。  
【００５４】
このとき、後述するような状態１〜４に応じて、処理が分岐される。図６には、属性値・状態値の内容を状態に応じてそれぞれ記載しているが、基本的には、決定した処理モードに応じていずれかが実行される。
【００５５】
状態１において、切替スクリプト２３２は、決定した処理モードに対応する新たな属性値・状態値を記憶装置制御ソフトウエア２３４へ出力する（図５の（６）；図６のシーケンスＳＱ１１６）。記憶装置制御ソフトウエア２３４は、切替スクリプト２３２からの新たな属性値・状態値に応答して、記憶装置１５０および２５０に対して、それぞれ切替指令を出力する（図５の（７）；図６のシーケンスＳＱ１１８）。この切替指令によって、典型的には、記憶装置１５０が提供する仮想ストレージは「Ｐ−ＶＯＬ」から「Ｓ−ＶＯＬ」へ変更されるとともに、記憶装置２５０が提供する仮想ストレージは「Ｓ−ＶＯＬ」から「Ｐ−ＶＯＬ」へ変更される。
【００５６】
その後、切替スクリプト２３２は、記憶装置１５０および２５０の属性値・状態値を取得し、記憶装置の切替処理の完了を確認する（図５の（９））。記憶装置の切替処理が完了したことを確認すると、切替スクリプト２３２は、クラスタアプリケーション２３０へ切替完了通知を出力する（図５の（１０）；図６のシーケンスＳＱ１２２）。
【００５７】
このとき、記憶装置２５０がプライマリに設定され、記憶装置１５０がセカンダリに設定されて、両者の間は同期状態に維持される（図５の（８）；図６のシーケンスＳＱ１２０）。
【００５８】
状態３は、サーバ装置１００に加えて記憶装置１５０においても何らかの障害が発生している場合に相当する。この状態において、記憶装置１５０と記憶装置２５０との間で同期状態を実現できないので、記憶装置２５０単独でデータを保持することになる。このような場合には、切替指令は、記憶装置２５０のみへ出力される。すなわち、切替スクリプト１３２および２３２は、いずれかのサーバ装置に障害が発生すると、記憶装置１５０および記憶装置２５０の状態に応じて、データ記憶に係る処理のモードを決定する。
【００５９】
より具体的には、切替スクリプト２３２は、決定した処理モードに対応する新たな属性値・状態値を記憶装置制御ソフトウエア２３４へ出力する（図５の（６）；図６のシーケンスＳＱ１２６）。記憶装置制御ソフトウエア２３４は、切替スクリプト２３２からの新たな属性値・状態値に応答して、記憶装置１５０および２５０に対して、それぞれ同期解除指令を出力する（図５の（７）；図６のシーケンスＳＱ１２８）。この同期解除指令によって、記憶装置１５０が提供する仮想ストレージと、記憶装置２５０が提供する仮想ストレージとの間の同期状態が解除される。
【００６０】
その後、切替スクリプト２３２は、記憶装置１５０および２５０の属性値・状態値を取得し、記憶装置の解除処理の完了を確認する（図５の（９））。記憶装置の切替処理が完了したことを確認すると、切替スクリプト２３２は、クラスタアプリケーション２３０へ切替完了通知を出力する（図５の（１０）；図６のシーケンスＳＱ１３２）。
【００６１】
このとき、記憶装置２５０と記憶装置１５０との間は非同期状態に維持される（図６のシーケンスＳＱ１３０）。
【００６２】
なお、状態２および状態４においては、記憶装置制御ソフトウエア２３４は、切替指令を出力しない。
【００６３】
そして、記憶装置制御ソフトウエア２３４は、切替完了通知をクラスタアプリケーション２３０へ出力する（シーケンスＳＱ１３４）。クラスタアプリケーション２３０は、切替完了通知の内容に応じた処理を実行する。具体的には、切替スクリプト２３２からの切替完了通知が「成功」であることに応答して、クラスタアプリケーション２３０は、共有リソースを起動する（シーケンスＳＱ１４０）。この共有リソースは、記憶装置１５０および２５０を含む。そして、クラスタアプリケーション２３０は、サーバ装置２００で実行されるべき各種アプリケーションを起動する（シーケンスＳＱ１４２）。
【００６４】
一方、切替スクリプト２３２からの切替完了通知が「失敗」であれば、クラスタアプリケーション２３０は、処理を行わない。
【００６５】
以上の手順によって、何らかの障害が発生したサーバ装置１００からサーバ装置２００への切替処理が完了する。
【００６６】
＜Ｅ．記憶装置におけるデータ記憶に係る処理モード＞
次に、記憶装置におけるデータ記憶に係る処理モードについて説明する。
【００６７】
まず、本実施の形態に従う情報処理システムＳＹＳにおける記憶装置１５０および２５０の処理モードの典型例について説明する。図７は、本実施の形態に従う情報処理システムＳＹＳにおける記憶装置１５０および２５０の処理モードを示す表である。
【００６８】
図７に示す表について、状態１は、記憶装置１５０および２５０が健全である場合に相当する。状態１においては、記憶装置１５０が提供する仮想ストレージが「Ｐ−ＶＯＬ」に設定されており、記憶装置２５０が提供する仮想ストレージが「Ｓ−ＶＯＬ」に設定されている。また、記憶装置１５０が主として記憶装置２５０との間で同期化処理を実行し、それぞれの記憶装置の内容が同じ状態（以下、「ペア状態」）になっている。この場合、記憶装置２５０を「Ｐ−ＶＯＬ」とするため、記憶装置１５０と記憶装置２５０の間の同期の方向を反転させ、ペア状態は保持される。すなわち、記憶装置２５０がプライマリに設定され、記憶装置１５０がセカンダリに設定されるとともに、サーバ装置がサーバ装置２００へ切り替えられる。
【００６９】
一方、状態２、状態３および状態４は、記憶装置１５０または記憶装置２５０において、それぞれの記憶装置の内容が同じでない状態（以下、「ペア不整合状態」）であることを示す。よって、記憶装置１５０のデータを更新しても、記憶装置２５０には反映されていない状態である。
【００７０】
典型的には、状態２は、記憶装置１５０または記憶装置２５０に対する人為的な操作、あるいは、ＳＡＮでの単独障害発生により、「ペア不整合状態」である場合を想定している。この場合、記憶装置１５０に継続してデータが更新されている可能性があるため、記憶装置１５０と記憶装置２５０の間の同期の方向は反転させない。すなわち、どの記憶装置に対しても操作は行われず、サーバ装置の切替も行われない。
【００７１】
典型的には、状態３は記憶装置１５０を含む処理センター１が、状態４は記憶装置２５０を含む処理センター２が災害などで損傷を受けたことなどを原因として、記憶装置１５０または記憶装置２５０での障害発生により、「ペア不整合状態」である場合を想定している。
【００７２】
状態３の場合、処理センター２で処理を引き継ぐ必要があり、記憶装置２５０を利用可能とするため、記憶装置１５０と記憶装置２５０のペアを解除するとともに、サーバ装置がサーバ装置２００へ切り替えられる。これは、記憶装置１５０と記憶装置２５０の間の同期の方向は反転させても、記憶装置１５０が使用できないため、反転に失敗するためである。
【００７３】
状態４の場合、処理センター１での処理を継続する必要があるため、記憶装置１５０と記憶装置２５０の間の同期の方向は反転させない。すなわち、どの記憶装置に対しても操作は行われず、サーバ装置の切替も行われない。
【００７４】
要約すると、切替スクリプト２３２は、サーバ装置１００に障害が発生したときに、記憶装置１５０および記憶装置２５０がいずれも健全であれば、記憶装置２５０を主として記憶装置１５０との間でデータの同期化処理を実行させる。すなわち、図２（ｂ）に示すような状態で、記憶装置１５０と記憶装置２５０との間で同期化処理を実行させる。
【００７５】
一方、切替スクリプト２３２は、サーバ装置１００に障害が発生したときに、記憶装置１５０が健全でなければ、記憶装置２５０に単独でデータ記憶処理を実行させる。図８は、本実施の形態に従う情報処理システムＳＹＳにおいて記憶装置が単独でデータ保持を行う場合を示す模式図である。図８に示すように、サーバ装置１００に障害が発生したときに、記憶装置１５０が健全でなければ、切替スクリプト２３２は、記憶装置２５０に単独でデータ記憶処理を実行させる。
【００７６】
なお、サーバ装置１００の切替スクリプト１３２についても同様の処理が実行可能である。このように、本実施の形態に従う情報処理システムＳＹＳでは、いずれかのサーバ装置において何らかの障害が発生すると、それを検知したクラスタアプリケーションによって、切替スクリプトが起動され、記憶装置１５０および２５０の状態が確認された上で、適切な引継ぎ処理（テイクオーバ）が実行される。このようなロジックを採用することで、処理センター自体をＨＡ構成とすることができ、災害などに対する冗長性を高めることができる。
【００７７】
＜Ｆ．利点＞
例えば、上述の先行文献１に開示されるようなシステム、つまり通常時に利用される常用系サーバ装置と常用系サーバ装置が障害時に利用される予備系サーバ装置とからなるシステムに対して災害などに対する冗長性を高めようとすると、災害発生時の拠点にさらに別のサーバ装置（災害時用サーバ装置）を設ける必要があり、合計３台のサーバ装置が必要になる。
【００７８】
一般的に、常用系サーバ装置と予備系サーバ装置との間の二重系システムでは、自動的に切り替えるための仕組みが用意されているが、災害時用サーバ装置への切り替えについては、オペレータの特別な操作によって行われるようにせざるを得ない。つまり、常用系サーバ装置と予備系サーバ装置との間で自動的に切り替える仕組みと、災害発生時に、これらの二重系システムと災害時用サーバ装置とを切り替える仕組みとを別々に構築する必要がある。
【００７９】
災害発生時に災害時用サーバ装置での運用に切り替えるためには、以下のような操作を行う必要がある。
【００８０】
・災害発生時の拠点に配置され、常用系サーバ装置との間で同期しているデータを災害時用サーバ装置に認識される操作
・災害時用サーバ装置での必要なプログラムの起動操作
・災害時用サーバ装置へのアクセスを可能にするための、ＤＮＳを用いたホスト名とＩＰアドレスとの対応関係の更新操作
上述のようなシステムを運用するにあたっては、災害発生時に、これらの操作を行うことのできる高度なスキルをもったオペレータを確保しておく必要があり、運用上の制約になり得るという課題がある。また、常用系サーバ装置に加えて、予備系サーバ装置および災害時用サーバ装置がそれぞれ別々に配置されるために、常用系サーバ装置を加えると、３重のメンテナンスが必要になるという課題がある。
【００８１】
このような課題に対して、本発明の実施の形態に従う情報処理システムＳＹＳでは、常用系サーバ装置が配置された処理センター１（サイト：通常運用拠点）と、処理センター１が災害などで損傷を受けた場合にその業務を引き継ぐための予備系サーバ装置が配置された処理センター２（サイト：災害対策拠点）との間で冗長化構成を実現するとともに、災害などが発生した際に、サーバ装置を自動的に切り替える構成を構築している。また、処理センター２（サイト：災害対策拠点）に配置されているサーバ装置は、従来の予備系サーバ装置としても機能する。
【００８２】
このような情報処理システムＳＹＳを実現するために、以下のような構成を採用している。
【００８３】
・２つの処理センター（サイト）間でネットワークアドレスの同一化（同一セグメント化）
・２つの処理センター（サイト）間で転送されたデータを制御するロジック
・サーバ装置間で仮想ＩＰアドレスの引継ぎおよび記憶装置の認識などを自動的に実行するロジック
このような構成を採用することで、本実施の形態に従う情報処理システムＳＹＳでは、災害などが発生した場合に、常用系サーバ装置から災害対策拠点に設置された災害時用サーバ装置へ自動的に切り替えることができる。そのため、システム運用にあたって高度なスキルをもったオペレータを確保しておく必要がない。
【００８４】
また、従来のシステム構成に対してサーバ装置における障害の発生および拠点に対する災害の発生などを考慮して冗長系を構成しようとすれば、常用系サーバ装置、予備系サーバ装置および災害時用サーバ装置の合計３台が必要であったが、本実施の形態に従う情報処理システムＳＹＳでは、常用系サーバ装置と、予備系・災害時用サーバ装置との合計２台で実現されるため、サーバ装置の数を従来の構成に比較して２／３にでき、ハードウエアおよびソフトウエアのコストを低減できる。併せて、通常プログラムのメンテナンスの箇所を低減できる。
【００８５】
一般的に、互いに同期状態に維持されている複数の記憶装置（ストレージ）に対して、同期状態の確認や同期化処理の転送方向（つまり、いずれの記憶装置をプライマリにするか）の変更などについては、記憶装置に対して、手動でコマンドを入力して状態を確認した上で、それらの設定を変更するためのコマンドをさらに入力する必要がある。このような場合、同期状態は複数のパターンが存在するため、いずれのパターンで運用されているのかを識別するために時間を要し、また、パターンを誤認する可能性もある。さらに、記憶装置の同期状態を確認しないまま、これらの記憶装置に対して状態変更のコマンドを入力すると、データの整合性が失われ、データが破壊されてしまう恐れもある。
【００８６】
このような課題を考慮して、本実施の形態に従う情報処理システムＳＹＳは、切替スクリプト１３２および２３２を採用している。この切替スクリプト１３２および２３２は、記憶装置の同期状態を判断し、その判断結果に応じて状態を変更するためのコマンドを自動的に実行する。このような切替スクリプト１３２および２３２を採用することで、データの同期状態を変更する際の誤認を防止することがでいるとともに、判断に要する時間を短縮できる。さらに、記憶装置が保持するデータの破壊を防止することもできる。
【００８７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８８】
１，２  処理センター、４  広域ネットワーク、６  光ネットワーク、１００，２００  サーバ装置、１０２，１５２  プロセッサ、１０４，１５６  メモリ、１０６  ネットワークインターフェイス、１０８，１７０  ハードディスク、１１０，１５８  ファイバチャネルインターフェイス、１１２  光学ドライブ、１１４  光学記録媒体、１１６  内部バス、１３０，２３０  クラスタアプリケーション、１３２，２３２  切替スクリプト、１３４，２３４  記憶装置制御ソフトウエア、１５０，２５０  記憶装置、１５４  チップセット、１５７  コンフィギュレーション情報、１６０  データバス、１９０，２９０  ローカルネットワーク、１９４，２９４  ＷＤＭ変換器、ＳＹＳ  情報処理システム。
【図１】
2014134925.tif 000003
【図２】
2014134925.tif 000004
【図３】
2014134925.tif 000005
【図４】
2014134925.tif 000006
【図５】
2014134925.tif 000007
【図６】
2014134925.tif 000008
【図７】
2014134925.tif 000009
【図８】
2014134925.tif 000010