(57)【特許請求の範囲】
【請求項１】
ホスト装置からのアクセスを受け付けることが可能な第１のストレージ装置と第２のストレージ装置のうち、前記第１のストレージ装置が運用状態であり、前記第２のストレージ装置が待機状態であり、前記第１のストレージ装置に記憶された複数のデータにそれぞれ対応する複数のバックアップデータが前記第２のストレージ装置にバックアップされている状態において、前記複数のデータのそれぞれに対する前記ホスト装置からのアクセス頻度を示す頻度情報を前記第１のストレージ装置から取得する取得部と、
前記頻度情報に基づいて、前記複数のデータのそれぞれを、前記第１のストレージ装置が提供するアクセス性能が異なる複数の第１の記憶領域のうちのどこに配置するかを決定する第１の決定処理を実行し、前記複数のデータのそれぞれが前記複数の第１の記憶領域のうち前記第１の決定処理で決定された第１の記憶領域に配置されるように指示する第１の指示情報を前記第１のストレージ装置に送信し、前記頻度情報に基づいて、前記複数のバックアップデータのそれぞれを、前記第２のストレージ装置が提供するアクセス性能が異なる複数の第２の記憶領域のうちのどれに配置するかを決定する第２の決定処理を実行し、前記複数のバックアップデータのそれぞれが前記複数の第２の記憶領域のうち前記第２の決定処理で決定された第２の記憶領域に配置されるように指示する第２の指示情報を前記第２のストレージ装置に送信する制御部と、
を有するストレージ管理装置。
【請求項２】
ストレージ管理装置が、
ホスト装置からのアクセスを受け付けることが可能な第１のストレージ装置と第２のストレージ装置のうち、前記第１のストレージ装置が運用状態であり、前記第２のストレージ装置が待機状態であり、前記第１のストレージ装置に記憶された複数のデータにそれぞれ対応する複数のバックアップデータが前記第２のストレージ装置にバックアップされている状態において、前記複数のデータのそれぞれに対する前記ホスト装置からのアクセス頻度を示す頻度情報を前記第１のストレージ装置から取得し、
前記頻度情報に基づいて、前記複数のデータのそれぞれを、前記第１のストレージ装置が提供するアクセス性能が異なる複数の第１の記憶領域のうちのどこに配置するかを決定する第１の決定処理を実行し、前記複数のデータのそれぞれが前記複数の第１の記憶領域のうち前記第１の決定処理で決定された第１の記憶領域に配置されるように指示する第１の指示情報を前記第１のストレージ装置に送信し、前記頻度情報に基づいて、前記複数のバックアップデータのそれぞれを、前記第２のストレージ装置が提供するアクセス性能が異なる複数の第２の記憶領域のうちのどれに配置するかを決定する第２の決定処理を実行し、前記複数のバックアップデータのそれぞれが前記複数の第２の記憶領域のうち前記第２の決定処理で決定された第２の記憶領域に配置されるように指示する第２の指示情報を前記第２のストレージ装置に送信する、
ストレージ管理方法。
【請求項３】
コンピュータに、
ホスト装置からのアクセスを受け付けることが可能な第１のストレージ装置と第２のストレージ装置のうち、前記第１のストレージ装置が運用状態であり、前記第２のストレージ装置が待機状態であり、前記第１のストレージ装置に記憶された複数のデータにそれぞれ対応する複数のバックアップデータが前記第２のストレージ装置にバックアップされている状態において、前記複数のデータのそれぞれに対する前記ホスト装置からのアクセス頻度を示す頻度情報を前記第１のストレージ装置から取得し、
前記頻度情報に基づいて、前記複数のデータのそれぞれを、前記第１のストレージ装置が提供するアクセス性能が異なる複数の第１の記憶領域のうちのどこに配置するかを決定する第１の決定処理を実行し、前記複数のデータのそれぞれが前記複数の第１の記憶領域のうち前記第１の決定処理で決定された第１の記憶領域に配置されるように指示する第１の指示情報を前記第１のストレージ装置に送信し、前記頻度情報に基づいて、前記複数のバックアップデータのそれぞれを、前記第２のストレージ装置が提供するアクセス性能が異なる複数の第２の記憶領域のうちのどれに配置するかを決定する第２の決定処理を実行し、前記複数のバックアップデータのそれぞれが前記複数の第２の記憶領域のうち前記第２の決定処理で決定された第２の記憶領域に配置されるように指示する第２の指示情報を前記第２のストレージ装置に送信する、
処理を実行させるストレージ管理プログラム。
【請求項４】
ホスト装置からのアクセス要求に応じて、アクセス性能の異なる複数の第１の記憶領域を有する第１のストレージ装置にアクセスする第１の制御装置と、
前記第１のストレージ装置に格納されたデータを前記第１のストレージ装置から受信し、アクセス性能の異なる複数の第２の記憶領域を有する第２のストレージ装置に、受信した前記データをバックアップし、前記第１の制御装置が停止した場合に、前記第１の制御装置の代わりに、前記ホスト装置から前記アクセス要求を受信し、受信した前記アクセス要求に応じて前記第２のストレージ装置にアクセスする第２の制御装置と、
前記第１のストレージ装置に格納された複数の第１のデータのそれぞれに対する前記ホスト装置からのアクセス頻度を示す頻度情報を前記第１の制御装置から取得し、前記頻度情報に基づいて、前記複数の第１のデータのそれぞれを前記複数の第１の記憶領域のどこに配置するかを決定する第１の決定処理を実行し、前記複数の第１のデータのそれぞれが前記複数の第１の記憶領域のうち前記第１の決定処理で決定された第１の記憶領域に配置されるように指示する第１の指示情報を前記第１の制御装置に送信し、前記頻度情報に基づいて、前記第２のストレージ装置に格納された複数の第２のデータのそれぞれを前記複数の第２の記憶領域のどこに配置するかを決定する第２の決定処理を実行し、前記複数の第２のデータのそれぞれが前記複数の第２の記憶領域のうち前記第２の決定処理で決定された第２の記憶領域に配置されるように指示する第２の指示情報を前記第２の制御装置に送信するストレージ管理装置と、
を有するストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージ管理装置、ストレージ管理方法、ストレージ管理プログラムおよびストレージシステムに関する。
【背景技術】
【０００２】
ストレージ装置内の記憶装置をアクセスに対する応答性能に応じて階層化し、階層間でデータを再配置する技術が知られている。例えば、アクセス頻度の高いデータは高性能な記憶装置に配置され、アクセス頻度の低いデータは低性能な記憶装置に配置される。このようにデータを配置することで、迅速なアクセス処理を実現できる。
【０００３】
記憶装置の階層化の技術としては、次のような技術が提案されている。例えば、主系と待機系のストレージシステムのボリュームを形成する記憶領域がそれぞれ階層化される。そして、フェイルオーバの際、待機系のストレージシステムのボリュームが、主系のストレージシステムのボリュームの階層に対応する待機系のストレージシステムの階層にマイグレーションされる。
【０００４】
また、同じデータ内容である正ページと副ページがＳＳＤ（Solid State Drive）に格納されており、ペアサスペンドのコマンドを受けたときには、副ページをＳＳＤよりも低コストのＳＡＴＡ（Serial ATA）ディスクに移動する技術が提案されている。
【０００５】
さらに、リモートコピーする際、コピー先のストレージ装置が、コピー先のストレージ装置が備えるコピー元の記憶階層に対応する記憶装置にデータをコピーする技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３２８４６８号公報
【特許文献２】国際公開第２０１１／１１１０９３号
【特許文献３】特開２００７−２６５４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ストレージ装置が冗長化されたストレージシステムでは、運用状態（アクティブ状態）のストレージ装置に格納されているデータを待機状態（スタンバイ状態）のストレージ装置にバックアップさせる場合がある。また、このようなバックアップ機能に加えて、それぞれのストレージ装置において、上記のように記憶装置が階層化され、階層間でデータを再配置することが可能である場合を考える。
【０００８】
この場合、運用状態のストレージ装置では、ホスト装置からのアクセス頻度に応じてデータが再配置される。一方、待機状態のストレージ装置では、ホスト装置からのアクセスを受けないため、運用状態のストレージ装置からバックアップのために送信されたデータはホスト装置からのアクセス頻度に関係なく、いずれかの階層に配置される。このような状況下でフェイルオーバが行われ、待機状態から運用状態に遷移したストレージ装置がホスト装置からのアクセスを受けたとき、記憶領域の階層化によるアクセス処理速度の向上効果が得られないという問題があった。
【０００９】
１つの側面では、本発明は、運用状態のストレージ装置を切り替えたときのアクセス処理速度を向上させることが可能なストレージ管理装置、ストレージ管理方法、ストレージ管理プログラムおよびストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、ストレージ管理装置が提供される。このストレージ管理装置は、取得部と制御部とを有する。取得部は、ホスト装置からのアクセスを受け付けることが可能な第１のストレージ装置と第２のストレージ装置のうち、第１のストレージ装置が運用状態であり、第２のストレージ装置が待機状態であり、第１のストレージ装置に記憶された複数のデータにそれぞれ対応する複数のバックアップデータが第２のストレージ装置にバックアップされている状態において、複数のデータのそれぞれに対するホスト装置からのアクセス頻度を示す頻度情報を第１のストレージ装置から取得する。制御部は、頻度情報に基づいて、複数のデータのそれぞれを、第１のストレージ装置が提供するアクセス性能が異なる複数の第１の記憶領域のうちのどこに配置するかを決定する第１の決定処理を実行し、複数のデータのそれぞれが複数の第１の記憶領域のうち第１の決定処理で決定された第１の記憶領域に配置されるように指示する第１の指示情報を第１のストレージ装置に送信し、頻度情報に基づいて、複数のバックアップデータのそれぞれを、第２のストレージ装置が提供するアクセス性能が異なる複数の第２の記憶領域のうちのどれに配置するかを決定する第２の決定処理を実行し、複数のバックアップデータのそれぞれが複数の第２の記憶領域のうち第２の決定処理で決定された第２の記憶領域に配置されるように指示する第２の指示情報を第２のストレージ装置に送信する。
【００１１】
また、１つの態様では、ストレージ管理方法が提供される。このストレージ管理方法は、ホスト装置からのアクセスを受け付けることが可能な第１のストレージ装置と第２のストレージ装置のうち、第１のストレージ装置が運用状態であり、第２のストレージ装置が待機状態であり、第１のストレージ装置に記憶された複数のデータにそれぞれ対応する複数のバックアップデータが第２のストレージ装置にバックアップされている状態において、複数のデータのそれぞれに対するホスト装置からのアクセス頻度を示す頻度情報を第１のストレージ装置から取得し、頻度情報に基づいて、複数のデータのそれぞれを、第１のストレージ装置が提供するアクセス性能が異なる複数の第１の記憶領域のうちのどこに配置するかを決定する第１の決定処理を実行し、複数のデータのそれぞれが複数の第１の記憶領域のうち第１の決定処理で決定された第１の記憶領域に配置されるように指示する第１の指示情報を第１のストレージ装置に送信し、頻度情報に基づいて、複数のバックアップデータのそれぞれを、第２のストレージ装置が提供するアクセス性能が異なる複数の第２の記憶領域のうちのどれに配置するかを決定する第２の決定処理を実行し、複数のバックアップデータのそれぞれが複数の第２の記憶領域のうち第２の決定処理で決定された第２の記憶領域に配置されるように指示する第２の指示情報を第２のストレージ装置に送信する。
【００１２】
また、１つの態様では、ストレージ管理プログラムが提供される。このストレージ管理プログラムは、コンピュータに、ホスト装置からのアクセスを受け付けることが可能な第１のストレージ装置と第２のストレージ装置のうち、第１のストレージ装置が運用状態であり、第２のストレージ装置が待機状態であり、第１のストレージ装置に記憶された複数のデータにそれぞれ対応する複数のバックアップデータが第２のストレージ装置にバックアップされている状態において、複数のデータのそれぞれに対するホスト装置からのアクセス頻度を示す頻度情報を第１のストレージ装置から取得し、頻度情報に基づいて、複数のデータのそれぞれを、第１のストレージ装置が提供するアクセス性能が異なる複数の第１の記憶領域のうちのどこに配置するかを決定する第１の決定処理を実行し、複数のデータのそれぞれが複数の第１の記憶領域のうち第１の決定処理で決定された第１の記憶領域に配置されるように指示する第１の指示情報を第１のストレージ装置に送信し、頻度情報に基づいて、複数のバックアップデータのそれぞれを、第２のストレージ装置が提供するアクセス性能が異なる複数の第２の記憶領域のうちのどれに配置するかを決定する第２の決定処理を実行し、複数のバックアップデータのそれぞれが複数の第２の記憶領域のうち第２の決定処理で決定された第２の記憶領域に配置されるように指示する第２の指示情報を第２のストレージ装置に送信する、処理を実行させる。
また、１つの態様では、ストレージシステムが提供される。このストレージシステムは、ホスト装置からのアクセス要求に応じて、アクセス性能の異なる複数の第１の記憶領域を有する第１のストレージ装置にアクセスする第１の制御装置と、第１のストレージ装置に格納されたデータを第１のストレージ装置から受信し、アクセス性能の異なる複数の第２の記憶領域を有する第２のストレージ装置に、受信したデータをバックアップし、第１の制御装置が停止した場合に、第１の制御装置の代わりに、ホスト装置からアクセス要求を受信し、受信したアクセス要求に応じて第２のストレージ装置にアクセスする第２の制御装置と、第１のストレージ装置に格納された複数の第１のデータのそれぞれに対するホスト装置からのアクセス頻度を示す頻度情報を第１の制御装置から取得し、頻度情報に基づいて、複数の第１のデータのそれぞれを複数の第１の記憶領域のどこに配置するかを決定する第１の決定処理を実行し、複数の第１のデータのそれぞれが複数の第１の記憶領域のうち第１の決定処理で決定された第１の記憶領域に配置されるように指示する第１の指示情報を第１の制御装置に送信し、頻度情報に基づいて、第２のストレージ装置に格納された複数の第２のデータのそれぞれを複数の第２の記憶領域のどこに配置するかを決定する第２の決定処理を実行し、複数の第２のデータのそれぞれが複数の第２の記憶領域のうち第２の決定処理で決定された第２の記憶領域に配置されるように指示する第２の指示情報を第２の制御装置に送信するストレージ管理装置と、を有する。
【発明の効果】
【００１３】
１つの側面では、運用を切り替えても、アクセス処理速度が下がることを防止することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態のストレージシステムを示す図である。
【図２】第２の実施の形態のストレージシステムを示す図である。
【図３】管理サーバのハードウェア例を示す図である。
【図４】ストレージ装置のハードウェア例を示す図である。
【図５】記憶領域の階層制御を説明するための図である。
【図６】再配置処理の比較例を説明するための図である。
【図７】第２の実施の形態での再配置処理の例を示す図である。
【図８】ストレージシステムの機能例を示す図である。
【図９】グループ管理テーブルの例を示す図である。
【図１０】割り当て管理テーブルの例を示す図である。
【図１１】プライマリのストレージ装置に記憶される情報の例を示す図である。
【図１２】セカンダリのストレージ装置に記憶される情報の例を示す図である。
【図１３】再配置処理の例を示すフローチャートである。
【図１４】第３の実施の形態のストレージシステムの構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のストレージシステムを示す図である。ストレージシステムは、ストレージ管理装置１、ストレージ装置２，３およびホスト装置４を有する。ストレージ管理装置１、ストレージ装置２，３およびホスト装置４は、ネットワークを介して接続されている。
【００１６】
ストレージ装置２，３は、データを記憶する複数の記憶装置を有し、それぞれが有する複数の記憶装置に記憶されたデータに対するホスト装置４からのアクセスを受け付けることが可能な装置である。ストレージ装置２，３のうち、一方のストレージ装置が運用状態のとき、他方のストレージ装置は待機状態となり、運用状態のストレージ装置に記憶されたデータが待機状態のストレージ装置にバックアップされる。例えば、ホスト装置４からの書き込み要求に応じて運用状態のストレージ装置に記憶されたデータが更新されると、その更新内容が即座に待機状態のストレージ装置に記憶されたデータにも反映される。また、運用状態のストレージ装置の動作が障害の発生などによって停止したとき、フェイルオーバが行われ、待機状態であった他方のストレージ装置が運用状態に遷移して、ホスト装置４からのアクセスの受け付け動作を引き継ぐ。
【００１７】
ホスト装置４は、ストレージ装置２，３のうち、運用状態のストレージ装置に記憶されたデータにアクセスする。
ストレージ管理装置１は、ストレージ装置２，３のうち、少なくとも待機状態のストレージ装置に記憶された各データについての記憶領域への配置を管理する。
【００１８】
以下、ストレージ装置２が運用状態であり、ストレージ装置３が待機状態であるものとして説明する。また、ストレージ装置２にはデータＤ１〜Ｄ４が記憶されており、これらのデータＤ１〜Ｄ４はストレージ装置３にもバックアップされているものとする。
【００１９】
待機状態のストレージ装置３は、アクセス性能の異なる複数の記憶領域を提供する。本実施の形態では、このような記憶領域の例として、第１階層の記憶領域３ａと第２階層の記憶領域３ｂとが存在するものとする。第１階層の記憶領域３ａのアクセス速度は、第２階層の記憶領域３ｂのアクセス速度よりも高いものとする。すなわち、第１階層の記憶領域３ａを実現する１以上の記憶装置のアクセス速度は、第２階層の記憶領域３ｂを実現する１以上の記憶装置のアクセス速度よりも高い。
【００２０】
ストレージ装置３にバックアップされたデータＤ１〜Ｄ４は、第１階層の記憶領域３ａと第２階層の記憶領域３ｂのいずれかに配置される。また、ストレージ装置３は、ストレージ管理装置１からの指示に基づいて、データＤ１〜Ｄ４の配置先の記憶領域を変更する「再配置」を実行することができる。
【００２１】
ストレージ管理装置１は、取得部１ａと制御部１ｂとを有する。取得部１ａと制御部１ｂの処理は、例えば、ストレージ管理装置１が有するプロセッサが所定のプログラムを実行することによって実現される。
【００２２】
取得部１ａは、ストレージ装置２に記憶されたデータＤ１〜Ｄ４のそれぞれに対するホスト装置４からのアクセス頻度を示す頻度情報５を、ストレージ装置２から取得する。頻度情報５は、ストレージ装置２によって計測される。
【００２３】
制御部１ｂは、取得された頻度情報５に基づいて、ストレージ装置３にバックアップされたデータＤ１〜Ｄ４を第１階層の記憶領域３ａと第２階層の記憶領域３ｂのうちのどれに配置するかを決定する決定処理を実行する。この決定処理では、ストレージ装置２におけるアクセス頻度が高いデータほど、アクセス速度が高い階層の記憶領域に配置するように決定される。制御部１ｂは、データＤ１〜Ｄ４のそれぞれが、第１階層の記憶領域３ａと第２階層の記憶領域３ｂのうち、上記の決定処理で決定された記憶領域に配置されるように指示する指示情報６を、ストレージ装置３に送信する。
【００２４】
例えば、指示情報６が送信される前の時点では、ストレージ装置３では、データＤ２，Ｄ３が第１階層の記憶領域３ａに配置され、データＤ１，Ｄ４が第２階層の記憶領域３ｂに配置されているとする。データをどの記憶領域に配置するかが、アクセス頻度と所定の閾値との比較結果に基づいて決定されるものとする。そして、頻度情報５においては、データＤ１，Ｄ２についてのアクセス頻度が閾値以上であり、データＤ３，Ｄ４についてのアクセス頻度がその閾値未満であるとする。
【００２５】
この場合、制御部１ｂは、データＤ１，Ｄ２を第１階層の記憶領域３ａに配置し、データＤ３，Ｄ４を第２階層の記憶領域３ｂに配置すると決定する。そして、制御部１ｂは、例えば、データＤ１の配置先を第１階層の記憶領域３ａに変更し、データＤ３の配置先を第２階層の記憶領域３ｂに変更するように指示する指示情報６を、ストレージ装置３に送信する。なお、指示情報６には、ストレージ装置３にバックアップされたすべてのデータについて、その配置先の記憶領域を示す情報が対応付けられていてもよい。
【００２６】
ストレージ装置３は、受信した指示情報６に基づいて、データＤ１を第２階層の記憶領域３ｂから第１階層の記憶領域３ａに移動させ、データＤ３を第１階層の記憶領域３ａから第２階層の記憶領域３ｂに移動させる。
【００２７】
ここで、スタンバイ状態のストレージ装置３はホスト装置４からのアクセスを受けない。このため、ストレージ管理装置１は、ストレージ装置３から取得した情報に基づいて、バックアップされたデータＤ１〜Ｄ４をホスト装置４からのアクセス頻度に応じた適切な記憶領域に再配置することはできない。従って、データＤ１〜Ｄ４はアクセス頻度に関係なく、第１階層の記憶領域３ａと第２階層の記憶領域３ｂのいずれかに配置されたままになる。
【００２８】
これに対して、ストレージ管理装置１の上記処理により、スタンバイ状態のストレージ装置３にバックアップされたデータＤ１〜Ｄ４が、アクティブ状態のストレージ装置２でのホスト装置４からのアクセス頻度に応じた適切な記憶領域に配置される。従って、フェイルオーバが行われ、スタンバイ状態からアクティブ状態に遷移したストレージ装置３がホスト装置４からのアクセスを受けたとき、アクセスに対する応答速度が向上する。
【００２９】
また、例えば、ストレージ装置２においても、第１階層の記憶領域３ａと同等のアクセス性能を有する第１階層の記憶領域２ａと、第２階層の記憶領域３ｂと同等のアクセス性能を有する第２階層の記憶領域２ｂとが提供されてもよい。そして、制御部１ｂは、ストレージ装置３内のデータＤ１〜Ｄ４と同様に、ストレージ装置２内のデータＤ１〜Ｄ４についても、頻度情報５に基づいて適切な記憶領域に再配置するようにストレージ装置２に指示してもよい。
【００３０】
この場合、ストレージ装置２におけるホスト装置４からのアクセスに対する応答性能が向上する。そして、フェイルオーバが行われ、スタンバイ状態からアクティブ状態に遷移したストレージ装置３がホスト装置４からのアクセスを受けたとき、アクセスに対する応答速度がフェイルオーバの前より低下する可能性を抑制できる。
【００３１】
［第２の実施の形態］
図２は、第２の実施の形態のストレージシステムを示す図である。ストレージシステムは、管理サーバ１００、ストレージ装置２００，３００、業務サーバ４００および端末装置５００を有する。管理サーバ１００、ストレージ装置２００，３００、業務サーバ４００および端末装置５００は、ネットワーク９００を介して接続されている。ネットワーク９００は、ＬＡＮ（Local Area Network）でもよいし、ＷＡＮ（Wide Area Network）やインターネットなどの広域ネットワークでもよい。但し、ストレージ装置２００，３００と業務サーバ４００との間は、ＳＡＮ（Storage Area Network）を通じて通信が行われる。
【００３２】
なお、管理サーバ１００は、図１のストレージ管理装置１の一例であり、ストレージ装置２００は、図１のストレージ装置２の一例であり、ストレージ装置３００は、図１のストレージ装置３の一例である。
【００３３】
管理サーバ１００は、ストレージ装置２００，３００の運用を管理するサーバコンピュータである。例えば、管理サーバ１００は、ストレージ装置２００，３００における階層制御を行う。階層制御とは、ストレージ装置に記憶されるデータが、それぞれ異なるアクセス性能を有する記憶装置によって実現される複数の記憶領域のうち、そのデータに対するアクセス頻度に応じた記憶領域に配置されるように制御する処理である。
【００３４】
ストレージ装置２００は、その内部に定義された論理ボリュームに対する業務サーバ４００からのアクセスを制御する。ストレージ装置３００も同様に、その内部に定義された論理ボリュームに対する業務サーバ４００からのアクセスを制御する。
【００３５】
ストレージ装置２００，３００のうち、一方がアクティブ状態のとき、他方はスタンバイ状態となり、アクティブ状態のストレージ装置が業務サーバ４００からのアクセスを受け付ける。また、アクティブ状態のストレージ装置は、自装置内の論理ボリュームに格納されているデータをスタンバイ状態のストレージ装置にバックアップする。そして、フェイルオーバの発生によりスタンバイ状態のストレージ装置がアクティブ状態に遷移すると、アクティブ状態に遷移したストレージ装置は、バックアップデータが記憶された論理ボリュームに対する業務サーバ４００からのアクセスを受け付ける。これにより、一方のストレージ装置が障害の発生などによって動作を停止しても、他方のストレージ装置を用いて業務サーバ４００での業務処理を継続可能になる。
【００３６】
なお、本実施の形態では、ストレージ装置２００をプライマリとし、ストレージ装置３００をセカンダリとして、運用開始時の状態では、ストレージ装置２００がアクティブ状態となり、ストレージ装置３００がスタンバイ状態になるものとする。
【００３７】
業務サーバ４００は、各種の業務に関する処理を行うサーバコンピュータである。業務サーバ４００は、ストレージ装置２００，３００のうちアクティブ状態のストレージ装置に定義された論理ボリュームにアクセスする。
【００３８】
端末装置５００は、ストレージシステムの管理者が利用するクライアントコンピュータである。例えば、端末装置５００は、管理者の操作により、管理サーバ１００が行うストレージ装置２００，３００における階層制御を定期的に行う旨の設定を行う。
【００３９】
図３は、管理サーバのハードウェア例を示す図である。管理サーバ１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、読み取り装置１０６および通信インタフェース１０７を有する。
【００４０】
プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００４１】
ＲＡＭ１０２は、管理サーバ１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００４２】
ＨＤＤ１０３は、管理サーバ１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。管理サーバ１００は、フラッシュメモリやＳＳＤなどの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００４３】
画像信号処理部１０４は、プロセッサ１０１からの命令に従って、管理サーバ１００に接続されたディスプレイ１１に画像を出力する。ディスプレイ１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００４４】
入力信号処理部１０５は、管理サーバ１００に接続された入力デバイス１２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス１２としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００４５】
読み取り装置１０６は、記録媒体１３に記録されたプログラムやデータを読み取る装置である。記録媒体１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体１３として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置１０６は、例えば、プロセッサ１０１からの命令に従って、記録媒体１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。更に、プロセッサ１０１は、記録媒体１３から読み取ったプログラムやデータを、管理サーバ１００のＲＡＭ１０２やＨＤＤ１０３に格納するよう管理サーバ１００に指示することもできる。
【００４６】
通信インタフェース１０７は、ネットワーク９００を介して、ストレージ装置２００，３００および端末装置５００と通信を行う。
なお、業務サーバ４００および端末装置５００も管理サーバ１００と同様のハードウェアにより実現できる。
【００４７】
図４は、ストレージ装置のハードウェア例を示す図である。ストレージ装置２００は、ＣＭ（Controller Module）２０１およびＤＥ（Drive Enclosure）２０２を有する。なお、ストレージ装置２００は、複数のＣＭを有していてもよいし、２台以上のＤＥを有していてもよい。
【００４８】
ＤＥ２０２は、業務サーバ４００からのアクセス対象のデータを記憶する複数の記憶装置を有する。ＤＥ２０２には、アクセス性能の異なる記憶装置が搭載される。例えば、アクセス性能の高い順に、ＳＳＤ、オンラインディスクと呼ばれるＨＤＤ、ニアラインディスクと呼ばれるＨＤＤなどがＤＥ２０２に搭載される。ＤＥ２０２には、それぞれの種類の記憶装置が１台以上搭載される。
【００４９】
ＣＭ２０１は、業務サーバ４００からのアクセス要求に応じてＤＥ２０２内の記憶装置にアクセスする。また、ＣＭ２０１は、管理サーバ１００からの指示に応じて動作することもできる。例えば、ＣＭ２０１は、管理サーバ１００からの指示に応じて、論理ボリュームに含まれるデータをＤＥ２０２内の記憶装置から別の記憶装置に再配置する。
【００５０】
ＣＭ２０１は、プロセッサ２０３、ＲＡＭ２０４、ＳＳＤ２０５、ドライブインタフェース２０６および通信インタフェース２０７を有する。各ユニットがバスに接続されている。
【００５１】
プロセッサ２０３は、ＣＭ２０１の情報処理を制御する。プロセッサ２０３は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどである。プロセッサ２０３は、マルチプロセッサであってもよい。プロセッサ２０３は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどの２以上の要素の組合せであってもよい。
【００５２】
ＲＡＭ２０４は、ＣＭ２０１の主記憶装置である。ＲＡＭ２０４は、プロセッサ２０３に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ２０４は、プロセッサ２０３による処理に用いる各種データを記憶する。
【００５３】
ＳＳＤ２０５は、ＣＭ２０１の補助記憶装置である。ＳＳＤ２０５には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ＣＭ２０１は、補助記憶装置として、ＳＳＤ２０５の代わりにＨＤＤを備えていてもよい。
【００５４】
ドライブインタフェース２０６は、ＤＥ２０２内の記憶装置と通信するためのインタフェースである。通信インタフェース２０７は、ネットワーク９００を介して管理サーバ１００、ストレージ装置３００および業務サーバ４００と通信する通信インタフェースである。なお、実際には、管理サーバ１００とＬＡＮなどを介して接続する通信インタフェースと、業務サーバ４００とＳＡＮなどを介して接続する通信インタフェースとが、個別に設けられている。
【００５５】
なお、ストレージ装置３００もストレージ装置２００と同様のハードウェアにより実現できる。すなわち、ストレージ装置３００は、ＣＭとＤＥとを有し、ストレージ装置３００のＤＥは、複数の記憶装置を有する。そして、ストレージ装置３００のＤＥには、アクセス性能の異なる記憶装置が、アクセス性能ごとにそれぞれ１台ずつ搭載される。
【００５６】
また、以下の説明において、ストレージ装置２００がアクティブ状態またはスタンバイ状態であるとは、ストレージ装置２００内のＣＭ２０１がアクティブ状態またはスタンバイ状態であることと同義である。同様に、ストレージ装置３００がアクティブ状態またはスタンバイ状態であるとは、ストレージ装置３００内のＣＭがアクティブ状態またはスタンバイ状態であることと同義である。
【００５７】
図５は、記憶領域の階層制御を説明するための図である。ストレージ装置２００には、ストレージプール２０８が設定される。ストレージプール２０８は、ストレージ装置２００に定義された論理ボリュームに対する物理領域として割り当てられる記憶領域であり、ＤＥ２０２の記憶装置によって実現される。
【００５８】
ストレージプール２０８は、第１のサブプール２０８ａと第２のサブプール２０８ｂと第３のサブプール２０８ｃとに分割されている。第１のサブプール２０８ａは、アクセス性能が同じ１つ以上の記憶装置によって実現される。第２のサブプール２０８ｂは、第１のサブプール２０８ａを実現する記憶装置よりもアクセス性能が低く、かつ互いに同一のアクセス性能を有する１つ以上の記憶装置によって実現される。第３のサブプール２０８ｃは、第２のサブプール２０８ｂを実現する記憶装置よりもアクセス性能が低く、かつ互いに同一のアクセス性能を有する１つ以上の記憶装置によって実現される。このようにして、ストレージプール２０８は、アクセス性能に応じた３つの記憶領域に階層化される。
【００５９】
なお、例えば、１つのサブプールは、同じアクセス性能の記憶装置によって構成される１つ以上のＲＡＩＤ（Redundant Arrays of Inexpensive Disks）グループとして定義される。
【００６０】
また、ストレージ装置２００には、業務サーバ４００からのアクセス対象となる論理ボリュームの１つとして、仮想ボリューム２０９が設定される。後述するように、仮想ボリューム２０９は、ストレージ装置３００内の仮想ボリュームと対応付けられ、一方の仮想ボリュームのデータが他方の仮想ボリュームにバックアップされる。
【００６１】
仮想ボリューム２０９は、一定サイズ（例えば、２１Ｍバイト）の分割領域を単位として管理され、各分割領域に対応する物理領域が分割領域ごとにストレージプール２０８内のどこかの領域に割り当てられる。また、本実施の形態では、仮想ボリューム２０９の分割領域のうちデータが格納されている分割領域のみが、ストレージプール２０８に割り当てられる。これにより、ＤＥ２０２内の記憶装置による記憶領域が効率的に利用される。
【００６２】
ここで、仮想ボリューム２０９の各分割領域は、第１のサブプール２０８ａ、第２のサブプール２０８ｂ、第３のサブプール２０８ｃのいずれかに割り当てられる。管理サーバ１００は、仮想ボリューム２０９の分割領域が、当該分割領域に対する業務サーバ４００からのアクセス頻度が高いほど、アクセス性能が高い記憶装置によって実現されるサブプールに割り当てられるように制御する。例えば、管理サーバ１００は、ある分割領域のアクセス頻度が低下した場合に、当該分割領域の割り当て先を、アクセス性能がより低い記憶装置によって実現されるサブプールに変更する。この場合、ストレージ装置２００は、管理サーバ１００からの指示に応じて、当該分割領域に格納されたデータを、割り当て変更前のサブプールに対応する記憶装置から割り当て変更後のサブプールに対応する記憶装置へ再配置する。
【００６３】
このような階層制御により、業務サーバ４００からのアクセス頻度が高いデータほど、業務サーバ４００からのアクセス要求に対する応答速度が高くなる。その結果、全体として業務サーバ４００からのアクセス要求に対する応答性能が向上する。
【００６４】
なお、以上のようなストレージ装置２００における階層制御は、ストレージ装置２００がアクティブ状態であるときに実行される。また、図５ではストレージ装置２００における階層制御について説明したが、ストレージ装置３００がアクティブ状態のときは、ストレージ装置３００においても同様な階層制御が行われる。
【００６５】
図６は、再配置処理の比較例を説明するための図である。なお、図６では、ストレージ装置２００，３００において比較例に示す処理が実行されたものと仮定して説明する。
図５の例と同様に、ストレージ装置２００には、第１のサブプール２０８ａ、第２のサブプール２０８ｂおよび第３のサブプール２０８ｃが設定されている。そして、ストレージ装置２００には仮想ボリューム２０９が定義され、仮想ボリューム２０９の分割領域のうちデータが格納された分割領域は、第１のサブプール２０８ａ、第２のサブプール２０８ｂ、第３のサブプール２０８ｃのいずれかに割り当てられる。
【００６６】
また、ストレージ装置２００が運用状態であるとすると、管理サーバ１００による制御の下で、仮想ボリューム２０９の分割領域は、当該分割領域に対する業務サーバ４００からのアクセス頻度に応じて適切なサブプールに割り当てられる。例えば、管理サーバ１００は、仮想ボリューム２０９の各分割領域のデータに対する業務サーバ４００のアクセス頻度をストレージ装置２００から取得する。管理サーバ１００は、取得したアクセス頻度に基づいて、各分割領域を割り当てるべき適切なサブプールを判定する。管理サーバ１００は、割り当て先の変更が必要な分割領域がある場合には、当該分割領域の新たな割り当て先のサブプールをストレージ装置２００に通知して、当該分割領域のデータを新たな割り当て先のサブプールに再配置するように指示する。
【００６７】
図６の例では、仮想ボリューム２０９には、それぞれ個別の分割領域に格納されるデータＤ１１〜Ｄ１９が含まれる。そして、データＤ１１，Ｄ１２は第１のサブプール２０８ａに配置され、データＤ１３〜Ｄ１５は第２のサブプール２０８ｂに配置され、データＤ１６〜Ｄ１９は第３のサブプール２０８ｃに配置されている。この場合、データＤ１１，Ｄ１２はアクセス頻度が高レベルのデータであり、データＤ１３〜Ｄ１５はアクセス頻度が中レベルのデータであり、データＤ１６〜Ｄ１９はアクセス頻度が低レベルのデータである。
【００６８】
一方、スタンバイ状態のストレージ装置３００には、仮想ボリューム２０９と同じサイズの仮想ボリューム３０９が定義され、仮想ボリューム２０９のデータが仮想ボリューム３０９にバックアップされる。業務サーバ４００からの書き込み要求によって仮想ボリューム２０９のデータが更新されると、更新後のデータがストレージ装置２００からストレージ装置３００にも送信され、その更新内容が即座に仮想ボリューム３０９にも反映される。これにより、仮想ボリューム２０９と仮想ボリューム３０９とが同期する。
【００６９】
また、ストレージ装置３００にも、第１のサブプール３０８ａ、第２のサブプール３０８ｂおよび第３のサブプール３０８ｃが設定される。第１のサブプール３０８ａは、第１のサブプール２０８ａと同じアクセス性能の記憶装置によって実現される。第２のサブプール３０８ｂは、第２のサブプール２０８ｂと同じアクセス性能の記憶装置によって実現される。第３のサブプール３０８ｃは、第３のサブプール２０８ｃと同じアクセス性能の記憶装置によって実現される。そして、仮想ボリューム３０９の分割領域のうちデータが格納された分割領域は、第１のサブプール３０８ａ、第２のサブプール３０８ｂ、第３のサブプール３０８ｃのいずれかに割り当てられる。
【００７０】
ところが、スタンバイ状態のストレージ装置３００は業務サーバ４００からのアクセスを受けないことから、管理サーバ１００は、スタンバイ状態のストレージ装置３００については、業務サーバ４００からのアクセス頻度に応じた階層制御を行うことができない。このため、仮想ボリューム２０９からバックアップのために仮想ボリューム３０９に送信されたデータは、ストレージ装置３００において、アクセス頻度に関係なく、いずれかのサブプールに配置される。例えば、仮想ボリューム３０９の各分割領域のデータは、対応する分割領域に対してあらかじめ決められたサブプールに配置される。その結果、図６の例のように、ストレージ装置２００とストレージ装置３００との間で、同じデータが異なる階層のサブプールに配置されるという状態が発生し得る。
【００７１】
このような状態で、ストレージ装置２００に障害などが発生したことによりフェイルオーバが発生したとする。この場合、ストレージ装置３００はアクティブ状態に遷移し、業務サーバ４００からの仮想ボリューム３０９に対するアクセスを受け付ける。しかし、上記のように、仮想ボリューム３０９内のデータは業務サーバ４００からのアクセス頻度に関係なくいずれかのサブプールに配置されている。このため、業務サーバ４００から仮想ボリューム３０９へのアクセス要求に対する応答速度は、仮想ボリューム２０９へのアクセス要求に対する応答速度より低下する可能性がある。
【００７２】
このような問題に対して、第２の実施の形態では、管理サーバ１００は次の図７に示すような制御を行う。
図７は、第２の実施の形態での再配置処理の例を示す図である。
【００７３】
図６と同様に、ストレージ装置２００には第１のサブプール２０８ａ、第２のサブプール２０８ｂおよび第３のサブプール２０８ｃが設定されている。そして、ストレージ装置２００には仮想ボリューム２０９が定義され、仮想ボリューム２０９の分割領域のうちデータが格納された分割領域は、第１のサブプール２０８ａ、第２のサブプール２０８ｂ、第３のサブプール２０８ｃのいずれかに割り当てられる。また、図６と同様に、ストレージ装置３００には、第１のサブプール３０８ａ、第２のサブプール３０８ｂおよび第３のサブプール３０８ｃが設定されている。そして、ストレージ装置３００には仮想ボリューム３０９が定義され、仮想ボリューム３０９の分割領域のうちデータが格納された分割領域は、第１のサブプール３０８ａ、第２のサブプール３０８ｂ、第３のサブプール３０８ｃのいずれかに割り当てられる。
【００７４】
以下、ストレージ装置２００がアクティブ状態である場合を起点として説明する。この状態では、ストレージ装置２００が業務サーバ４００からの仮想ボリューム２０９へのアクセスを受け付ける。また、仮想ボリューム２０９のデータは仮想ボリューム３０９にバックアップされる。
【００７５】
本実施の形態では、管理サーバ１００は、アクティブ状態のストレージ装置２００から、仮想ボリューム２０９の各分割領域に対する業務サーバ４００からのアクセス頻度を取得する。そして、管理サーバ１００は、取得したアクセス頻度に基づいて、アクティブ状態のストレージ装置２００におけるデータの適切な再配置先を指示するだけでなく、スタンバイ状態のストレージ装置３００におけるデータの適切な再配置先も指示する。これにより、ストレージ装置２００，３００では、同じデータが同じ階層のサブプールに配置されるようになる。その結果、フェイルオーバが行われてストレージ装置３００がアクティブ状態に遷移したときに、業務サーバ４００からのアクセス要求に対する応答性能が低下することを防止できる。
【００７６】
なお、仮想ボリューム２０９は、業務サーバ４００からのアクセス対象となる複数の論理ボリュームを含み、仮想ボリューム３０９も、仮想ボリューム２０９と同数の論理ボリュームを含んでもよい。この場合、仮想ボリューム２０９内の論理ボリュームと仮想ボリューム３０９内の論理ボリュームとで、同期が行われるペアが構成される。そして、ペアを構成する論理ボリュームのうち、アクティブ状態のストレージ装置に定義された論理ボリュームのデータが、他方の論理ボリュームにバックアップされる。また、このように仮想ボリュームに複数の論理ボリュームが含まれる場合には、仮想ボリュームに含まれる複数の論理ボリュームを単位として階層制御を行うことができる。
【００７７】
次に、ストレージシステムの処理の詳細について説明する。なお、以下の説明では、説明を明確にするために、仮想ボリューム内のアドレスを「論理アドレス」と記載し、サブプール内のアドレスを「物理アドレス」と記載する。また、以下の説明では、仮想ボリュームの分割領域のデータに対する業務サーバ４００からのアクセス頻度を示す情報として、ＩＯＰＳ（Input Output Per Second）が使用されるものとする。ＩＯＰＳは、アクティブ状態のストレージ装置において分割領域ごとに計測され、管理サーバ１００に通知される。
【００７８】
図８は、ストレージシステムの機能例を示す図である。管理サーバ１００は、記憶部１１０、情報取得部１２０および再配置制御部１３０を有する。記憶部１１０は、例えば、ＲＡＭ１０２またはＨＤＤ１０３に確保した記憶領域として実装される。情報取得部１２０および再配置制御部１３０は、例えば、プロセッサ１０１が実行するプログラムのモジュールとして実装される。
【００７９】
記憶部１１０は、グループ管理テーブルおよび割り当て管理テーブルを記憶する。グループ管理テーブルは、プライマリのストレージ装置とセカンダリのストレージ装置とが同じグループに属することを示す情報である。例えば、グループ管理テーブルを用いることにより、アクティブ状態の一方のストレージ装置が故障した場合、どのストレージ装置がアクティブ状態になるかを判断することができる。また、グループ管理テーブル１１１には、各ストレージ装置に設定され、ストレージ装置間で同期される仮想ボリュームの情報なども記憶する。
【００８０】
割り当て管理テーブルは、仮想ボリュームごとに作成される。割り当て管理テーブルは、仮想ボリュームの各分割領域とサブプールとの対応関係を記憶する。また、割り当て管理テーブルは、各分割領域のＩＯＰＳ情報も記憶する。
【００８１】
情報取得部１２０は、ストレージ装置２００，３００のうちのアクティブ状態のストレージ装置から、仮想ボリュームの各分割領域についてのＩＯＰＳ情報を取得する。ＩＯＰＳ情報は、例えば、各分割領域について計測されたＩＯＰＳのリストとして取得される。
【００８２】
再配置制御部１３０は、情報取得部１２０によって取得されたＩＯＰＳ情報と割り当て管理テーブルとに基づいて、各ストレージ装置２００，３００において仮想ボリュームの分割領域のデータを再配置する必要があるかを判定する。再配置制御部１３０は、再配置する必要があると判定した場合、どの分割領域をどの階層のサブプールに割り当てし直すかを示す再配置リストを作成する。再配置制御部１３０は、作成した再配置リストを対応するストレージ装置に送信して、対応するデータの再配置を行うように指示する。
【００８３】
ストレージ装置２００のＣＭ２０１は、記憶部２１０、アクセス制御部２２０、同期処理部２３０および再配置処理部２４０を有する。記憶部２１０は、例えば、ＲＡＭ２０４またはＳＳＤ２０５に確保した記憶領域として実装される。アクセス制御部２２０、同期処理部２３０および再配置処理部２４０は、例えば、プロセッサ２０３が実行するプログラムのモジュールとして実装される。
【００８４】
記憶部２１０は、サブプール管理テーブルおよびボリューム管理テーブルを記憶する。サブプール管理テーブルには、サブプールの未使用領域と使用済み領域を管理するための情報が登録される。ボリューム管理テーブルは、仮想ボリュームの各分割領域と、割り当て先のサブプールの領域との対応関係を示す情報が登録される。また、記憶部２１０は、ＩＯＰＳ情報を有する。
【００８５】
アクセス制御部２２０は、業務サーバ４００からの仮想ボリュームに対するアクセス要求に応じたアクセス制御を実行する。例えば、アクセス制御部２２０は、仮想ボリューム内のいずれかの分割領域に格納されたデータに対するアクセス要求を受信すると、ボリューム管理テーブルを参照して、そのデータが格納されているサブプールの記憶領域を特定する。そして、アクセス制御部２２０は、特定した記憶領域に格納されているデータにアクセスする。
【００８６】
また、アクセス制御部２２０は、業務サーバ４００から分割領域へのアクセス要求を受信する度に、その分割領域に対応するＩＯＰＳ情報を更新する。
同期処理部２３０は、ストレージ装置２００がアクティブ状態である場合、ストレージ装置２００内の仮想ボリュームにおけるアクセス制御部２２０による更新データをストレージ装置３００に送信して、バックアップを要求する。これにより、ストレージ装置２００内の仮想ボリュームと、ストレージ装置３００内の対応する仮想ボリュームとが同期する。また、同期処理部２３０は、ストレージ装置２００がスタンバイ状態である場合、ストレージ装置３００から送信された更新データを、ストレージ装置２００内の対応する仮想ボリュームに書き込む。
【００８７】
再配置処理部２４０は、管理サーバ１００の再配置制御部１３０からの指示に従い、仮想ボリュームの分割領域に対するサブプールの割り当て先を変更し、データを再配置する。データの再配置では、割り当て先変更前のサブプールに格納されているデータが、割り当て先変更後のサブプール内の空き領域に移動される。
【００８８】
ストレージ装置３００のＣＭ３０１は、記憶部３１０、アクセス制御部３２０、同期処理部３３０および再配置処理部３４０を有する。記憶部３１０は、例えば、ＣＭ３０１のＲＡＭまたはフラッシュメモリに確保した記憶領域として実装される。アクセス制御部３２０、同期処理部３３０および再配置処理部３４０は、例えば、ＣＭ３０１のプロセッサが実行するプログラムのモジュールとして実装される。
【００８９】
記憶部３１０は、記憶部２１０に記憶されるサブプール管理テーブルおよびボリューム管理テーブルと同様の構成のテーブルを記憶する。アクセス制御部３２０、同期処理部３３０および再配置処理部３４０は、ストレージ装置２００のアクセス制御部２２０、同期処理部２３０および再配置処理部２４０と同様の処理を実行する。
【００９０】
図９は、グループ管理テーブルの例を示す図である。グループ管理テーブル１１１は、管理サーバ１００の記憶部１１０に格納される。グループ管理テーブル１１１は、グループＩＤ（identifier）、プライマリのストレージＩＤ、プライマリのボリュームＩＤ、セカンダリのストレージＩＤ、セカンダリのボリュームＩＤおよびアクティブストレージＩＤの項目を含む。
【００９１】
グループＩＤの項目には、グループを識別する情報が登録される。プライマリのストレージＩＤの項目には、冗長化されたストレージ装置のうち、プライマリのストレージ装置２００の識別情報が登録される。プライマリのボリュームＩＤの項目には、プライマリのストレージ装置２００に定義された仮想ボリューム２０９の識別情報が登録される。
【００９２】
セカンダリのストレージＩＤの項目には、冗長化されたストレージ装置のうち、セカンダリのストレージ装置３００の識別情報が登録される。セカンダリのボリュームＩＤの項目には、セカンダリのストレージ装置３００に定義された仮想ボリューム３０９の識別情報が登録される。アクティブストレージＩＤの項目には、プライマリのストレージ装置２００とセカンダリのストレージ装置３００のうち、アクティブ状態になっているストレージ装置の識別情報が登録される。
【００９３】
グループ管理テーブル１１１にプライマリおよびセカンダリの各ストレージ装置の識別情報が登録されることで、管理サーバ１００は、冗長化されたストレージ装置のそれぞれを識別することができる。また、グループ管理テーブル１１１にアクティブストレージＩＤが登録されることで、管理サーバ１００は、アクティブ状態またはスタンバイ状態のストレージ装置を判別して、どちらかのストレージ装置にアクセスすることができる。さらに、グループ管理テーブル１１１にプライマリのボリュームＩＤとセカンダリのボリュームＩＤが登録されることで、管理サーバ１００は、互いに同期される仮想ボリュームのペアを判別することができる。
【００９４】
図１０は、割り当て管理テーブルの例を示す図である。図１０に示すように、管理サーバ１００の記憶部１１０には、プライマリのストレージ装置２００用の割り当て管理テーブル１１２ａとセカンダリのストレージ装置３００用の割り当て管理テーブル１１２ｂとが記憶される。
【００９５】
割り当て管理テーブル１１２ａには、プライマリのストレージ装置２００に定義された仮想ボリューム２０９の分割領域のうち、データが格納された分割領域ごとにレコードが作成される。各レコードは、論理アドレス、サブプールＩＤ、ＩＯＰＳ情報の項目を有する。論理アドレスの項目には、仮想ボリューム２０９における分割領域の先頭論理アドレスが登録される。サブプールＩＤの項目には、分割領域に割り当てられたサブプールを識別する情報が登録される。ＩＯＰＳ情報の項目には、分割領域に格納されたデータについてのＩＯＰＳの値が登録される。
【００９６】
割り当て管理テーブル１１２ｂも、割り当て管理テーブル１１２ａと同様のデータ構成を有する。すなわち、割り当て管理テーブル１１２ｂには、セカンダリのストレージ装置３００に定義された仮想ボリューム３０９の分割領域のうち、データが格納された分割領域ごとにレコードが作成される。各レコードは、論理アドレス、サブプールＩＤ、ＩＯＰＳ情報の項目を有する。論理アドレスの項目には、仮想ボリューム３０９における分割領域の先頭論理アドレスが登録される。サブプールＩＤの項目には、分割領域に割り当てられたサブプールを識別する情報が登録される。ＩＯＰＳ情報の項目には、分割領域に格納されたデータについてのＩＯＰＳの値が登録される。
【００９７】
情報取得部１２０は、ストレージ装置２００，３００のうち、アクティブ状態のストレージ装置から、各分割領域に格納されたデータについて計測されたＩＯＰＳを取得し、当該ストレージ装置に対応する割り当て管理テーブルのＩＯＰＳ情報の項目に登録する。再配置制御部１３０は、アクティブ状態のストレージ装置に対応する割り当て管理テーブルのＩＯＰＳ情報に基づいて、当該ストレージ装置に定義された仮想ボリュームについてデータの再配置が必要かを判定する。
【００９８】
また、情報取得部１２０は、スタンバイ状態のストレージ装置に対応する割り当て管理テーブルのＩＯＰＳ情報の項目にも、アクティブ状態のストレージ装置から取得したＩＯＰＳを登録する。すなわち、情報取得部１２０は、スタンバイ状態のストレージ装置に対応する割り当て管理テーブルに登録されるＩＯＰＳを、アクティブ状態のストレージ装置において計測されたＩＯＰＳに置き換える。
【００９９】
再配置制御部１３０は、スタンバイ状態のストレージ装置に対応する割り当て管理テーブルのＩＯＰＳ情報に基づいて、当該ストレージ装置に定義された仮想ボリュームについてデータの再配置が必要かを判定する。これにより、上記手順によって置き換えられたＩＯＰＳに基づいて、スタンバイ状態のストレージ装置におけるデータの再配置が行われることになる。よって、スタンバイ状態のストレージ装置内の仮想ボリュームのデータが、アクティブ状態のストレージ装置内の仮想ボリュームのデータと同様に、業務サーバ４００からのアクセス頻度に応じた適切なサブプールに配置されるようになる。ストレージ装置２００，３００における同じ階層のサブプールの容量が同じであれば、仮想ボリュームに格納された同一のデータは、ストレージ装置２００，３００において同一の階層のサブプールに配置される。
【０１００】
なお、図１０の例では、仮想ボリュームの各分割領域のＩＯＰＳを割り当て管理テーブルで管理するものとしたが、例えば、各分割領域のＩＯＰＳは割り当て管理テーブルとは別の情報によって管理されてもよい。
【０１０１】
また、割り当て管理テーブル１１２ａ，１１２ｂのレコードは、例えば、次のような手順によって作成される。
アクティブ状態のストレージ装置に対応する割り当て管理テーブルのレコードは、例えば、当該ストレージ装置から取得されたＩＯＰＳの情報に基づいて作成される。例えば、管理サーバ１００によるＩＯＰＳリストの取得時には、アクティブ状態のストレージ装置から管理サーバ１００に対して、当該ストレージ装置内の仮想ボリュームの分割領域の各識別情報に対するＩＯＰＳが対応付けられたＩＯＰＳリストが送信される。このＩＯＰＳリストには、データが格納されている分割領域に対してのみＩＯＰＳが登録される。
【０１０２】
このため、例えば、仮想ボリューム内のデータ未格納の分割領域に新規データが書き込まれた場合、情報取得部１２０は、ＩＯＰＳリストにおいて新規データが書き込まれた分割領域に新たにＩＯＰＳが登録されていることを認識することで、当該分割領域に新規データが書き込まれたことを判別できる。このとき、情報取得部１２０は、新規データが書き込まれた分割領域に対応するレコードを対応する割り当て管理テーブルに作成し、作成したレコードに当該分割領域の先頭論理アドレスとＩＯＰＳとを登録する。また、作成されたレコードのサブプールＩＤの項目には、例えば「ＮＵＬＬ」が登録される。このサブプールＩＤの項目には、その後に再配置制御部１３０によって割り当て先のサブプールが決定されたときに、そのサブプールの識別情報が登録される。
【０１０３】
一方、スタンバイ状態のストレージ装置に対応する割り当て管理テーブルに対しては、例えば、アクティブ状態のストレージ装置に対応する割り当て管理テーブルにおいてレコードが追加されたときに、このレコードと同じ内容のレコードが追加されればよい。あるいは、情報取得部１２０は、スタンバイ状態のストレージ装置からもＩＯＰＳ情報を取得してもよい。このＩＯＰＳ情報には、データが格納されている分割領域に対してのみ、何らかの数値（例えば、あらかじめ決められた値）が対応付けられるようにしておく。これにより、情報取得部１２０は、アクティブ状態のストレージ装置に対応する割り当て管理テーブルと同様の処理手順により、スタンバイ状態のストレージ装置に対応する割り当て管理テーブルにもレコードを追加することができる。
【０１０４】
図１１は、プライマリのストレージ装置に記憶される情報の例を示す図である。プライマリのストレージ装置２００の記憶部２１０には、サブプール管理テーブル２１１とボリューム管理テーブル２１２とが記憶される。
【０１０５】
サブプール管理テーブル２１１は、サブプールごとのレコードを有する。各レコードは、サブプールＩＤおよび未使用領域アドレスの項目を含む。サブプールＩＤの項目には、ストレージ装置２００に設定されたサブプールを識別するための情報が登録される。未使用領域アドレスの項目には、対応するサブプールの領域のうち、仮想ボリュームの分割領域に割り当てられていない領域の物理アドレスを示す情報が登録される。
【０１０６】
ボリューム管理テーブル２１２は、ストレージ装置２００に定義された仮想ボリューム２０９の分割領域ごとのレコードを有する。各レコードは、論理アドレス、サブプールＩＤ、物理アドレスおよびＩＯＰＳ情報の項目を含む。論理アドレスの項目には、仮想ボリューム２０９における分割領域の先頭論理アドレスが登録される。サブプールＩＤの項目には、分割領域に割り当てられているサブプールの識別情報が登録される。物理アドレスの項目には、分割領域に割り当てられている、サブプール内の位置情報を示す物理アドレスが登録される。ＩＯＰＳ情報の項目には、分割領域に格納されたデータについて計測されたＩＯＰＳの値が登録される。
【０１０７】
ストレージ装置２００のアクセス制御部２２０は、業務サーバ４００から仮想ボリューム２０９に対するアクセス要求を受信したとき、ボリューム管理テーブル２１２を参照する。例えば、仮想ボリューム２０９におけるデータ格納済みの分割領域に対するアクセスを受信した場合、アクセス制御部２２０は、ボリューム管理テーブル２１２から、アクセス先の分割領域の論理アドレスが登録されたレコードを特定する。アクセス制御部２２０は、特定したレコードに登録されたサブプールＩＤおよび物理アドレスを用いて、データにアクセスする。
【０１０８】
一方、仮想ボリューム２０９におけるデータ未格納の分割領域に対するデータの書き込み要求を受信した場合、アクセス制御部２２０は、ボリューム管理テーブル２１２から、書き込み先の分割領域の論理アドレスが登録されたレコードを特定する。アクセス制御部２２０は、特定したレコードにサブプールＩＤおよび物理アドレスが登録されていないと判定すると、サブプール管理テーブル２１１内の１つのレコードを参照する。参照先のレコードは、例えば、あらかじめ決められたサブプールに対応するレコードであってもよいし、あるいは、未使用領域が最も大きいサブプールに対応するレコードであってもよい。
【０１０９】
アクセス制御部２２０は、参照先のレコードの未使用領域アドレスの登録内容に基づいて、対応するサブプールから未使用の領域を選択する。アクセス制御部２２０は、サブプールから選択した領域の位置情報を、ボリューム管理テーブル２１２から特定したレコードのサブプールＩＤおよび物理アドレスの各項目に登録するとともに、未使用領域アドレスの登録内容を選択した領域が除外されるように更新する。そして、アクセス制御部２２０は、サブプールから選択した領域に、業務サーバ４００から受信した書き込みデータを格納する。
【０１１０】
なお、ＩＯＰＳ情報の項目には、サブプールＩＤおよび物理アドレスの各項目に情報が登録された後の所定のタイミングで、対応する分割領域についてのＩＯＰＳがアクセス制御部２２０によって計測されたときに、その計測値が登録される。それ以後、分割領域についてのＩＯＰＳはアクセス制御部２２０によって一定間隔で計測され、その都度、最新の計測値によってＩＯＰＳ情報の項目の登録値が更新される。
【０１１１】
図１２は、セカンダリのストレージ装置に記憶される情報の例を示す図である。セカンダリのストレージ装置３００の記憶部３１０には、サブプール管理テーブル３１１とボリューム管理テーブル３１２とが記憶される。
【０１１２】
サブプール管理テーブル３１１は、ストレージ装置３００に設定された各サブプールの未使用領域を管理するためのテーブルであり、そのデータ構成は図１１のサブプール管理テーブル２１１と同様である。ボリューム管理テーブル３１２は、ストレージ装置３００に定義された仮想ボリューム３０９の各分割領域に対するサブプールの領域の割り当てを管理するためのテーブルであり、そのデータ構成は図１１のボリューム管理テーブル２１２と同様である。
【０１１３】
次に、アクセス頻度に応じたデータの再配置処理についてフローチャートを用いて説明する。
図１３は、再配置処理の例を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。なお、以下の説明では、例として、ストレージ装置２００がアクティブ状態であり、ストレージ装置３００がスタンバイ状態であるとする。
【０１１４】
（Ｓ１１）管理サーバ１００の情報取得部１２０は、ＩＯＰＳリストの送信要求をアクティブ状態のストレージ装置２００に送信する。なお、ステップＳ１１は、所定の時間間隔で情報取得部１２０により実行される。例えば、所定の時間間隔とは、３０分間隔である。
【０１１５】
（Ｓ１２）ストレージ装置２００のアクセス制御部２２０は、ボリューム管理テーブル２１２に登録された分割領域ごとのＩＯＰＳ情報をリスト化してＩＯＰＳリストを作成し、作成したＩＯＰＳリストを管理サーバ１００に送信する。ＩＯＰＳリストでは、データが格納されている分割領域の先頭論理アドレスとＩＯＰＳ値とが対応付けられている。
【０１１６】
（Ｓ１３）管理サーバ１００の情報取得部１２０は、受信したＩＯＰＳリストに登録された、分割領域ごとのＩＯＰＳ値を、アクティブ状態のストレージ装置２００用の割り当て管理テーブル１１２ａの対応するＩＯＰＳ情報の項目に上書きする。また、情報取得部１２０は、受信したＩＯＰＳリストに登録された、分割領域ごとのＩＯＰＳ値を、スタンバイ状態のストレージ装置３００用の割り当て管理テーブル１１２ｂの対応するＩＯＰＳ情報の項目にも上書きする。
【０１１７】
（Ｓ１４）管理サーバ１００の再配置制御部１３０は、アクティブ状態のストレージ装置２００内の仮想ボリューム２０９について、再配置対象の分割領域（データを再配置すべき分割領域）を特定する。そして、再配置制御部１３０は、特定した分割領域と、新たな割り当て先のサブプールとを対応付けた、ストレージ装置２００用の再配置リストを作成する。
【０１１８】
例えば、再配置制御部１３０は、割り当て管理テーブル１１２ａに基づいて、ＩＯＰＳ値が大きい順に仮想ボリューム２０９の分割領域をソートする。次に、再配置制御部１３０は、ソートした分割領域を、ＩＯＰＳ値が閾値Ｔｈ１以上の分割領域と、ＩＯＰＳ値が閾値Ｔｈ２以上で閾値Ｔｈ１未満の分割領域と、ＩＯＰＳ値が閾値Ｔｈ２未満の分割領域とに分類する（ただし、Ｔｈ１＞Ｔｈ２）。
【０１１９】
次に、再配置制御部１３０は、ＩＯＰＳ値が閾値Ｔｈ１以上の分割領域の中から、現在第２のサブプール２０８ｂまたは第３のサブプール２０８ｃに割り当てられている分割領域を特定する。再配置制御部１３０は、特定した分割領域の先頭論理アドレスと第１のサブプール２０８ａの識別情報とを対応付けて、ストレージ装置２００用の再配置リストに登録する。
【０１２０】
また、再配置制御部１３０は、ＩＯＰＳ値が閾値Ｔｈ２以上閾値Ｔｈ１未満の分割領域の中から、現在第１のサブプール２０８ａまたは第３のサブプール２０８ｃに割り当てられている分割領域を特定する。再配置制御部１３０は、特定した分割領域の先頭論理アドレスと第２のサブプール２０８ｂの識別情報とを対応付けて、ストレージ装置２００用の再配置リストに登録する。
【０１２１】
さらに、再配置制御部１３０は、ＩＯＰＳ値が閾値Ｔｈ２未満の分割領域の中から、現在第１のサブプール２０８ａまたは第２のサブプール２０８ｂに割り当てられている分割領域を特定する。そして、再配置制御部１３０は、特定した分割領域の先頭論理アドレスと第３のサブプール２０８ｃの識別情報とを対応付けて、ストレージ装置２００用の再配置リストに登録する。以上の手順により、ストレージ装置２００用の再配置リストが作成される。
【０１２２】
なお、閾値Ｔｈ１，Ｔｈ２が設定されていない場合には、例えば、次のようにして再配置リストが作成される。再配置制御部１３０は、割り当て管理テーブル１１２ａに基づいて、ＩＯＰＳ値が大きい順に仮想ボリューム２０９の分割領域をソートする。次に、再配置制御部１３０は、第１のサブプール２０８ａの空き容量を取得し、第１のサブプール２０８ａに割り当て可能な分割領域の数を判定する。再配置制御部１３０は、ソートした分割領域の上位から、判定した数だけの分割領域を、第１のサブプール２０８ａに割り当てる分割領域として特定する。再配置制御部１３０は、特定した分割領域のうち、第１のサブプール２０８ａ以外のサブプールに割り当てられている分割領域の先頭論理アドレスを、第１のサブプール２０８ａの識別情報に対応付けて再配置リストに登録する。また、再配置制御部１３０は、第２のサブプール２０８ｂ，第３のサブプール２０８ｃについても同様に、各サブプールの空き容量に基づいて、残りの分割領域の中から再配置対象の分割領域を特定して、再配置リストに登録する。
【０１２３】
（Ｓ１５）再配置制御部１３０は、ステップＳ１４で作成した再配置リストをストレージ装置２００に送信して、再配置の実行を指示する。
（Ｓ１６）ストレージ装置２００の再配置処理部２４０は、受信した再配置リストに基づいて再配置を実行する。
【０１２４】
例えば、現在第２のサブプール２０８ｂに割り当てられている分割領域を第１のサブプール２０８ａに割り当てるように指示された場合、再配置処理部２４０は、サブプール管理テーブル２１１における第１のサブプール２０８ａに対応するレコードを参照する。再配置処理部２４０は、参照したレコードの未使用領域アドレスに基づいて、第１のサブプール２０８ａから未使用領域を選択するとともに、参照したレコードの未使用領域アドレスの内容を、選択した未使用領域が除外されるように更新する。再配置処理部２４０は、再配置が指示された分割領域のデータを第２のサブプール２０８ｂから読み出し、第１のサブプール２０８ａから選択した未使用領域に格納する。また、再配置処理部２４０は、ボリューム管理テーブル２１２のレコードのうち、再配置が指示された分割領域に対応するレコードのサブプールＩＤを、第１のサブプール２０８ａを示すＩＤに書き替える。
【０１２５】
再配置処理部２４０は、受信した再配置リストに登録されたすべての分割領域についてのデータの再配置が完了すると、管理サーバ１００に対して再配置完了を通知する。管理サーバ１００の再配置制御部１３０は、再配置完了の通知を受信すると、割り当て管理テーブル１１２ａのレコードのうち、再配置リストに登録された分割領域に対応するレコードのサブプールＩＤを、再配置リストに登録された割り当て変更後のサブプールのＩＤに書き替える。
【０１２６】
なお、ステップＳ１４において、再配置リストに分割領域が１つも登録されなかった場合には、ステップＳ１５，Ｓ１６の処理はスキップされる。
（Ｓ１７）再配置制御部１３０は、スタンバイ状態のストレージ装置３００内の仮想ボリューム３０９について、再配置対象の分割領域を特定する。そして、再配置制御部１３０は、特定した分割領域と、新たな割り当て先のサブプールとを対応付けた、ストレージ装置３００用の再配置リストを作成する。このステップＳ１７では、割り当て管理テーブル１１２ｂに基づいて、ステップＳ１４と同様の処理が実行される。なお、割り当て先のサブプールを判定するための閾値としては、上記の閾値Ｔｈ１，Ｔｈ２を用いることができる。
【０１２７】
（Ｓ１８）再配置制御部１３０は、ステップＳ１７で作成した再配置リストをストレージ装置３００に送信して、再配置の実行を指示する。
（Ｓ１９）ストレージ装置３００の再配置処理部３４０は、受信した再配置リストに基づいて再配置を実行する。このステップＳ１９では、サブプール管理テーブル３１１およびボリューム管理テーブル３１２に基づいて、ステップＳ１６と同様の処理が実行される。
【０１２８】
再配置処理部３４０は、受信した再配置リストに登録されたすべての分割領域についてのデータの再配置が完了すると、管理サーバ１００に対して再配置完了を通知する。管理サーバ１００の再配置制御部１３０は、再配置完了の通知を受信すると、割り当て管理テーブル１１２ｂのレコードのうち、再配置リストに登録された分割領域に対応するレコードのサブプールＩＤを、再配置リストに登録された割り当て変更後のサブプールのＩＤに書き替える。そして、処理を終了する。
【０１２９】
なお、ステップＳ１７において、再配置リストに分割領域が１つも登録されなかった場合には、ステップＳ１８，Ｓ１９の処理はスキップされる。
また、図１３の処理では、閾値Ｔｈ１，Ｔｈ２が設定されている場合、ステップＳ１７の処理がスキップされるとともに、ステップＳ１８では、ステップＳ１４で作成された再配置リストがストレージ装置３００に送信されてもよい。
【０１３０】
図１３の処理では、ストレージ装置２００に再配置の実行をさせた後に、ストレージ装置３００に再配置の実行をさせているが、ストレージ装置３００に再配置の実行をされた後に、ストレージ装置２００に再配置の実行をさせてもよい。
【０１３１】
以上の図１３の処理によれば、アクティブ状態のストレージ装置２００において計測されたＩＯＰＳ値に基づいて、ストレージ装置２００の仮想ボリューム２０９についてのデータの再配置が行われる。これに加えて、同じＩＯＰＳ値に基づいて、スタンバイ状態のストレージ装置３００の仮想ボリューム３０９についてもデータの再配置が実行される。これにより、仮想ボリューム３０９に含まれるデータは、仮想ボリューム２０９における対応するデータのアクセス頻度に応じて、適切な階層のサブプールに配置される。従って、フェイルオーバが発生し、ストレージ装置３００のアクセス制御部３２０が業務サーバ４００から仮想ボリューム３０９へのアクセス要求を受ける状態になったときに、アクセス要求に対する応答速度がフェイルオーバの前よりも低下することを防止できる。
【０１３２】
［第３の実施の形態］
図１４は、第３の実施の形態のストレージシステムの構成例を示す図である。図１４では、第２の実施の形態と同じ構成要素には同じ符号を付して示し、その説明を省略する。
【０１３３】
第２の実施の形態のストレージシステムでは、管理サーバ１００が１つである。そのため、管理サーバ１００が故障すると、ストレージ装置２００，３００においてデータの再配置処理が行われなくなる。そこで、第３の実施の形態では、管理サーバ１００の処理を仮想マシンに実行させるとともに、この仮想マシンを冗長化して、アクティブ状態の仮想マシンが停止したときにフェイルオーバできるようにする。
【０１３４】
図１４に示すように、第３の実施の形態のストレージシステムは、管理サーバ１００の代わりにサーバ６００ａ，６００ｂを有する。サーバ６００ａ，６００ｂは、図示しないネットワーク９００（例えば、ＬＡＮ）を介してストレージ装置２００，３００に接続されている。
【０１３５】
サーバ６００ａでは、管理サーバ１００と同様の処理を行う管理サーバ１００ａが、仮想マシンとして動作する。また、サーバ６００ｂでは、管理サーバ１００と同様の処理を行う管理サーバ１００ｂが、仮想マシンとして動作する。管理サーバ１００ａ，１００ｂは、冗長化された仮想マシンとしてグループ化（クラスタリング）される。これにより、管理サーバ１００ａ，１００ｂのうちの一方がアクティブ状態のとき、他方はスタンバイ状態となる。管理サーバ１００ａがアクティブ状態のとき、管理サーバ１００ａにおいて、情報取得部１２０および再配置制御部１３０の処理が実行される。また、管理サーバ１００ｂがアクティブ状態のとき、管理サーバ１００ｂにおいて、情報取得部１２０および再配置制御部１３０の処理が実行される。そして、アクティブ状態の管理サーバの動作が停止したとき、スタンバイ状態の管理サーバがアクティブ状態に遷移して、情報取得部１２０および再配置制御部１３０の処理を引き継ぐ。
【０１３６】
また、管理サーバ１００ａが備える仮想ディスクの実記憶領域は、ストレージ装置２００によって実現される。ストレージ装置２００には、管理サーバ１００ａが備える仮想ディスクに対応する仮想ボリューム２０９ａが設定される。仮想ボリューム２０９ａには、例えば、グループ管理テーブル１１１および割り当て管理テーブル１１２ａ，１１２ｂが記憶され、各テーブルが管理サーバ１００ａによって参照される。
【０１３７】
一方、管理サーバ１００ｂが備える仮想ディスクの実記憶領域は、ストレージ装置３００によって実現される。ストレージ装置３００には、管理サーバ１００ｂが備える仮想ディスクに対応する仮想ボリューム３０９ａが設定される。仮想ボリューム３０９ａには、例えば、グループ管理テーブル１１１および割り当て管理テーブル１１２ａ，１１２ｂが記憶され、各テーブルが管理サーバ１００ｂによって参照される。
【０１３８】
仮想ボリューム２０９ａと仮想ボリューム３０９ａは、同期される。また、仮想ボリューム２０９ａ，３０９ａは、仮想ボリューム２０９，３０９と同様に、管理サーバ１００ａ，１００ｂのうちアクティブ状態の管理サーバによる記憶領域の階層制御の対象となる。
【０１３９】
例えば、管理サーバ１００ａがアクティブ状態であるとすると、ストレージ装置２００は、仮想ボリューム２０９ａが更新されると、その更新内容を即座に仮想ボリューム３０９ａにも反映させる。これにより、仮想ボリューム２０９ａと仮想ボリューム３０９ａには、登録内容が同一のグループ管理テーブル１１１および割り当て管理テーブル１１２ａ，１１２ｂが記憶される。
【０１４０】
また、管理サーバ１００ａの情報取得部１２０は、管理サーバ１００ａからの仮想ボリューム２０９ａの各分割領域に対するＩＯＰＳの計測値を、ストレージ装置２００から取得する。管理サーバ１００ａの再配置制御部１３０は、取得したＩＯＰＳ値に基づいて、仮想ボリューム２０９ａの各分割領域の割り当て先のサブプールを最適化する。これとともに、管理サーバ１００ａの再配置制御部１３０は、取得したＩＯＰＳ値に基づいて、仮想ボリューム３０９ａの各分割領域の割り当て先のサブプールも最適化する。
【０１４１】
ここで、フェイルオーバが発生して管理サーバ１００ｂがアクティブ状態に遷移すると、管理サーバ１００ｂは、仮想ボリューム３０９ａ内のグループ管理テーブル１１１および割り当て管理テーブル１１２ｂを参照しながら処理を継続する。上記のように、仮想ボリューム３０９ａの各分割領域の割り当て先のサブプールは、ＩＯＰＳに応じて最適化されている。このため、管理サーバ１００ｂから仮想ボリューム３０９ａへのアクセス要求に対する応答速度は、フェイルオーバの発生前における、管理サーバ１００ａから仮想ボリューム２０９ａへのアクセス要求に対する応答速度と同等に維持される。従って、フェイルオーバ後の管理サーバ１００ｂの処理速度も、フェイルオーバ前の管理サーバ１００ａの処理速度と同等に維持される。
【０１４２】
また、管理サーバ１００ｂがアクティブ状態に遷移したとき、仮想ボリューム２０９ａ内の対応するテーブルと同期化された、仮想ボリューム３０９ａ内のグループ管理テーブル１１１および割り当て管理テーブル１１２ｂが、管理サーバ１００ｂから参照される。これにより、管理サーバ１００ｂは、フェイルオーバ前の管理サーバ１００ａの処理を、上記各テーブルへのアクセス性能を低下させることなく引き継ぐことができる。
【０１４３】
なお、上記の各実施の形態に示した装置（例えば、ストレージ管理装置１、管理サーバ１００、ＣＭ２０１，３０１、業務サーバ４００、サーバ６００ａ，６００ｂ）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯなどがある。
【０１４４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１４６】
なお、各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
【符号の説明】
【０１４７】
１  ストレージ管理装置
１ａ  取得部
１ｂ  制御部
２，３  ストレージ装置
２ａ，３ａ  第１階層の記憶領域
２ｂ，３ｂ  第２階層の記憶領域
４  ホスト装置
５  頻度情報
６  指示情報
【図１】
0006511795.tif 000002
【図２】
0006511795.tif 000003
【図３】
0006511795.tif 000004
【図４】
0006511795.tif 000005
【図５】
0006511795.tif 000006
【図６】
0006511795.tif 000007
【図７】
0006511795.tif 000008
【図８】
0006511795.tif 000009
【図９】
0006511795.tif 000010
【図１０】
0006511795.tif 000011
【図１１】
0006511795.tif 000012
【図１２】
0006511795.tif 000013
【図１３】
0006511795.tif 000014
【図１４】
0006511795.tif 000015