(57)【特許請求の範囲】
【請求項１】
複数の記憶領域を有する複数の記憶装置と、ホスト計算機に複数の仮想論理ボリュームを提供しデータの移行を制御するコントローラと、
を有するストレージシステムと、
前記ストレージシステムを管理する管理計算機と、を備える計算機システムであって、
前記複数の記憶装置は、前記複数の記憶領域により構成される、それぞれ性能の異なる複数の記憶階層を提供し、
前記コントローラは、前記ホスト計算機から仮想論理ボリュームへの書き込みデータを受領した場合、必要に応じて、当該仮想論理ボリュームに対して前記複数の記憶領域の一又は複数を割り当て、当該割当てられた記憶領域に前記書き込みデータを書き込むものであり、
前記コントローラは、仮想論理ボリュームへのアクセス頻度とデータが移行される記憶階層との対応関係を定めた移行ポリシを用いて、データの移行を制御し、
前記コントローラは、第１仮想論理ボリュームに割り当てられた第１記憶階層の第１記憶領域が有する第１データを、前記移行ポリシに基づいて、前記第１記憶領域から、第２記憶階層の第２記憶領域に移行し、前記第１記憶領域に替えて前記第２記憶領域を前記第１仮想論理ボリュームに割り当て、
前記管理計算機は、
入力を受け付ける入力装置を備え、
前記入力装置を介して、前記第１記憶領域と関連する関連先記憶領域のデータの移行先とする記憶階層を前記第１データの移行先との関係を用いて定義する、前記第１記憶領域に対する関連ポリシの設定を受け付け、
前記コントローラが、前記移行ポリシに基づいて前記第１データを移行した場合、第２仮想論理ボリュームに割り当てられた、前記第１記憶領域と関連する第３記憶階層の第３記憶領域が有する、前記第１データの複製である第２データを、前記第３記憶領域から、前記設定を受け付けた関連ポリシに従って選択される第４記憶階層の第４記憶領域へ移行することを前記コントローラに指示し、
前記コントローラが、前記第２データを、前記第３記憶領域から前記第４記憶領域に移行し、前記第３記憶領域に替えて前記第４記憶領域を前記第２仮想論理ボリュームに割り当てることを特徴とする計算機システム。
【請求項２】
請求項１記載の計算機システムであって、
設定を受け付ける前記第１記憶領域に対する関連ポリシには、前記第１記憶領域と関連する関連先記憶領域のデータを、前記第１データの移行先と同じ記憶階層の記憶領域に移行するポリシを含むことを特徴とする計算機システム。
【請求項３】
請求項１または請求項２に記載の計算機システムであって、
前記管理計算機は、
前記第１記憶領域と、前記第３記憶領域とがペア関係にあることを示す情報を有する構成情報テーブルと、を有し、
前記コントローラが、前記第１データを、前記第１記憶領域から前記第２記憶領域へ移行する場合、
前記管理計算機が、前記構成情報テーブルを参照して、前記第１記憶領域とペア関係にある前記第３記憶領域を特定し、前記第１記憶領域に対する設定を受け付けた前記関連ポリシに従って、前記第４記憶領域を、前記第２データの移行先として選択し、
前記第２データを、前記第３記憶領域から前記第４記憶領域へ移行することを前記コントローラに指示することを特徴とする計算機システム。
【請求項４】
請求項１または請求項２に記載の計算機システムであって、
前記管理計算機は、
前記第１記憶領域と、前記第３記憶領域とがペア関係にあることを示す情報を有する構成情報テーブルと、
他の記憶領域とペア関係にある記憶領域が有するデータの移行先としていずれの記憶領域を選択すべきかを示す複数の関連ポリシを有する関連ポリシテーブルと、
前記複数の記憶領域に対して、前記複数の関連ポリシのいずれを割当てるかを示すポリシ割当てテーブルと、
を有し、
前記管理計算機は、前記入力装置を介して、前記複数の記憶領域のうちの少なくとも１の記憶領域に対する、前記複数の関連ポリシのうち１のポリシの選択を受け付け、前記ポリシ割り当てテーブルに格納し、
前記コントローラが、前記第１データを、前記第１記憶領域から前記第２記憶領域へ移行する場合、
前記管理計算機が、前記構成情報テーブルを参照して、前記第１記憶領域とペア関係にある前記第３記憶領域を特定し、
前記管理計算機が、前記ポリシ割当てテーブルと、前記関連ポリシテーブルと、を参照して、前記第３記憶領域の移行先として前記第４記憶領域を選択し、
前記管理計算機が、前記第２データを、前記第３記憶領域から前記第４記憶領域へ移行することを、前記コントローラに指示し、
前記コントローラが、前記第２データを、前記第３記憶領域から前記第４記憶領域へ移行することを特徴とする計算機システム。
【請求項５】
請求項４に記載の計算機システムであって、
前記関連ポリシテーブルは、
前記第２データを移行するタイミングの情報と、
前記第２データを移行するときの、前記第１記憶領域の条件と、を有し、
前記管理計算機が、前記ポリシ割当てテーブルと、前記関連ポリシテーブルと、を参照した場合、
前記参照したタイミングが、前記関連ポリシテーブルの前記タイミングに該当し、
前記第１記憶領域が、前記関連ポリシテーブルの前記第１記憶領域の条件に該当するとき、
前記管理計算機が、前記第２データを移行することを、前記コントローラへ指示することを特徴とする計算機システム。
【請求項６】
請求項４または請求項５に記載の計算機システムであって、
前記管理計算機は、前記入力装置を介して関連ポリシの入力を受け付け、前記関連ポリシテーブルに格納することを特徴とする計算機システム。
【請求項７】
請求項１乃至請求項６のいずれか１つに記載の計算機システムであって、
前記第１記憶領域は、複数の第１部分記憶領域から構成され、
前記第２記憶領域は、複数の第２部分記憶領域から構成され、
前記第３記憶領域は、複数の第３部分記憶領域から構成され、
前記第４記憶領域は、複数の第４部分記憶領域から構成され、
前記コントローラが、前記第１部分記憶領域が有する第１部分データを、当該第１部分記憶領域から前記第２部分記憶領域へ移行する場合、
前記コントローラが、当該第１部分記憶領域と関連を持つ前記複数の第３部分記憶領域が有する第２部分データを、当該第３部分記憶領域から、前記第４部分記憶領域へ移行することを特徴とする計算機システム。
【請求項８】
請求項７に記載の計算機システムであって、
前記管理計算機は、
前記第１記憶領域と、前記第３記憶領域との関連を示す情報を有する構成情報テーブルと、
前記記憶領域と、前記部分記憶領域との関連を示す情報を有する部分記憶領域情報テーブルと、
を有し、
前記コントローラが、前記第１部分データを、前記第１部分記憶領域から前記第２部分記憶領域へ移行した場合、
前記管理計算機が、前記構成情報テーブルと、前記部分記憶領域情報テーブルと、を参照して、前記第１部分記憶領域と関連のある前記第３部分記憶領域を特定し、
前記管理計算機が、前記第２部分データを、前記第３部分記憶領域から前記第４部分記憶領域へ移行することを前記コントローラに指示することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶装置の構成管理に関するものであり、特に記憶装置のデータ移行制御方法に関するものである。
【背景技術】
【０００２】
近年、企業や個人の利用するデータの量は急激に増加している。そこで、ストレージサブシステムやホスト計算機をスイッチやハブで接続し、柔軟なデータ管理を可能にするＳＡＮ（Storage Area Network）や、ＮＡＳ（Network Attached Storage）といった技術を利用したストレージシステムが広く利用されている。
【０００３】
また近年では、記憶装置（以下、ストレージサブシステムとも表記する）の運用コストの低減がストレージシステムの管理において重要な課題となっている。これを解決する１つの方法として、データの新しさや利用頻度などに応じて、例えば新しいストレージサブシステムから古いストレージサブシステムにデータを再配置するといった、データのライフサイクル管理が重要になっている（なお、データの再配置元や再配置先のストレージサブシステム群をストレージ階層と呼ぶ）。
【０００４】
データのライフサイクル管理を実現する技術として、ストレージサブシステムの記憶領域（以下「ボリューム」と呼ぶ）を利用するホスト計算機に影響を与えることなく、該ボリュームの内容を別のボリュームに移行する技術（以下、マイグレーションと表記する）が公開されている。
【０００５】
マイグレーションを行う方法には、例えば特許文献１、２、３にて開示されている方法がある。これら技術では、まず、あるボリュームから別のボリュームへデータをコピーし、コピー元のボリュームのデータを削除する。コピー元、コピー先データのアドレス管理はアドレス管理プログラムが処理する。データ移行中にホスト計算機から該アドレスにアクセスがあった場合で、データ読み込み要求の場合は、アクセス処理プログラムが、アドレス管理プログラムの管理するアドレスのデータをホストに提供する。データ書込みの場合はキャッシュメモリに書き込みデータを保持し、後で移行先ボリュームにデータを書き込む。以上の処理を行うことによってボリュームの入れ替えを実現している。データの移行先としては、同一ストレージサブシステム内のボリュームや（特許文献１参照）、異なるストレージサブシステムのボリュームや（特許文献２参照）、仮想的に１台のストレージサブシステムとして管理している、異なるストレージサブシステムのボリュームがある（特許文献３参照）。
【０００６】
また特許文献４では、論理ボリュームの性能情報やI/O (Input/Output)アクセス頻度に基づいて、データを自動的にマイグレーションする方法を開示している。さらに特許文献５では、ホスト計算機から論理ボリュームへのI/Oアクセスの頻度などに応じて、論理ボリュームを構成するセグメント単位でデータをマイグレーションする方法を開示している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許出願公開第２０００−２９３３１７号明細書
【特許文献２】米国特許第６１０８７４８号明細書
【特許文献３】特許出願公開第２００３−３４５５２２号明細書
【特許文献４】特許出願公開第２００３−０６７１８７号明細書
【特許文献５】特許出願公開第２００７−０６６２５９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来技術を用いることにより、ホスト計算機から論理ボリュームへのI/Oアクセスの頻度などに応じて、論理ボリューム単位または論理ボリュームを構成するセグメント単位でデータをマイグレーションすることで、データのライフサイクル管理を実現することができる。
【０００９】
しかし従来技術の方法では、データのマイグレーションにおいて論理ボリューム間の関連を考慮していない。例えば、ある論理ボリューム内のデータが別の論理ボリュームにコピーされているという関連（以下、コピーペアの関連と表記する）がある場合、一般的にコピー元ボリューム（以下、P-Volとも表記する）に対するI/Oアクセス頻度と、コピー先ボリューム（以下、S-Volとも表記する）に対するI/Oアクセス頻度は異なる。これは通常運用時においては、P-Volに対してはホスト計算機からの書き込み／読み込みのアクセスがあるのに対し、S-Volに対してはデータコピーのための書き込みアクセスのみがあるためである。このような構成において、従来技術の方法ではP-VolとS-Volは別々にアクセス頻度に基づいて、マイグレーションされることとなる。先に述べたように、一般的にP-Volに比べてS-Volの方がアクセス頻度が低いため、S-Volの方がP-Volに比べて、QoS (Quality of Service)の低いボリューム（またはセグメント）にマイグレーションされやすい。このため、例えばP-Volに障害が発生した際、ホスト計算機がS-Volを利用するとI/O性能が急激に劣化するなどの状況が起こり得る。このことは必ずしもユーザ要件に合っているとは限らない。
【課題を解決するための手段】
【００１０】
本発明では、関連のあるボリュームのペア（またはグループ）に対して、関連元のボリューム（例えば、コピーペアの関連におけるP-Vol）のマイグレーションと、関連先のボリューム（例えば、コピーペアの関連におけるS-Vol）のマイグレーションとを、併せて制御する。具体的には、本発明の計算機システムは、複数の記憶領域を有する１又は複数の記憶装置と、データの移行を制御するコントローラと、を有するストレージシステムを備えており、コントローラが、第１記憶領域が有する第１データを第１記憶領域から第２記憶領域に移行する場合に、コントローラは、第１記憶領域と関連する第３記憶領域が有する第２データを、第３記憶領域から、第１記憶領域と関連する記憶領域に対して定められたポリシに従って選択される第４記憶領域に移行する。
【発明の効果】
【００１１】
本発明によれば、関連のあるボリュームのペア（またはグループ）に対して、ユーザ要件に合わせてマイグレーションを制御することができる。例えば、ボリュームがマイグレーションされたとき、当該ボリュームと関連のあるボリュームも合わせて、マイグレーションさせることができる。なお、マイグレーション対象の単位についてはボリュームや、ボリュームを構成するセグメントがあるが、本発明においてはマイグレーションの単位は限定しない。
【図面の簡単な説明】
【００１２】
【図１】第１実施例におけるシステム構成を示す図である。
【図２】ボリューム割当てテーブルの一例を示す図である。
【図３】物理リソース割当てテーブルの一例を示す図である。
【図４】構成情報テーブルの一例を示す図である。
【図５】ストレージ階層テーブルの一例を示す図である。
【図６】マイグレーションポリシテーブルの一例を示す図である。
【図７】関連ポリシテーブルの一例を示す図である。
【図８】ポリシ割当てテーブルの一例を示す図である。
【図９】Ｉ／Ｏ制御処理の一例を示す図である。
【図１０】構成情報の取得処理の一例を示す図である。
【図１１】マイグレーション設定処理の一例を示す図である。
【図１２】ストレージ階層を設定するためのマイグレーション設定プログラムのユーザインタフェースの一例を示す図である。
【図１３】マイグレーションポリシを設定するためのマイグレーション設定プログラムのユーザインタフェースの一例を示す図である。
【図１４】関連ポリシを設定するためのマイグレーション設定プログラムのユーザインタフェースの一例を示す図である。
【図１５】ポリシの割当てを設定するためのマイグレーション設定プログラムのユーザインタフェースの一例を示す図である。
【図１６】マイグレーション指示処理の一例を示す図である。
【図１７】関連先ボリュームに対するマイグレーション指示処理の一例を示す図である。
【図１８】マイグレーション処理の一例を示す図である。
【図１９】コピーペア関係にある論理ボリューム間のデータ同期処理の一例を示す図である。
【図２０】コピーペア関係にある論理ボリューム間のデータ同期処理を行うための、構成管理プログラムのユーザインタフェースの一例を示す図である。
【図２１】コピーペアの反転処理の一例を示す図である。
【図２２】第２実施例におけるシステム構成を示す図である。
【図２３】複数ストレージ間の関連を含む構成情報テーブルの一例を示す図である。
【図２４】階層間の対応関係を含むストレージ階層テーブルの一例を示す図である。
【図２５】第２実施例における関連先ボリュームに対するマイグレーション処理の一例を示す図である。
【図２６】第３実施例におけるシステム構成図を示す図である。
【図２７】ボリューム割当てテーブルの一例を示す図である。
【図２８】マイグレーション状態を含む物理リソース割当てテーブルの一例を示す図である。
【図２９】セグメント情報テーブルの一例を示す図である。
【図３０】プール単位のストレージ階層テーブルの一例を示す図である。
【図３１】セグメント単位のＩ／Ｏ制御処理の一例を示す図である。
【図３２】セグメント情報を含む構成情報の取得処理の一例を示す図である。
【図３３】セグメント単位のマイグレーション指示処理の一例を示す図である。
【図３４】関連先ボリュームに対するセグメント単位のマイグレーション指示処理の一例を示す図である。
【図３５】セグメント単位のマイグレーション処理の一例を示す図である。
【図３６】第４実施例におけるシステム構成を示す図である。
【図３７】マイグレーションポリシ、関連ポリシ、ポリシの割当て情報の送受信処理の一例を示す図である。
【図３８】第５実施例におけるシステム構成図を示す図である。
【図３９】階層間の対応関係を含むプール単位のストレージ階層テーブルの一例を示す図である。
【図４０】関連先ボリュームに対するセグメント単位のマイグレーション指示処理の一例を示す図である。
【発明を実施するための形態】
【００１３】
本発明の１つの実施形態においては、関連元ボリュームおよび関連先ボリュームのマイグレーションに関するポリシ（以下、マイグレーションポリシと表記する）を設定し、当該ポリシに基づいてマイグレーションを制御する。マイグレーションポリシには、論理ボリュームまたは論理ボリュームを構成するセグメントをマイグレーションする条件と、マイグレーション先のストレージ階層と、を記述する。
【００１４】
関連元ボリュームのマイグレーションポリシでは、例えば論理ボリュームへのI/Oアクセス頻度（IOPS: Input Output Per Second）や、論理ボリュームに格納されるデータの、ある時刻における重要度などを条件としてポリシを記述することができる。また、関連先ボリュームのマイグレーションポリシでは、例えば関連元ボリュームのマイグレーションポリシを関連先ボリュームに対しても適用するというポリシや、関連元ボリュームのマイグレーションポリシとは独立に、関連先ボリュームに対するポリシ（マイグレーションの条件とマイグレーション先のストレージ階層）を記述することができる。
【００１５】
ストレージサブシステムやストレージ管理計算機は、当該ポリシに基づいて関連元ボリュームに対するマイグレーションと、関連先ボリュームに対するマイグレーションと、を制御する。
【００１６】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。なお、本実施例によって本発明が限定されることはない。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
Ｅ．第５実施例：
【００１７】
Ａ．第１実施例：
Ａ１．システムの構成
図１は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム１０００と、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００と、スイッチ装置５０００と、を有している。図中では、ストレージサブシステム１０００と、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００と、スイッチ装置５０００と、がそれぞれ１台ずつ存在しているがこの限りではなく、１台以上存在すれば良い。
【００１８】
ストレージサブシステム１０００とホスト計算機２０００は、スイッチ装置３０００を介してネットワーク接続されている。また、ストレージサブシステム１０００と管理計算機４０００は、スイッチ装置５０００を介してネットワーク接続されている。なお、スイッチ装置３０００とスイッチ装置５０００は同一の装置であっても良い。
【００１９】
ストレージサブシステム１０００は、ディスク装置１１００と、ディスクコントローラ１２００と、を有している。
【００２０】
ディスク装置１１００は、物理リソース１１２１と、プール１１２０と、を有している。ここで、物理リソース１１２１とは、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの物理デバイスによって提供される記憶領域のリソースのことを表している。物理リソース１１２１を提供する物理デバイスの種類については特に限定しない。また、プール１１２０とは物理リソース１１２１のグループである。一般的にプール１１２０は、RAID (Redundant Array of Independent Disks)と呼ばれる技術を用いて、物理リソース１１２１を冗長化した上で構成されるが、この限りではなく、物理リソース１１２１をグループ化したものであれば良い。図中では、プール１１２０が１つ、物理リソース１１２１が５つ存在しているがこの限りではなく、１つ以上存在すれば良い。
【００２１】
ディスクコントローラ１２００は、メモリ１２１０と、制御装置１２２０と、スイッチ装置３０００との接続のためのＩ／Ｆ (Interface)１２３０と、スイッチ装置５０００との接続のためのＩ／Ｆ１２４０と、ディスク装置との接続のためのディスクＩ／Ｆ１２５０と、を有している。これらの構成要素はバスを通じて接続されている。
【００２２】
ディスクコントローラ１２００は更に、論理ボリューム１１１０を有している。論理ボリューム１１１０は、１つ以上の物理リソースから構成され、ディスクコントローラ１２００によって、ホスト計算機２０００に提供される、論理的な記憶領域のことを表している。ここで、論理ボリューム１１１０（１）は、あらかじめ割当てられた、１又は複数の物理リソース１１２１から構成されており、論理ボリューム１１１０（１）の容量と、それを構成する物理リソース１１２１の合計の容量とは等しい。一方、論理ボリューム１１１０（２）は、ホスト計算機２０００に対して提供される仮想的な論理ボリュームであり、ホスト計算機２０００からの書き込み要求に応じて、物理リソース１１２１が割当てられるものである。具体的には、ディスクコントローラ１２００は、論理ボリューム１１１０（２）に対するデータの書き込み要求を受領したとき、当該書き込み要求の対象領域に対して物理リソースが割当てられていない場合に、物理リソース１１２１の記憶領域を論理ボリューム１１００（２）に割当て、当該割当てられた物理リソースの記憶領域にデータを書き込む。これによって、ホスト計算機２０００に提供される論理ボリューム１１１０（２）の記憶容量を、実際に割り当てられている物理リソース１１２１の合計容量よりも、大きな容量とすることができる。
【００２３】
図中では、上述の２種類の論理ボリューム１１１０が１つずつ存在しているが、この限りでなく、どちらか一方のみ、若しくは２種類が混在していてもよく、１つ以上の論理ボリューム１１１０が存在していれば良い。
【００２４】
メモリ１２１０は、制御装置１２２０が用いるプログラムとデータを記憶する。特にメモリ１２１０は、構成情報取得プログラム１２１１と、Ｉ／Ｏ制御プログラム１２１２と、ボリューム割当てテーブル１２１３と、物理リソース割当てテーブル１２１４と、データコピープログラム１２１５と、マイグレーションプログラム１２１６と、を有している。
【００２５】
構成情報取得プログラム１２１１は、ストレージサブシステム１０００の構成情報を収集し、当該情報を他プログラムに送信するプログラムである。
【００２６】
Ｉ／Ｏ制御プログラム１２１２は、ホスト計算機２０００からストレージサブシステム１０００が持つ論理ボリューム１１１０へのＩ／Ｏアクセスを制御するプログラムである。
【００２７】
ボリューム割当てテーブル１２１３は、ホスト計算機２０００に割り当てられた論理ボリューム１１１０の情報を格納するテーブルであり、具体例を図２に示す。ボリューム割当てテーブル１２１３は、ホスト計算機が持つＩ／Ｆ２３００を識別するためのＩｎｉｔｉａｔｏｒ ＩＤ１２１２０と、ストレージサブシステム１０００が持つＩ／Ｆ（Ａ）１２３０を識別するためのＴａｒｇｅｔ ＩＤ１２１２１と、論理ボリューム１１１０を識別するためのＬＵＮ (Logical Unit Number)１２１２２と、論理ボリューム１１１０に対するマイグレーション処理の状態を示すマイグレーション状態１２１２３と、を有する。図２では、Ｉｎｉｔｉａｔｏｒ ＩＤ１２１２０およびＴａｒｇｅｔ ＩＤ１２１２１に、それぞれホスト計算機２０００が持つＩ／Ｆ２３００のＷＷＮ (World Wide Name)と、ストレージサブシステム１０００が持つＩ／Ｆ(Ａ)のＷＷＮと、を用いているが、この限りではなく、Ｉｎｉｔｉａｔｏｒ ＩＤ１２１２０と、Ｔａｒget ＩＤ１２１２１と、をそれぞれ一意に識別できる情報であれば良い。また図２では、論理ボリューム１１１０の識別子としてＬＵＮ１２１２２を用いているが、この限りではなく、論理ボリューム１１１０を一意に識別できる情報であれば良い。さらに図２では、マイグレーション状態１２１２３にて、ハイフンと、「マイグレーション中」という２種類の情報を用いている。ここで、ハイフンは当該ボリュームがマイグレーションされていない状態を示し、「マイグレーション中」は当該ボリュームがマイグレーションされている最中であることを示している。ただし、マイグレーション状態１２１２３に格納する情報およびその表記方法はこの限りでなく、マイグレーションの状態を示す他の情報を格納しても良いし、他の表記方法にて状態を表現しても良い。
【００２８】
図３は、本実施例における、物理リソース割当てテーブル１２１４の一例を示す図である。物理リソース割当てテーブル１２１４は、論理ボリューム１１１０の各セグメントに対する物理リソースの割当ての情報を格納するテーブルである。物理リソース割当てテーブル１２１４は、論理ボリューム１１１０を識別するためのＬＵＮ１２１３０と、論理ボリューム内のセグメントを識別するためのセグメントＩＤ１２１３１と、論理ボリューム１１１０の各セグメントの領域を識別するためのボリュームＬＢＡ (Logical Block Address) 領域１２１３２と、論理ボリューム１１１０の各セグメントに割り当てられた物理リソース１１２１を識別するための物理リソースＩＤ１２１３３と、論理ボリューム１１１０の各セグメントに割り当てられた物理リソース１１２１の記憶領域を識別するためのＬＢＡ領域１２１３４と、を有している。なお、ＬＵＮ１２１３０と、セグメントＩＤ１２１３１と、物理リソースＩＤ１２１３３と、はそれぞれ論理ボリューム１１１０と、論理ボリューム１１１０内のセグメントと、物理リソース１１２１と、を一意に識別できる情報であれば、図３の表記に限らず、他の情報でも良い。また、ボリュームＬＢＡ領域１２１３２と、ＬＢＡ領域１２１３４と、はそれぞれ論理ボリューム１１１０内の各セグメントの領域と、物理リソース１１２１内の記憶領域と、を一意に識別できる情報であれば、図３の表記に限らず、他の情報でも良い。
【００２９】
データコピープログラム１２１５は、論理ボリューム１１１０内のデータを別の論理ボリューム１１１０にコピーするプログラムである。なお、データをコピーする単位は、論理ボリューム１１１０全体でも良いし、論理ボリューム１１１０を構成するセグメント単位でも良い。
【００３０】
マイグレーションプログラム１２１６は、論理ボリューム１１１０を別の論理ボリューム１１１０にマイグレーションするプログラムである。マイグレーションプログラム１２１６は、論理ボリューム１１１０をマイグレーションする際、まず、当該ボリュームから別のボリュームへデータをコピーし、コピー元のボリュームのデータを削除する。コピー元、コピー先データのアドレス管理はアドレス管理プログラムが処理する。データ移行中にホスト計算機から該アドレスにアクセスがあった場合で、データ読み込み要求の場合は、アクセス処理プログラムが、アドレス管理プログラムの管理するアドレスのデータをホストに提供する。データ書込みの場合はキャッシュメモリに書き込みデータを保持し、後で移行先ボリュームにデータを書き込む。以上の処理を行うことによってマイグレーションプログラム１２１６は、論理ボリュームの入れ替えを実現する。なお、マイグレーションの方法はこの限りではなく、他の方法を用いても良い。
【００３１】
制御装置１２２０は、メモリ１２１０内のプログラムの実行やデータの入出力、ディスクコントローラが有する各Ｉ／Ｆを通じたデータや制御命令の入出力を制御する。
【００３２】
ストレージサブシステム１０００は他に、物理リソース１１２１からプール１１２０を構成する機能や、プール１１２０から論理ボリューム１１１０を生成する機能、論理ボリュームをＩ／Ｆ（Ａ）１２３０を通じてホスト計算機２０００に割り当てる機能、管理計算機４０００からストレージサブシステム１０００の構成変更要求を受け付ける機能など、ストレージ装置として一般的な機能を有している。
【００３３】
また、ストレージサブシステム１０００は他に、ストレージサブシステム１０００のユーザがデータを入力するための入力装置や、ストレージサブシステム１０００のユーザに情報を提示するための出力装置を有していても良いが、本発明とは直接関係ないため、図示はしない。
【００３４】
ホスト計算機２０００は、メモリ２１００と、制御装置２２００と、スイッチ装置３０００との接続のためのＩ／Ｆ２３００と、を有している。これらの構成要素はバスを通じて接続されている。メモリ２１００は、制御装置２２００が用いるプログラムとデータを記憶する。特にメモリ２１００は、アプリケーション２１１０を有する。アプリケーション２１１０はどのようなプログラムであっても構わない。制御装置２２００は、メモリ２１００内のプログラムの実行やデータの入出力、Ｉ／Ｆ２３００を通じたデータや制御命令の入出力を制御する。
【００３５】
ホスト計算機２０００は他に、ホスト計算機２０００のユーザがデータを入力するための入力装置や、ホスト計算機２０００のユーザに情報を提示するための出力装置を有していても良いが、本発明とは直接関係ないため、図示はしない。
【００３６】
スイッチ装置３０００は、ストレージサブシステム１０００との接続のためのＩ／Ｆ３１００と、ホスト計算機２０００との接続のためのＩ／Ｆ３２００と、を有している。ストレージサブシステム１０００とホスト計算機２０００および両者を接続するスイッチ装置３０００との間で利用されるネットワークプロトコルには、FC (Fibre Channel)やiSCSIなどがあるが特に限定はしない。また、図中ではＩ／Ｆ３１００が１つ、Ｉ／Ｆ３２００が１つ存在しているがこの限りではなく、１つ以上存在すれば良い。
【００３７】
管理計算機４０００は、メモリ４１００と、制御装置４２００と、スイッチ装置５０００との接続のためのＩ／Ｆ４３００と、を有している。メモリ４１００は、制御装置４２００が用いるプログラムとデータを記憶する。特にメモリ４１００は、構成管理プログラム４１１０と構成情報テーブル４１２０と、マイグレーション設定プログラム４１３０と、ストレージ階層テーブル４１４０と、マイグレーションポリシテーブル４１５０と、関連ポリシテーブル４１６０と、ポリシ割当てテーブル４１７０と、マイグレーション指示プログラム４１８０と、を有している。
【００３８】
構成管理プログラム４１１０は、ストレージサブシステム１０００の構成を管理するためのプログラムである。構成管理プログラム４１１０は特に、ストレージサブシステム１０００が持つ構成情報取得プログラム１２１１と通信することによって、ストレージサブシステム１０００の構成情報を取得する機能を有する。構成管理プログラム４１１０は他に、物理リソース１１２１からプール１１２０を構成する機能や、プール１１２０から論理ボリューム１１１０を生成する機能、論理ボリュームをＩ／Ｆ（Ａ）１２３０を通じてホスト計算機２０００に割り当てる機能、特定の時刻に特定の処理を行うスケジューラ機能を有していても良い。
【００３９】
図４は、本実施例における、構成情報テーブル４１２０の一例を示す図である。構成情報テーブル４１２０は、ストレージサブシステム１０００の構成情報を格納するためのテーブルである。構成情報テーブル４１２０は、ストレージサブシステム１０００を識別するためのストレージサブシステムＩＤ４１２００と、ストレージサブシステム１０００が持つ論理ボリューム１１１０を識別するためのＬＵＮ４１２０１と、論理ボリューム１１１０の容量４１２０２と、論理ボリューム１１１０を構成する物理リソースの種別を示すリソース種別４１２０３と、論理ボリューム１１１０がホスト計算機２０００に割当てられているか否かを示すパスフラグ４１２０４と、ホスト計算機２０００から論理ボリューム１１１０へのＩ／Ｏアクセス頻度を示すＩＯＰＳ４１２０５と、論理ボリューム１１１０が関連を持つ他の論理ボリューム１１１０を識別するための関連先ＬＵＮ４１２０６と、を有している。なお、構成情報テーブル４１２０に格納する情報はこれに限らず、ストレージサブシステム１０００の構成に関する他の情報を格納しても良い。また、ストレージサブシステムＩＤ４１２００と、ＬＵＮ４１２０１と、関連先ＬＵＮ４１２０６と、は図中の表現に限らず、それぞれストレージサブシステム１０００と、論理ボリューム１１１０と、論理ボリューム１１１０が関連を持つ他の論理ボリューム１１１０と、を一意に識別できる情報であれば良い。なお本実施例においては、関連先ＬＵＮ４１２０６にハイフンが格納されている場合は、当該ボリュームに関連する他の論理ボリューム１１１０が存在しないことを示し、関連先ＬＵＮ４１２０６に論理ボリュームの識別子が格納されている場合は、当該ボリューム即ちＬＵＮ４１２０１で示される論理ボリュームを関連元ボリュームとし、関連先ＬＵＮ４１２０６で示される論理ボリュームを関連先論理ボリュームとする関連があることを示している。さらに、容量４１２０２と、リソース種別４１２０３と、パスフラグ４１２０４と、ＩＯＰＳ４１２０５と、は図中の表現に限らず、それぞれ論理ボリューム１１１０の容量と、論理ボリューム１１１０を構成する物理リソース１１２１の種別と、論理ボリューム１１１０がホスト計算機２０００に割り当てられているか否かを示す情報と、ホスト計算機２０００から論理ボリューム１１１０へのＩ／Ｏアクセス頻度を示す情報であれば良い。
【００４０】
マイグレーション設定プログラム４１３０は、論理ボリューム１１１０のマイグレーションに関する設定を行うプログラムである。本実施例においては、マイグレーション設定プログラム４１３０は、ストレージ階層の作成と、論理ボリューム１１１０のマイグレーションに関するポリシ（以下、マイグレーションポリシとも表記する）の設定と、当該ボリュームと関連を持った他の論理ボリューム１１１０のマイグレーションに関するポリシ（以下、関連ポリシとも表記する）の設定と、論理ボリュームへのマイグレーションポリシと関連ポリシの割当て設定と、を行う。本実施例においては、これらの設定は、マイグレーション設定プログラム４１３０が有するＵＩ (User Interface)を通じて、ユーザ（ストレージ管理者）が、行う。ただしマイグレーションに関する設定を行う方法はこれに限らず、他の方法でも良い。例えばストレージ階層の設定は、論理ボリューム１１１０の内、リソース種別やＲＡＩＤレベルが同じものを集めて１つのストレージ階層にするという方法で、マイグレーション設定プログラム４１３０が自動的に行っても良い。また関連ポリシの設定は、論理ボリューム１１１０と他の論理ボリューム１１１０との関連の種類によって、マイグレーション設定プログラム４１３０が自動的に行っても良い。このための方法には例えば、ある論理ボリューム１１１０が別の論理ボリューム１１１０と同期コピーの関係にある場合は、関連元のボリュームをマイグレーションする際は、関連先のボリュームも合わせてマイグレーションするというポリシに設定する、という方法がある。
【００４１】
図５は、本実施例における、ストレージ階層テーブル４１４０の一例を示す図である。ストレージ階層テーブル４１４０は、ストレージ階層（データの再配置先の論理ボリューム群）の情報を格納するテーブルである。ストレージ階層テーブル４１４０は、ストレージ階層を識別するための階層ＩＤ４１４００と、ストレージ階層に含まれる論理ボリューム１１１０を持つストレージサブシステム１０００を識別するためのストレージサブシステムＩＤ４１４０１と、ストレージ階層に含まれる論理ボリューム１１１０を識別するＬＵＮ４１４０２と、を有している。なお、階層ＩＤ４１４００と、ストレージサブシステムＩＤ４１４０１と、ＬＵＮ４１４０２と、は図中の表現に限らず、それぞれストレージ階層と、ストレージサブシステム１０００と、論理ボリューム１１１０と、を一意に識別できる情報であれば良い。
【００４２】
図６は、本実施例における、マイグレーションポリシテーブル４１５０の一例を示す図である。マイグレーションポリシテーブル４１５０は、論理ボリューム１１１０に対するマイグレーション処理に関するポリシ情報を格納するテーブルである。マイグレーションポリシテーブル４１５０は、マイグレーションポリシを識別するためのポリシＩＤ４１５００と、マイグレーションを行う条件を示すマイグレーション条件４１５０１と、マイグレーション先のストレージ階層を識別するためのマイグレーション先階層ＩＤ４１５０２と、を有している。本実施例においては、マイグレーション条件４１５０１には、ホスト計算機２０００から論理ボリューム１１１０へのＩ／Ｏアクセスの頻度（ＩＯＰＳ）を元に、当該ボリュームをマイグレーションするための条件を記述している。なお、ポリシＩＤ４１５００と、マイグレーション先階層ＩＤ４１５０２と、は図中の表現に限らず、それぞれマイグレーションポリシと、マイグレーション先のストレージ階層と、を一意に識別できる情報であれば良い。また、マイグレーション条件４１５０１は、図中の表現に限らず、論理ボリューム１１１０をマイグレーションするための条件を示す情報であれば良い。ＩＯＰＳ以外のマイグレーション条件としては例えば、論理ボリューム１１１０に格納されているデータの重要度や、論理ボリューム１１１０の運用コストなどがある。
【００４３】
図７は、本実施例における、関連ポリシテーブル４１６０の一例を示す図である。関連ポリシテーブル４１６０は、論理ボリューム１１１０と関連を持った別の論理ボリューム１１１０に対するマイグレーション処理に関するポリシ情報を格納するテーブルである。関連ポリシテーブル４１６０は、関連ポリシを識別するための関連ポリシＩＤ４１６００と、関連先の論理ボリューム１１１０をマイグレーションするタイミング４１６０１と、関連先の論理ボリューム１１１０をマイグレーションする条件４１６０２と、関連先の論理ボリューム１１１０に対するマイグレーションのポリシ４１６０３と、を有している。なお、関連ポリシＩＤ４１６００は図中の表現に限らず、関連ポリシを一意に識別できる情報であれば良い。また、タイミング４１６０１と、条件４１６０２と、ポリシ４１６０３と、は図中の表現に限らず、それぞれ関連先ボリュームをマイグレーションするタイミングと、その条件と、そのポリシを示す情報であれば良い。関連先ボリュームをマイグレーションするタイミングとしては、例えば関連元の論理ボリューム１１１０をマイグレーションする時や、関連元ボリュームから関連先ボリュームへのデータコピーの同期時や、ユーザが指定した任意のタイミング、などがある。関連先ボリュームをマイグレーションする条件としては、例えば関連元ボリュームのリソース種別が、ＳＳＤ (Solid State Drive)など特定の種別である場合などがある。この条件を設定することにより、具体的には、関連元ボリュームがＳＡＳ (Serial Attached SCSI)へマイグレーションしたとき、関連先ボリュームもＳＡＳへマイグレーションするが、関連元ボリュームがＳＳＤへマイグレーションしたとき、関連先ボリュームの移動は行わないようにすることができる。これにより、高価な物理リソースであるＳＳＤの浪費を防ぐことができる。関連先ボリュームをマイグレーションする際のポリシについては、例えば関連元ボリュームのマイグレーションポリシに従うというポリシや、関連元ボリュームとは独立に、ユーザが指定した条件でマイグレーションを行うというポリシ、関連元ボリュームのマイグレーション先の階層ＩＤを関連元ボリュームのマイグレーション先の階層ＩＤと同じにするというポリシなどがある。ポリシＩＤを用いて、関連先ボリュームをマイグレーションする際のポリシの設定を行う場合、マイグレーション条件が重複しない限り、複数のポリシＩＤを設定できる。また、誤って、重複するマイグレーション条件のポリシＩＤを設定した場合も、アラートを出すなどして、ユーザに通知する。
【００４４】
図８は、本実施例における、ポリシ割当てテーブル４１７０の一例を示す図である。ポリシ割当てテーブル４１７０は、論理ボリューム１１１０に対する、マイグレーションポリシと関連ポリシの割当ての情報を示すテーブルである。ポリシ割当てテーブル４１７０は、論理ボリューム１１１０を持つストレージサブシステム１０００を識別するためのストレージサブシステムＩＤ４１７００と、論理ボリューム１１１０を識別するためのＬＵＮ４１７０１と、マイグレーションポリシを識別するためのポリシＩＤ４１７０２と、関連ポリシを識別するための関連ポリシＩＤ４１７０３と、を有している。なお、ストレージサブシステムＩＤ４１７００と、ＬＵＮ４１７０１と、ポリシＩＤ４１７０２と、関連ポリシＩＤ４１７０３と、は図中の表現に限らず、それぞれストレージサブシステム１０００と、論理ボリューム１１１０と、マイグレーションポリシと、関連ポリシと、を一意に識別できる情報であれば良い。さらに、本実施例におけるポリシ割当てテーブルでは、論理ボリューム１１１０ごとにマイグレーションポリシおよび関連ポリシを割り当てているが、この限りでなく、例えば論理ボリューム１１１０のグループや、ストレージサブシステムに対してマイグレーションポリシおよび関連ポリシを割り当てても良い。
【００４５】
マイグレーション指示プログラム４１８０は、ストレージサブシステム１０００が持つマイグレーションプログラム１２１６に対して、論理ボリューム１１１０に対するマイグレーション処理の実行を指示するプログラムである。本実施例では、マイグレーション指示プログラム４１８０は、マイグレーションプログラム１２１６に対して、マイグレーション先の論理ボリューム１１１０を識別するためのストレージサブシステムＩＤおよびＬＵＮを送信し、マイグレーションの実行を指示する。
【００４６】
制御装置４２００は、メモリ４１００内のプログラムの実行やデータの入出力、Ｉ／Ｆ４３００を通じたデータや制御命令の入出力を制御する。
【００４７】
管理計算機４０００は他に、管理計算機４０００のユーザがデータを入力するための入力装置や、管理計算機４０００のユーザに情報を提示するための出力装置を有していても良い。
【００４８】
なお、図１では管理計算機４０００とストレージサブシステム１０００は別々の装置として示されているが、この限りではなく、管理計算機４０００はストレージサブシステム１０００と同一の筐体内に存在しても良い。また、管理計算機４０００のメモリ４１００内のプログラムをストレージサブシステム１０００のメモリ１２１０内に有し、制御装置１２２０によって当該プログラムを実行することで、管理計算機４０００と同様の機能を実現しても良い。
【００４９】
スイッチ装置５０００は、ストレージサブシステム１０００との接続のためのＩ／Ｆ５１００と、管理計算機４０００との接続のためのＩ／Ｆ５２００と、を有している。ストレージサブシステム１０００と管理計算機４０００および両者を接続するスイッチ装置５０００との間で利用されるネットワークプロトコルには、TCP/IPなどがあるが特に限定はしない。また、図中ではＩ／Ｆ５１００が１つ、Ｉ／Ｆ５２００が１つ存在しているがこの限りではなく、１つ以上存在すれば良い。
【００５０】
Ａ２．データ処理手順の説明
本実施例におけるデータ処理手順を説明する。
【００５１】
図９は、本実施例においてＩ／Ｏ制御プログラム１２１２が、ホスト計算機２０００から論理ボリューム１１１０へのＩ／Ｏを制御する際の処理のシーケンスを示している。
【００５２】
当該処理では、まずステップＳ１０００にて、アプリケーション２１１０がストレージサブシステム１０００に対してＩ／Ｏアクセスを行う。
【００５３】
次にステップＳ１０１０にて、Ｉ／Ｏ制御プログラム１２１２が、Ｉ／Ｏの種類を特定する。ここでは、Ｉ／Ｏの種類は「読み込み」または「書き込み」であるとする。
【００５４】
Ｉ／Ｏの種類が「読み込み」の場合、ステップＳ１０２０にて、Ｉ／Ｏ制御プログラム１２１２がボリューム割当てテーブル１２１３と、物理リソース割当てテーブル１２１４と、を参照し、読み込みアクセス先のＬＢＡ領域１２１３４を特定する。
【００５５】
さらにステップＳ１０３０にて、Ｉ／Ｏ制御プログラム１２１２が、アプリケーション２１１０からの読み込みアクセスを、ステップＳ１０２０で特定したＬＢＡ領域１２１３４に対して行うように制御する。
【００５６】
Ｉ／Ｏの種類が「書き込み」の場合、ステップＳ１０４０にてＩ／Ｏ制御プログラム１２１２がボリューム割当てテーブル１２１３を参照し、書き込みアクセス先の論理ボリューム１１１０のＬＵＮ１２１２２と、そのマイグレーション状態１２１２３と、を特定する。
【００５７】
次にＩ／Ｏ制御プログラム１２１２が、ステップＳ１０５０にて、当該ボリュームのマイグレーション状態１２１２３が「マイグレーション中」であるか否かを判定する。
【００５８】
マイグレーション状態１２１２３が「マイグレーション中」である場合、ステップＳ１０６０にてＩ／Ｏ制御プログラム１２１２が、アプリケーション２１１０からの書き込みアクセスを、メモリ１２１０に対して行うように制御する。なお、ここでの書き込みアクセス先はメモリ１２１０に限らず、制御装置１２２０が備えるキャッシュメモリや、他の論理ボリューム１１１０などであっても良い。
【００５９】
さらにステップＳ１０７０にて、Ｉ／Ｏ制御プログラム１２１２が、物理リソース割当てテーブル１２１４を更新し、書き込みアクセスのあったボリュームＬＢＡ領域１２１３２に対応する物理リソースＩＤをメモリ１２１０の識別子に、ＬＢＡ領域１２１３４をメモリ１２１０上の記憶領域の識別子に、それぞれ設定する。
【００６０】
マイグレーション状態１２１２３が「マイグレーション中」でない場合、ステップＳ１０８０にてＩ／Ｏ制御プログラム１２１２がボリューム割当てテーブル１２１３と、物理リソース割当てテーブル１２１４と、を参照し、書き込みアクセス先のＬＢＡ領域１２１３４を特定する。
【００６１】
次にＩ／Ｏ制御プログラム１２１２が、ステップＳ１０８０にて書き込みアクセス先のＬＢＡ領域１２１３４が既に割り当てられているか否かを判定する。本実施例においては、物理リソース割当てテーブル１２１４にてＬＢＡ領域１２１３４にハイフンのみが格納されている場合、該当するボリュームＬＢＡ領域には物理リソースのＬＢＡ領域が割り当てられていないと判定する。
【００６２】
書き込みアクセス先のＬＢＡ領域１２１３４が既に割当てられている場合、ステップＳ１１１０にてＩ／Ｏ制御プログラム１２１２が、アプリケーション２１１０からの書き込みＩ／Ｏを、当該ＬＢＡ領域に対して行うように制御する。
【００６３】
書き込みアクセス先のＬＢＡ領域１２１３４が割当てられていない場合、ステップＳ１１００にてＩ／Ｏ制御プログラム１２１２が、Ｉ／Ｏアクセス対象の論理ボリューム１１１０のボリュームＬＢＡ領域１２１３２に、新たに物理リソースのＬＢＡ領域を割り当てる。なお、新規に割り当てる物理リソースのＬＢＡ領域を決定する方法には、物理リソースのＬＢＡ領域を先頭から検索し、必要な容量を満たす最初の領域を選択するなどの方法があるが、特に限定はしない。ステップＳ１１００の実行後、ステップＳ１１１０に進む。
【００６４】
図１０は、本実施例において、構成管理プログラム４１１０が、ストレージサブシステム１０００の構成情報を取得する際の処理のシーケンスを示している。なお本実施例においては、図１０の処理シーケンスは管理計算機４０００が持つプログラムの他の処理とは並列に実行されるものとする。
【００６５】
当該処理では、まずステップＳ２０００にて、構成管理プログラム４１１０が構成情報取得プログラム１２１１に、ストレージサブシステム１０００の構成情報の提供を要求する。
【００６６】
次にステップＳ２０１０にて、構成情報取得プログラム１２１１がストレージサブシステム１０００の構成情報を収集し、構成管理プログラム４１１０に当該情報を返す。なお本実施例においては、構成情報取得プログラム１２１１は、ストレージサブシステム１０００の構成情報として、構成情報テーブル４１２０に示す情報を返すものとするが、これに加えて他の情報を返しても良い。
【００６７】
ステップＳ２０２０にて構成管理プログラム４１１０が、ストレージサブシステム１０００の構成情報を構成情報テーブル４１２０に格納する。
【００６８】
次にステップＳ２０３０にて構成管理プログラム４１１０が、一定時間が経過するのを待った後、ステップＳ２０００に進む。構成管理プログラム４１１０がステップＳ２０３０にて待つ時間の長さは、構成管理プログラム４１１０にて予め決めておいても良いし、ユーザが設定するなどの他の方法で決定しても良い。
【００６９】
図１１は、本実施例において論理ボリューム１１１０のマイグレーションに関する設定を行う際の処理のシーケンスを示している。
【００７０】
当該処理では、まずステップＳ３０００にてマイグレーション設定プログラム４１３０が、マイグレーション設定プログラム４１３０のユーザインタフェースを通じて、ユーザ（ストレージ管理者）からのストレージ階層の設定を受け付ける。
【００７１】
図１２は、本実施例においてユーザがストレージ階層の設定に用いるユーザインタフェースＵＩ１０００を示している。ユーザインタフェースＵＩ１０００は、論理ボリューム１１１０の一覧を表示するテーブルＵＩ１１００と、ストレージ階層の一覧を表示するテーブルＵＩ１２００と、論理ボリューム１１１０をストレージ階層に追加するためのボタンＵＩ１３００と、ストレージ階層から論理ボリューム１１１０を削除するためのボタンＵＩ１４００と、を有している。なお、論理ボリュームの一覧テーブルＵＩ１１００およびストレージ階層の一覧テーブルＵＩ１２００は、チェックボックスを有しており、ユーザは各テーブルの各行を選択できるものとする。
【００７２】
ユーザは論理ボリュームの一覧テーブルＵＩ１１００からストレージ階層に追加したい論理ボリューム１１１０を選択し、ストレージ階層の一覧テーブルＵＩ１２００から論理ボリューム１１１０を追加する対象のストレージ階層を選択する。なお本実施例においては、ストレージ階層の一覧テーブルＵＩ１２００にてストレージ階層を１つも選択しなかった場合は、新規のストレージ階層が生成されるものとする。ユーザがボタンＵＩ１３００を押すと、論理ボリューム１１１０がストレージ階層に追加される。ストレージ階層から論理ボリューム１１１０を削除する場合は、ユーザはストレージ階層の一覧テーブルＵＩ１２００から削除対象の行を選択し、ボタンＵＩ１４００を押す。なお本実施例においては、ストレージ階層に含まれる論理ボリューム１１００が１つも無くなった際、当該ストレージ階層は自動的に削除されるものとする。
【００７３】
次にステップＳ３０１０にて、マイグレーション設定プログラム４１３０は、ストレージ階層の情報をストレージ階層テーブル４１４０に格納する。
【００７４】
次にステップＳ３０２０にて、マイグレーション設定プログラム４１３０が、マイグレーション設定プログラム４１３０のユーザインタフェースを通じて、ユーザからのマイグレーションポリシの設定を受け付ける。
【００７５】
図１３は、本実施例においてユーザがマイグレーションポリシの設定に用いるユーザインタフェースＵＩ２０００を示している。ＵＩ２０００はマイグレーションポリシの一覧を表示するテーブルＵＩ２１００と、マイグレーションポリシを削除するためのボタンＵＩ２２００と、マイグレーションポリシを入力するためのフィールドＵＩ２３００と、を有している。マイグレーションを入力するためのフィールドＵＩ２３００は、マイグレーション条件を入力するためのテキストフィールドＵＩ２３１０と、マイグレーション先のストレージ階層を選択するためのドロップダウンリストＵＩ２３２０と、マイグレーションポリシを追加するためのボタンＵＩ２３３０と、を有している。なお、マイグレーションポリシの一覧テーブルＵＩ２１００は、チェックボックスを有しており、ユーザは各テーブルの各行を選択できるものとする。
【００７６】
ユーザはテキストフィールドＵＩ２３１０に、マイグレーション条件を入力する。なお、マイグレーション条件を記述するための文法は特に限定しない。さらにユーザはドロップダウンリストＵＩ２３２０から、マイグレーション先のストレージ階層を選択し、ボタンＵＩ２３３０を押す。これによりマイグレーション条件とマイグレーション先階層と、がマイグレーションポリシとして追加される。マイグレーションポリシを削除する場合、ユーザはマイグレーションポリシの一覧テーブルＵＩ２１００から削除対象の行を選択し、ボタンＵＩ２２００を押す。
【００７７】
次にステップＳ３０３０にて、マイグレーション設定プログラム４１３０が、マイグレーションポリシの情報をマイグレーションポリシテーブル４１５０に格納する。
【００７８】
次にステップＳ３０４０にて、マイグレーション設定プログラム４１３０が、マイグレーション設定プログラム４１３０のユーザインタフェースを通じて、ユーザからの関連ポリシの設定を受け付ける。
【００７９】
図１４は、本実施例においてユーザが関連ポリシの設定に用いるユーザインタフェースＵＩ３０００を示している。ＵＩ３０００は、関連ポリシの一覧を表示するテーブルＵＩ３１００と、関連ポリシを削除するためのボタンＵＩ３２００と、関連ポリシを入力するためのフィールドＵＩ３３００と、を有している。関連ポリシを入力するためのフィールドＵＩ３３００は、関連先ボリュームをマイグレーションするタイミングを選択するためのドロップダウンリストＵＩ３３１０と、関連先ボリュームをマイグレーションするための条件を入力するためのフィールドＵＩ３３２０と、関連先ボリュームをマイグレーションする際のポリシを選択するためのドロップダウンリストＵＩ３３３０と、関連先ボリュームをマイグレーションする際のポリシとして既存のポリシＩＤを選択する際に利用するマイグレーションポリシの一覧テーブルＵＩ３３４０と、関連ポリシを追加するためのボタンＵＩ３３５０と、を有する。なお、関連ポリシの一覧テーブルＵＩ３１００およびマイグレーションポリシの一覧テーブルＵＩ３３４０は、チェックボックスを有しており、ユーザは各テーブルの各行を選択できるものとする。
【００８０】
ユーザはドロップダウンリストＵＩ３３１０から、関連先ボリュームをマイグレーションするタイミングを選択する。また、ユーザはドロップダウンリストＵＩ３３２１と、ドロップダウンリストＵＩ３３２２と、テキストフィールドＵＩ３３２３を用いて、関連先ボリュームをマイグレーションする条件を入力する。具体的には、ユーザはドロップダウンリストＵＩ３３２１から条件の対象を選択し、ドロップダウンリストＵＩ３３２２から条件の比較演算子を選択し、テキストフィールドＵＩ３３２３に条件を入力する。さらにユーザは、ドロップダウンリストＵＩ３３３０から、関連先ボリュームをマイグレーションする際のポリシを選択する。その際、「ポリシＩＤ（下記で指定）に従う」を選択した場合は、マイグレーションポリシの一覧テーブルＵＩ３３４０から、関連先ボリュームのマイグレーションポリシとして設定するポリシを選択する。最後にユーザがボタンＵＩ３３５０を押すことで、関連ポリシが設定される。関連ポリシを削除する場合は、ユーザは関連ポリシの一覧テーブルＵＩ３１００から削除対象の関連ポリシを選択し、ボタンＵＩ３２００を押す。
【００８１】
次にステップＳ３０５０にて、マイグレーション設定プログラム４１３０が関連ポリシの情報を関連ポリシテーブル４１６０に格納する。
【００８２】
次にステップＳ３０６０にて、マイグレーション設定プログラム４１３０が、マイグレーション設定プログラム４１３０のユーザインタフェースを通じて、ユーザからのポリシの割当て設定を受け付ける。
【００８３】
図１５は、本実施例においてユーザがポリシの割当て設定に用いるユーザインタフェースＵＩ４０００を示している。ＵＩ４０００は、論理ボリューム１１１０の一覧を表示するテーブルＵＩ４１００と、マイグレーションポリシの一覧を表示するテーブルＵＩ４２００と、関連ポリシの一覧を表示するテーブルＵＩ４３００と、マイグレーションポリシおよび関連ポリシを論理ボリューム１１１０に割り当てるためのボタンＵＩ４４００と、を有している。なお、論理ボリュームの一覧テーブルＵＩ４１００と、マイグレーションポリシの一覧テーブルＵＩ４２００と、関連ポリシの一覧テーブルＵＩ４３００と、はチェックボックスを有しており、ユーザは各テーブルの各行を選択できるものとする。
【００８４】
ユーザは論理ボリュームの一覧テーブルＵＩ４１００から、マイグレーションポリシおよび関連ポリシを割り当てる対象の論理ボリューム１１１０を選択する。またユーザは、マイグレーションポリシの一覧テーブルＵＩ４２００から、論理ボリューム１１１０に割り当てるマイグレーションポリシを選択する。さらにユーザは関連ポリシの一覧テーブルＵＩ４３００から、論理ボリューム１１１０に割り当てる関連ポリシを選択する。最後にユーザがボタンＵＩ４４００を押すことで、論理ボリューム１１１０へのマイグレーションポリシおよび関連ポリシの割当て設定が行われる。
【００８５】
次にステップＳ３０７０にて、マイグレーション設定プログラム４１３０が、ポリシの割当て設定の情報をポリシ割当てテーブル４１７０に格納する。以上の処理により、マイグレーションに関する設定が行われる。
【００８６】
図１６は、本実施例におけるマイグレーション指示処理のシーケンスを示している。
【００８７】
図１６の処理では、まずステップＳ４０００にて、構成管理プログラム４１１０が持つスケジューラ機能が、一定時間ごとにマイグレーション指示プログラム４１８０を実行する。構成管理プログラム４１１０が持つスケジューラ機能がマイグレーション指示プログラムを実行する時間の間隔は、構成管理プログラム４１１０にて予め決めておいても良いし、ユーザが設定するなどの他の方法で決定しても良い。
【００８８】
次にステップＳ４０１０にて、マイグレーション指示プログラム４１８０が、構成情報テーブル４１２０と、マイグレーションポリシテーブル４１５０と、ポリシ割当てテーブル４１７０と、を参照し、マイグレーション条件を満たす論理ボリューム１１１０を探す。
【００８９】
次にステップＳ４０２０にて、マイグレーション指示プログラム４１８０が、マイグレーション条件を満たす論理ボリューム１１１０が存在するか否かを判定する。該当する論理ボリューム１１１０が存在しない場合は、本処理を終了する。該当する論理ボリューム１１１０が存在する場合は、ステップＳ４０３０に進む。
【００９０】
ステップＳ４０３０では、マイグレーション指示プログラム４１８０が、ストレージ階層テーブル４１４０と、構成情報テーブル４１２０と、マイグレーションポリシテーブル４１５０と、ポリシ割当てテーブル４１７０と、を参照し、ステップＳ４０１０で発見した論理ボリューム１１１０に割り当てられたポリシの情報からマイグレーション先のストレージ階層を特定し、当該ストレージ階層の中からマイグレーション先の論理ボリューム１１１０を選択する。なお、マイグレーション先の論理ボリュームを選択する方法には、例えば、ストレージ階層に含まれる論理ボリューム１１１０の内、ステップＳ４０１０で発見した論理ボリューム１１１０より容量が大きく、パスフラグが「なし」のものを選択するなどの方法があるが、特に限定はしない。
【００９１】
次にステップＳ４０４０にて、マイグレーション指示プログラム４１８０が、ステップＳ４０１０で発見した論理ボリューム１１１０に対するマイグレーションを行うよう、マイグレーションプログラム１２１６に指示する。
【００９２】
次にステップＳ４０５０にて、マイグレーションプログラム１２１６が、マイグレーション処理を実行する。マイグレーション処理の詳細は後述する。
【００９３】
次にステップＳ４０６０にて、構成管理プログラム４１１０が、マイグレーション指示プログラム４１８０に、ステップＳ４０５０にてマイグレーションされた論理ボリューム１１１０を通知し、当該ボリュームに関連を持つ論理ボリューム１１１０に対するマイグレーション処理を行うよう要求する。
【００９４】
次にステップＳ４０７０にて、マイグレーション指示プログラム４１８０が、ステップＳ４０５０にてマイグレーションされた論理ボリューム１１１０と関連を持った論理ボリューム１１１０（関連先ボリューム）に対するマイグレーション指示処理を行う。
【００９５】
図１７は、本実施例における関連先ボリュームに対するマイグレーション指示処理のシーケンスを示している。
【００９６】
当該処理では、まずステップＳ５０００にてマイグレーション指示プログラム４１８０が、ポリシ割当てテーブル４１７０を参照し、構成管理プログラム４１１０から指定された論理ボリューム１１１０と関連のある論理ボリューム１１１０を探す。
【００９７】
次にステップＳ５０１０にて、マイグレーション指示プログラム４１８０が、該当するボリュームが存在するか否かを判定する。該当するボリュームが存在しない場合は本処理を終了する。該当するボリュームが存在する場合は、ステップＳ５０２０に進む。
【００９８】
ステップＳ５０２０では、マイグレーション指示プログラム４１８０が、関連ポリシテーブル４１６０を参照し、ステップＳ５０００で発見した論理ボリューム１１１０をマイグレーションするタイミングを特定する。
【００９９】
次にステップＳ５０３０にて、マイグレーション指示プログラム４１８０が、現時点がステップＳ５０２０で特定したタイミングに該当するか否かを判定する。該当しない場合は本処理を終了する。該当する場合はステップＳ５０４０に進む。
【０１００】
ステップＳ５０４０では、マイグレーション指示プログラム４１８０が、関連ポリシテーブルを参照し、ステップＳ５０００で発見した論理ボリューム１１１０をマイグレーションする条件を特定する。
【０１０１】
次にステップＳ５０５０にて、マイグレーション指示プログラム４１８０が、ステップＳ５０４０で特定した条件が満たされているか否かを判定する。条件が満たされていない場合は本処理を終了する。条件が満たされている場合は、ステップＳ５０６０に進む。
【０１０２】
ステップＳ５０６０では、マイグレーション指示プログラム４１８０が、関連ポリシテーブル４１６０を参照し、ステップＳ５０００で発見した論理ボリューム１１１０をマイグレーションするポリシ（関連ポリシ）を特定する。
【０１０３】
次にステップＳ５０７０にて、マイグレーション指示プログラム４１８０が、構成情報テーブル４１２０と、ストレージ階層テーブル４１４０と、マイグレーションポリシテーブル４１５０と、ポリシ割当てテーブル４１７０と、を参照し、ステップＳ５０００で発見した論理ボリューム１１１０のマイグレーション先の論理ボリューム１１１０を選択する。なお、マイグレーション先の論理ボリュームを選択する方法には、例えば、ストレージ階層に含まれる論理ボリューム１１１０の内、ステップＳ５０００で発見した論理ボリューム１１１０より容量が大きく、パスフラグが「なし」のものを選択するなどの方法があるが、特に限定はしない。また、マイグレーション先の論理ボリュームが１つも無い場合には、ログ出力などの方法により、その旨をユーザに通知する。
【０１０４】
次にステップＳ５０８０にて、マイグレーション指示プログラム４１８０が、ステップＳ５０００で発見した論理ボリュームに対するマイグレーション処理を行うよう要求する。
【０１０５】
図１８は、本実施例におけるマイグレーション処理のシーケンスを示している。当該処理では、まずステップＳ６０００にて、マイグレーションプログラム１２１６が、ボリューム割当てテーブル１２１３を参照し、マイグレーション指示プログラム４１８０に指定された論理ボリューム１１１０のマイグレーション状態を「マイグレーション中」に設定する。これにより、図９に示したように当該ボリュームに対する書き込みＩ／Ｏは、本時点以降、当該ボリュームに対してではなく、メモリに対して行うようにＩ／Ｏ制御プログラム１２１２によって制御される。
【０１０６】
次にステップＳ６０１０にて、マイグレーションプログラム１２１６が、データコピープログラム１２１５に、マイグレーション元の論理ボリューム１１１０に格納されたデータを、マイグレーション先の論理ボリューム１１１０にコピーするように指示する。
【０１０７】
次にステップＳ６０２０にて、データコピープログラム１２１５が、マイグレーション元の論理ボリューム１１１０に格納されたデータを、マイグレーション先の論理ボリューム１１１０にコピーする。
【０１０８】
次にステップＳ６０３０にて、マイグレーションプログラム１２１６が、Ｉ／Ｏ制御プログラム１２１２に、一時的に書き込みＩ／Ｏを停止するように要求する。
【０１０９】
次にステップＳ６０４０にて、Ｉ／Ｏ制御プログラム１２１２が、現在、書き込み中のＩ／Ｏ処理が終了した後で、一時的に書き込みＩ／Ｏを停止する。なお、本実施例においては、書き込みＩ／Ｏ停止中もストレージサブシステム１０００はホスト計算機２０００からのＩ／Ｏ（読み込み、書き込み）を受け付け、そのＩ／Ｏ要求をメモリ１２１０またはキャッシュメモリなどに保持しておくものとする。
【０１１０】
次にステップＳ６０５０にて、マイグレーションプログラム１２１６が、Ｉ／Ｏ制御プログラム１２１２に、マイグレーション元の論理ボリューム１１１０に関して、メモリ上に書き込まれているデータをマイグレーション先の論理ボリューム１１１０の該当領域に書き込むように要求する。
【０１１１】
次にステップＳ６０６０にて、Ｉ／Ｏ制御プログラム１２１２は、物理リソース割当てテーブル１２１４を参照し、マイグレーション元の論理ボリューム１１１０のボリュームＬＢＡ領域の内、メモリ上のＬＢＡ領域に書き込まれているデータを全て、マイグレーション先の論理ボリューム１１１０に割り当てられた物理リソース上のＬＢＡ領域に書き込む。
【０１１２】
次にステップＳ６０７０にて、マイグレーションプログラム１２１６が、物理リソース割当てテーブル１２１４を参照し、マイグレーション元の論理ボリューム１１１０のＬＵＮと、マイグレーション先の論理ボリューム１１１０のＬＵＮと、を入れ替える。
【０１１３】
次にステップＳ６０８０にて、マイグレーションプログラム１２１６が、Ｉ／Ｏ制御プログラム１２１２に、書き込みＩ／Ｏを再開するように要求する。
【０１１４】
次にステップＳ６０９０にて、Ｉ／Ｏ制御プログラム１２１２が、書き込みＩ／Ｏを再開する。
【０１１５】
図１９は、本実施例において、コピーペア関係にあり、関連元ボリュームのみマイグレーションされた論理ボリューム１１１０のペア間のデータ同期処理を行う際のシーケンスを示している。
【０１１６】
関連元ボリュームにデータが書き込まれた際、すぐに関連先ボリュームへデータが書き込まれないことがある。そこで、関連元ボリュームと関連先ボリュームのデータの同期化後に、関連先ボリュームのマイグレーションを行うことで、関連元ボリュームと関連先ボリュームの間のデータに不整合が生じず、マイグレーションすることができる。図１９の処理では、まずステップ７０００にて、マイグレーションプログラム１２１６が、関連ポリシテーブル４１６０のタイミングが、「同期時」である関連ポリシＩＤが割り当てられた関連元ボリュームのマイグレーション処理を実行する。
【０１１７】
次に、ステップＳ７０１０にて構成管理プログラム４１１０が、構成管理プログラム４１１０の持つユーザインタフェースを通じて、ユーザによる、コピーペア関係にある論理ボリューム１１１０間でデータの同期を取る処理を実行する指示を受け付ける。
【０１１８】
図２０は、本実施例においてユーザが、コピーペア関係にある論理ボリューム１１１０間でデータの同期を取る処理を実行するために用いるユーザインタフェースＵＩ５０００を示している。ユーザインタフェースＵＩ５０００は、コピーペア関係にある論理ボリューム１１１０の一覧を表示するテーブルＵＩ５１００と、コピーペア関係にある論理ボリューム１１１０間でデータを同期するためのボタンＵＩ５２００と、を有している。なお、コピーペア関係にある論理ボリューム１１１０の一覧テーブルはチェックボックスを有しており、ユーザは各行を選択できるものとする。
【０１１９】
ユーザはコピーペア関係にある論理ボリュームの一覧テーブルＵＩ５１００から、データを同期化したいペアを選択し、ボタンＵＩ５２００を押す。これにより、当該ペア間でデータが同期化される。
【０１２０】
次にステップＳ７０２０にて、構成管理プログラム４１１０が、データコピープログラム１２１５に対して、当該ボリュームのペア間でデータを同期するように要求する。
【０１２１】
次にステップＳ７０３０にて、データコピープログラム１２１５が、当該ボリュームのペア間でデータを同期する。この処理は、コピー元の論理ボリューム１１１０に書き込まれたデータの内、コピー先の論理ボリューム１１１０に反映されていないデータを、コピー先の論理ボリュームに対して書き込むことで行われる。
【０１２２】
次にステップＳ７０４０にて、構成管理プログラム４１１０が、マイグレーション指示プログラム４１８０に、ステップＳ７０３０にてデータの同期化を実行された論理ボリューム１１１０を通知し、当該ボリュームに関連を持つ論理ボリューム１１１０に対するマイグレーション指示処理を行うよう要求する。
【０１２３】
次にステップＳ７０５０にて、マイグレーション指示プログラム４１８０が、ステップＳ７０３０にてデータの同期化を実行された論理ボリューム１１１０と関連を持った論理ボリューム１１１０（関連先ボリューム）に対するマイグレーション指示処理を行う。
【０１２４】
図２１は、本実施例において、コピーペアの関係にある論理ボリューム１１１０間で、コピーペアの関係を反転する際の処理のシーケンスを示している。ここでコピーペアの反転とは、コピー元の論理ボリューム１１１０をコピー先とし、コピー先の論理ボリューム１１１０をコピー元とする処理のことである。
【０１２５】
当該処理では、まずステップＳ８０００にて、構成管理プログラム４１１０が、構成管理プログラム４１１０の持つユーザインタフェースを通じて、ユーザによる、コピーペア関係にある論理ボリュームの間で、コピーペアの関係を反転する処理を実行する指示を受け付ける。
【０１２６】
次にステップＳ８０１０にて、構成管理プログラム４１１０が、データコピープログラム１２１５に対し、当該ボリュームのペア間でコピーペアの関係を反転するように要求する。
【０１２７】
次にステップＳ８０２０にて、データコピープログラム１２１５が、当該ボリュームのペア間でコピーペアの関係を反転する。
【０１２８】
次にステップＳ８０３０にて、構成管理プログラム４１１０が、構成情報テーブル４１２０を参照し、新たにコピー先となった論理ボリューム１１１０（以下、オリジナルP-Volと記載する）の関連先ＬＵＮにハイフンを格納する。さらに構成管理プログラム４１１０は、新たにコピー元となった論理ボリューム１１１０（以下、オリジナルS-Volと記載する）の関連先ＬＵＮに、オリジナルP-VolのＬＵＮを格納する。
【０１２９】
次にステップＳ８０４０にて、構成管理プログラム４１１０が、ポリシ割当てテーブル４１７０を参照し、オリジナルP-VolとオリジナルS-Volとの間で、マイグレーションポリシおよび関連ポリシを入れ替える。
【０１３０】
以上が第１実施例におけるデータ処理手順の説明である。これらの処理により、任意の論理ボリューム１１１０に対して、マイグレーションやデータコピーなどの処理を行った際、当該ボリュームに関連を持った論理ボリューム１１１０についてマイグレーション処理を行うことができる。その結果、関連のあるボリュームのペア（またはグループ）に対して、ユーザ要件に合わせてマイグレーションを制御することができる。また、図２１に示した処理によって、論理ボリューム１１１０間の関連が変化した際にも、ポリシを入れ替えることによって、当該ペア（またはグループ）のマイグレーションを適切に制御することができる。
【０１３１】
Ｂ．第２実施例：
Ｂ１．システムの構成
図２２は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム１０００ｂと、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００と、スイッチ装置５０００と、第二のストレージサブシステム６０００と、を有している。図中では、ストレージサブシステム１０００ｂと、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００と、スイッチ装置５０００と、第二のストレージサブシステム６０００と、がそれぞれ１台ずつ存在しているがこの限りではなく、１台以上存在すれば良い。本構成の大部分は第１実施例の構成と同等であるため、以降は差分のみを説明する。
【０１３２】
図１に示すデータ処理システムとの差異は、ストレージサブシステム１０００ｂが、リモートコピー機能を持ったデータコピープログラム１２１５ｂを有している点と、管理計算機４０００ｂが、複数ストレージ間の関連を含む構成情報テーブル４１２０ｂおよび階層間の対応関係を含むストレージ階層テーブル４１４０ｂを有している点と、第二のストレージサブシステム６０００が存在している点、である。なお、第二のストレージサブシステム６０００の構成はストレージサブシステム１０００と同等であるため説明は省略する。
【０１３３】
リモートコピー機能を持ったデータコピープログラム１２１５ｂは、ストレージサブシステム１０００ｂが持つ論理ボリューム１１１０から第二のストレージサブシステム６０００が持つ論理ボリューム１１１０に、データをコピーするプログラムである。当該プログラムによるデータのコピーは、ストレージサブシステム１０００のＩ／Ｆ（Ａ）１２３０と、スイッチ装置５０００の持つＩ／Ｆ（Ａ）５１００と、第二のストレージサブシステム６０００が持つＩ／Ｆ（Ａ）１２３０と、を通じてデータを転送することで実現される。
【０１３４】
図３に示す構成情報テーブル４１２０と、図２３に示す複数ストレージ間の関連を含む構成情報テーブル４１２０ｂとの差異は、複数ストレージ間の関連を含む構成情報テーブル４１２０ｂが、関連先ストレージサブシステムＩＤ４１２０６ｂを有している点である。関連先ストレージサブシステムＩＤ４１２０６ｂは、ある論理ボリューム１１１０と関連を持った論理ボリュームを有しているストレージサブシステム１０００または第二のストレージサブシステム６０００を識別する情報である。第１実施例においては、関連先の論理ボリューム１１１０は、関連先ＬＵＮ４１２０６にて一意に識別されたが、本実施例においては関連先の論理ボリューム１１１０は、関連先ストレージサブシステムＩＤ４１２０６ｂと、関連先ＬＵＮ４１２０６との組み合わせで一意に識別される。
【０１３５】
図４に示すストレージ階層テーブル４１４０と、図２４に示す階層間の対応関係を含むストレージ階層テーブル４１４０ｂとの差異は、階層間の対応関係を含むストレージ階層テーブル４１４０ｂが第二のストレージサブシステムＩＤ４１４０３ｂと、第二のＬＵＮ４１４０４ｂと、を有している点である。第二のストレージサブシステムＩＤ４１４０３ｂと、第二のＬＵＮ４１４０４ｂは、第二のストレージサブシステム６０００が持つ論理ボリューム１１１０を識別する情報である。
【０１３６】
リモートコピーの関係のように、論理ボリューム１１１０が複数のストレージサブシステムに跨った関係を持つ場合、ストレージサブシステム１０００と第二のストレージサブシステム６０００の構成が全く同じである保証がない。例えば、ストレージサブシステム１０００が物理リソース１１２１としてＳＳＤ (Solid State Drive) を有していたとしても、第二のストレージサブシステム６０００はＳＳＤを有していない可能性がある。このため、例えば関連元ボリュームがストレージサブシステム１０００の論理ボリューム１１１０であり、関連先ボリュームが第二のストレージサブシステム６０００の論理ボリューム１１１０である場合、関連ポリシとして「関連元ボリュームに合わせる」を設定しても、関連元ボリュームに合わせることができない可能性がある。
【０１３７】
このため、階層間の対応関係を含むストレージ階層テーブル４１４０ｂは、ストレージサブシステム１０００におけるストレージ階層と、第二のストレージサブシステム６０００におけるストレージ階層との対応関係の情報を含んでいる。関連元ボリュームがストレージサブシステム１０００の論理ボリューム１１１０であり、関連先ボリュームが第二のストレージサブシステム６０００の論理ボリューム１１１０である場合、関連ポリシとして「関連元ボリュームに合わせる」を設定すると、関連元ボリュームのマイグレーション先はストレージサブシステム１０００のストレージ階層から選択され、関連先ボリュームのマイグレーション先は第二のストレージサブシステム６０００のストレージ階層から選択される。
【０１３８】
Ｂ２．データ処理手順の説明
本実施例の動作の大部分は第１実施例の動作と同じであるため、以降は差分のみを説明する。第１実施例の処理シーケンスと本実施例の処理シーケンスでは、関連先ボリュームに対するマイグレーション処理が異なる。
【０１３９】
図２５に、本実施例における関連先ボリュームに対するマイグレーション処理のシーケンスを示す。図２５のステップＳ５０００、Ｓ５０１０、Ｓ５０２０、Ｓ５０３０、Ｓ５０４０、Ｓ５０５０、Ｓ５０６０、は図１７のステップＳ５０００、Ｓ５０１０、Ｓ５０２０、Ｓ５０３０、Ｓ５０４０、Ｓ５０５０、Ｓ５０６０と同じであるため、説明は省略する。
【０１４０】
本実施例における関連先ボリュームに対するマイグレーション処理では、ステップＳ５０７０ｂにて、マイグレーション指示プログラム４１８０が、複数ストレージ間の関連を含む構成情報テーブル４１２０ｂと、階層間の対応関係を含むストレージ階層テーブル４１４０ｂと、マイグレーションポリシテーブル４１５０と、ポリシ割当てテーブル４１７０と、を参照し、ステップＳ５０００で発見した論理ボリューム１１１０のマイグレーション先の論理ボリューム１１１０を選択する。このとき、ステップＳ５０００で発見した論理ボリューム１１１０がストレージサブシステム１０００の持つ論理ボリューム１１１０であれば、ストレージサブシステム１０００のストレージ階層からマイグレーション先の論理ボリューム１１１０を選択する。ステップＳ５０００で発見した論理ボリューム１１１０が第二のストレージサブシステム６０００の持つ論理ボリューム１１１０であれば、第二のストレージサブシステム６０００のストレージ階層からマイグレーション先の論理ボリューム１１１０を選択する。なお、マイグレーション先の論理ボリュームを選択する方法には、例えば、ストレージ階層に含まれる論理ボリューム１１１０の内、ステップＳ５０００で発見した論理ボリューム１１１０より容量が大きく、パスフラグが「なし」のものを選択するなどの方法があるが、特に限定はしない。また、マイグレーション先の論理ボリュームが１つも無い場合には、ログ出力などの方法により、その旨をユーザに通知する。
【０１４１】
次にステップＳ５０８０ｂにて、マイグレーション指示プログラム４１８０が、ステップＳ５０００で発見した論理ボリュームに対するマイグレーション処理を行うよう要求する。処理を要求する対象は、当該ボリュームを持つストレージサブシステム１０００上のマイグレーションプログラム１２１６、または第二のストレージサブシステム６０００上のマイグレーションプログラム１２１６である。
【０１４２】
以上が第２実施例におけるデータ処理の手順である。これらの処理により、リモートコピーの関係のように、論理ボリューム１１１０が複数ストレージサブシステム間に跨った関係を持つ場合においても、関連のあるボリュームのペア（またはグループ）に対して、ユーザ要件に合わせてマイグレーションを制御することができる。
【０１４３】
Ｃ．第３実施例：
Ｃ１．システムの構成
図２６は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム１０００ｃと、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００ｃと、スイッチ装置５０００と、を有している。図中では、ストレージサブシステム１０００ｃと、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００ｃと、スイッチ装置５０００と、がそれぞれ１台ずつ存在しているがこの限りではなく、１台以上存在すれば良い。本構成の大部分は第１実施例の構成と同等であるため、以降は差分のみを説明する。
【０１４４】
図１に示すデータ処理システムとの差異は、ストレージサブシステム１０００ｃが、リソース種別ごとのプール１１２０ｃと、ボリューム単位割当てテーブル１２１３ｃと、マイグレーション状態を含む物理リソース割当てテーブル１２１４ｃと、セグメント単位のデータコピープログラム１２１５ｃと、セグメント単位のマイグレーションプログラム１２１６ｃと、を有している点と、管理計算機４０００ｃが、セグメント情報テーブル４１２５ｃと、プール単位のストレージ階層テーブル４１４０ｃと、セグメント単位のマイグレーション指示プログラム４１８０ｃと、を有している点、である。ここで、セグメントとはボリュームを構成する論理的な記憶領域の単位であり、当然のことながら、セグメントのサイズはボリュームよりも小さい。
【０１４５】
リソース種別ごとのプール１１２０ｃは、物理リソース１１２１を種別ごとに分類した上でグループ化したプールである。
【０１４６】
図２に示すボリューム単位割当てテーブル１２１３と、図２７に示すボリューム単位割当てテーブル１２１３ｃとの差異は、マイグレーション状態を示す１２１２３ｃが、当該ボリュームを構成するセグメントが1つでもマイグレーション中の場合「マイグレーション中」とし、当該ボリュームを構成するセグメントすべてがマイグレーション中でない場合、ハイフンとする点である。ただし、マイグレーション状態１２１２３ｃに格納する情報およびその表記方法はこの限りでなく、ボリュームを構成するセグメントのマイグレーションの状態を示すほかの情報を格納しても良いし、他の表記方法にて状態を表現しても良い。また、マイグレーション状態を表示する１２１２３ｃは、ボリューム割当てテーブル１２１３ｃになくても良い。
【０１４７】
図３に示す物理リソース割当てテーブル１２１４と、図２８に示すマイグレーション状態を含む物理リソース割当てテーブル１２１４ｃとの差異は、マイグレーション状態を含む物理リソース割当てテーブル１２１４ｃが、セグメント単位のマイグレーション状態１２１３５ｃを有している点である。
【０１４８】
セグメント単位のデータコピープログラム１２１５ｃは、論理ボリューム１１１０間で、セグメント単位でデータをコピーする機能を有するプログラムである。
【０１４９】
セグメント単位のマイグレーションプログラム１２１６ｃは、論理ボリューム１１１０間で、セグメント単位でマイグレーションする機能を有するプログラムである。
【０１５０】
セグメント情報テーブル４１２５ｃは、ストレージサブシステム１０００ｃが持つ論理ボリューム１１１０のセグメントの情報を格納するテーブルである。当該テーブルは、図２９に示すように、ストレージサブシステムＩＤ４１２５０と、ＬＵＮ４１２５１と、セグメントＩＤ４１２５２と、リソース種別４１２５３と、ＩＯＰＳ４１２５４と、を有している。なお、セグメント情報テーブル４１２５ｃに格納する情報はこれに限らず、他の情報を格納しても良い。
【０１５１】
図４に示すストレージ階層テーブル４１４０と、図３０に示すプール単位のストレージ階層テーブル４１４０ｃとの差異は、プール単位のストレージ階層テーブル４１４０ｃが、プールＩＤ４１４０２ｃと、空き容量４１４０３ｃと、リソース種別４１４０４ｃと、を有している点である。
【０１５２】
セグメント単位のマイグレーション指示プログラム４１８０ｃは、ストレージサブシステム１０００ｃの論理ボリューム１１１０を構成するセグメント単位で、マイグレーションを指示するプログラムである。
【０１５３】
Ｃ２．データ処理手順の説明
本実施例の動作の大部分は第１実施例の動作と同じであるため、以降は差分のみを説明する。第１実施例の処理シーケンスと本実施例の処理シーケンスでは、マイグレーションの処理がセグメント単位で行われる点が異なる。
【０１５４】
図３１は本実施例におけるセグメント単位のＩ／Ｏ制御処理のシーケンスを示している。当該処理のステップＳ１０００、Ｓ１０１０、Ｓ１０２０、Ｓ１０３０、Ｓ１０６０、Ｓ１０９０、Ｓ１１００、Ｓ１１１０は、図９に示すＩ／Ｏ制御処理のステップＳ１０００、Ｓ１０１０、Ｓ１０２０、Ｓ１０３０、Ｓ１０６０、Ｓ１０９０、Ｓ１１００、Ｓ１１１０と同じであるため、説明は省略する。
【０１５５】
当該処理では、ステップＳ１０４０ｃにて、Ｉ／Ｏ制御プログラム１２１２が、ボリューム割当てテーブル１２１３と、マイグレーション状態を含む物理リソース割当てテーブル１２１４ｃと、を参照し、Ｉ／Ｏアクセス先のボリュームＬＢＡ領域と、そのマイグレーション状態を特定する。
【０１５６】
次にステップＳ１０５０ｃにて、Ｉ／Ｏ制御プログラム１２１２が、当該ボリュームＬＢＡ領域のマイグレーション状態が「マイグレーション中」か否かを判定する。マイグレーション状態が「マイグレーション中」の場合はステップＳ１０６０に進む。マイグレーション状態が「マイグレーション中」でない場合は、ステップＳ１０９０に進む。
【０１５７】
ステップＳ１０７０ｃでは、Ｉ／Ｏ制御プログラム１２１２が、マイグレーション状態を含む物理リソース割当てテーブル１２１４ｃを更新し、書き込みアクセスのあったボリュームＬＢＡ領域１２１３２に対応する物理リソースＩＤをメモリ１２１０の識別子に、ＬＢＡ領域１２１３４をメモリ１２１０上の記憶領域の識別子に、それぞれ設定する。
【０１５８】
図３２は、本実施例において、ストレージサブシステム１０００ｃのセグメント情報を含む構成情報を取得する際の処理シーケンスを示している。当該処理のステップＳ２０３０は、図１０に示す構成情報の取得処理ステップＳ２０３０と同じであるため説明を省略する。
【０１５９】
当該処理では、まずステップＳ２０００ｃにて、構成管理プログラム４１１０が、構成情報取得プログラム１２１１に、ストレージサブシステム１０００ｃのセグメント情報を含む構成情報を提供するよう要求する。
【０１６０】
次にステップＳ２０１０ｃにて、構成情報取得プログラム１２１１が、ストレージサブシステム１０００ｃのセグメント情報を含む構成情報を取得し、構成管理プログラム４１１０に当該情報を返す。
【０１６１】
次にステップＳ２０２０ｃにて、構成管理プログラム４１１０が、ストレージサブシステム１０００ｃのセグメント情報をセグメント情報テーブル４１２５ｃに格納し、セグメント情報以外の構成情報を構成情報テーブル４１２０に格納する。
【０１６２】
図３３は、本実施例におけるセグメント単位のマイグレーション指示処理のシーケンスを示している。
【０１６３】
当該処理では、まずステップＳ４０００ｃにて、構成管理プログラム４１１０が持つスケジューラ機能が、一定時間ごとにセグメント単位のマイグレーション指示プログラム４１８０ｃを実行する。構成管理プログラム４１１０が持つスケジューラ機能がセグメント単位のマイグレーション指示プログラムを実行する時間の間隔は、構成管理プログラム４１１０にて予め決めておいても良いし、ユーザが設定するなどの他の方法で決定しても良い。
【０１６４】
次にステップＳ４０１０ｃにて、セグメント単位のマイグレーション指示プログラム４１８０ｃが、構成情報テーブル４１２０と、セグメント情報テーブル４１２５ｃと、マイグレーションポリシテーブル４１５０と、ポリシ割当てテーブル４１７０と、を参照し、マイグレーション条件を満たすセグメントを探す。
【０１６５】
次にステップＳ４０２０ｃにて、セグメント単位のマイグレーション指示プログラム４１８０ｃが、マイグレーション条件を満たすセグメントが存在するか否かを判定する。該当するセグメントが存在しない場合は、本処理を終了する。該当するセグメントが存在する場合は、ステップＳ４０３０ｃに進む。
【０１６６】
ステップＳ４０３０ｃでは、セグメント単位のマイグレーション指示プログラム４１８０が、プール単位のストレージ階層テーブル４１４０ｃと、構成情報テーブル４１２０と、セグメント情報テーブル４１２５ｃと、マイグレーションポリシテーブル４１５０と、ポリシ割当てテーブル４１７０と、を参照し、ステップＳ４０１０ｃで発見したセグメントを持つ論理ボリューム１１１０に割り当てられたポリシの情報からマイグレーション先のストレージ階層を特定し、当該ストレージ階層の中からマイグレーション先のプール１１２０ｃを選択する。なお、マイグレーション先のプールを選択する方法には、例えば、ストレージ階層に含まれるプール１１２０ｃの内、ステップＳ４０１０で発見したセグメントより空き容量が大きいものを選択するなどの方法があるが、特に限定はしない。また、マイグレーション先のプール１１２０ｃが１つも無い場合には、ログ出力などの方法により、その旨をユーザに通知する。
【０１６７】
次にステップＳ４０４０ｃにて、セグメント単位のマイグレーション指示プログラム４１８０ｃが、ステップＳ４０１０ｃで発見したセグメントに対するマイグレーションを行うよう、セグメント単位のマイグレーションプログラム１２１６ｃに指示する。
【０１６８】
次にステップＳ４０５０ｃにて、セグメント単位のマイグレーションプログラム１２１６ｃが、マイグレーション処理を実行する。セグメント単位のマイグレーション処理の詳細は後述する。
【０１６９】
次にステップＳ４０６０ｃにて、構成管理プログラム４１１０が、セグメント単位のマイグレーション指示プログラム４１８０ｃに、ステップＳ４０５０ｃにてマイグレーションされたセグメントを持つ論理ボリューム１１１０を通知し、当該ボリュームに関連を持つ論理ボリューム１１１０に対して、セグメント単位のマイグレーション処理を行うよう要求する。
【０１７０】
次にステップＳ４０７０ｃにて、セグメント単位のマイグレーション指示プログラム４１８０ｃが、ステップＳ４０５０ｃにてマイグレーションされたセグメントを持つ論理ボリューム１１１０と関連を持った論理ボリューム１１１０に対して、セグメント単位のマイグレーション指示処理を行う。
【０１７１】
図３４は、本実施例において、関連先ボリュームに対するセグメント単位のマイグレーション指示処理を行う際のシーケンスを示している。
【０１７２】
当該処理では、まずステップＳ５０００ｃにてセグメント単位のマイグレーション指示プログラム４１８０ｃが、ポリシ割当てテーブル４１７０を参照し、構成管理プログラム４１１０から指定された論理ボリューム１１１０と関連のある論理ボリューム１１１０を探す。
【０１７３】
次にステップＳ５０１０ｃにて、セグメント単位のマイグレーション指示プログラム４１８０が、該当するボリュームが存在するか否かを判定する。該当するボリュームが存在しない場合は本処理を終了する。該当するボリュームが存在する場合は、ステップＳ５０２０ｃに進む。
【０１７４】
ステップＳ５０２０ｃでは、セグメント単位のマイグレーション指示プログラム４１８０ｃが、関連ポリシテーブル４１６０を参照し、ステップＳ５０００ｃで発見した論理ボリューム１１１０をセグメント単位でマイグレーションするタイミングを特定する。
【０１７５】
次にステップＳ５０３０ｃにて、セグメント単位のマイグレーション指示プログラム４１８０ｃが、現時点がステップＳ５０２０ｃで特定したタイミングに該当するか否かを判定する。該当しない場合は本処理を終了する。該当する場合はステップＳ５０４０ｃに進む。
【０１７６】
ステップＳ５０４０ｃでは、セグメント単位のマイグレーション指示プログラム４１８０ｃが、関連ポリシテーブルを参照し、ステップＳ５０００ｃで発見した論理ボリューム１１１０をセグメント単位でマイグレーションする条件を特定する。
【０１７７】
次にステップＳ５０５０ｃにて、セグメント単位のマイグレーション指示プログラム４１８０が、ステップＳ５０４０ｃで特定した条件が満たされているか否かを判定する。条件が満たされていない場合は本処理を終了する。条件が満たされている場合は、ステップＳ５０６０ｃに進む。
【０１７８】
ステップＳ５０６０ｃでは、セグメント単位のマイグレーション指示プログラム４１８０ｃが、関連ポリシテーブル４１６０を参照し、ステップＳ５０００ｃで発見した論理ボリューム１１１０をセグメント単位でマイグレーションするポリシ（関連ポリシ）を特定する。
【０１７９】
次にステップＳ５０７０ｃにて、セグメント単位のマイグレーション指示プログラム４１８０ｃが、構成情報テーブル４１２０と、セグメント情報テーブル４１２５ｃと、プール単位のストレージ階層テーブル４１４０ｃと、マイグレーションポリシテーブル４１５０と、ポリシ割当てテーブル４１７０と、を参照し、ステップＳ５０００ｃで発見した論理ボリューム１１１０のセグメントをマイグレーションする先のプール１１２０ｃを選択する。さらにセグメント単位のマイグレーション指示プログラム４１８０ｃは、選択したプール１１２０ｃに含まれる物理リソース１１２１の中から空き領域を選択する。なお、マイグレーション先のプール１１２０ｃを選択する方法には、例えば、ストレージ階層に含まれるプール１１２０ｃの内、ステップＳ４０１０で発見したセグメントより空き容量が大きいものを選択するなどの方法があるが、特に限定はしない。また、マイグレーション先のプール１１２０ｃやプール内の空き領域が１つも無い場合には、ログ出力などの方法により、その旨をユーザに通知する。
【０１８０】
次にステップＳ５０８０ｃにて、セグメント単位のマイグレーション指示プログラム４１８０ｃが、ステップＳ５０００ｃで発見した論理ボリュームに対するセグメント単位のマイグレーション処理を行うよう要求する。なお、前述のように本実施例においては、関連ボリュームのセグメントの内、ステップＳ４０２０にて処理の対象となった論理ボリューム１１１０のセグメントに対応するセグメントをマイグレーションする。
【０１８１】
図３５は、本実施例におけるセグメント単位のマイグレーション処理のシーケンスを示している。当該処理のステップＳ６０４０、Ｓ６０９０は、図１８に示すマイグレーション処理のステップＳ６０４０、Ｓ６０９０と同じであるため、説明は省略する。
【０１８２】
当該処理では、まずステップＳ６０００ｃにて、セグメント単位のマイグレーションプログラム１２１６ｃが、マイグレーション状態を含む物理リソース割当てテーブル１２１４ｃを参照し、セグメント単位のマイグレーション指示プログラム４１８０ｃに指定されたセグメントのマイグレーション状態を「マイグレーション中」に設定する。これにより、図３１に示したように当該セグメントに対する書き込みＩ／Ｏは、本時点以降、当該セグメントに対してではなく、メモリに対して行うようにＩ／Ｏ制御プログラム１２１２によって制御される。
【０１８３】
次にステップＳ６０１０ｃにて、セグメント単位のマイグレーションプログラム１２１６ｃが、セグメント単位のデータコピープログラム１２１５ｃに、マイグレーション元のセグメントに格納されたデータを、マイグレーション先のセグメントにコピーするように指示する。
【０１８４】
次にステップＳ６０２０ｃにて、セグメント単位のデータコピープログラム１２１５ｃが、マイグレーション元のセグメントに格納されたデータを、マイグレーション先のセグメントにコピーする。
【０１８５】
次にステップＳ６０３０ｃにて、セグメント単位のマイグレーションプログラム１２１６ｃが、Ｉ／Ｏ制御プログラム１２１２に、一時的に書き込みＩ／Ｏを停止するように要求する。
【０１８６】
ステップＳ６０５０ｃにて、セグメント単位のマイグレーションプログラム１２１６ｃが、Ｉ／Ｏ制御プログラム１２１２に、マイグレーション元のセグメントに関して、メモリ上に書き込まれているデータをマイグレーション先のセグメントに書き込むように要求する。
【０１８７】
次にステップＳ６０６０ｃにて、Ｉ／Ｏ制御プログラム１２１２は、物理リソース割当てテーブル１２１４を参照し、マイグレーション元のセグメントの内、メモリ上のＬＢＡ領域に書き込まれているデータを全て、マイグレーション先のセグメントに割り当てられた物理リソース上のＬＢＡ領域に書き込む。
【０１８８】
次にステップＳ６０７０ｃにて、セグメント単位のマイグレーションプログラム１２１６ｃが、マイグレーション状態を含む物理リソース割当てテーブル１２１４ｃを参照し、マイグレーション元のセグメントの物理リソースＩＤおよびＬＢＡ領域と、マイグレーション先のセグメントの物理リソースＩＤおよびＬＢＡ領域と、を入れ替える。
【０１８９】
次にステップＳ６０８０ｃにて、セグメント単位のマイグレーションプログラム１２１６ｃが、Ｉ／Ｏ制御プログラム１２１２に、書き込みＩ／Ｏを再開するように要求する。
【０１９０】
以上が第３実施例におけるデータ処理の手順である。これらの処理により、セグメント単位のマイグレーション機能を有するストレージサブシステム１０００ｃにおいても、関連のあるボリュームのペア（またはグループ）に対して、ユーザ要件に合わせてマイグレーションを制御することができる。
【０１９１】
Ｄ．第４実施例：
Ｄ１．システムの構成
図３６は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム１０００ｄと、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００ｄと、スイッチ装置５０００と、を有している。図中では、ストレージサブシステム１０００ｄと、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００ｄと、スイッチ装置５０００と、がそれぞれ１台ずつ存在しているがこの限りではなく、１台以上存在すれば良い。本構成の大部分は第３実施例の構成と同等であるため、以降は差分のみを説明する。
【０１９２】
図２６に示すデータ処理システムとの差異は、ストレージサブシステム１０００ｄがマイグレーション設定受信プログラム１２１７ｄと、セグメント情報テーブル４１２５ｃと、プール単位のストレージ階層テーブル４１４０ｃと、マイグレーションポリシテーブル４１５０と、関連ポリシテーブル４１６０と、ポリシ割当てテーブル４１７０と、を有している点と、管理計算機４０００ｄがセグメント情報テーブル４１２５ｃと、プール単位のストレージ階層テーブル４１４０ｃと、マイグレーションポリシテーブル４１５０と、関連ポリシテーブル４１６０と、ポリシ割当てテーブル４１７０と、を有していない点と、管理計算機４０００ｄがマイグレーション設定送信プログラム４１９０ｄを有している点、である。
【０１９３】
マイグレーション設定受信プログラム１２１７ｄは、マイグレーション設定送信プログラム４１９０ｄから送信されるマイグレーションに関する設定情報を受信するプログラムである。
【０１９４】
マイグレーション設定送信プログラム４１９０ｄは、ユーザがマイグレーション設定プログラム４１３０のユーザインタフェースを通じて入力した、マイグレーションポリシと、関連ポリシと、ポリシの割当て情報と、をマイグレーション受信プログラム１２１７ｄに送信するプログラムである。
【０１９５】
セグメント情報テーブル４１２５ｃと、プール単位のストレージ階層テーブル４１４０ｃと、マイグレーションポリシテーブル４１５０と、関連ポリシテーブル４１６０と、ポリシ割当てテーブル４１７０は、第３実施例において管理計算機４０００ｃが有していたテーブルと同じである。第４実施例においては、これらのテーブルをストレージサブシステム１０００ｄが保持する点が異なっている。
【０１９６】
Ｄ２．データ処理手順の説明
本実施例の動作の大部分は第３実施例の動作と同じであるため、以降は差分のみを説明する。第３実施例の処理シーケンスと本実施例の処理シーケンスでは、論理ボリューム１１１０のセグメントに対するマイグレーション処理と、当該ボリュームに関連を持つ論理ボリューム１１１０のセグメントに対するマイグレーション処理と、をストレージサブシステム１０００ｄ内のプログラムが行う点、および当該処理に必要となるポリシの設定情報を、管理計算機４０００ｄがストレージサブシステム１０００ｄに送信する点である。
【０１９７】
図３７は、本実施例においてマイグレーションポリシと、関連ポリシと、ポリシの割当て情報と、を管理計算機４０００ｄからストレージサブシステム１０００ｄに送信する処理のシーケンスを示している。
【０１９８】
当該処理では、まずステップＳ９０００にて、マイグレーション設定プログラム４１３０が、マイグレーション設定送信プログラム４０９０ｄに、ユーザが設定したマイグレーションポリシの情報と、関連ポリシの情報と、ポリシの割当ての情報と、をマイグレーション設定受信プログラム１２１７ｄに送信するように要求する。
【０１９９】
次にステップＳ９０１０にて、マイグレーション設定送信プログラム４０９０ｄが、マイグレーションポリシの情報と、関連ポリシの情報と、ポリシの割当ての情報と、をマイグレーション設定受信プログラム１２１７ｄに送信する。
【０２００】
次にステップＳ９０２０にて、マイグレーション設定受信プログラム１２１７ｄが、マイグレーションポリシの情報と、関連ポリシの情報と、ポリシの割当ての情報と、をそれぞれ、マイグレーションポリシテーブル４１５０と、関連ポリシテーブル４１６０と、ポリシ割当てテーブル４１７０と、に格納する。
【０２０１】
この他のプログラムによる処理の内容は第３実施例と同じため説明は省略する。
【０２０２】
以上が第３実施例におけるデータ処理の手順である。これらの処理により、ストレージサブシステム１０００ｄ上のプログラムによって、第３実施例と同じ効果を得ることができる。
【０２０３】
Ｅ．第５実施例：
Ｅ１．システムの構成
図３８は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム１０００ｅと、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００ｅと、スイッチ装置５０００と、を有している。図中では、ストレージサブシステム１０００ｅと、ホスト計算機２０００と、スイッチ装置３０００と、管理計算機４０００ｅと、スイッチ装置５０００と、がそれぞれ１台ずつ存在しているがこの限りではなく、１台以上存在すれば良い。本構成の大部分は第３実施例の構成と同等であるため、以降は差分のみを説明する。
【０２０４】
図２６に示すデータ処理システムとの差異は、本実施例におけるデータ処理システムが第二のストレージサブシステム６０００を有している点と、ストレージサブシステム１０００ｅがリモートコピー機能を持ったセグメント単位のデータコピープログラム１２１５ｅを有している点と、管理計算機４０００ｅが、階層間の対応関係を含むプール単位のストレージ階層テーブル４１４０ｅを有している点、である。
【０２０５】
第二のストレージサブシステム６０００はストレージサブシステム１０００ｅと同等であるため、説明は省略する。
【０２０６】
リモートコピー機能を持ったセグメント単位のデータコピープログラム１２１５ｅは、ストレージサブシステム１０００ｅが持つ論理ボリューム１１１０から第二のストレージサブシステム６０００が持つ論理ボリューム１１１０に、セグメント単位でデータをコピーするプログラムである。当該プログラムによるデータのコピーは、ストレージサブシステム１０００のＩ／Ｆ（Ａ）１２３０と、スイッチ装置５０００の持つＩ／Ｆ（Ａ）５１００と、第二のストレージサブシステム６０００が持つＩ／Ｆ（Ａ）１２３０と、を通じてデータを転送することで実現される。
【０２０７】
図３０に示すプール単位のストレージ階層テーブル４１４０ｃと、図３９に示す階層間の対応関係を含むプール単位のストレージ階層テーブル４１４０ｅとの差異は、階層間の対応関係を含むプール単位のストレージ階層テーブル４１４０ｅが、第二のストレージサブシステムＩＤ４１４０５ｅと、第二のプールＩＤ４１４０６ｅと、第二の空き容量４１４０７ｅと、第二のリソース種別４１４０８ｅと、を有している点である。
【０２０８】
Ｅ２．データ処理手順の説明
本実施例の動作の大部分は第３実施例の動作と同じであるため、以降は差分のみを説明する。第３実施例の処理シーケンスと本実施例の処理シーケンスでは、関連先ボリュームに対するセグメント単位のマイグレーション指示処理が異なる。
【０２０９】
図４０は、本実施例における関連先ボリュームに対するセグメント単位のマイグレーション指示処理のシーケンスを示している。
【０２１０】
当該処理のステップＳ５０００ｃ、Ｓ５０１０、Ｓ５０２０ｃ、Ｓ５０３０ｃ、Ｓ５０４０ｃ、Ｓ５０５０ｃ、Ｓ５０６０ｃは、図３４に示す関連先ボリュームに対するセグメント単位のマイグレーション指示処理のステップＳ５０００ｃ、Ｓ５０１０、Ｓ５０２０ｃ、Ｓ５０３０ｃ、Ｓ５０４０ｃ、Ｓ５０５０ｃ、Ｓ５０６０ｃと同じため、説明は省略する。
【０２１１】
当該処理では、ステップＳ５０７０ｅにて、セグメント単位のマイグレーション指示プログラム４１８０ｃが、複数ストレージ間の関連を含む構成情報テーブル４１２０ｂと、階層間の対応関係を含むプール単位のストレージ階層テーブル４１４０ｅと、セグメント情報テーブル４１２５ｃと、マイグレーションポリシテーブル４１５０と、ポリシ割当てテーブル４１７０と、を参照し、ステップＳ５０００ｃで発見したボリュームのセグメントのマイグレーション先の領域を選択する。
【０２１２】
次にステップＳ５０８０ｅにて、セグメント単位のマイグレーション指示プログラム４１８０ｃが、ステップＳ５０００ｃで発見したボリュームに対するセグメント単位のマイグレーションを、該当するストレージサブシステムが持つセグメント単位のマイグレーションプログラム１２１６ｃに指示する。
【０２１３】
この他のプログラムによる処理の内容は第３実施例と同じため説明は省略する。
【０２１４】
以上が第５実施例におけるデータ処理の手順である。これらの処理により、リモートコピーの関係のように、論理ボリューム１１１０が複数ストレージサブシステム間に跨った関係を持つ場合においても、第３実施例と同じ効果を得ることができる。
【符号の説明】
【０２１５】
１０００、１０００ｂ、１０００ｃ、１０００ｄ、１０００ｅ  ストレージサブシステム
１１００  ディスク装置
１１１０  論理ボリューム
１１２０  プール
１１２０ｃ  リソース種別ごとのプール
１１２１  物理リソース
１２００  ディスクコントローラ
１２１０  メモリ
１２１１  構成情報取得プログラム
１２１２  Ｉ／Ｏ制御プログラム
１２１３  ボリューム割当てテーブル
１２１３ｃ  ボリューム単位割当てテーブル
１２１４  物理リソース割当てテーブル
１２１４ｃ  マイグレーション状態を含む物理リソース割当てテーブル
１２１５  データコピープログラム
１２１５ｂ  リモートコピー機能を持ったデータコピープログラム
１２１５ｃ  セグメント単位のデータコピープログラム
１２１５ｅ  リモートコピー機能を持ったセグメント単位のデータコピープログラム
１２１６  マイグレーションプログラム
１２１６ｃ  セグメント単位のマイグレーションプログラム
１２１７ｄ  マイグレーション設定受信プログラム
１２２０  制御装置
１２３０  Ｉ／Ｆ（Ａ）
１２４０  Ｉ／Ｆ（Ｂ）
１２５０  ディスクＩ／Ｆ
２０００  ホスト計算機
２１００  メモリ
２１１０  アプリケーション
２２００  制御装置
２３００  Ｉ／Ｆ
３０００  スイッチ装置
３１００  Ｉ／Ｆ（Ａ）
３２００  Ｉ／Ｆ（Ｂ）
４０００  管理計算機
４１００  メモリ
４１１０  構成管理プログラム
４１２０  構成情報テーブル
４１２０ｂ  複数ストレージ間の関連を含む構成情報テーブル
４１２５ｃ  セグメント情報テーブル
４１３０  マイグレーション設定プログラム
４１４０  ストレージ階層テーブル
４１４０ｃ  プール単位のストレージ階層テーブル
４１４０ｂ  階層間の対応関係を含むストレージ階層テーブル
４１４０ｅ  階層間の対応関係を含むプール単位のストレージ階層テーブル
４１５０  マイグレーションポリシテーブル
４１６０  関連ポリシテーブル
４１７０  ポリシ割当てテーブル
４１８０  マイグレーション指示プログラム
４１８０ｃ  セグメント単位のマイグレーション指示プログラム
４１９０ｄ  マイグレーション設定送信プログラム
４２００  制御装置
４３００  Ｉ／Ｆ
５０００  スイッチ装置
５１００  Ｉ／Ｆ（Ａ）
５２００  Ｉ／Ｆ（Ｂ）
６０００  第二のストレージサブシステム
【図１】
0005501504.tif 000002
【図２】
0005501504.tif 000003
【図３】
0005501504.tif 000004
【図４】
0005501504.tif 000005
【図５】
0005501504.tif 000006
【図６】
0005501504.tif 000007
【図７】
0005501504.tif 000008
【図８】
0005501504.tif 000009
【図９】
0005501504.tif 000010
【図１０】
0005501504.tif 000011
【図１１】
0005501504.tif 000012
【図１２】
0005501504.tif 000013
【図１３】
0005501504.tif 000014
【図１４】
0005501504.tif 000015
【図１５】
0005501504.tif 000016
【図１６】
0005501504.tif 000017
【図１７】
0005501504.tif 000018
【図１８】
0005501504.tif 000019
【図１９】
0005501504.tif 000020
【図２０】
0005501504.tif 000021
【図２１】
0005501504.tif 000022
【図２２】
0005501504.tif 000023
【図２３】
0005501504.tif 000024
【図２４】
0005501504.tif 000025
【図２５】
0005501504.tif 000026
【図２６】
0005501504.tif 000027
【図２７】
0005501504.tif 000028
【図２８】
0005501504.tif 000029
【図２９】
0005501504.tif 000030
【図３０】
0005501504.tif 000031
【図３１】
0005501504.tif 000032
【図３２】
0005501504.tif 000033
【図３３】
0005501504.tif 000034
【図３４】
0005501504.tif 000035
【図３５】
0005501504.tif 000036
【図３６】
0005501504.tif 000037
【図３７】
0005501504.tif 000038
【図３８】
0005501504.tif 000039
【図３９】
0005501504.tif 000040
【図４０】
0005501504.tif 000041