(57)【要約】【課題】パスに障害が発生した場合であっても、冗長性を維持したまま省電力化を実現することができる冗長化システム、冗長化方法、記憶装置、及びプログラムを提供すること。【解決手段】本発明にかかる冗長化システムは、ディスクアレイ装置１と、複数の第１のパスを介してディスクアレイ装置１と接続された業務ホスト５、６と、を備える。また、冗長化システムは、ポート制御手段１２と、コントローラ制御手段１４と、を備える。ポート制御手段１２は、複数の第１のパスが通信可能か否かを示す第１のパス接続情報を取得する。コントローラ制御手段１４は、第１のパス接続情報に基づいて、少なくとも２つ以上の通信可能な第１のパスを用いたディスクアレイ装置１と業務ホスト５、６との接続が維持されるように、コントローラの動作を停止させる。【選択図】図１
2014164431.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、当該メモリに対するデータの入出力を制御し、複数の第１のパスに接続された複数のコントローラと、を有する記憶装置と、
複数の前記第１のパスを介して前記記憶装置と接続されたホスト装置と、
複数の前記第１のパスが通信可能か否かを示す第１のパス接続情報を取得する第１の接続情報取得手段と、
前記第１のパス接続情報に基づいて、少なくとも２つ以上の通信可能な前記第１のパスを用いた前記記憶装置と前記ホスト装置との接続が維持されるように、前記コントローラの動作を停止させるコントローラ制御手段と、
を備える冗長化システム。
【請求項２】
複数の前記第１のパスを介して複数の前記コントローラに接続され、複数の第２のパスを介して前記ホスト装置と接続される複数の中継装置と、
複数の前記第２のパスが通信可能か否かを示す第２のパス接続情報を取得する第２の接続情報取得手段と、をさらに備え、
前記コントローラ制御手段は、前記第１のパス接続情報及び前記第２のパス接続情報に基づいて、少なくとも２以上の通信可能な前記第１のパスを用いた前記記憶装置と前記中継装置との接続が維持され、かつ、少なくとも２以上の通信可能な前記第２のパスを用いた前記中継装置と前記ホスト装置との接続が維持されるように、前記コントローラの動作を停止させる請求項１に記載の冗長化システム。
【請求項３】
前記ホスト装置が使用する前記第２のパスを切り替えるパス切替手段をさらに備え、
前記パス切替手段は、前記ホスト装置が使用している前記第２のパスが通信不可能となった場合、前記第２のパス接続情報に基づいて、通信可能な前記第２のパスに切り替える請求項２に記載の冗長化システム。
【請求項４】
前記コントローラの負荷を示す負荷情報を取得する負荷情報取得手段をさらに備え、
前記コントローラ制御手段は、前記負荷情報に基づいて、停止させる前記コントローラを決定する請求項１〜３のいずれか一項に記載の冗長化システム。
【請求項５】
前記負荷情報取得手段は、前記コントローラの負荷情報と、予め設定された前記コントローラに対する負荷の限界値と、に基づいて、停止させる前記コントローラを決定する請求項４に記載の冗長化システム。
【請求項６】
メモリと、当該メモリに対するデータの入出力を制御し、複数の第１のパスに接続された複数のコントローラと、を有する記憶装置と、複数の前記第１のパスを介して前記記憶装置と接続されたホスト装置と、を備えるシステムの冗長化方法であって、
複数の前記第１のパスが通信可能か否かを示す第１のパス接続情報を取得するステップと、
前記第１のパス接続情報に基づいて、少なくとも２つ以上の通信可能な前記第１のパスを用いた前記記憶装置と前記ホスト装置との接続が維持されるように、前記コントローラの動作を停止させるステップと、
を備える冗長化方法。
【請求項７】
メモリと、
前記メモリに対するデータの入出力を制御し、複数の第１のパスを介してホスト装置に接続された複数のコントローラと、
複数の前記第１のパスが通信可能か否かを示す第１のパス接続情報を取得する第１の接続情報取得手段と、
前記第１のパス接続情報に基づいて、少なくとも２つ以上の通信可能な前記第１のパスを用いた前記コントローラとホスト装置との接続が維持されるように、前記コントローラの動作を停止させるコントローラ制御手段と、
を備える記憶装置。
【請求項８】
メモリと、当該メモリに対するデータの入出力を制御し、複数の第１のパスに接続された複数のコントローラと、を有する記憶装置と、複数の前記第１のパスを介して前記記憶装置と接続されたホスト装置と、を備えるシステムを制御するプログラムであって、
コンピュータに、
複数の前記第１のパスが通信可能か否かを示す第１のパス接続情報を取得させるステップと、
前記第１のパス接続情報に基づいて、少なくとも２つ以上の通信可能な前記第１のパスを用いた前記記憶装置と前記ホスト装置との接続が維持されるように、前記コントローラの動作を停止させるステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化システム、冗長化方法、記憶装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、ＲＡＩＤ(Redundant Arrays of Inexpensive Disks)に代表されるディスクアレイのようにＨＤＤ（Hard Disk Drive）などの磁気ディスクの集合からディスクプールを構成する記憶装置が知られている。また、例えば、特許文献１のように、記憶装置のディスクプール上の領域を論理的に分割した論理ディスクをネットワーク（例えばＳＡＮ(Storage Area Network)）で接続された業務ホストから利用するシステムも存在する。
【０００３】
一般的に、ディスクアレイ装置にはＲＡＩＤを制御する複数のコントローラが搭載されており、業務ホストからディスクアレイ装置上の複数のコントローラに対して、それぞれ冗長化されたパスで接続する冗長構成が取られている。
【０００４】
一方で、消費電力の上限が決められたシステムが近年増えてきている。サーバの場合ではラック単位で上限が設けられている例などがあり、ディスクアレイ装置にも消費電力を抑える要求が出てきている。例えば、特許文献２には、冗長性を考慮して、プロセッサアレイやハードディスクを停止させる技術が開示されている。また、特許文献３には、ＣＰＵ(Central Processing Unit)のビジィ率に基づいて、ＣＰＵのクロック数を低下させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−２１６２０４号公報
【特許文献２】特開２０１２−１８１６５６号公報
【特許文献３】特開２００８−２５０９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ディスクアレイ装置と業務ホスト間に正常に接続されていない（例えば障害状態）パスが存在する場合、障害に関係のない正常なコントローラを停止してしまうと、冗長性が維持できず、業務に影響を与えてしまう恐れがある。
【０００７】
本発明は、このような問題を解決するためになされたものであり、パスに障害が発生した場合であっても、冗長性を維持したまま省電力化を実現することができる冗長化システム、冗長化方法、記憶装置、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明にかかる冗長化システムは、メモリと、当該メモリに対するデータの入出力を制御し、複数の第１のパスに接続された複数のコントローラと、を有する記憶装置と、複数の前記第１のパスを介して前記記憶装置と接続されたホスト装置と、複数の前記第１のパスが通信可能か否かを示す第１のパス接続情報を取得する第１の接続情報取得手段と、  前記第１のパス接続情報に基づいて、少なくとも２つ以上の通信可能な前記第１のパスを用いた前記記憶装置と前記ホスト装置との接続が維持されるように、前記コントローラの動作を停止させるコントローラ制御手段と、を備えるものである。
【０００９】
本発明にかかる冗長化方法は、メモリと、当該メモリに対するデータの入出力を制御し、複数の第１のパスに接続された複数のコントローラと、を有する記憶装置と、複数の前記第１のパスを介して前記記憶装置と接続されたホスト装置と、を備えるシステムの冗長化方法であって、複数の前記第１のパスが通信可能か否かを示す第１のパス接続情報を取得するステップと、前記第１のパス接続情報に基づいて、少なくとも２つ以上の通信可能な前記第１のパスを用いた前記記憶装置と前記ホスト装置との接続が維持されるように、前記コントローラの動作を停止させるステップと、を備えるものである。
【００１０】
本発明にかかる記憶装置は、メモリと、前記メモリに対するデータの入出力を制御し、複数の第１のパスを介してホスト装置に接続された複数のコントローラと、複数の前記第１のパスが通信可能か否かを示す第１のパス接続情報を取得する第１の接続情報取得手段と、前記第１のパス接続情報に基づいて、少なくとも２つ以上の通信可能な前記第１のパスを用いた前記コントローラとホスト装置との接続が維持されるように、前記コントローラの動作を停止させるコントローラ制御手段と、を備えるものである。
【００１１】
本発明にかかるプログラムは、メモリと、当該メモリに対するデータの入出力を制御し、複数の第１のパスに接続された複数のコントローラと、を有する記憶装置と、複数の前記第１のパスを介して前記記憶装置と接続されたホスト装置と、を備えるシステムを制御するプログラムであって、コンピュータに、複数の前記第１のパスが通信可能か否かを示す第１のパス接続情報を取得させるステップと、前記第１のパス接続情報に基づいて、少なくとも２つ以上の通信可能な前記第１のパスを用いた前記記憶装置と前記ホスト装置との接続が維持されるように、前記コントローラの動作を停止させるステップと、を実行させるものである。
【発明の効果】
【００１２】
本発明により、パスに障害が発生した場合であっても、冗長性を維持したまま省電力化を実現することができる冗長化システム、冗長化方法、記憶装置、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態にかかる冗長化システムのブロック図である。
【図２】実施の形態にかかる性能管理テーブルの一例を示す図である。
【図３】実施の形態にかかるポート状態管理テーブルの一例を示す図である。
【図４】実施の形態にかかるパス状態管理テーブルの一例を示す図である。
【図５】実施の形態にかかるホスト情報管理テーブルの一例を示す図である。
【図６】実施の形態にかかる冗長化システムの動作を示すフローチャートである。
【図７】実施の形態にかかるパス制御手段の動作を示すフローチャートである。
【図８】実施の形態にかかる冗長化システムのブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかる冗長化システムの構成を図１に示す。冗長化システムは、ディスクアレイ装置１（記憶装置）と、ＦＣ（ファイバチャネル）スイッチ４１、４２（中継装置）と、業務ホスト５、６（ホスト装置）と、を備える。ディスクアレイ装置１は、ＦＣスイッチ４１、４２を介して、ＳＡＮのネットワークを用いて業務ホスト５、６と接続されている。なお、業務ホストとは、図示しないクライアント端末からの要求に応じて、サービス提供や演算処理等を行うコンピュータである。
【００１５】
ディスクアレイ装置１は、性能管理手段１１と、ポート制御手段１２と、パス状態監視手段１３と、コントローラ制御手段１４と、性能管理テーブル１５と、ポート状態管理テーブル１６と、パス状態管理テーブル１７と、ホスト情報管理テーブル１８と、コントローラ２１〜２４と、論理ディスク３と、を備える。なお、性能管理手段１１、ポート制御手段１２、パス状態監視手段１３、及びコントローラ制御手段１４は、例えば、図示しないＣＰＵ(Central Processing Unit)が予め記憶された処理プログラムを実行することにより実現される。また、性能管理テーブル１５、ポート状態管理テーブル１６、パス状態管理テーブル１７、及びホスト情報管理テーブル１８は、図示しないメモリに格納される。
【００１６】
性能管理手段１１（負荷情報取得手段）は、定期的に動作し、各コントローラ２１〜２４の負荷情報の統計的な計測を行う。なお、負荷情報とは、各コントローラ２１〜２４にかかる負荷を示す情報である。また、性能管理手段１１は、計測した値、及び、計測した値の合計値を性能管理テーブル１５に登録する。
【００１７】
性能管理手段１１の動作について詳細に説明する。性能管理手段１１は、ディスクアレイ装置１上において定期的に動作し、各コントローラ２１〜２４の負荷情報を取得して性能管理テーブル１５を更新する。具体的には、性能管理手段１１は、任意の時刻における各コントローラ２１〜２４の負荷情報として単位時間当たりのＩ／Ｏ数（ＩＯＰＳ（Input/Output Per Second））を取得する。ＩＯＰＳの計測方法としては、Ｉ／Ｏ回数のカウンタを保持しておき、前回計測時と今回計測時の差分値をインターバルの時間で割った値を当該時刻のＩＯＰＳとして算出することができる。性能管理手段１１は、各コントローラ２１〜２４において計測したＩＯＰＳを取得し、それらの値をＩＯＰＳ統計値として性能管理テーブル１５に登録する。また、性能管理手段１１は、各コントローラ２１〜２４のＩＯＰＳ統計値の総和を算出し、ディスクアレイ装置１全体のＩＯＰＳ統計値（合計値）として性能管理テーブル１５に登録する。
【００１８】
図２に性能管理テーブル１５の一例を示す。性能管理テーブル１５は、各コントローラ２１〜２４のＩ／Ｏ負荷の統計値とＩ／Ｏ負荷の限界値を格納する。また、性能管理テーブル１５は、ディスクアレイ装置１全体に対するＩ／Ｏ負荷の統計値とＩ／Ｏ負荷の限界値を格納する。各コントローラ２１〜２４におけるＩ／Ｏ負荷の統計値には、過去２４時間のＩＯＰＳ値の平均値が記録される。また、ＩＯＰＳ限界値には、各コントローラ２１〜２４の性能限界ＩＯＰＳ値が記録される。また、ディスクアレイ装置１全体の統計値と限界値（合計値）には、全コントローラ２１〜２４の値の総和が記録される。
【００１９】
なお、本実施例では、各コントローラ２１〜２４及びディスクアレイ装置１全体のＩＯＰＳ限界値は、ベンダまたはユーザによって事前に値が登録されているものとする。なお、コントローラの変更などにより限界値が変動する可能性を考慮すると、手動または自動でＩＯＰＳ限界値を更新してもよい。また、本実施例では、コントローラ２１〜２４の負情報の一例として、上記のようなＩＯＰＳ値を用いているがこれに限られるものではない。例えば、より長い期間の平均を統計値として採用することや、性能保証限界値を限界値として採用するなどが考えられる。また、性能を計る指標もＩＯＰＳの他に、コントローラのＣＰＵ負荷（使用率など）や、キャッシュメモリの使用率を使う方法、それら全てを組み合わせて総合的に計測する方法などが考えられる。
【００２０】
ポート制御手段１２（第１の接続情報取得手段）は、定期的に動作し、各コントローラ２１〜２４の各ポートに接続されたパスが通信可能か否かを示すパス接続情報（第１のパス接続情報）を取得する。また、ポート制御手段１２は、取得したパス接続情報をポート状態管理テーブル１６に登録する。
【００２１】
ポート制御手段１２の動作について詳細に説明する。ポート制御手段１２は、ディスクアレイ装置１上において定期的に動作し、ディスクアレイ装置１上の各コントローラ２１〜２４の全ポートの接続状態（リンク状態）をポート状態管理テーブル１６に登録する。ポート制御手段１２は、コントローラ２１〜２４から、各コントローラが持つ全ポートの接続情報や障害情報を取得する。ポート制御手段１２は、ポートがリンクアップ状態の場合は"ＵＰ"を、ポートが未使用またはパスの障害などによりポートがリンクダウン状態の場合は"ＤＯＷＮ"を、該当ポートのリンク状態としてポート状態管理テーブル１６に登録する。つまり、ポート制御手段１２は、各コントローラの全ポートについて、当該ポートに接続されたパスが通信可能（正常）であるか、通信不可能（異常）であるかを示す情報をポートの識別情報に対応づけてポート状態管理テーブル１６に格納する。
【００２２】
図３にポート状態管理テーブル１６の一例を示す。ポート状態管理テーブル１６は、各コントローラ２１〜２４の各ポートの接続状態を管理するテーブルである。本実施例では、コントローラ２１のポートのうち、ＦＣスイッチ４１と接続されているポートはコントローラ２１−００というポート名（識別情報）を用いて登録され、ＦＣスイッチ４２と接続されているポートはコントローラ２１−０１というポート名を用いて登録されている。また、各ポートの接続状態は、ポート名と対応付けて格納されている。各ポートの接続（リンク）状態は、正常に接続されている場合はリンクアップ状態として"ＵＰ"、接続されていないか障害が発生している場合はリンクダウン状態として"ＤＯＷＮ"が登録される。
【００２３】
パス状態監視手段１３（第２の接続情報取得手段）は、定期的に動作し、全ての業務ホスト５、６に接続された各パスのパス接続情報（第２のパス接続情報）を取得する。つまり、パス状態監視手段１３は、業務ホスト５、６とＦＣスイッチ４１、４２との間を接続するパスのパス接続情報を取得する。また、パス状態監視手段１３は、取得したパス接続情報をパス状態管理テーブル１７に登録する。
【００２４】
パス状態監視手段１３の動作について詳細に説明する。パス状態監視手段１３は、ディスクアレイ装置１上において定期的に動作し、各業務ホスト５、６の全パスの接続状態（リンク状態）をパス状態管理テーブル１７に登録する。パス状態監視手段１３は、各業務ホスト５、６の全てのパスに対してＦＣプロトコルのプロセスログインが行われているかどうかを確認する。そして、パス状態監視手段１３は、ログインが行われている場合はリンクアップ状態として"ＵＰ"を、ログインが行われていない場合はリンクダウン状態として"ＤＯＷＮ"をリンク状態としてパス状態管理テーブル１７に登録する。つまり、パス状態監視手段１３は、各業務ホスト５、６に接続された全パスについて、当該パスが通信可能（正常）であるか、通信不可能（異常）であるかを示す情報を業務ホストの識別情報（ホスト名）に対応づけてパス状態管理テーブル１７に格納する。
【００２５】
図４にパス状態管理テーブル１７の一例を示す。パス状態管理テーブル１７は、業務ホスト５、６を識別するためのホスト名と、業務ホスト５、６上からディスクアレイ装置１上の論理ディスク３を認識できるパスのパス名と、そのパスの接続（リンク）状態を表す情報と、が含まれる。ホスト名には、各業務ホスト５、６を識別できる名前が格納される。パス名には、ＨＢＡのＷＷＰＮ（World Wide Port Name）値が登録される。
【００２６】
本実施例では、ホスト名とパス（ＷＷＮＰ）はユーザによって事前に登録されているものとする。また、各パスの接続状態には、正常に接続されている場合はリンクアップ状態として"ＵＰ"、接続されていないか障害が発生している場合はリンクダウン状態として"ＤＯＷＮ"が登録される。
【００２７】
コントローラ制御手段１４は、定期的あるいはコントローラ２１〜２４の省電力化を指示されたときに動作し、各コントローラ２１〜２４の負荷状態に基づいて、業務性能に影響を与えずに電源を停止できるコントローラの台数を判断する。また、コントローラ制御手段１４は、コントローラ２１〜２４の各ポートの接続状態と各パスの接続状態に基づいて、どのコントローラを停止すればパスの冗長性を維持できるかを判断する。そして、コントローラ制御手段１４は、上記の判断結果に基づいて、電源停止可能なコントローラの電源を停止する。なお、コントローラ制御手段１４の動作の詳細は後述する。
【００２８】
コントローラ２１〜２４は、ディスクアレイ装置１上においてデータのＩ／Ｏを制御する。本実施の形態においては、１つのコントローラには、２本のパスが接続されている（図１参照）。そのため、ディスクアレイ装置１全体として、８本のパスが接続されている。論理ディスク３は、例えば複数のＨＤＤ等のメモリから構成される記録媒体である。コントローラ２１〜２４の制御に応じて、論理ディスク３に対してデータの入出力が行われる。
【００２９】
ＦＣスイッチ４１、４２は、冗長化されたＳＡＮのネットワークを構成するため、ネットワーク上にある全てのホストバスアダプタ（ＨＢＡ）とＦＣ接続される。ＦＣスイッチ４１は、コントローラ２１〜２４のそれぞれと接続されると共に、業務ホスト５、６のそれぞれと接続される。同様に、ＦＣスイッチ４２は、コントローラ２１〜２４のそれぞれと接続されると共に、業務ホスト５、６のそれぞれと接続される。なお。コントローラ２１〜２４と、ＦＣスイッチ４１、４２と、の間を接続するパスが第１のパスであり、ＦＣスイッチ４１、４２と、業務ホスト５、６と、の間を接続するパスが第２のパスである。
【００３０】
次に、業務ホスト５、６について説明する。業務ホスト５は、パス情報管理手段５１と、パス制御手段５２と、ホスト情報管理テーブル５３と、を備える。同様に、業務ホスト６は、パス情報管理手段６１と、パス制御手段６２と、ホスト情報管理テーブル６３と、を備える。なお、パス情報管理手段５１、６１と、パス制御手段５２、６２とは、例えば、図示しないＣＰＵが予め記憶された処理プログラムを実行することにより実現される。また、ホスト情報管理テーブル５３、６３は、図示しないメモリに格納される。
【００３１】
パス情報管理手段５１は、定期的に動作し、ディスクアレイ装置１との通信に利用できるパスの数と、現在通信に使用しているパスを確認する。そして、パス情報管理手段５１は、通信に利用できるパスの数と、使用パスのパス名と、をホスト情報管理テーブル５３に登録する。また、ディスクアレイ装置１もホスト情報管理テーブル１８を有する。業務ホスト５が有するホスト情報管理テーブル５３は、業務ホスト５の情報のみが格納される。同様に、業務ホスト６が有するホスト情報管理テーブル６３は、業務ホスト６の情報のみが格納される。一方、ディスクアレイ装置１が有するホスト情報管理テーブル１８は、全業務ホスト５、６の情報が格納される。
【００３２】
図５にホスト情報管理テーブル１８の一例を示す。ホスト情報管理テーブル１８は、業務ホストを識別する情報であるホスト名と、そのホスト上でディスクアレイ装置１とのＩ／Ｏに使用できるパスの数と、現在使用しているパスの情報（業務ホスト側のＨＢＡのＷＷＰＮ値など）と、が含まれる。本実施例では、業務ホスト２台（５、６）がディスクアレイ装置１上のコントローラ４台（２１〜２４）に対して、ＦＣスイッチ２台（４１、４２）を経由した冗長的なパスで接続されている。また、業務ホスト５に接続されたパスのうち、ＦＣスイッチ４１と接続されているＨＢＡのＷＷＮＰ（パス名）を"Ａ０"とし、ＦＣスイッチ４２と接続されているＨＢＡのＷＷＮＰを"Ａ１"としている。業務ホスト６についても同様に、ＦＣスイッチ４１と接続されているＨＢＡのＷＷＮＰを"Ｂ０"とし、ＦＣスイッチ４２と接続されているＨＢＡのＷＷＮＰを"Ｂ１"としている（図１参照）。
【００３３】
パス制御手段５２（パス切替手段）は、定期的あるいは現在使用しているパスの状態が使用不可状態になったときに動作し、業務ホスト５が使用するパスを切り替える。具体的には、パス制御手段５２は、パスの切り替えが必要で、切り替えるパスが存在し、かつそのパスが正常に接続されている条件のときに、使用するパスを切り替える。
【００３４】
続いて、本実施の形態にかかるディスクアレイ装置１の動作について、図６に示すフローチャートを参照して説明する。はじめに、性能管理手段１１が、各コントローラ２１〜２４の負荷情報を取得して性能管理テーブル１５を更新する（ステップＳ１０１）。
【００３５】
次に、ポート制御手段１２が、各コントローラ２１〜２４の各ポートに接続されたパスが通信可能か否かを示すパス接続情報（第１のパス接続情報）を取得し、ポート状態管理テーブル１６を更新する（ステップＳ１０２）。
【００３６】
次に、パス状態監視手段１３が、全ての業務ホスト５、６に接続された各パスのパス接続情報（第２のパス接続情報）を取得し、パス状態管理テーブル１７を更新する（ステップＳ１０３）。
【００３７】
ステップＳ１０１〜Ｓ１０３においてディスクアレイ装置１の各テーブルが更新されると、コントローラ制御手段１４は、各テーブルの情報に基づいて、コントローラの動作を停止させる。まず、コントローラ制御手段１４は、性能管理テーブル１５を参照して、各コントローラ２１〜２４の負荷状態を確認する（ステップＳ１０４）。そして、コントローラ制御手段１４は、コントローラを停止したときに、業務性能への影響があるかどうかを判定する（ステップＳ１０５）。
【００３８】
具体的には、コントローラ制御手段１４は、あるコントローラを停止させた場合に、残りのコントローラのＩＯＰＳ限界値の総和が、その時点におけるディスクアレイ全体のＩＯＰＳ統計値を上回っているか否かを判定する。例えば、本実施例の場合、コントローラ２３を停止したときのＩＯＰＳ限界値の総和は９００となり、その時点のＩＯＰＳ統計値の総和である７００を上回っている。このため、コントローラ制御手段１４は、コントローラ２３を停止しても業務性能への影響が無いと判断できる。
【００３９】
業務性能への影響が無い場合（ステップＳ１０５：Ｙｅｓ）、コントローラ制御手段１４は、ポート状態管理テーブル１６とパス状態管理テーブル１７とを参照して、ディスクアレイ装置１と業務ホスト５、６間の接続状態を確認する（ステップＳ１０６）。一方、業務性能への影響がある場合（ステップＳ１０５：Ｎｏ）、コントローラ制御手段１４は、動作を終了する。
【００４０】
次に、コントローラ制御手段１４は、ポート状態管理テーブル１６とパス状態管理テーブル１７とに基づいて、ステップＳ１０５において特定したコントローラ（業務性能に影響が出ないコントローラ）を停止しても冗長性が維持されるか否かを判定する（ステップＳ１０７）。具体的には、コントローラ制御手段１４は、コントローラ２１〜２４とＦＣスイッチ４１、４２との間に通信可能なパスが２本以上存在し、かつ、ＦＣスイッチ４１、４２と業務ホスト５（または業務ホスト６）との間に通信可能なパスが２本以上存在するか否かを判定する。
【００４１】
例えば、本実施例の場合、ポート状態管理テーブル１６を参照すると、コントローラ２３のポートの接続がなくなっても、他のコントローラ２１、２２、２４とＦＣスイッチ４１、４２との間にはパスが２本ずつ存在している。このため、コントローラ制御手段１４は、ディスクアレイ装置１とＦＣスイッチ４１、４２との間では冗長性が維持できていると判定できる。
【００４２】
また、パス状態管理テーブル１７参照すると、業務ホスト５、６とＦＣスイッチ４１、４２と間においても、パスが２本ずつ存在している。このとき、コントローラ制御手段１４は、業務ホストとＦＣスイッチとの間のパス数と、ＦＣスイッチとコントローラとの間のパス数と、のうち数の少ない方が、そのコントローラと業務ホスト間のパスの数と判断できる。
【００４３】
例えば、コントローラ２１に注目してみると、コントローラ２１とＦＣスイッチ４１、４２と間にも、業務ホスト５とＦＣスイッチ４１、４２との間にも、パスが２本ずつ存在している。このため、コントローラ制御手段１４は、コントローラ２１と業務ホスト５との間には２本以上のパスが存在していると判定できる。また、他のコントローラ２２〜２４についても同様に判断できる。本実施例では、コントローラ２３が停止状態になっても、コントローラ２１、２２、２４とＦＣスイッチ４１、４２との間に通信可能なパスが２本以上存在する。また、ＦＣスイッチ４１、４２と業務ホスト５との間に通信可能なパスが２本以上存在する。そのため、コントローラ制御手段１４は、業務ホスト５とディスクアレイ装置１との間の冗長性が維持できると判断できる。
【００４４】
一方、コントローラ２１とＦＣスイッチ４１、４２との間か、業務ホスト５とＦＣスイッチ４１、４２との間のパスのどちらかが１本しかない場合や、どちらも１本の場合は、コントローラ制御手段１４は、コントローラ２１と業務ホスト５との間のパスは１本しかないと判断できる。
【００４５】
コントローラ制御手段１４は、ステップＳ１０５、Ｓ１０７において、業務の性能要件を満たし、冗長性を維持できると判断できた場合は、ステップＳ１０５において特定したコントローラを停止させる（ステップＳ１０８）。
【００４６】
なお、性能管理テーブル１５、ポート状態管理テーブル１６、及びパス状態管理テーブル１７の更新順序（ステップＳ１０１〜Ｓ１０３）は、上記の順番に限られるものではない。また、これらのテーブルを参照して、コントローラ制御手段１４が判断する順序も上記の順番に限られるものではなく、異なる順番で参照・判断しても、全ての条件が満たされれば良い。
【００４７】
次に、業務ホスト５のパス制御手段５２の動作について、図７に示すフローチャートを参照して説明する。まず、パス情報管理手段５１が、業務ホスト５に接続されたパスのうち、ディスクアレイ装置１との通信に利用できるパスの数と、現在通信に使用しているパスを確認し、ホスト情報管理テーブル５３を更新する。同様に、パス情報管理手段５１が、業務ホスト６に接続されたパスのうち、ディスクアレイ装置１との通信に利用できるパスの数と、現在通信に使用しているパスを確認し、ホスト情報管理テーブル６３を更新する。また、ディスクアレイ装置１は、それぞれの業務ホスト５、６のホスト情報管理テーブル５３、６３に格納された情報を取得し、ホスト情報管理テーブル１８を更新する（ステップＳ２０１）。
【００４８】
次に、パス制御手段５２は、現在業務ホスト５が使用しているパスが使用不可状態になったときか、ホスト情報管理テーブル５３が更新されたときに動作し、パスの切り替えが必要で切り替えるパスが存在する場合に、使用するパスを切り替える。具体的には、パス制御手段５２は、現在使用しているパスが正常に接続されているか否かを判定する（ステップＳ２０２）。例えば、ディスクアレイ装置１へのＩ／Ｏが継続できない（失敗する）状態が検出された場合や、パス状態管理テーブル１７のリンク状態が"ＤＯＷＮ"になっている場合に、パス制御手段５２は、現在使用しているパスが正常に接続されていない状態であると判定できる。
【００４９】
現在使用しているパスが正常に接続されていない場合（ステップＳ２０２：Ｙｅｓ）、パス制御手段５２は、パスの切り替えが必要であると判断し、他に正常なパスがあるかどうかを判定する（ステップＳ２０３）。
【００５０】
具体的には、パス制御手段５２は、ホスト情報管理テーブル５３を参照して、利用できるパスの数が２以上として登録されているか確認する。利用できるパス数が２以上ある場合、パス制御手段５２は、パス状態管理テーブル１７を参照して、他に正常なパスがあるかどうかを確認する（ステップＳ２０３）。他に正常なパスが存在する場合（ステップＳ２０３：Ｙｅｓ）、パス制御手段５２は、業務ホスト５が使用するパスを、正常なパスのいずれかに切り替える（ステップＳ２０４）。切り替えるパスが存在しない場合（ステップＳ２０２：ＮｏまたはステップＳ２０３：Ｎｏ）、パス制御手段５２は、パスの切り替えを行わない。なお、上記の説明では、パス制御手段５２について説明したが、業務ホスト６のパス制御手段６２も同様に動作する。
【００５１】
以上のように、本実施の形態にかかる冗長化システムの構成によれば、ポート制御手段１２が、コントローラ２１〜２４とＦＣスイッチ４１、４２との間のパス（第１のパス）のパス接続情報（第１のパス接続情報）を取得する。また、パス情報管理手段５１、６１が、業務ホスト５、６とＦＣスイッチ４１、４２との間のパス（第２のパス）のパス接続情報（第２のパス接続情報）を取得する。そして、コントローラ制御手段１４は、ポート状態管理テーブル１６とパス状態管理テーブル１７とを参照して、少なくとも２つ以上の通信可能なパスを用いたディスクアレイ装置１と業務ホスト５（または業務ホスト６）との接続が維持されるように、コントローラの動作を停止させる。これにより、パスに障害が発生した場合であっても、冗長性を維持したまま省電力化を実現することができる。
【００５２】
また、性能管理手段１１が、コントローラ２１〜２４の負荷情報を取得する。そして、コントローラ制御手段は、現在のコントローラ２１〜２４の負荷の合計と、現在のコントローラ２１〜２４それぞれの負荷とに基づいて、停止可能なコントローラを決定し、コントローラを停止させる。これにより、業務性能を低下させることなく省電力を図ることができる。
【００５３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、業務ホストの数、パスの本数、コントローラの数などは、図１に示した構成に限られない。また、第１及び第２のパス接続情報として、リンクアップ及びリンクダウンの情報を用いたが、パスが通信可能か否かを示す情報であれば、これに限られるものではない。例えば、任意のデータを各パス経由で送受信し、その送受信の結果に基づいて通信の可否を調べてもよい。
【００５４】
また、上述の実施の形態においては、ＦＣスイッチ４１、４２を中継して、業務ホスト５、６とディスクアレイ装置１とを接続していたが、これに限られるものではない。業務ホスト５、６と、コントローラ２１〜２４とが直接接続されていてもよい。この場合、各パス（第１のパス）のパス接続情報（第１のパス接続情報）のみを用いて、通信可能なパスを特定し、冗長化を図ることができる。つまり、図８に示すように、ディスクアレイ装置は、少なくとも、各コントローラ２１〜２４に接続されたパスのパス接続情報を取得するポート制御手段１２と、当該パス接続情報を格納するパス状態管理テーブル１７と、パス接続情報に基づいて、冗長化が維持されるようにコントローラを停止するコントローラ制御手段１４と、を備えていればよい。このような構成により、パスに障害が発生した場合であっても、冗長化を維持したまま省電力化を実現することができる。
【００５５】
さらに、上述の冗長化システムの任意の処理は、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュメモリ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００５６】
また、コンピュータが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現される場合だけでなく、このプログラムが、コンピュータ上で稼動しているＯＳ（Operating System）もしくはアプリケーションソフトウェアと共同して、上述の実施の形態の機能を実現する場合も、本発明の実施の形態に含まれる。さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによって行われて、上述の実施の形態の機能が実現される場合も、本発明の実施の形態に含まれる。
【符号の説明】
【００５７】
１  ディスクアレイ装置
３  論理ディスク
５、６  業務ホスト
１１  性能管理手段
１２  ポート制御手段
１３  パス状態監視手段
１４  コントローラ制御手段
１５  性能管理テーブル
１６  ポート状態管理テーブル
１７  パス状態管理テーブル
１８  ホスト情報管理テーブル
２１〜２４  コントローラ
４１、４２  ＦＣスイッチ
５１、６１  パス情報管理手段
５２、６２  パス制御手段
５３、６３  ホスト情報管理テーブル
【図１】
2014164431.tif 000003
【図２】
2014164431.tif 000004
【図３】
2014164431.tif 000005
【図４】
2014164431.tif 000006
【図５】
2014164431.tif 000007
【図６】
2014164431.tif 000008
【図７】
2014164431.tif 000009
【図８】
2014164431.tif 000010