(57)【要約】【課題】ボリュームの移動先として指定されたストレージ階層に空きボリュームがない場合でも、ボリュームの再配置を適切に実行する。【解決手段】ストレージ階層１に属するボリュームＤ２をストレージ階層２に再配置するときに、容量条件を満たす空きボリュームがストレージ階層２に存在しない場合には、ストレージ階層３に属するボリュームの中で容量条件を満たす空きボリュームＤ４をストレージ階層２に仮割り当てて、仮想的な空きボリュームＤ４'を形成し、ボリュームＤ２を空きボリュームＤ４'に仮想的に再配置する。【選択図】図２
2007279845.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが一つ以上のボリュームを含む複数のストレージ階層からなる記憶資源を有するストレージシステムであって、
第一のストレージ階層に属する第一のボリュームを第二のストレージ階層に再配置するときに、前記第一のボリュームの移動先となる移動必須条件を満たす第二のボリュームが前記第二のストレージ階層に存在しない場合には、第三のストレージ階層に属するボリュームの中で移動必須条件を満たす第三のボリュームを第二のストレージ階層に仮割り当てる仮割り当て部と、
前記第一のボリュームを前記第三のボリュームに再配置する再配置部と、
を備えるストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記再配置部は、前記第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に前記移動必須条件を満たす第二のボリュームになると、前記第三のボリュームを前記第二のボリュームに再配置する、ストレージシステム。
【請求項３】
請求項１に記載のストレージシステムであって、
前記仮割り当て部は、前記第三のストレージ階層に属するボリュームの中から前記移動必須条件を満たすボリュームを検索し、更に前記移動必須条件を満たす前記ボリュームの中から移動非必須条件を基に前記第三のボリュームを検索する、ストレージシステム。
【請求項４】
請求項１に記載のストレージシステムであって、
前記仮割り当て部は、前記第三のストレージ階層に属するボリュームの中から前記移動必須条件を満たすボリュームを検索し、更に前記移動必須条件を満たす前記ボリュームの中から前記第二のボリュームが有する移動非必須条件に最も一致する移動非必須条件を有する第三のボリュームを検索する、ストレージシステム。
【請求項５】
請求項２に記載のストレージシステムであって、
前記再配置部は、前記第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に前記移動必須条件を満たす第二のボリュームになったときにおいて、複数の第三のボリュームが存在する場合には、前記複数の第三のボリュームのうち前記第二のストレージ階層と前記第三のストレージ階層との間の移動非必須条件の一致率が最も低いボリュームを前記第二のボリュームに再配置する、ストレージシステム。
【請求項６】
請求項１に記載のストレージシステムであって、
前記移動必須条件は、移動先ボリュームの容量は移動元ボリュームの容量と同一であるか又はそれ以上である、ストレージシステム。
【請求項７】
請求項３に記載のストレージシステムであって、
前記移動条件は、ボリュームを提供するストレージ装置の識別情報、ボリュームを提供するストレージ装置の種別、ボリュームのＲＡＩＤレベル、ボリュームを提供するストレージデバイスの種別のうち何れかである、ストレージシステム。
【請求項８】
それぞれが一つ以上のボリュームを含む複数のストレージ階層からなる記憶資源を有するストレージシステムであって、
第一のストレージ階層に属する第一のボリュームを第二のストレージ階層に複製するときに、前記第一のボリュームの複製先となる複製必須条件を満たす第二のボリュームが前記第二のストレージ階層に存在しない場合には、第三のストレージ階層に属するボリュームの中で複製必須条件を満たす第三のボリュームを第二のストレージ階層に仮割り当てる仮割り当て部と、
前記第一のボリュームを前記第三のボリュームに複製する複製部と、
を備えるストレージシステム。
【請求項９】
請求項８に記載のストレージシステムであって、
前記複製部は、前記第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に前記複製必須条件を満たす第二のボリュームになると、前記第三のボリュームを前記第二のボリュームに複製する、ストレージシステム。
【請求項１０】
請求項８に記載のストレージシステムであって、
前記仮割り当て部は、前記第三のストレージ階層に属するボリュームの中から前記複製必須条件を満たすボリュームを検索し、更に前記複製必須条件を満たす前記ボリュームの中から複製非必須条件を基に前記第三のボリュームを検索する、ストレージシステム。
【請求項１１】
請求項８に記載のストレージシステムであって、
前記仮割り当て部は、前記第三のストレージ階層に属するボリュームの中から前記複製必須条件を満たすボリュームを検索し、更に前記複製必須条件を満たす前記ボリュームの中から前記第二のボリュームが有する複製非必須条件に最も一致する複製非必須条件を有する第三のボリュームを検索する、ストレージシステム。
【請求項１２】
請求項９に記載のストレージシステムであって、
前記複製部は、前記第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に前記複製必須条件を満たす第二のボリュームになったときにおいて、複数の第三のボリュームが存在する場合には、前記複数の第三のボリュームのうち前記第二のストレージ階層と前記第三のストレージ階層との間の複製非必須条件の一致率が最も低いボリュームを前記第二のボリュームに複製する、ストレージシステム。
【請求項１３】
請求項８に記載のストレージシステムであって、
前記複製必須条件は、複製先ボリュームの容量は複製元ボリュームの容量と同一であるか又はそれ以上である、ストレージシステム。
【請求項１４】
請求項１０に記載のストレージシステムであって、
前記複製非必須条件は、ボリュームを提供するストレージ装置の識別情報、ボリュームを提供するストレージ装置の種別、ボリュームのＲＡＩＤレベル、ボリュームを提供するストレージデバイスの種別のうち何れかである、ストレージシステム。
【請求項１５】
それぞれが一つ以上のボリュームを有する複数のストレージ装置と、
前記複数のストレージ装置をそれぞれが一つ以上のボリュームを含む複数のストレージ階層に分類される論理的に一つの記憶資源に仮想化する仮想化装置と、
第一のストレージ階層に属する第一のボリュームを第二のストレージ階層に再配置するときに、移動先のボリュームの記憶容量が移動元の記憶容量以上であることを条件とする容量条件を満たす第一の空きボリュームが前記第二のストレージ階層に存在しない場合には、第三のストレージ階層に属するボリュームの中で前記容量条件を満たす第二の空きボリュームを第二のストレージ階層に仮割り当てるとともに、前記第一のボリュームを前記第二の空きボリュームに再配置することを前記ストレージ装置に指示するストレージ管理サーバと、
を備えるストレージシステム。
【請求項１６】
請求項１５に記載のストレージシステムであって、
前記ストレージ管理サーバは、前記第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に前記容量条件を満たす第一の空きボリュームになると、前記第二の空きボリュームに再配置されたデータを前記第一の空きボリュームに再配置することを前記ストレージ装置に指示する、ストレージシステム。
【請求項１７】
それぞれが一つ以上のボリュームを有する複数のストレージ装置と、
前記複数のストレージ装置をそれぞれが一つ以上のボリュームを含む複数のストレージ階層に分類される論理的に一つの記憶資源に仮想化する仮想化装置と、
第一のストレージ階層に属する第一のボリュームを第二のストレージ階層に複製するときに、複製先のボリュームの記憶容量が複製元の記憶容量以上であることを条件とする容量条件を満たす第一の空きボリュームが前記第二のストレージ階層に存在しない場合には、第三のストレージ階層に属するボリュームの中で前記容量条件を満たす第二の空きボリュームを第二のストレージ階層に仮割り当てるとともに、前記第一のボリュームを前記第二の空きボリュームに複製することを前記ストレージ装置に指示するストレージ管理サーバと、
を備えるストレージシステム。
【請求項１８】
請求項１７に記載のストレージシステムであって、
前記ストレージ管理サーバは、前記第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に前記容量条件を満たす第一の空きボリュームになると、前記第二の空きボリュームに複製されたデータを前記第一の空きボリュームに複製することを前記ストレージ装置に指示する、ストレージシステム。
【請求項１９】
複数のボリュームを有するストレージシステムであって、
第一のボリュームを第二のボリュームに再配置するときに、前記第二のボリュームが移動必須条件を満たしてない場合には、移動必須条件を満たす第三のボリュームを前記第一のボリュームの仮の移動先として設定する仮割り当て部と、
前記第一のボリュームを前記第三のボリュームに再配置する再配置部と、
を備えるストレージシステム。
【請求項２０】
複数のボリュームを有するストレージシステムであって、
第一のボリュームを第二のボリュームに複製するときに、前記第二のボリュームが複製必須条件を満たしてない場合には、複製必須条件を満たす第三のボリュームを前記第一のボリュームの仮の複製先として設定する仮割り当て部と、
前記第一のボリュームを前記第三のボリュームに複製する複製部と、
を備えるストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージシステムに関し、特に、ボリュームの再配置技術及び複製技術に関する。
【背景技術】
【０００２】
企業、地方自治体、官公庁、金融機関等が管理するストレージシステムが取り扱うデータは、年々増加する一方であり、データ量の増加に伴って、新規のストレージ装置が追加されたり、或いは既存のストレージ装置に置換されたりしている。管理すべきデータ量の増加に伴い、複数のストレージ装置がストレージシステムに追加されると、ストレージシステムの構成が複雑化する。このような問題を解決する技術として、ストレージシステムの仮想化が知られている。ストレージシステムの仮想化とは、相互にネットワーク接続された複数のストレージ装置を論理的にあたかも一つのストレージシステムであるかのように仮想化する技術である。ストレージシステムを仮想化することで、運用管理も一つに統合できるので、管理コストの低減に資する。
【０００３】
ストレージシステムの仮想化技術を適用することで、ストレージシステムのボリュームは、性能、種類などの特性を条件として、複数のストレージ階層に分類できる。特開２００１−６７１８７号公報、及び特開２００３−１４０８３６号公報には、各ボリュームに格納されたデータの種類や作成日時などを基に、そのデータを最適なストレージ階層に配置する技術が開示されている。例えば、特開２００１−６７１８７号公報には、各ボリュームの性能情報や利用情報に基づいて、一方のボリュームに格納されているデータを他方のボリュームにコピーし、データを再配置する技術が開示されている。
【特許文献１】特開２００１−６７１８７号公報
【特許文献２】特開２００３−１４０８３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特開２００１−６７１８７号公報に記載の技術では、ボリューム毎に個別にデータを再配置する必要があり、操作が煩雑になる。
【０００５】
一方、特開２００３−１４０８３６号公報に記載の技術では、再配置先として選択したストレージ階層に十分な空き領域が存在しない場合には、そのクラスに分類されている領域のうち使用率の低いものを無条件に選択して再配置するので、管理者が意図してないストレージ階層（たとえば、より低性能なストレージ階層）にデータが再配置されてしまうという問題があった。
【０００６】
本発明の一つの目的は、ボリュームの移動先又は複製先として指定されたストレージ階層に空きボリュームがない場合でも、ボリュームの再配置又は複製を適切に実行できるストレージシステムを提供することである。
【０００７】
本発明の他の目的は、ボリュームの移動先又は複製先として指定されたボリュームが空きボリュームでない場合でも、ボリュームの再配置又は複製を適切に実行できるストレージシステムを提供することである。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明のストレージシステムは、それぞれが一つ以上のボリュームを含む複数のストレージ階層からなる記憶資源を有するストレージシステムである。このストレージシステムは、第一のストレージ階層に属する第一のボリュームを第二のストレージ階層に再配置するときに、第一のボリュームの移動先となる移動必須条件を満たす第二のボリュームが第二のストレージ階層に存在しない場合には、第三のストレージ階層に属するボリュームの中で移動必須条件を満たす第三のボリュームを第二のストレージ階層に仮割り当てる仮割り当て部と、第一のボリュームを第三のボリュームに再配置する再配置部とを備える。
【０００９】
かかる構成によれば、ボリュームの移動先として指定されたストレージ階層に空きボリュームがない場合でも、ボリュームの再配置を適切に実行できる。
【００１０】
ここで、再配置部は、第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に移動必須条件を満たす第二のボリュームになると、第三のボリュームを第二のボリュームに再配置する。
【００１１】
仮割り当て部は、第三のストレージ階層に属するボリュームの中から移動必須条件を満たすボリュームを検索し、更に移動必須条件を満たすボリュームの中から移動非必須条件を基に第三のボリュームを検索する。第三のボリュームのボリューム条件は、第二のボリュームのボリューム条件とできるだけ一致しているものが好ましい。仮割り当て部は、例えば、移動必須条件を満たすボリュームの中から第二のボリュームが有する移動非必須条件に最も一致する移動非必須条件を有する第三のボリュームを検索する。
【００１２】
再配置部は、例えば、第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に移動必須条件を満たす第二のボリュームになったときにおいて、複数の第三のボリュームが存在する場合には、複数の第三のボリュームのうち第二のストレージ階層と第三のストレージ階層との間の移動非必須条件の一致率が最も低いボリュームを第二のボリュームに再配置する。
【００１３】
移動必須条件は、例えば、移動先ボリュームの容量は移動元ボリュームの容量と同一であるか又はそれ以上である。移動非必須条件は、移動必須条件外の条件、例えば、ボリュームを提供するストレージ装置の識別情報、ボリュームを提供するストレージ装置の種別、ボリュームのＲＡＩＤレベル、ボリュームを提供するストレージデバイスの種別のうち何れかを用いることができる。
【００１４】
本発明の他の観点によるストレージシステムは、それぞれが一つ以上のボリュームを含む複数のストレージ階層からなる記憶資源を有する。このストレージシステムは、第一のストレージ階層に属する第一のボリュームを第二のストレージ階層に複製するときに、第一のボリュームの複製先となる複製必須条件を満たす第二のボリュームが第二のストレージ階層に存在しない場合には、第三のストレージ階層に属するボリュームの中で複製必須条件を満たす第三のボリュームを第二のストレージ階層に仮割り当てる仮割り当て部と、第一のボリュームを前記第三のボリュームに複製する複製部と、を備える。
【００１５】
かかる構成によれば、ボリュームの複製先として指定されたストレージ階層に空きボリュームがない場合でも、ボリュームの複製を適切に実行できる。
【００１６】
ここで、複製部は、第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に複製必須条件を満たす第二のボリュームになると、第三のボリュームを第二のボリュームに複製する。
【００１７】
仮割り当て部は、第三のストレージ階層に属するボリュームの中から複製必須条件を満たすボリュームを検索し、更に複製必須条件を満たすボリュームの中から複製非必須条件を基に第三のボリュームを検索する。第三のボリュームのボリューム条件は、第二のボリュームのボリューム条件とできるだけ一致しているものが好ましい。仮割り当て部は、例えば、複製必須条件を満たすボリュームの中から第二のボリュームが有する複製非必須条件に最も一致する複製非必須条件を有する第三のボリュームを検索する。
【００１８】
複製部は、第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に複製必須条件を満たす第二のボリュームになったときにおいて、複数の第三のボリュームが存在する場合には、複数の第三のボリュームのうち第二のストレージ階層と第三のストレージ階層との間の複製非必須条件の一致率が最も低いボリュームを第二のボリュームに複製する。
【００１９】
複製必須条件は、例えば、複製先ボリュームの容量は複製元ボリュームの容量と同一であるか又はそれ以上である。複製非必須条件は、複製必須条件以外の条件、例えば、ボリュームを提供するストレージ装置の識別情報、ボリュームを提供するストレージ装置の種別、ボリュームのＲＡＩＤレベル、ボリュームを提供するストレージデバイスの種別のうち何れかを用いることができる。
【００２０】
本発明の他の観点によるストレージシステムは、それぞれが一つ以上のボリュームを有する複数のストレージ装置と、複数のストレージ装置をそれぞれが一つ以上のボリュームを含む複数のストレージ階層に分類される論理的に一つの記憶資源に仮想化する仮想化装置と、第一のストレージ階層に属する第一のボリュームを第二のストレージ階層に再配置するときに、移動先のボリュームの記憶容量が移動元の記憶容量以上であることを条件とする容量条件を満たす第一の空きボリュームが第二のストレージ階層に存在しない場合には、第三のストレージ階層に属するボリュームの中で容量条件を満たす第二の空きボリュームを第二のストレージ階層に仮割り当てるとともに、第一のボリュームを第二の空きボリュームに再配置することをストレージ装置に指示するストレージ管理サーバと、を備える。
【００２１】
ここで、ストレージ管理サーバは、第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に容量条件を満たす第一の空きボリュームになると、第二の空きボリュームに再配置されたデータを第一の空きボリュームに再配置することをストレージ装置に指示する。
【００２２】
本発明の他の観点によるストレージシステムは、それぞれが一つ以上のボリュームを有する複数のストレージ装置と、複数のストレージ装置をそれぞれが一つ以上のボリュームを含む複数のストレージ階層に分類される論理的に一つの記憶資源に仮想化する仮想化装置と、第一のストレージ階層に属する第一のボリュームを第二のストレージ階層に複製するときに、複製先のボリュームの記憶容量が複製元の記憶容量以上であることを条件とする容量条件を満たす第一の空きボリュームが第二のストレージ階層に存在しない場合には、第三のストレージ階層に属するボリュームの中で容量条件を満たす第二の空きボリュームを第二のストレージ階層に仮割り当てるとともに、第一のボリュームを第二の空きボリュームに複製することをストレージ装置に指示するストレージ管理サーバと、を備える。
【００２３】
ここで、ストレージ管理サーバは、第二のストレージ階層に属するボリュームのうち何れかのボリュームが後発的に容量条件を満たす第一の空きボリュームになると、第二の空きボリュームに複製されたデータを第一の空きボリュームに複製することをストレージ装置に指示する。
【００２４】
本発明の他の観点によるストレージシステムは、複数のボリュームを有するストレージシステムであって、第一のボリュームを第二のボリュームに再配置するときに、第二のボリュームが移動必須条件を満たしてない場合には、移動必須条件を満たす第三のボリュームを第一のボリュームの仮の移動先として設定する仮割り当て部と、第一のボリュームを第三のボリュームに再配置する再配置部と、を備える。
【００２５】
かかる構成によれば、ボリュームの移動先として指定されたボリュームが空きボリュームでない場合でも、ボリュームの再配置を適切に実行できる。
【００２６】
本発明の他の観点によるストレージシステムは、複数のボリュームを有するストレージシステムであって、第一のボリュームを第二のボリュームに複製するときに、第二のボリュームが複製必須条件を満たしてない場合には、複製必須条件を満たす第三のボリュームを第一のボリュームの仮の複製先として設定する仮割り当て部と、第一のボリュームを前記第三のボリュームに複製する複製部と、を備える。
【００２７】
かかる構成によれば、ボリュームの複製先として指定されたボリュームが空きボリュームでない場合でも、ボリュームの複製を適切に実行できる。
【発明の効果】
【００２８】
本発明によれば、ボリュームの移動先又は複製先として指定されたストレージ階層に空きボリュームがない場合でも、ボリュームの再配置又は複製を適切に実行できる。また、本発明によれば、ボリュームの移動先又は複製先として指定されたボリュームが空きボリュームでない場合でも、ボリュームの再配置又は複製を適切に実行できる。
【発明を実施するための最良の形態】
【００２９】
以下、各図を参照しながら本発明の実施例について説明する。各実施例は、特許請求の範囲を限定するものではなく、また実施例で説明されている特徴の全てが発明の解決手段に必須であるとは限らない。
【実施例１】
【００３０】
まず、図１乃至図５を参照しながら本実施例の全体概念について概略する。
図１は本実施例に係わるストレージシステム１００のストレージ階層構成を示している。ストレージシステム１００は、複数のストレージ装置１０１Ａ，１０１Ｂ，１０１Ｃ，１０１Ｄを備えている。各ストレージ装置１０１Ａ，１０１Ｂ，１０１Ｃ，１０１Ｄが有するボリュームは、一つの論理的な記憶資源として一元管理されている。これにより、ホスト計算機（図１０参照）は、複数のストレージ装置１０１Ａ，１０１Ｂ，１０１Ｃ，１０１Ｄを論理的な一つのストレージシステム１００として認識する。
【００３１】
各ストレージ装置１０１Ａ，１０１Ｂ，１０１Ｃ，１０１Ｄは、それぞれボリュームＡ１〜Ａ４，Ｂ１〜Ｂ４，Ｃ１〜Ｃ４，Ｄ１〜Ｄ４を有している。これらのボリュームは、ストレージデバイス（例えば、ハードディスクドライブ、半導体メモリドライブ、光ディスクドライブ、磁気テープ媒体など）の物理的な記憶領域上に定義される論理的な記憶領域（論理ボリューム）である。
【００３２】
各ストレージ装置１０１Ａ，１０１Ｂ，１０１Ｃ，１０１Ｄは、それぞれ同一種類のストレージドライブを搭載してもよく、或いは異なる種類のストレージドライブを混載してもよい。
【００３３】
ユーザは、ストレージシステム１００が有する各ボリュームを、複数のストレージ階層１，２，３に分類することができる。例えば、ある一つのストレージ階層１は、上位階層として定義する。上位階層は、例えば、ＦＣ（Fibre Channel）ディスク等の高信頼性ディスクをＲＡＩＤ１で構成してなるボリューム群として定義される。この定義によれば、上位階層は、高信頼性層又は高速応答階層と別称することもできる。また他の一つのストレージ階層２は、中位階層として定義する。中位階層は、例えば、ＳＡＴＡ（Serial AT Attachement）ディスク等の安価なドライブをＲＡＩＤ５で構成してなるボリューム群として定義される。この定義によれば、中位階層は、低コスト階層と別称することもできる。更に別の一つのストレージ階層３は、低位階層として定義する。低位階層は、例えば、磁気テープ媒体等の安価なストレージデバイス上に定義されたボリューム群として定義される。この定義によれば、低位階層は、アーカイブ階層と別称することもできる。
【００３４】
尚、上述したストレージ階層の定義例は、あくまでも一例を列挙したものであり、ストレージ階層の定義として、上述の定義とは異なるものを採用してもよい。例えば、各ストレージ装置１０１Ａ，１０１Ｂ，１０１Ｃ，１０１Ｄのそれぞれが有するディスクドライブのスペックに応じて、ストレージ階層を定義してもよい。例えば、高回転のＦＣディスクドライブと低回転のＦＣディスクドライブとの間でストレージ階層を分けてもよく、大記憶容量のＦＣディスクドライブと小記憶容量のＦＣディスクドライブとの間でストレージ階層を分けてもよい。また、ストレージデバイスの種類（例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等の種類）に応じて、ストレージ階層を分けてもよい。
【００３５】
また、本明細書で使用する「高位階層」、「低位階層」とは、特定のストレージ階層を称するものではなく、あくまでもストレージ階層間の相対的な関係を示すものとする。例えば、ストレージ階層１とストレージ階層２との関係では、ストレージ階層１が「高位階層」であり、ストレージ階層２が「低位階層」であるが、ストレージ階層２とストレージ階層３との関係では、ストレージ階層２が「高位階層」であり、ストレージ階層３が「低位階層」である。
【００３６】
ユーザは、ストレージシステム１００のポリシー（運用基準）に基づいて、ストレージ階層を自由に定義できる。ストレージ階層は論理的に定義されるので、同一のストレージ装置が有する複数のボリュームの全てが同一のストレージ階層に属するとは限らない。例えば、ストレージ装置１０１Ａが有する複数のボリュームＡ１〜Ａ４に着目すると、ある一部のボリュームＡ１，Ａ２は、ストレージ階層１に属するが、他の一部のボリュームＡ３，Ａ４は、ストレージ階層３に属する。また、ストレージ階層を定義付ける条件によっては、同一のボリュームが複数のストレージ階層に属する場合もあり得るし、何れのストレージ階層にも属しないボリュームが存在することもあり得る。
【００３７】
データの価値は、時間の経過とともに低下していく。価値の高いデータは、応答性に優れた大容量のストレージ階層１に配置され、ホスト計算機から頻繁にアクセスされる。時間の経過とともに、価値が低下したデータは、データ管理コストの観点から、ストレージ階層１からストレージ階層２へ再配置され、やがてはストレージ階層２からストレージ階層３に再配置される。予めユーザが定義したポリシーに基づいてデータの再配置を制御してもよく、或いはデータのアクセス頻度に基づいてデータの再配置を制御してもよい。また、データの価値が高まったり、或いはアクセス頻度が高くなったりした場合には、低位階層から高位階層へデータを再配置してもよい。
【００３８】
次に、図２乃至図５を参照しながら、あるストレージ階層に属するボリューム内のデータを他のストレージ階層へ再配置するときの処理の概要を説明する。
【００３９】
まず、図２乃至図３を参照しながら、高位階層（例えば、ストレージ階層１）に属するボリュームを低位階層（例えば、ストレージ階層２）に再配置する場合を説明する。
【００４０】
図２に示すように、ボリュームＤ２をストレージ階層２に再配置する指示がユーザから与えられると、ストレージ管理サーバは、移動必須条件を満たす空きボリュームがストレージ階層２に存在するか否かをチェックする。移動必須条件とは、移動先のボリュームに要求される必須条件をいい、例えば、「移動先ボリュームは、移動元ボリュームの容量以上の記憶容量を有し、且つ未使用であるボリュームであること」である。移動必須条件を満たす空きボリュームがストレージ階層２に存在するならば、ストレージシステム１００は、ボリュームＤ２をその空きボリュームに再配置する。
【００４１】
もし、移動必須条件を満たす空きボリュームがストレージ階層２に存在しないならば、ストレージ管理サーバは、移動必須条件を満たす空きボリュームを他のストレージ階層から検索する。ここで、ストレージ階層３に属するボリュームＤ４が移動必須条件を満たす場合を考察する。ストレージ管理サーバは、ストレージ階層３に属するボリュームＤ４をストレージ階層２に仮割り当てる。「仮割り当て」とは、ストレージシステム１００の管理上、ストレージ階層を仮想的に変更することをいう。ボリュームＤ４をストレージ階層２に仮割り当てるということは、見方を変えれば、ボリュームＤ４の属性（記憶容量、ドライブ種別、ＲＡＩＤレベル、ドライブ構成、エミュレーションタイプなど）と同一の属性を有する仮想的なボリュームＤ４’をストレージ階層２に新規追加するということと等価である。ボリュームＤ４’は、ボリュームＤ２の仮想的な移動先となる。
【００４２】
そして、ストレージシステム１００は、移動元ボリュームＤ２のデータを、ボリュームＤ２の仮想的な移動先として設定されたボリュームＤ４’に移動する処理を行う。この移動処理では、実際には、ボリュームＤ２のデータをボリュームＤ４に再配置する処理が行われる。
【００４３】
その後、図３に示すように、移動元ボリュームＤ２の本来の移動先ストレージ階層（本例では、ストレージ階層２）に属する複数のボリュームの中で、例えば、ボリュームＣ４が後発的に移動必須条件を満たすことになった場合（つまり、ボリュームＣ４が後発的に本来の移動先ボリュームとなった場合）を考察する。ユーザは、仮の移動先としてのボリュームＤ４’から本来の移動先としてのボリュームＣ４への再配置を指示する。すると、ストレージシステム１００は、ボリュームＤ４’のデータをボリュームＣ４へ再配置する処理を行う。この再配置処理では、実際には、ボリュームＤ４のデータがボリュームＣ４へ再配置する処理が行われる。
【００４４】
そして、ボリュームＤ４のストレージ階層２への仮割り当ては解除される。仮割り当ての解除は、ボリュームＤ４’がストレージ階層２から論理的に削除されることと等価である。
【００４５】
次に、図４乃至図５を参照しながら、低位階層（例えば、ストレージ階層３）に属するボリュームを高位階層（例えば、ストレージ階層２）に再配置する場合を説明する。
【００４６】
図４に示すように、ボリュームＤ４をストレージ階層２に再配置する指示がユーザから与えられると、ストレージ管理サーバは、移動必須条件を満たす空きボリュームがストレージ階層２に存在するか否かをチェックする。移動必須条件を満たす空きボリュームがストレージ階層２に存在するならば、ストレージシステム１００は、ボリュームＤ４をその空きボリュームに再配置する。
【００４７】
もし、移動必須条件を満たす空きボリュームがストレージ階層２に存在しないならば、ストレージ管理サーバは、移動必須条件を満たす空きボリュームを他のストレージ階層から検索する。ここで、ストレージ階層１に属するボリュームＤ２が移動必須条件を満たす場合を考察する。ストレージ管理サーバは、ストレージ階層１に属するボリュームＤ２をストレージ階層２に仮割り当てる。ボリュームＤ２をストレージ階層２に仮割り当てるということは、見方を変えれば、ボリュームＤ２の属性（記憶容量、ドライブ種別、ＲＡＩＤレベル、ドライブ構成、エミュレーションタイプなど）と同一の属性を有する仮想的なボリュームＤ２’をストレージ階層２に新規追加するということと等価である。ボリュームＤ２’は、ボリュームＤ４の仮想的な移動先となる。
【００４８】
そして、ストレージシステム１００は、移動元ボリュームＤ４のデータを、ボリュームＤ４の仮想的な移動先として設定されたボリュームＤ２’に移動する処理を行う。この移動処理では、実際には、ボリュームＤ４のデータをボリュームＤ２に再配置する処理が行われる。
【００４９】
その後、図５に示すように、移動元ボリュームＤ４の本来の移動先ストレージ階層（本例では、ストレージ階層２）に属する複数のボリュームの中で、例えば、ボリュームＣ４が後発的に移動必須条件を満たすことになった場合（つまり、ボリュームＣ４が後発的に本来の移動先ボリュームとなった場合）を考察する。ユーザは、仮の移動先としてのボリュームＤ２’から本来の移動先としてのボリュームＣ４への再配置を指示する。すると、ストレージシステム１００は、ボリュームＤ２’のデータをボリュームＣ４へ再配置する処理を行う。この再配置処理では、実際には、ボリュームＤ２のデータがボリュームＣ４へ再配置する処理が行われる。
【００５０】
そして、ボリュームＤ２のストレージ階層２への仮割り当ては解除される。仮割り当ての解除は、ボリュームＤ２’がストレージ階層２から論理的に削除されることと等価である。
【００５１】
次に、図６乃至図９を参照しながら、あるストレージ階層に属するボリューム（プライマリボリューム）のレプリケーション（セカンダリボリューム）を他のストレージ階層に作成するときの処理の概要を説明する。
【００５２】
まず、図６乃至図７を参照しながら、高位階層（例えば、ストレージ階層１）に属するボリュームのレプリケーションを低位階層（例えば、ストレージ階層２）に作成する場合を説明する。
【００５３】
図６に示すように、ボリュームＤ２のレプリケーションをストレージ階層２に作成する指示がユーザから与えられると、ストレージ管理サーバは、複製必須条件を満たす空きボリュームがストレージ階層２に存在するか否かをチェックする。複製必須条件とは、セカンダリボリュームに要求される必須条件をいい、例えば、「セカンダリボリュームは、プライマリボリュームの容量以上の記憶容量を有し、且つ未使用であるボリュームであること」である。複製必須条件を満たす空きボリュームがストレージ階層２に存在するならば、ストレージシステム１００は、ボリュームＤ２のレプリケーションをその空きボリュームに作成する。
【００５４】
もし、複製必須条件を満たす空きボリュームがストレージ階層２に存在しないならば、ストレージ管理サーバは、複製必須条件を満たす空きボリュームを他のストレージ階層から検索する。ここで、ストレージ階層３に属するボリュームＤ４が複製必須条件を満たす場合を考察する。ストレージ管理サーバは、ストレージ階層３に属するボリュームＤ４をストレージ階層２に仮割り当てる。ボリュームＤ４をストレージ階層２に仮割り当てるということは、見方を変えれば、ボリュームＤ４の属性（記憶容量、ドライブ種別、ＲＡＩＤレベル、ドライブ構成、エミュレーションタイプなど）と同一の属性を有する仮想的なボリュームＤ４’をストレージ階層２に新規追加するということと等価である。ボリュームＤ４’は、複製元ボリュームＤ２（ソース）の仮想的な複製先（ターゲット）となる。
【００５５】
そして、ストレージシステム１００は、複製元ボリュームＤ２のデータを、ボリュームＤ２の仮想的な複製先として設定されたボリュームＤ４’に複製する処理を行う。この複製処理では、実際には、ボリュームＤ２のデータをボリュームＤ４に複製する処理が行われる。ストレージシステム１００の管理上、ボリュームＤ２とボリュームＤ４’との間のペア状態は、同期状態にある。実際には、ボリュームＤ２とボリュームＤ４との間のペア状態は、同期状態にある。
【００５６】
その後、図７に示すように、複製元ボリュームＤ２の本来の複製先ストレージ階層（本例では、ストレージ階層２）に属する複数のボリュームの中で、例えば、ボリュームＣ４が後発的に複製必須条件を満たすことになった場合（つまり、ボリュームＣ４が後発的に本来の複製先ボリュームとなった場合）を考察する。ユーザは、仮の複製先としてのボリュームＤ４’から本来の複製先としてのボリュームＣ４への再配置を指示する。すると、ストレージシステム１００は、ボリュームＤ２とボリュームＤ４’との間のペア状態をスプリットし、ボリュームＤ４’のデータをボリュームＣ４へ再配置する処理を行う。この再配置処理では、実際には、ボリュームＤ２とボリュームＤ４との間のペア状態がスプリットされ、ボリュームＤ４のデータがボリュームＣ４へ再配置する処理が行われる。
【００５７】
そして、複製元ボリュームＤ２と本来の複製先ボリュームＣ４との間のペア状態は、同期状態になる。一方、ボリュームＤ４のストレージ階層２への仮割り当ては解除される。仮割り当ての解除は、ボリュームＤ４’がストレージ階層２から論理的に削除されることと等価である。
【００５８】
まず、図８乃至図９を参照しながら、低位階層（例えば、ストレージ階層３）に属するボリュームのレプリケーションを高位階層（例えば、ストレージ階層２）に作成する場合を説明する。
【００５９】
図８に示すように、ボリュームＤ４のレプリケーションをストレージ階層２に作成する指示がユーザから与えられると、ストレージ管理サーバは、複製必須条件を満たす空きボリュームがストレージ階層２に存在するか否かをチェックする。複製必須条件を満たす空きボリュームがストレージ階層２に存在するならば、ストレージシステム１００は、ボリュームＤ４のレプリケーションをその空きボリュームに作成する。
【００６０】
もし、複製必須条件を満たす空きボリュームがストレージ階層２に存在しないならば、ストレージ管理サーバは、複製必須条件を満たす空きボリュームを他のストレージ階層から検索する。ここで、ストレージ階層１に属するボリュームＤ２が複製必須条件を満たす場合を考察する。ストレージ管理サーバは、ストレージ階層１に属するボリュームＤ２をストレージ階層２に仮割り当てる。ボリュームＤ２をストレージ階層２に仮割り当てるということは、見方を変えれば、ボリュームＤ２の属性（記憶容量、ドライブ種別、ＲＡＩＤレベル、ドライブ構成、エミュレーションタイプなど）と同一の属性を有する仮想的なボリュームＤ２’をストレージ階層２に新規追加するということと等価である。ボリュームＤ２’は、複製元ボリュームＤ４（ソース）の仮想的な複製先（ターゲット）となる。
【００６１】
そして、ストレージシステム１００は、複製元ボリュームＤ４のデータを、ボリュームＤ４の仮想的な複製先として設定されたボリュームＤ２’に複製する処理を行う。この複製処理では、実際には、ボリュームＤ４のデータをボリュームＤ２に複製する処理が行われる。ストレージシステム１００の管理上、ボリュームＤ４とボリュームＤ２’との間のペア状態は、同期状態にある。実際には、ボリュームＤ４とボリュームＤ２との間のペア状態は、同期状態にある。
【００６２】
その後、図９に示すように、複製元ボリュームＤ４の本来の複製先ストレージ階層（本例では、ストレージ階層２）に属する複数のボリュームの中で、例えば、ボリュームＣ４が後発的に複製必須条件を満たすことになった場合（つまり、ボリュームＣ４が後発的に本来の複製先ボリュームとなった場合）を考察する。ユーザは、仮の複製先としてのボリュームＤ２’から本来の複製先としてのボリュームＣ４への再配置を指示する。すると、ストレージシステム１００は、ボリュームＤ４とボリュームＤ２’との間のペア状態をスプリットし、ボリュームＤ２’のデータをボリュームＣ４へ再配置する処理を行う。この再配置処理では、実際には、ボリュームＤ４とボリュームＤ２との間のペア状態がスプリットされ、ボリュームＤ２のデータがボリュームＣ４へ再配置する処理が行われる。
【００６３】
そして、複製元ボリュームＤ４と本来の複製先ボリュームＣ４との間のペア状態は、同期状態になる。一方、ボリュームＤ２のストレージ階層２への仮割り当ては解除される。仮割り当ての解除は、ボリュームＤ２’がストレージ階層２から論理的に削除されることと等価である。
【００６４】
次に、図１０乃至図３０を参照しながら、本実施例に係わるストレージシステム１００の具体的な構成、ボリューム再配置処理、レプリケーション作成処理の詳細について説明を加える。
【００６５】
図１０はストレージシステム１００のハードウェア構成を示す。ストレージシステム１００は、複数のストレージ装置１０１、ストレージ管理サーバ１０２、管理クライアント１０３、一つ以上のホスト計算機１０４、仮想化装置１０５、ストレージネットワーク１０６、及び管理ネットワーク１０７を備える。
【００６６】
ホスト計算機１０４は、ワークステーションシステム、メインフレームコンピュータ、パーソナルコンピュータ等である。ホスト計算機１０４は、各ストレージ装置１０１が提供する記憶資源を利用して各種の業務処理（例えば、データベース処理、Ｗｅｂアプリケーション処理、ストリーミング処理など）を実行する。
【００６７】
ストレージネットワーク１０６は、一つ以上のホスト計算機１０４と、複数のストレージ装置１０１とを接続する。ストレージネットワーク１０６は、例えば、ＳＡＮ（Storage Area Network）、ＬＡＮ(Local Area Network)、ＷＡＮ（Wide Area Network）、インターネット、専用回線、公衆回線等である。ホスト計算機１０４は、仮想化装置１０５を介して複数のストレージ装置１０１に接続することにより、複数のストレージ装置１０１のそれぞれが有する記憶資源を論理的に一つの記憶資源として認識する。仮想化装置１０５は、例えば、仮想化スイッチ、インテリジェントスイッチ、又は仮想化専用装置などである。ホスト計算機１０４又はストレージシステム１０１のうち何れか一方が仮想化機能を有している場合には、仮想化装置１０５は必ずしも必須ではない。
【００６８】
ストレージ装置１０１は、コントローラ１１１と、複数のストレージデバイス１１２とを備える。
【００６９】
コントローラ１１１は、複数のストレージデバイス１１２をＲＡＩＤ方式に規定されるＲＡＩＤレベル（例えば、０，１，５）で制御することができる。ＲＡＩＤ方式においては、複数のストレージデバイス１１２が一つのＲＡＩＤグループとして管理される。ＲＡＩＤグループは、例えば、４つのストレージデバイス１１２を一組としてグループ化することにより（３Ｄ＋１Ｐ）、或いは、８つのディスクドライブ２４０を一組としてグループ化することにより（７Ｄ＋１Ｐ）、構成される。即ち、複数のストレージデバイス１１２のそれぞれが提供する記憶領域が集合して一つのＲＡＩＤグループが構成される。ＲＡＩＤグループ上には、ホスト計算機１０４からのアクセス単位である一つ以上のボリュームが定義される。
【００７０】
ストレージデバイス１１２は、例えば、ＦＣ（Fibre Channel）ディスクドライブ、ＳＡＴＡ（Serial Advanced Technology Attachment）ディスクドライブ、ＰＡＴＡ（Parallel Advanced Technology Attachment）ディスクドライブ、ＦＡＴＡ（Fibre Attached Technology Adapted）ディスクドライブ、ＳＡＳ（Serial Attached SCSI）ディスクドライブ或いはＳＣＳＩ（Small Computer System Interface）ディスクドライブ等の物理デバイスである。物理デバイスとは、実記憶領域を有する実デバイスである。
【００７１】
尚、各ストレージ装置１０１は、同一機種であってもよく、或いは性能及び価格などが異なる機種であってもよい。
【００７２】
管理ネットワーク１０７は、一つ以上のホスト計算機１０４、仮想化装置１０５、複数のストレージ装置１０１、管理クライアント１０３、及びストレージ管理サーバ１０２を接続し、管理情報の送受信などに使用される。
【００７３】
管理クライアント１０３は、ストレージシステム１００を保守管理するためのコンピュータである。ユーザは、管理クライアント１０３に搭載されているＷｅｂブラウザ１３１を介して、ストレージ管理用のコマンドを入力することにより、ストレージシステム１００を保守管理できる。ストレージ管理用のコマンドとして、例えば、ストレージデバイス１１２の増設或いは減設、又はＲＡＩＤ構成の変更を指示するためのコマンド、ホスト計算機１０４とストレージ装置１０１との間の通信パスを設定するためのコマンド等がある。
【００７４】
ストレージ管理サーバ１０２は、管理クライアント１０３からストレージ管理用の各種コマンドを受信して、ストレージシステム１００を保守管理する。ストレージ管理サーバ１０２は、データ再配置管理プログラム１２１を有している。データ再配置管理プログラム１２１は、ストレージ階層間でボリュームを再配置するための処理（図２乃至図５）、及びストレージ階層間でボリュームのレプリケーションを作成するための処理（図６乃至図９）を実行する。ストレージ管理サーバ１０２は、ストレージシステム１００の構成情報などを格納するための記憶装置１２２を有している。
【００７５】
図１１はストレージ管理サーバ１０２のハードウェア構成を示す。ストレージ管理サーバ１０２は、インターフェース２２１、プロセッサ２２２、メモリ２２３、モニタ２２４、入力デバイス２２５、及び記憶装置１２２を備える。
【００７６】
インターフェース２２１は、管理ネットワーク１０７に接続するためのＬＡＮアダプタなどである。インターフェース２２１は、ストレージ装置１０１や仮想化装置１０５から構成情報を取得したり、或いはボリューム再配置の指示やレプリケーションの指示などをストレージ装置１０１に送信したりする。
【００７７】
プロセッサ２２２は、メモリ２２３に格納されたプログラムに基づいてストレージシステム１００の保守管理を行う他、データ再配置管理プログラム１２１に基づいて、ストレージ階層間でボリュームを再配置する処理、及びストレージ階層間でボリュームのレプリケーションを作成する処理を実行する。
【００７８】
モニタ２２４は、ＧＵＩ（Graphical User Interface）環境下でストレージ管理用の画面をユーザに提供するためのディスプレイである。入力デバイス２２５は、ストレージ管理用のコマンドを入力するためものであり、例えば、キーボードやマウスなどである。モニタ２２４及び入力デバイス２２５は、必ずしも必須ではない。
【００７９】
図１２はストレージ装置１０１のハードウェア構成を示す。コントローラ１１１は、ホストインターフェース２１１、プロセッサ２１２、メモリ２１３、キャッシュメモリ２１４、及び管理インターフェース２１５を備える。
【００８０】
ホストインターフェース２１１は、ストレージネットワーク１０６を介してホスト計算機１０４に接続するためのネットワークインターフェースである。
【００８１】
プロセッサ２１２は、ホスト計算機１０４からのデータ入出力要求に応答して、ストレージデバイス１１２へのデータ入出力を制御する。
【００８２】
メモリ２１３は、各種制御用のマイクロプログラムなどを格納する。マイクロプログラム等の詳細については、後述する（図１５）。
【００８３】
キャッシュメモリ２１４は、ストレージデバイス１１２へ入出力されるデータを一時的に格納する。
【００８４】
管理インターフェース２１５は、管理ネットワーク１０７を介してストレージ管理サーバ１０２及び管理クライアント１０３に接続するためのネットワークインターフェースである。
【００８５】
図１３は仮想化装置１０５のハードウェア構成を示す。仮想化装置１０５は、ホストインターフェース３１１、ストレージインターフェース３１２、プロセッサ３１３、メモリ３１４、キャッシュメモリ３１５、記憶装置３１６、及び管理インターフェース３１７を備える。
【００８６】
ホストインターフェース３１１は、ストレージネットワーク１０６を介してホスト計算機１０４に接続するためのネットワークインターフェースである。
【００８７】
ストレージインターフェース３１２は、ストレージネットワーク１０６を介してストレージ装置１０１に接続するためのネットワークインターフェースである。
【００８８】
プロセッサ３１３は、複数のストレージ装置１０１のそれぞれが提供する記憶資源を論理的に一つの記憶資源に仮想化するための処理などを行う。
【００８９】
メモリ３１４は、各種制御用のマイクロプログラムなどを格納する。マイクロプログラム等の詳細については、後述する（図１６）。
【００９０】
キャッシュメモリ３１５は記憶装置３１６へ入出力されるデータを一時的に格納する。
【００９１】
管理インターフェース３１７は、管理ネットワーク１０７を介してストレージ管理サーバ１０２及び管理クライアント１０３に接続するためのネットワークインターフェースである。
【００９２】
図１４はストレージ管理サーバ１０２の機能構成を示す。メモリ２２３には、テーブル管理プログラム４１１、ストレージ操作プログラム４１２、情報取得プログラム４１３、及びＧＵＩプログラム４１４が格納されている。記憶装置１２２には、リポジトリ（ボリュームテーブル４２１、ストレージ階層テーブル４２２、ストレージテーブル４２３、及び階層移動情報テーブル４２４）が格納されている。ボリュームテーブル４２１、ストレージ階層テーブル４２２、ストレージテーブル４２３、及び階層移動情報テーブル４２４の詳細については、後述する（図１７〜図２０）。
【００９３】
テーブル管理プログラム４１１は、リポジトリの入出力を行うプログラムである。ストレージ操作プログラム４１２は、ストレージ装置１０１にコマンドを発行するためのプログラムである。情報取得プログラム４１３は、ストレージ装置１０１から構成情報を取得するためのプログラムである。ＧＵＩプログラム４１４は、ストレージ装置１０１を管理するためのユーザインターフェース（例えば、図２３、図２４）を提供するためのプログラムである。
【００９４】
図１５はストレージ装置１０１の機能構成を示す。メモリ２１３には、ボリュームテーブル５２１、Ｉ／Ｏ制御プログラム５１１、ボリューム再配置プログラム５１２、ボリュームコピープログラム５１３、及びテーブル管理プログラム５１４が格納されている。
【００９５】
ボリュームテーブル５２１は、ボリュームとストレージデバイス１１２との対応関係を示す情報、及びボリュームの特性に関する情報を保持する。ボリュームテーブル５２１の詳細については、後述する（図２１）。
【００９６】
Ｉ／Ｏ制御プログラム５１１は、ホスト計算機１０４からのＩ／Ｏ要求に応答して、ストレージデバイス１１２へのデータ入出力を制御するプログラムである。
【００９７】
ボリューム再配置プログラム５１２は、ボリュームとストレージデバイス１１２との対応関係を変更するためのプログラムである。ホスト計算機１０４は、ボリュームをＩＤによって識別し、データを読み書きするボリューム上の論理的な記憶領域の位置（論理アドレス）を認識しているが、ストレージデバイス１１２上の物理的な記憶領域の位置（物理アドレス）については認識していない。ボリューム再配置とは、ホスト計算機１０４が認識しているボリューム上の論理的な記憶領域の位置を変更する機能である。ボリューム再配置プログラム５１２は、あるストレージ階層に属するボリュームを他のストレージ階層に移動させることができる。
【００９８】
ボリュームコピープログラム５１３は、あるボリュームのレプリケーションを他のボリュームに作成するためのプログラムである。コピー元のボリュームをプライマリボリューム（ＰＶＯＬ）と称し、コピー先のボリュームをセカンダリボリューム（ＳＶＯＬ）と称する。プライマリボリュームとセカンダリボリュームとの間のペア状態が同期状態にある場合には、プライマリボリュームにデータ更新が生じると、そのデータ更新は、セカンダリボリュームに反映される。セカンダリボリュームの記憶領域を提供するストレージデバイス１１２は、プライマリボリュームの記憶領域を提供するストレージデバイス１１２と同一であってもよく、或いは異なるものであってもよい。また、セカンダリボリュームの記憶領域を提供するストレージ装置１０１は、プライマリボリュームの記憶領域を提供するストレージ装置１０１とは異なるものであってもよい。
【００９９】
テーブル管理プログラム５１４は、ボリュームテーブル５２１に保持されている情報を読み書きするためのプログラムである。
【０１００】
図１６は仮想化装置１０５の機能構成を示す。メモリ３１４には、ボリュームテーブル５２１、外部ボリュームテーブル６２１、Ｉ／Ｏ制御プログラム５１１、ボリューム再配置プログラム５１２、ボリュームコピープログラム５１３、テーブル管理プログラム５１４、外部接続制御プログラム６１５が格納されている。
【０１０１】
仮想化装置１０５は、一つ以上の仮想ボリューム６３１を有する。仮想ボリューム６３１は、ストレージ装置１０１が提供するボリュームが仮想的に割り当てられたボリュームである。説明の便宜上、ストレージ装置１０１が提供するボリュームを外部ボリュームと称する。仮想ボリューム６３１のアドレス空間は、外部ボリュームのアドレス空間にマッピングされている。ホスト計算機１０４は、仮想ボリューム６３１をストレージ装置１０１の記憶資源として認識し、仮想ボリューム６３１にＩ／Ｏ要求を発行する。仮想化装置１０５は、ホスト計算機１０４からＩ／Ｏ要求を受信すると、仮想ボリューム６３１と外部ボリュームとの間のアドレス変換を行い、ストレージ装置１０１にコマンド（ホスト計算機１０４からのＩ／Ｏ要求）を転送し、外部ボリュームにアクセスする。仮想ボリューム６３１には、複数のストレージ装置１０１が有するそれぞれの外部ボリュームを割り当てることができる。これにより、仮想化装置１０５は、複数のストレージ装置１０１が有する記憶資源を論理的に一つの記憶資源に仮想化できる。
【０１０２】
外部接続制御プログラム６１５は、仮想化装置１０５とストレージ装置１０１との間の外部接続（例えば、仮想ボリューム６３１と外部ボリュームとの間のアドレス変換や、ストレージ装置１０１へのコマンド転送など）を制御するプログラムである。
【０１０３】
外部ボリュームテーブル６２１は、仮想ボリューム６３１と外部ボリュームとの対応関係を示す情報を保持する。外部ボリュームテーブル６２１の詳細については、後述する（図２２）。
【０１０４】
図１７はボリュームテーブル４２１のテーブル構造を示す。ボリュームテーブル４２１は、ストレージ装置１０１が提供するボリュームに関する情報を保持する。ボリュームテーブル４２１は、それぞれのボリュームについて、ＩＤ８０１、ストレージＩＤ８０２、ＶＯＬ＃８０３、ＲＡＩＤレベル８０４、ディスク種別８０５、容量８０６、使用状況８０７、及び所属階層８０８を対応付けている。
【０１０５】
ＩＤ８０１は、ボリュームを識別するためのＩＤである。
【０１０６】
ストレージＩＤ８０２は、ストレージ装置１０１を識別するためのＩＤである。
【０１０７】
ＶＯＬ＃８０３は、ストレージ装置１０１内部でボリュームを識別するための番号である。
【０１０８】
ＲＡＩＤレベル８０４は、ボリュームのＲＡＩＤレベルを示す。
【０１０９】
ディスク種別８０５は、ボリュームの記憶領域を提供するストレージデバイス１１２のディスク種別（例えば、ＦＣディスクとＳＡＴＡディスクとを区別するための情報）を示す。
【０１１０】
容量８０６は、ボリュームの記憶容量を示す。
【０１１１】
使用状況８０７は、ボリュームの使用状況を示す。ボリュームの使用状況には、例えば、「使用中」、「ＰＶＯＬ」、「ＳＶＯＬ」、及び「空き」がある。「使用中」は、ボリュームがホスト計算機１０４からのアクセスに提供されており、且つレプリケーションが作成されていないことを示す。「ＰＶＯＬ」は、ボリュームがプライマリボリュームであることを示す。「ＳＶＯＬ」は、ボリュームがセカンダリボリュームであることを示す。「空き」は、ボリュームが未使用の状態にあることを示す。
【０１１２】
所属階層８０８は、ボリュームの所属階層（ホスト計算機１０４が論理的に認識している所属階層）を示す。所属階層８０８は、必ずしも、ボリュームが実際に属しているストレージ階層を示しているとは限らない。例えば、ボリュームが本来所属しているストレージ階層から他のストレージ階層に仮割り当てされると、所属階層８０８は、仮割り当て先のストレージ階層を示す。
【０１１３】
図１８はストレージ階層テーブル４２２のテーブル構造を示す。ストレージ階層テーブル４２２は、ストレージ階層に関する情報を保持する。ストレージ階層テーブル４２２は、それぞれのストレージ階層について、ＩＤ９０１、階層名９０２、及び階層条件９０３を対応付けている。
【０１１４】
ＩＤ９０１は、ストレージ階層を識別するためのＩＤである。
【０１１５】
階層名９０２は、ストレージ階層の名称を示す。
【０１１６】
階層条件９０３は、ストレージ階層を定義付ける条件である。階層条件９０３には、例えば、「容量」、「装置ＩＤ」、「装置種別」、「ＲＡＩＤレベル」、及び「ディスク種別」を含めることができ、これらの中から一つ以上の組み合わせを選択できる。「容量」は、ストレージ階層の記憶容量を示す。「装置ＩＤ」は、ストレージ装置１０１を識別するためのＩＤである。「装置種別」は、トレージ装置１０１の種別（例えば、新型装置と旧型装置とを区別するための情報）を示す。「ＲＡＩＤレベル」は、ストレージ階層のＲＡＩＤレベルを示す。「ディスク種別」は、ストレージ階層の記憶領域を提供するストレージデバイス１１２のディスク種別を示す。
【０１１７】
図１９はストレージテーブル４２３のテーブル構造を示す。ストレージテーブル４２３は、ストレージ装置１０１に関する情報を保持する。ストレージテーブル４２３は、それぞれのストレージ装置１０１について、ＩＤ７０１、ストレージ名７０２、及び装置種別７０３を対応付けている。
【０１１８】
ＩＤ７０１は、ストレージ装置１０１を識別するためのＩＤである。
【０１１９】
ストレージ名７０２は、ストレージ装置１０１の名称を示す。
【０１２０】
装置種別７０３は、ストレージ装置１０１の種別（例えば、新型装置と旧型装置とを区別するための情報）を示す。
【０１２１】
図２０は階層移動情報テーブル４２４のテーブル構造を示す。階層移動情報テーブル４２４は、ボリュームの仮割り当てに関する情報を保持する。階層移動情報テーブル４２４は、それぞれの階層移動情報について、ＩＤ１００１、ＶＯＬ−ＩＤ１００２、仮割り当て元階層１００３、仮割り当て先階層１００４、移動日時１００５、及び操作１００６を対応付ける。
【０１２２】
ＩＤ１００１は、階層移動情報を識別するためのＩＤである。
【０１２３】
ＶＯＬ−ＩＤ１００２は、ボリュームを識別するためのＩＤ（ボリュームテーブル４２１に保持されているＩＤ８０１）を示す。
【０１２４】
仮割り当て元階層１００３は、仮割り当てされるボリュームが本来所属しているストレージ階層を識別するためのＩＤ（ストレージ階層テーブル４２２に保持されているＩＤ９０１）を示す。
【０１２５】
仮割り当て先階層１００４は、ボリュームの仮割り当て先のストレージ階層を識別するためのＩＤ（ストレージ階層テーブル４２２に保持されているＩＤ９０１）を示す。
【０１２６】
移動日時１００５は、ボリュームの再配置操作又はレプリケーション操作を行った日時を示す。
【０１２７】
操作１００６は、ボリュームの操作に関する情報（「再配置」又は「レプリケーション」）を示す。
【０１２８】
例えば、ＩＤ「００１」を有する階層移動情報は、「ＶＯＬ−ＩＤ「０１０」を有するボリュームは、本来、ストレージ階層「００３」に属しているが、仮想的にストレージ階層「００２」に属している」ということを示している。これにより、ＶＯＬ−ＩＤ「０１０」を有するボリュームは、ホスト計算機１０４から見ると、あたかもストレージ階層「００２」に属しているかのように見える。
【０１２９】
図２１はボリュームテーブル５２１のテーブル構造を示す。ボリュームテーブル５２１は、コントローラ１１１がボリュームにデータを読み書きするために必要な情報を保持する。ボリュームテーブル５２１は、それぞれのボリュームについて、ＶＯＬ−ＩＤ１１０１、ＶＤＥＶ−ＩＤ１１０２、Ｐｏｒｔ−ＩＤ１１０３、ＲＡＩＤレベル１１０４、ディスク種別１１０５、容量１１０６、及び使用状況１１０７を対応付ける。
【０１３０】
ＶＯＬ−ＩＤ１１０１は、ストレージ装置１０１内でボリュームを識別するためのＩＤを示す。
【０１３１】
ＶＤＥＶ−ＩＤ１１０２は、ボリューム上の記憶領域が割り当てられている仮想デバイスを識別するためのＩＤを示す。
【０１３２】
Ｐｏｒｔ−ＩＤ１１０３は、ボリュームに割り当てられているポートを識別するためのＩＤを示す。
【０１３３】
ＲＡＩＤレベル１１０４は、ボリューム上の記憶領域のＲＡＩＤレベルを示す。ＲＡＩＤレベル１１０４には、ストレージデバイス１１２のドライブ構成を含めてもよい。
【０１３４】
ディスク種別１１０５は、ボリューム上の記憶領域を提供するストレージデバイス１１２のディスク種別を示す。
【０１３５】
容量１１０６は、ボリュームの記憶容量を示す。
【０１３６】
使用状況１１０７は、ボリュームの使用状況を示す。使用状況１１０７には、例えば、「使用中」、「ＳＶＯＬ」、及び「空き」がある。「使用中」は、ボリュームがホスト計算機１０４からのアクセスに提供されていることを示す。「ＳＶＯＬ」は、ボリュームがセカンダリボリュームであることを示す。「空き」は、ボリュームが未使用の状態にあることを示す。
【０１３７】
図２２は外部ボリュームテーブル６２１のテーブル構造を示す。外部ボリュームテーブル６２１は、複数のストレージ装置１０１のそれぞれが有する記憶資源を論理的に一つの記憶資源に仮想化するために必要な情報を保持する。外部ボリュームテーブル６２１は、それぞれの仮想ボリューム６３１について、ＶＯＬ−ＩＤ１２０１、外部Ｐｏｒｔ−ＩＤ１２０２、ＩＰアドレス１２０３、及び外部ＶＯＬ−ＩＤ１２０４を対応付ける。
【０１３８】
ＶＯＬ−ＩＤ１２０１は、仮想化装置１０５内で仮想ボリューム６３１を識別するためのＩＤを示す。
【０１３９】
外部Ｐｏｒｔ−ＩＤ１２０２は、ホスト計算機１０４から仮想ボリューム６３１へのＩ／Ｏ要求を外部ボリュームに転送するためのポート（仮想化装置１０５が有する外部接続用のポート）を識別するためのＩＤを示す。
【０１４０】
ＩＰアドレス１２０３は、外部ボリュームを有するストレージ装置１０１を識別するためのＩＰアドレスを示す。外部ボリュームを有するストレージ装置１０１を識別するための情報として、ＷＷＮ（World Wide Name）を用いてもよい。
【０１４１】
外部ＶＯＬ−ＩＤ１２０４は、ストレージ装置１０１内で外部ボリュームを識別するためのＩＤ（ボリュームテーブル４２１に保持されているＩＤ８０１）を示す。
【０１４２】
図２３はストレージ階層を定義するための階層作成画面１３０１の一例を示す。階層作成画面１３０１は、ストレージ管理サーバ１０２又は管理クライアント１０３に表示される。ユーザは、階層作成画面１３０１を参照しながら、ストレージ階層名及び階層条件を指定する。階層条件には、「容量」、「装置名」、「装置種別」、「ＲＡＩＤレベル」、及び「ディスク種別」の中から何れか一つ以上の組み合わせを選択することができる。ユーザは、ストレージ階層及び階層条件を指定した後、確定ボタンをクリックすることで、ストレージ階層を作成することができる。
【０１４３】
図２４は仮割り当てされたボリュームの仮割り当てを解除するための選択画面１４０１の一例を示す。選択画面１４０１は、ストレージ管理サーバ１０２又は管理クライアント１０３に表示される。仮割り当て先のストレージ階層に空きボリュームが生じると、仮割り当てされたボリュームの仮割り当てを解除する処理が必要となる。仮割り当てを解除することのできるボリュームが複数存在する場合、ユーザは、どのボリュームについて、仮割り当てを解除するのかを選択した上で、選択画面１４０１に表示されている確定ボタンをクリックすることで、仮割り当てを解除するボリュームを指定する。
【０１４４】
尚、ストレージ管理サーバ１０２が自動的にボリュームの仮割り当てを解除するように構成してもよい。例えば、ストレージ管理サーバ１０２は、ボリュームの再配置又はレプリケーションを実行した「日時」、又は操作の種類（「再配置」又は「レプリケーション」）に基づいて、自動的にボリュームの仮割り当てを解除する。ストレージ管理サーバ１０２が自動的にボリュームの仮割り当てを解除する処理の詳細については、後述する（図２８）。
【０１４５】
図２５はボリューム再配置処理の全体概要を示すフローチャートである。
まず、ユーザは、ボリュームテーブル４２１に登録されている複数のボリュームの中から再配置すべきボリュームを指定し、ストレージ階層テーブル４２２からそのボリュームの移動先となるストレージ階層を選択した上で、ボリューム再配置を指示する（ステップ１５０１）。このとき、グルーピングされた複数のボリュームを一括して再配置の指示を行ってもよい。
【０１４６】
ストレージ管理サーバ１０２は、ユーザから指定された移動先のストレージ階層に移動必須条件を満たす空きボリュームをボリュームテーブル４２１から検索する（ステップ１５０２）。
【０１４７】
ストレージ管理サーバ１０２は、ユーザから指定された移動先のストレージ階層に移動必須条件を満たす空きボリュームが存在するか否かを判断する（ステップ１５０３）。
【０１４８】
もし、移動必須条件を満たす空きボリュームが存在するならば（ステップ１５０３；ＹＥＳ）、ストレージ管理サーバ１０２は、ボリュームをその空きボリュームへ移動させることを、ストレージ装置１０１に指示する（ステップ１５０７）。
【０１４９】
もし、移動必須条件を満たす空きボリュームが存在しないならば（ステップ１５０３；ＮＯ）、移動必須条件を満たす空きボリュームが他のストレージ階層に存在するか否かを検索し（ステップ１５０４）、移動必須条件を満たす空きボリュームが存在するか否かを判断する（ステップ１５０５）。
【０１５０】
もし、他のストレージ階層に移動必須条件を満たす空きボリュームが存在するならば（ステップ１５０５；ＹＥＳ）、ストレージ管理サーバ１０２は、ユーザから移動先として指定されたストレージ階層にその空きボリュームを仮割り当てし、空きボリュームへのボリューム再配置をストレージ装置１０１に指示する（ステップ１５０６）。
【０１５１】
もし、他のストレージ階層に移動必須条件を満たす空きボリュームが存在しないならば（ステップ１５０５；ＮＯ）、ストレージ管理サーバ１０２は、ユーザに例外を通知する（ステップ１５０８）。
【０１５２】
図２６は移動必須条件を満たすボリュームが移動先のストレージ階層に存在しなかった場合に、移動必須条件を満たす空きボリュームを他のストレージ階層から検索する処理を示すフローチャートである。この検索処理は、上述したステップ１５０４，１５０５に対応している。
【０１５３】
まず、管理サーバ１０２は、ユーザから指定された移動先のストレージ階層に関する階層条件をストレージ階層テーブル４２２から取得する（ステップ１６０１）。
【０１５４】
ストレージ管理サーバ１０２は、ステップ１６０１で取得した階層条件を基に、階層必須条件を作成し、階層必須条件を満たすストレージ階層が存在するか否かを検索する（ステップ１６０２）。階層必須条件とは、ボリュームの仮割り当て元になるストレージ階層が満たすべき必須条件をいう。階層必須条件として、例えば、容量条件（空きボリュームの記憶容量又は個数など）を挙げることができる。例えば、ユーザから指定された移動先のストレージ階層の記憶容量が１００ＧＢ以上の場合、ボリュームの仮割り当て元になるストレージ階層として、１００ＧＢ未満の記憶容量を有するストレージ階層は、選択されない。
【０１５５】
もし、階層必須条件を満たすストレージ階層が存在しないならば（ステップ１６０２；ＮＯ）、ストレージ管理サーバ１０２は、例外を通知する（ステップ１６０７）。
【０１５６】
もし、階層必須条件を満たすストレージ階層が存在する場合には（ステップ１６０２；ＹＥＳ）、階層必須条件を満たす複数のストレージ階層の中から、階層非必須条件を基に、本来の移動先ストレージ階層に最も近い階層条件を有するストレージ階層を選択する（ステップ１６０３）。階層非必須条件とは、階層条件の中から階層必須条件を除いた条件（例えば、「装置ＩＤ」、「装置種別」、「ＲＡＩＤレベル」、「ディスク種別」など）をいう。それぞれの階層非必須条件に予め重み付けを設定しておくことで、本来の移動先ストレージ階層に近い階層条件を有するストレージ階層を選択できる。それぞれの階層非必須条件について、どのような重み付けを設定するかは、ポリシーに基づく。例えば、移動元のボリュームと移動先のボリュームとが同一のストレージ装置内に存在するというポリシーが設定されている場合には「装置ＩＤ」の重み付けを大きく設定し、その他の階層非必須条件の重み付けを小さくすればよい。
【０１５７】
そして、ストレージ管理サーバ１０２は、ステップ１６０３において選択したストレージ階層に移動必須条件を満たす空きボリュームが存在するか否かを判断する（ステップ１６０４）。
【０１５８】
もし、移動必須条件を満たす空きボリュームが存在するならば（ステップ１６０４；ＹＥＳ）、その空きボリュームを移動先ストレージ階層に仮割り当てて、ボリューム再配置を実行する（ステップ１６０６）。
【０１５９】
もし、移動必須条件を満たす空きボリュームが存在しないならば（ステップ１６０４；ＮＯ）、ステップ１６０３において選択したストレージ階層を、階層必須条件を満たすストレージ階層の中から削除し（ステップ１６０５）、ステップ１６０２に戻る。
【０１６０】
図２７は仮割り当てされたボリュームを移動先として、ボリューム再配置を実行する処理を示すフローチャートである。このボリューム再配置実行処理は、ステップ１６０６の処理に対応している。
【０１６１】
まず、ストレージ管理サーバ１０２は、仮割り当てされるボリュームのＩＤをボリュームテーブル４２１から検索する（ステップ１７０１）。
【０１６２】
次に、ストレージ管理サーバ１０２は、仮割り当てされるボリュームの所属階層８０８が仮割り当て先の所属階層を示すように、ボリュームテーブル４２１を更新する（ステップ１７０２）。
【０１６３】
次に、ストレージ管理サーバ１０２は、仮割り当てされたボリュームを移動先として、ボリュームの再配置をストレージ装置１０１に指示し、階層移動情報テーブル４２４の「仮割り当て先ストレージ階層」、「移動日時」、「操作」を更新する（ステップ１７０３）。
【０１６４】
図２８はボリュームの仮割り当てを自動的に解除する処理を示すフローチャートである。まず、仮割り当て先のストレージ階層に空きボリュームが発生する（ステップ１８０１）。例えば、ストレージ管理サーバ１０２は、各ストレージ装置１０１のボリュームテーブル５２１を定期的にチェックすることで、空きボリュームの発生を検出する。
【０１６５】
次に、ストレージ管理サーバ１０２は、階層移動情報テーブル４２４の中から「仮割り当て先ストレージ階層」が、ステップ１８０１で検出した空きボリュームが属するストレージ階層に一致するボリュームを検索する（ステップ１８０２）。
【０１６６】
ストレージ管理サーバ１０２は、ステップ１８０２において検索したボリュームをいくつ検索したかをチェックする（ステップ１８０３）。
【０１６７】
もし、ステップ１８０２において検索したボリュームが一つであるならば、ストレージ管理サーバ１０２は、仮割り当てされたボリュームの仮割り当てを解除する（ステップ１８０５）。
【０１６８】
もし、ステップ１８０２において検索したボリュームが二つ以上であるならば、ストレージ管理サーバ１０２は、仮割り当て先ストレージ階層と仮割り当て元ストレージ階層との間の移動非必須条件の一致率が最も低いボリュームの仮割り当てを解除する（ステップ１８０４）。仮割り当てを解除するボリュームの選択方法として、例えば、操作の種別（再配置又はレプリケーション）に基づいて仮割り当て解除対象のボリュームを選択してもよく、或いは移動日時が最も古い（又は新しい）ボリュームを仮割り当て解除対象のボリュームとして選択してもよい。更に、これらの選択方法について、仮割り当て先ストレージ階層と仮割り当て元ストレージ階層との間の移動非必須条件の一致率を加味してもよい。
【０１６９】
また、仮割り当て先のストレージ階層に空きボリュームが発生した場合には、その空きボリュームが有する移動非必須条件と、仮割り当て先のストレージ階層に仮割り当てされているボリュームが有する移動非必須条件との一致率が所定値以上であることを条件として、仮割り当てを解除し、移動元のボリュームをその空きボリュームに再配置することを予約してもよい。
【０１７０】
図２９はボリューム再配置のために仮割り当てられたボリュームの仮割り当てを解除して、仮割り当て元ストレージ階層に返却するとともに、仮割り当て解除対象のボリュームのデータを空きボリュームに再配置する処理を示すフローチャートである。
【０１７１】
まず、ストレージ管理サーバ１０２は、仮割り当て解除対象のボリュームから空きボリュームへのデータ再配置をストレージ装置１０１に指示する（ステップ１９０１）。
【０１７２】
すると、ストレージ装置１０１は、ストレージ管理サーバ１０２からの指示に基づき、ボリュームの再配置を実行し、ストレージ管理サーバ１０２に再配置完了通知を送信する（ステップ１９０２）。
【０１７３】
ストレージ管理サーバ１０２は、ボリュームテーブル４２１について、仮割り当て解除対象のボリュームの所属解消８０８を仮割り当て元ストレージ階層に変更するとともに、空きボリュームの使用状況８０７を「使用中」に更新する（ステップ１９０３）。
【０１７４】
ストレージ管理サーバ１０２は、仮割り当ての解除を行ったボリュームに関する情報を階層移動情報テーブル４２４から削除する（ステップ１９０４）。
【０１７５】
図３０はレプリケーション作成のために仮割り当てられたボリュームの仮割り当てを解除して、仮割り当て元ストレージ階層に返却するとともに、仮割り当て解除対象のボリュームのデータを空きボリュームに再配置する処理を示すフローチャートである。
【０１７６】
まず、ストレージ管理サーバ１０２は、仮割り当て解除対象のボリュームとプライマリボリュームとの間のペア状態をスプリットすることを、ストレージ装置１０１に指示する（ステップ２００１）。このとき、ストレージ管理サーバ１０２は、仮割り当て解除対象のボリュームを有するストレージ装置１０１にスプリット指示を送信してもよく、或いはプライマリボリュームを有するストレージ装置１０１にスプリット指示を送信してもよい。
【０１７７】
すると、ストレージ装置１０１は、ペアスプリットの完了通知をストレージ管理サーバ１０２に送信する（ステップ２００２）。
【０１７８】
次に、ストレージ管理サーバ１０２は、仮割り当て解除対象のボリュームから空きボリュームへのデータ再配置をストレージ装置１０１に指示する（ステップ２００３）。
【０１７９】
すると、ストレージ装置１０１は、仮割り当て解除対象のボリュームから空きボリュームへのデータ再配置を行い、データ再配置完了通知をストレージ管理サーバ１０２に送信する（ステップ２００４）。データ再配置により、空きボリュームは、セカンダリボリュームとなる。
【０１８０】
次に、ストレージ管理サーバ１０２は、プライマリボリュームとセカンダリボリュームとの間のペア状態を再同期（ペアリシンク）させるための指示をストレージ装置１０１に送信する（ステップ２００５）。
【０１８１】
すると、ストレージ装置１０１は、例えば、プライマリボリュームとセカンダリボリュームとの間の差分データを管理し、差分データのみをプライマリボリュームからセカンダリボリュームへ送信する等して、両者間のペア状態を再同期させ、ペア再同期完了通知をストレージ管理サーバ１０２に送信する（ステップ２００６）。但し、プライマリボリュームが書き込み禁止等の理由により、プライマリボリュームとセカンダリボリュームとの間の差分データが存在しないことが保証されているような場合には、プライマリボリュームからセカンダリボリュームへのデータ転送は不要である。
【０１８２】
ストレージ管理サーバ１０２は、ボリュームテーブル４２１について、仮割り当て解除対象のボリュームの所属解消８０８を仮割り当て元ストレージ階層に変更するとともに、空きボリュームの使用状況８０７を「使用中」に更新する（ステップ２００７）。
【０１８３】
ストレージ管理サーバ１０２は、仮割り当ての解除を行ったボリュームに関する情報を階層移動情報テーブル４２４から削除する（ステップ２００８）。
【０１８４】
本実施例によれば、ボリュームの移動先又は複製先として指定されたストレージ階層に空きボリュームがない場合でも、ボリュームの再配置又は複製を適切に実行できる。
【実施例２】
【０１８５】
次に、あるボリュームをその他のボリュームに再配置する処理、及びあるボリュームのレプリケーションをその他のボリュームに作成する処理について説明する。上述した実施例１では、ボリュームの再配置先又は複製先としてストレージ階層を指定したが、実施例２では、ボリュームの再配置先又は複製先としてボリュームを指定する。
【０１８６】
まず、図３１乃至図３２を参照しながら、ボリュームＡをボリュームＢに再配置する処理の概要について説明する。
【０１８７】
図３１に示すように、ボリュームＡをボリュームＢに再配置する指示がユーザから与えられると、ストレージ管理サーバ１０２は、ボリュームＢが移動必須条件を満たす空きボリュームであるか否かをチェックする。移動必須条件とは、移動先のボリュームに要求される必須条件をいい、例えば、「移動先ボリュームは、移動元ボリュームの容量以上の記憶容量を有し、且つ未使用であるボリュームであること」である。ボリュームＢが移動必須条件を満たす場合には、ストレージ管理サーバ１０２は、ボリュームＡをボリュームＢに再配置することを指示する。
【０１８８】
もし、ボリュームＢが移動必須条件を満たさない場合には、ストレージ管理サーバ１０２は移動必須条件を満たす空きボリュームを他のボリュームの中から検索する。ここで、ボリュームＣが移動必須条件を満たす場合を考察する。ストレージ管理サーバ１０２は、ボリュームＣを仮の移動先として設定し、ボリュームＡをボリュームＣに再配置することをストレージ装置１０１に指示する。そして、ストレージ装置１０１は、ボリュームＡをボリュームＣに再配置する。
【０１８９】
その後、図３２に示すように、本来の移動先であるボリュームＢが後発的に移動必須条件を満たすことになった場合を考察する。ストレージ装置１０１は、ボリュームＣのデータをボリュームＢへ自動的に再配置する。尚、本来の移動先であるボリュームＢが後発的に移動必須条件を満たすことになったことをストレージ管理サーバ１０２がユーザに通知し、ユーザの指示を待ってから、ストレージ装置１０１がボリュームＣのデータをボリュームＢへ再配置してもよい。
【０１９０】
そして、ストレージ管理サーバ１０２は、ボリュームＣに対するボリュームＡの仮の移動先としての設定を解除する。
【０１９１】
次に、図３３乃至図３４を参照しながら、ボリュームＡのレプリケーションをボリュームＢに作成する処理の概要について説明する。
【０１９２】
図３３に示すように、ボリュームＡのレプリケーションをボリュームＢに作成する指示がユーザから与えられると、ストレージ管理サーバ１０２は、ボリュームＢが複製必須条件を満たす空きボリュームであるか否かをチェックする。複製必須条件とは、セカンダリボリュームに要求される必須条件をいい、例えば、「セカンダリボリュームは、プライマリボリュームの容量以上の記憶容量を有し、且つ未使用であるボリュームであること」である。ボリュームＢが複製必須条件を満たす場合には、ストレージ管理サーバ１０２は、ボリュームＡのレプリケーションをボリュームＢに作成することをストレージ装置１０１に指示する。
【０１９３】
もし、ボリュームＢが複製必須条件を満たさない場合には、ストレージ管理サーバ１０２は複製必須条件を満たす空きボリュームを他のボリュームの中から検索する。ここで、ボリュームＣが複製必須条件を満たす場合を考察する。ストレージ管理サーバ１０２は、ボリュームＣを仮の複製先として設定し、ボリュームＡのレプリケーションをボリュームＣに作成することをストレージ装置１０１に指示する。そして、ストレージ装置１０１はボリュームＡのレプリケーションをボリュームＣに作成する。ストレージ管理サーバ１０２は、ボリュームＡ，Ｃの間のペア状態を同期状態に設定する。
【０１９４】
その後、図３４に示すように、本来の複製先であるボリュームＢが後発的に複製必須条件を満たすことになった場合を考察する。ストレージ装置１０１は、ボリュームＡ，Ｃの間のペア状態をスプリットし、ボリュームＣのデータをボリュームＢへ自動的に再配置する。尚、本来の複製先であるボリュームＢが後発的に複製必須条件を満たすことになったことをストレージ管理サーバ１０２がユーザに通知し、ユーザの指示を待ってから、ストレージ装置１０１がボリュームＡ，Ｃの間のペア状態をスプリットし、ボリュームＣのデータをボリュームＢへ再配置してもよい。
【０１９５】
そして、ストレージ管理サーバ１０２は、ボリュームＡ，Ｂの間のペア状態を同期状態に設定し、ボリュームＣに対するボリュームＡの仮の移動先としての設定を解除する。
【０１９６】
次に、図３５乃至図３８を参照しながら、本実施例に係わるボリューム再配置処理、及びレプリケーション作成処理の詳細について説明を加える。これらの処理について、実施例１と重複する点については、説明を簡略化し、実施例１と実施例２との相違点を中心に説明する。
【０１９７】
図３５はストレージ管理サーバの機能構成を示す。同図に示す機能構成が図１４の機能構成と異なる点は、記憶装置１２２には、ストレージ階層テーブル４２２及び階層移動情報テーブル４２４が格納されておらず、仮割り当てテーブル２１０１が格納されている点である。
【０１９８】
図３６は仮割り当てテーブル２１０１のテーブル構造を示す。仮割り当てテーブル２１０１は、ボリュームの仮割り当てに関する情報を保持する。仮割り当てテーブル２１０１は、それぞれの仮割り当て情報について、ＩＤ２２０１、ＶＯＬ−ＩＤ２２０２、移動先２２０３、仮移動先２２０４、移動日時２２０５、及び操作２２０６を対応付ける。
【０１９９】
ＩＤ２２０１は、仮割り当て情報を識別するためのＩＤである。
【０２００】
ＶＯＬ−ＩＤ２２０２は、ボリュームを識別するためのＩＤ（ボリュームテーブル４２１に保持されているＩＤ８０１）を示す。
【０２０１】
移動先２２０３は、本来の移動先（又は複製先）として指定されたボリュームを識別するためのＩＤ（ボリュームテーブル４２１に保持されているＩＤ８０１）を示す。
【０２０２】
仮移動先２２０４は、仮の移動先（又は仮の複製先）として指定されたボリュームを識別するためのＩＤ（ボリュームテーブル４２１に保持されているＩＤ８０１）を示す。
【０２０３】
移動日時２２０５は、ボリュームの再配置操作又はレプリケーション操作を行った日時を示す。
【０２０４】
操作２２０６は、ボリュームの操作に関する情報（「再配置」又は「レプリケーション」）を示す。
【０２０５】
例えば、ＩＤ「００２」の仮割り当て情報は、「ＶＯＬ−ＩＤ「０３３」を有するボリュームは、本来ならばＶＯＬ−ＩＤ「００１」を有するボリュームに再配置されるべきなのに、ＶＯＬ−ＩＤ「００５」を有するボリュームに仮に再配置されている」ということを示している。
【０２０６】
ところが、ＩＤ「００１」の仮割り当て情報は、「ＶＯＬ−ＩＤ「０１０」を有するボリュームは、本来ならばＶＯＬ−ＩＤ「００３」を有するボリュームに再配置されるべきなのに、ＶＯＬ−ＩＤ「０１０」を有するボリューム（即ち、自分自身）に仮に再配置されている」ということを示している。これは、ボリュームの再配置又はレプリケーション作成を指示されたが、移動必須条件又は複製必須条件を満たすボリュームが存在しない場合に、移動元又は複製元のボリュームを自分自身に移動させる（つまり、データの移動は生じない。）ことを意味する。
【０２０７】
図３７はボリュームを再配置するための処理を示すフローチャートである。
まず、ストレージ管理サーバ１０２は、あるボリュームを他のボリュームに再配置する指示をユーザから受けると、移動先として指定されたボリュームに関する情報（使用状況８０７）をボリュームテーブル４２１から取得する（ステップ２３０１）。
【０２０８】
そして、ストレージ管理サーバ１０２は、ボリュームの使用状況８０７を確認し、移動先として指定されたボリュームが空きボリュームであるか否かをチェックする（ステップ２３０２）。
【０２０９】
もし、移動先として指定されたボリュームが空きボリュームであるならば（ステップ２３０２；ＹＥＳ）、ストレージ管理サーバ１０２は、ボリュームの再配置をストレージ装置１０１に指示する（ステップ２３０８）。
【０２１０】
もし、移動先として指定されたボリュームの使用状況８０７が「空き」ではなく、「使用中」又は「ＳＶＯＬ」であるならば（ステップ２３０２；ＮＯ）、移動先として指定されたボリュームの条件（以下、ボリューム条件と称する。）をボリュームテーブル４２１から抽出する（ステップ２３０３）。ボリューム条件には、例えば、「ＲＡＩＤレベル」、「ディスク種別」、及び「容量」を含めることができる。
【０２１１】
そして、ストレージ管理サーバ１０２は、ボリューム条件を基に、移動必須条件を作成し、移動必須条件を満たすボリュームが存在するか否かを検索する（ステップ２３０４）。移動必須条件には、例えば、「容量」を含めることができる。移動元のボリュームと移動先のボリュームとが同一のストレージ装置内に存在するというポリシーがあるならば、移動必須条件には、「容量」と「ストレージＩＤ」とを含めることができる。
【０２１２】
もし、移動必須条件を満たすボリュームが存在しない場合には（ステップ２３０４；ＮＯ）、ストレージ管理サーバ１０２は、移動元のボリュームの仮移動先を移動元ボリューム自身に設定する（ステップ２３０９）。
【０２１３】
もし、移動必須条件を満たすボリュームが存在する場合には（ステップ２３０４；ＹＥＳ）、ストレージ管理サーバ１０２は、移動必須条件を満たす複数のボリュームの中から移動先ボリュームの移動非必須条件に最も近い移動非必須条件を有するボリュームを選択する（ステップ２３０５）。
【０２１４】
そして、ストレージ管理サーバ１０２は、その選択したボリュームを仮の移動先として設定し、ボリュームの再配置をストレージ装置１０１に指示する（ステップ２３０６）。
【０２１５】
そして、ストレージ管理サーバ１０２は、その選択したボリュームを仮の移動先に設定したことを仮割り当てテーブル２１０１に登録する（ステップ２３０７）。
【０２１６】
尚、本来の移動先としてのボリュームが後発的に空きボリュームになった時点で、仮の移動先としてのボリュームから本来の移動先としてのボリュームに自動的にデータを再配置することを予約してもよく、或いは本来の移動先としてのボリュームが空きボリュームとなったことをユーザに連絡し、ユーザからの指示を待って、仮の移動先としてのボリュームから本来の移動先としてのボリュームにデータを再配置してもよい。
【０２１７】
図３８はボリュームのレプリケーションを作成するための処理を示すフローチャートである。まず、ストレージ管理サーバ１０２は、あるボリュームのレプリケーションを他のボリュームに作成する指示をユーザから受けると、複製先として指定されたボリュームに関する情報（使用状況８０７）をボリュームテーブル４２１から取得する（ステップ２４０１）。
【０２１８】
そして、ストレージ管理サーバ１０２は、ボリュームの使用状況８０７を確認し、複製先として指定されたボリュームが空きボリュームであるか否かをチェックする（ステップ２４０２）。
【０２１９】
もし、複製先として指定されたボリュームが空きボリュームであるならば（ステップ２４０２；ＹＥＳ）、ストレージ管理サーバ１０２は、ボリュームのレプリケーションの作成をストレージ装置１０１に指示する（ステップ２３０８）。
【０２２０】
もし、複製先として指定されたボリュームの使用状況８０７が「空き」ではなく、「使用中」又は「ＳＶＯＬ」であるならば（ステップ２４０２；ＮＯ）、複製先として指定されたボリュームのボリューム条件をボリュームテーブル４２１から抽出する（ステップ２４０３）。
【０２２１】
そして、ストレージ管理サーバ１０２は、ボリューム条件を基に、複製必須条件を作成し、複製必須条件を満たすボリュームが存在するか否かを検索する（ステップ２４０４）。複製必須条件には、例えば、「容量」を含めることができる。複製元のボリュームと複製先のボリュームとが同一のストレージ装置内に存在するというポリシーがあるならば、複製必須条件には、「容量」と「ストレージＩＤ」とを含めることができる。
【０２２２】
もし、複製必須条件を満たすボリュームが存在しない場合には（ステップ２４０４；ＮＯ）、ストレージ管理サーバ１０２は、例外を通知する（ステップ２４０９）。
【０２２３】
もし、複製必須条件を満たすボリュームが存在する場合には（ステップ２４０４；ＹＥＳ）、ストレージ管理サーバ１０２は、複製必須条件を満たす複数のボリュームの中から複製先ボリュームの複製非必須条件に最も近い複製非必須条件を有するボリュームを選択する（ステップ２４０５）。
【０２２４】
そして、ストレージ管理サーバ１０２は、その選択したボリュームを仮の複製先として設定し、ボリュームのレプリケーション作成をストレージ装置１０１に指示する（ステップ２４０６）。
【０２２５】
そして、ストレージ管理サーバ１０２は、その選択したボリュームを仮の複製先に設定したことを仮割り当てテーブル２１０１に登録する（ステップ２４０７）。
【０２２６】
尚、本来の複製先としてのボリュームが後発的に空きボリュームになった時点で、仮の複製先としてのボリュームから本来の複製先としてのボリュームに自動的にデータを再配置することを予約してもよく、或いは本来の複製先としてのボリュームが空きボリュームとなったことをユーザに連絡し、ユーザからの指示を待って、仮の複製先としてのボリュームから本来の複製先としてのボリュームにデータを再配置してもよい。
【０２２７】
本実施例によれば、ボリュームの移動先又は複製先として指定されたボリュームが空きボリュームでない場合でも、ボリュームの再配置又は複製を適切に実行できる。
【図面の簡単な説明】
【０２２８】
【図１】ストレージシステムのストレージ階層構成を示す図である。
【図２】ボリュームを再配置するための処理の概要を示す説明図である。
【図３】ボリュームを再配置するための処理の概要を示す説明図である。
【図４】ボリュームを再配置するための処理の概要を示す説明図である。
【図５】ボリュームを再配置するための処理の概要を示す説明図である。
【図６】ボリュームを複製するための処理の概要を示す説明図である。
【図７】ボリュームを複製するための処理の概要を示す説明図である。
【図８】ボリュームを複製するための処理の概要を示す説明図である。
【図９】ボリュームを複製するための処理の概要を示す説明図である。
【図１０】ストレージシステムのハードウェア構成図である。
【図１１】ストレージ管理サーバのハードウェア構成図である。
【図１２】ストレージ装置のハードウェア構成図である。
【図１３】仮想化装置のハードウェア構成図である。
【図１４】ストレージ管理サーバの機能構成図である。
【図１５】ストレージ装置の機能構成図である。
【図１６】仮想化装置の機能構成図である。
【図１７】ボリュームテーブルのテーブル構造を示す説明図である。
【図１８】ストレージ階層テーブルのテーブル構造を示す説明図である。
【図１９】ストレージテーブルのテーブル構造を示す説明図である。
【図２０】階層移動情報テーブルのテーブル構造を示す説明図である。
【図２１】ボリュームテーブルのテーブル構造を示す説明図である。
【図２２】外部ボリュームテーブルのテーブル構造を示す説明図である。
【図２３】ストレージ階層を作成するための階層作成画面を示す図である。
【図２４】ボリュームの仮割り当てを解除するための選択画面を示す図である。
【図２５】ボリューム再配置処理の全体概要を示すフローチャートである。
【図２６】移動必須条件を満たすボリュームを検索する処理を示すフローチャートである。
【図２７】仮割り当てされたボリュームを移動先としてボリューム再配置を実行する処理を示すフローチャートである。
【図２８】ボリュームの仮割り当てを自動的に解除する処理を示すフローチャートである。
【図２９】ボリュームの仮割り当てを解除してボリュームを再配置する処理を示すフローチャートである。
【図３０】ボリュームの仮割り当てを解除してボリュームのレプリケーションを作成する処理を示すフローチャートである。
【図３１】ボリュームを再配置するための処理の概要を示す説明図である。
【図３２】ボリュームを再配置するための処理の概要を示す説明図である。
【図３３】ボリュームを複製するための処理の概要を示す説明図である。
【図３４】ボリュームを複製するための処理の概要を示す説明図である。
【図３５】ストレージ管理サーバの機能構成図である。
【図３６】仮割り当てテーブルのテーブル構造を示す説明図である。
【図３７】ボリュームを再配置するための処理を示すフローチャートである。
【図３８】ボリュームを複製するための処理を示すフローチャートである。
【符号の説明】
【０２２９】
１００…ストレージシステム  １０１…ストレージ装置  １０２…ストレージ管理サーバ  １０３…管理クライアント  １０４…ホスト計算機  １０５…仮想化装置  １０６…ストレージネットワーク  １０７…管理ネットワーク  １１１…コントローラ  １１２…ストレージデバイス  ４２１…ボリュームテーブル  ４２２…ストレージ階層テーブル  ４２３…ストレージテーブル  ４２４…階層移動情報テーブル  ５２１…ボリュームテーブル  ６２１…外部ボリュームテーブル
【図１】
2007279845.tif 000003
【図２】
2007279845.tif 000004
【図３】
2007279845.tif 000005
【図４】
2007279845.tif 000006
【図５】
2007279845.tif 000007
【図６】
2007279845.tif 000008
【図７】
2007279845.tif 000009
【図８】
2007279845.tif 000010
【図９】
2007279845.tif 000011
【図１０】
2007279845.tif 000012
【図１１】
2007279845.tif 000013
【図１２】
2007279845.tif 000014
【図１３】
2007279845.tif 000015
【図１４】
2007279845.tif 000016
【図１５】
2007279845.tif 000017
【図１６】
2007279845.tif 000018
【図１７】
2007279845.tif 000019
【図１８】
2007279845.tif 000020
【図１９】
2007279845.tif 000021
【図２０】
2007279845.tif 000022
【図２１】
2007279845.tif 000023
【図２２】
2007279845.tif 000024
【図２３】
2007279845.tif 000025
【図２４】
2007279845.tif 000026
【図２５】
2007279845.tif 000027
【図２６】
2007279845.tif 000028
【図２７】
2007279845.tif 000029
【図２８】
2007279845.tif 000030
【図２９】
2007279845.tif 000031
【図３０】
2007279845.tif 000032
【図３１】
2007279845.tif 000033
【図３２】
2007279845.tif 000034
【図３３】
2007279845.tif 000035
【図３４】
2007279845.tif 000036
【図３５】
2007279845.tif 000037
【図３６】
2007279845.tif 000038
【図３７】
2007279845.tif 000039
【図３８】
2007279845.tif 000040