(57)【特許請求の範囲】
【請求項１】
複数の物理ディスクから構成される記憶領域の一部を割り当てることにより動的に容量を拡張可能なボリュームを提供するストレージシステムと、前記ボリュームに対してデータを入出力するホスト計算機と、前記ボリュームを管理する管理サーバとを有するデータ処理システムにおいて、
前記管理サーバは、
前記ボリュームに割り当てられた前記記憶領域に格納されたデータを他の記憶領域に移行する際に、前記ボリュームを使用している前記ホスト計算機に対して、前記ホスト計算機と前記ボリュームとの接続状態を確認する確認部と、
前記確認部による確認の結果、前記ホスト計算機と前記ボリュームとが接続されていることが確認された場合には、前記ホスト計算機の要求に応じて予め設定された前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量を前記ストレージシステムに送信し、前記ホスト計算機と前記ボリュームとが接続されていないことが確認された場合には、現時点の前記記憶領域が割り当てられている前記ボリュームの容量を前記ストレージシステムに送信する送信部とを備え、
前記ストレージシステムは、
前記管理サーバから送信された、前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量または現時点の前記記憶領域が割り当てられている前記ボリュームの容量を、前記データを移行しようとする前記他の記憶領域に排他的に確保するように予約する予約部を備える
ことを特徴とするデータ処理システム。
【請求項２】
前記ストレージシステムは、
前記ボリュームに割り当てられた前記記憶領域に格納されたデータを前記他の記憶領域に移行する移行部と、
前記移行部により前記データを移行した後、前記予約部により予約された容量に未使用の容量がある場合に、前記未使用の容量の予約を開放する開放部とを備える
ことを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記移行部は、
前記ボリュームに割り当てられた前記記憶領域に格納されたデータを前記他の記憶領域にコピーする
ことを特徴とする請求項２に記載のデータ処理システム。
【請求項４】
前記ストレージシステムの予約部は、
前記他の記憶領域の未使用の容量を算出し、前記管理サーバの前記送信部により送信された容量を確保できる場合に、当該容量を前記他の記憶領域に予約し、前記管理サーバの前記送信部により送信された容量を確保できない場合には、当該容量を確保できない旨を前記管理サーバに通知する
ことを特徴とする請求項１に記載のデータ処理システム。
【請求項５】
前記ストレージシステムと接続された外部ストレージシステムを備え、
前記管理サーバの前記確認部は、
前記ボリュームの前記記憶領域に格納されたデータを前記外部ストレージシステムの外部記憶領域に移行する際に、前記ホスト計算機と前記ボリュームとの接続状態を確認し、
前記ストレージシステムの前記予約部は、
前記管理サーバの前記送信部により送信された容量を前記外部記憶領域に予約する
ことを特徴とする請求項１に記載のデータ処理システム。
【請求項６】
前記ストレージシステムは、
前記外部ストレージシステムの前記外部記憶領域を、前記ボリュームの仮想的な記憶領域として使用する
ことを特徴とする請求項５に記載のデータ処理システム。
【請求項７】
複数の物理ディスクから構成される記憶領域の一部を割り当てることにより動的に拡張可能なボリュームを提供するストレージシステムと、前記ボリュームに対してデータを入出力するホスト計算機と、前記ボリュームを管理する管理サーバとを有するデータ処理システムのデータ管理方法において、
前記ボリュームに割り当てられた前記記憶領域に格納されたデータを他の記憶領域に移行する際に、前記ボリュームを使用している前記ホスト計算機に対して、前記ホスト計算機と前記ボリュームとの接続状態を確認する第１のステップと、
前記第１のステップにおける確認結果に基づいて、前記ホスト計算機と前記ボリュームとが接続されていることが確認された場合には、前記ホスト計算機の要求に応じて予め設定された前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量を前記ストレージシステムに送信し、前記ホスト計算機と前記ボリュームとが接続されていないことが確認された場合には、現時点の前記記憶領域が割り当てられている前記ボリュームの容量を前記ストレージシステムに送信する第２のステップと、
前記第２のステップにおいて送信された、前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量または現時点の前記記憶領域が割り当てられている前記ボリュームの容量を、前記データを移行しようとする前記他の記憶領域に排他的に確保するように予約する第３のステップを備える
ことを特徴とするデータ管理方法。
【請求項８】
前記ボリュームに割り当てられた前記記憶領域に格納されたデータを前記他の記憶領域に移行する第４のステップと、
前記第４のステップにおいて前記データを移行した後、前記予約部により予約された容量に未使用の容量がある場合に、前記未使用の容量の予約を開放する第５のステップとを備える
ことを特徴とする請求項７に記載のデータ管理方法。
【請求項９】
前記第４のステップでは、
前記ボリュームに割り当てられた前記記憶領域に格納されたデータを前記他の記憶領域にコピーする
ことを特徴とする請求項８に記載のデータ管理方法。
【請求項１０】
前記第３のステップでは、
前記他の記憶領域の未使用の容量を算出し、前記第２のステップにおいて送信された容量を確保できる場合に、当該容量を前記他の記憶領域に予約し、前記第２のステップにおいて送信された容量を確保できない場合には、当該容量を確保できない旨を前記管理サーバに通知する
ことを特徴とする請求項７に記載のデータ管理方法。
【請求項１１】
前記ストレージシステムと接続された外部ストレージシステムを備え、
前記第１のステップでは、
前記ボリュームの前記記憶領域に格納されたデータを前記外部ストレージシステムの外部記憶領域に移行する際に、前記ホスト計算機と前記ボリュームとの接続状態を確認し、
前記第３のステップでは、
前記第２のステップにおいて送信された容量を前記外部記憶領域に予約する
ことを特徴とする請求項７に記載のデータ処理システム。
【請求項１２】
前記ストレージシステムは、
前記外部ストレージシステムの前記外部記憶領域を、前記ボリュームの仮想的な記憶領域として使用する
ことを特徴とする請求項１１に記載のデータ処理システム。
【請求項１３】
複数の物理ディスクから構成される記憶領域の一部を割り当てることにより動的に容量を拡張可能なボリュームに対してデータを入出力するホスト計算機に接続され、前記ホスト計算機に前記ボリュームを提供するストレージシステムにおいて、
前記ボリュームに割り当てられた前記記憶領域に格納されたデータを他の記憶領域に移行する際に、前記ボリュームを使用している前記ホスト計算機に対して、前記ホスト計算機と前記ボリュームとの接続状態を確認する確認部と、
前記確認部の確認結果に基づいて、前記ホスト計算機と前記ボリュームとが接続されていることが確認された場合には、前記ホスト計算機の要求に応じて予め設定された前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量を、前記データを移行しようとする前記他の記憶領域に排他的に確保するように予約し、前記ホスト計算機と前記ボリュームとが接続されていないことが確認された場合には、現時点の前記記憶領域が割り当てられている前記ボリュームの容量を、前記他の記憶領域に排他的に確保するように予約する予約部を備える
ことを特徴とするストレージシステム。
【請求項１４】
前記ボリュームに割り当てられた前記記憶領域に格納されたデータを前記他の記憶領域に移行する移行部と、
前記移行部により前記データを移行した後、前記予約部により予約された容量に未使用の容量がある場合に、前記未使用の容量の予約を開放する開放部とを備える
ことを特徴とする請求項１３に記載のストレージシステム。
【請求項１５】
前記移行部は、
前記ボリュームに割り当てられた前記記憶領域に格納されたデータを前記他の記憶領域にコピーする
ことを特徴とする請求項１４に記載のストレージシステム。
【請求項１６】
前記予約部は、
前記他の記憶領域の未使用の容量を算出し、前記ホスト計算機が要求する前記ボリュームの最大の容量、又は現時点の前記ボリュームの容量を確保できる場合に、当該容量を前記他の記憶領域に予約し、前記ホスト計算機が要求する前記ボリュームの最大の容量、又は現時点の前記ボリュームの容量を確保できない場合には、当該容量を確保できない旨を前記管理サーバに通知する
ことを特徴とする請求項１３に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的に容量拡張が可能な記憶領域をホスト計算機に提供するデータ処理システム及びデータ管理方法並びにストレージシステムに関するものである。
【背景技術】
【０００２】
近年、データの記憶領域をホスト計算機に提供するストレージシステムでは、非常に数多くの大容量物理ディスクを備えることが可能となり、記憶容量の大規模化が進んでいる。このようなストレージシステムでは、まず物理ディスクから、ＲＡＩＤ（Redundant Array of Independent Disks）構成されたディスクアレイを作成し、この物理的な記憶リソースを複数個集めて、プール領域を作成しておき、そのプール領域からホスト計算機が要求する容量の記憶領域を論理ボリュームとして作成し、ホスト計算機に提供する。
【０００３】
この場合、ストレージシステムの大規模化に伴い、ホスト計算機が要求する記憶領域のサイズも大規模化しており、ストレージシステムを導入する際に、全容量分である大量の物理ディスクを一度に準備しなければならない。しかしながら、技術の進歩等のため、新しく投入される物理ディスクを追加するほうが信頼性の高いストレージシステムを構築することができる。また、クライアントによっては、準備する容量を決定することができず、物理ディスクをどのくらい準備するかを確定することができない場合がある。
【０００４】
そこで、導入初期から物理ディスクをホスト計算機に提供する全容量分準備せずに、ディスク使用量が容量上限に近づいたときに、必要に応じ物理ディスクを追加し、ホスト計算機に提供する記憶容量を動的に変化させる技術が発明された（例えば、特許文献１参照）。
【０００５】
この技術は、前記のストレージシステムにおいて、プール領域から固定容量の論理ボリュームを作成せずに、まずホスト計算機に仮想的な論理ボリュームを提供する。そして、ホスト計算機からのＩ／Ｏ（Input/Output）に応じて、その仮想的な論理ボリュームに対して、ある単位で記憶領域（以下、この記憶領域の単位をセグメントと呼ぶ）を、物理リソースであるプール領域から動的に割り当てることで動的な容量拡張を実現する。
【０００６】
また、ストレージシステムを用いた運用を続けると、使用頻度の低いデータを信頼性、応答性及び耐久性の高い高価なディスクに保存したままになることがある。この場合、必要以上に高価なディスク容量を使用することになり、高価なディスクを効率的に使用することができないという問題があった。
【０００７】
しかし、米国法規制により電子メールや医療データは、使用頻度が少ない場合であっても、ある一定期間データを保存しなければならない。そのため、高価なディスクから、当該高価なディスクに比して信頼性、応答性及び耐久性の劣る安価なディスクへデータを移行する技術が発明された（例えば、特許文献２、３、４参照）。
【０００８】
データの移行先としては、同一ストレージシステム内の記憶領域や（特許文献２参照）、異なるストレージシステムの記憶領域や（特許文献３参照）、仮想的に１台のストレージシステムとして管理している、異なるストレージシステムの記憶領域がある（特許文献４参照）。また、この技術は、ＲＡＩＤを構成した１つのディスクアレイに、ホスト計算機からのＩ／Ｏが集中した時の負荷分散のために、データを複数のディスクアレイに分散するためにも使用される。
【特許文献１】特願２００３−０１５９１５号公報
【特許文献２】特願２０００−２９３３１７号公報
【特許文献３】米国特許第６１０８７４８号明細書
【特許文献４】特願２００３−３４５５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記特許文献１によれば、ホスト計算機に割り当てられた仮想的な論理ボリュームの動的な容量拡張は、ホスト計算機から論理ボリュームへのＩ／Ｏ要求が発生したときに、物理リソースであるプール領域の残り容量が存在する限り、特に制限なく行われる。よって、複数のホスト計算機が使用する複数の論理ボリュームに対し、１つのプール領域から動的にセグメントを割り当てる場合、どのホスト計算機からのＩ／Ｏ要求であっても、要求時刻の早いものから順番にプール領域からセグメントを割り当てることになる。
【００１０】
そのため、動的な容量拡張が可能な論理ボリュームに対して、データ移行を実行する場合で、かつ、データ移行先のプール領域を、別のホスト計算機の動的な容量拡張が可能な論理ボリュームが使用していた場合には、データ移行開始時には移行先のプール容量がデータ移行完了のために十分あったとしても、データ移行中に別の論理ボリュームにセグメントが割り当てられ、この結果、移行先のプール領域の容量が不足し、データ移行が失敗するという問題がある。
【課題を解決するための手段】
【００１１】
かかる課題を解決するために本発明の一形態においては、複数の物理ディスクから構成される記憶領域の一部を割り当てることにより動的に容量を拡張可能なボリュームを提供するストレージシステムと、前記ボリュームに対してデータを入出力するホスト計算機と、前記ボリュームを管理する管理サーバとを有するデータ処理システムにおいて、前記管理サーバは、前記ボリュームに割り当てられた前記記憶領域に格納されたデータを他の記憶領域に移行する際に、前記ボリュームを使用している前記ホスト計算機に対して、前記ホスト計算機と前記ボリュームとの接続状態を確認する確認部と、前記確認部による確認の結果、前記ホスト計算機と前記ボリュームとが接続されていることが確認された場合には、前記ホスト計算機の要求に応じて予め設定された前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量を前記ストレージシステムに送信し、前記ホスト計算機と前記ボリュームとが接続されていないことが確認された場合には、現時点の前記記憶領域が割り当てられている前記ボリュームの容量を前記ストレージシステムに送信する送信部とを備え、前記ストレージシステムは、前記管理サーバから送信された、前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量または現時点の前記記憶領域が割り当てられている前記ボリュームの容量を、前記データを移行しようとする前記他の記憶領域に排他的に確保するように予約する予約部を備えるようにした。
【００１２】
また、本発明の他の形態においては、複数の物理ディスクから構成される記憶領域の一部を割り当てることにより動的に拡張可能なボリュームを提供するストレージシステムと、前記ボリュームに対してデータを入出力するホスト計算機と、前記ボリュームを管理する管理サーバとを有するデータ処理システムのデータ管理方法において、前記ボリュームに割り当てられた前記記憶領域に格納されたデータを他の記憶領域に移行する際に、前記ボリュームを使用している前記ホスト計算機に対して、前記ホスト計算機と前記ボリュームとの接続状態を確認する第１のステップと、前記第１のステップにおける確認結果に基づいて、前記ホスト計算機と前記ボリュームとが接続されていることが確認された場合には、前記ホスト計算機の要求に応じて予め設定された前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量を前記ストレージシステムに送信し、前記ホスト計算機と前記ボリュームとが接続されていないことが確認された場合には、現時点の前記記憶領域が割り当てられている前記ボリュームの容量を前記ストレージシステムに送信する第２のステップと、前記第２のステップにおいて送信された、前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量または現時点の前記記憶領域が割り当てられている前記ボリュームの容量を、前記データを移行しようとする前記他の記憶領域に排他的に確保するように予約する第３のステップを備えるようにした。
【００１３】
さらに、本発明の他の形態においては、複数の物理ディスクから構成される記憶領域の一部を割り当てることにより動的に容量を拡張可能なボリュームに対してデータを入出力するホスト計算機に接続され、前記ホスト計算機に前記ボリュームを提供するストレージシステムにおいて、前記ボリュームに割り当てられた前記記憶領域に格納されたデータを他の記憶領域に移行する際に、前記ボリュームを使用している前記ホスト計算機に対して、前記ホスト計算機と前記ボリュームとの接続状態を確認する確認部と、前記確認部の確認結果に基づいて、前記ホスト計算機と前記ボリュームとが接続されていることが確認された場合には、前記ホスト計算機の要求に応じて予め設定された前記ボリュームに前記記憶領域を割り当てる必要のある最大の容量を、前記データを移行しようとする前記他の記憶領域に排他的に確保するように予約し、前記ホスト計算機と前記ボリュームとが接続されていないことが確認された場合には、現時点の前記記憶領域が割り当てられている前記ボリュームの容量を、前記他の記憶領域に排他的に確保するように予約する予約部を備えるようにした。
【００１４】
従って、他の記憶領域を別のホスト計算機の動的な容量拡張が可能なボリュームが使用していた場合にも、データ移行中に別の論理ボリュームにセグメントが割り当てられるのを防止することができる。
【発明の効果】
【００１５】
本発明によれば、データ移行の失敗を未然かつ有効に防止する信頼性の高いデータ処理システム及びデータ管理方法並びにストレージシステムを実現できる。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。なお、本実施例によって本発明が限定されることはない。
【００１７】
（１）第１実施例
（１−１）システムの構成
図１は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システム９００は、複数のホスト計算機１００、管理サーバ２００、ストレージシステム３００を有している。ホスト計算機１００とストレージシステム３００はそれぞれストレージエリアネットワーク（Storage Area Network）ＳＡＮ５４０に接続されている。ストレージシステム３００には、管理用ネットワークＭＮ５２０を介して管理サーバ２００が接続されている。また、ホスト計算機１００と管理サーバ２００とは、ローカルエリアネットワーク（Local Area Network）ＬＡＮ５１０にそれぞれ接続されている。なお、本実施例ではホスト計算機１００が２台となっているが、１台又は２台以上であってもよい。また、本実施例では、ＬＡＮ５１０と管理ネットワークＭＮ５２０、ＳＡＮ５４０は同一のネットワークであってもよい。さらに、本実施例では、管理サーバ２００とストレージシステム３００とを、一体に構成したストレージシステムであっても良い。
【００１８】
ホスト計算機１００は、ＣＰＵ（Central Processing Unit）（中央演算処理装置）１１０、メモリ１２０、ローカルエリアネットワークＬＡＮ５１０との接続のためのインタフェース１９０と、ストレージエリアネットワークＳＡＮ５４０との接続のためのインタフェース１９１と、を有している。これらの各構成要素はバス１８０を介して互いに接続されている。ホスト計算機１００の機能は、ＣＰＵ１１０がプログラムを実行することによって実現されている。このホスト計算機１００は、例えば、ストレージエリアネットワークＳＡＮ５４０を介して、ストレージシステム３００に対してデータの入出力を行うようになされている。
【００１９】
メモリ１２０は、ＣＰＵ１１０が用いるデータとプログラムとを記憶する。特に、メモリ１２０は、エージェントプログラム１２１、ボリュームマネージャ１２２を有している。エージェントプログラム１２１は、ＣＰＵ１１０によって実行されるプログラムであり、ホスト計算機１００の情報を管理サーバ２００に伝送するプログラムである。ボリュームマネージャ１２２は、ＣＰＵ１１０によって実行されるプログラムであり、ストレージシステム３００から提供されるボリュームのマウント、アンマウント処理を実行する。
【００２０】
ホスト計算機１００は他に、ホスト計算機のユーザがデータを入力するためのデータ入力装置や、ホスト計算機のユーザに情報を提示する表示装置を有しているが、本特許とは直接関係がないため、図示はしない。
【００２１】
管理サーバ２００は、ＣＰＵ２１０と、メモリ２２０と、ローカルエリアネットワークＬＡＮ５１０との接続のためのインタフェース２９０と、管理用ネットワークＭＮ５２０との接続のためのインタフェース２９１と、を有している。これらの各構成要素はバス２８０を介して互いに接続されている。管理サーバ２００の機能は、ＣＰＵ２１０がプログラムを実行することによって実現されている。
【００２２】
メモリ２２０は、ＣＰＵ２１０が用いるデータとプログラムとを記憶する。特に、メモリ２２０は、ストレージ管理プログラム２２１と、オンオフ管理テーブル２２２と、ボリューム管理テーブル２２３と、を有している。ストレージ管理プログラム２２１は、ＣＰＵ２１０によって実行されるプログラムである。
【００２３】
オンオフ管理テーブル２２２は、図２に示すように、ホスト計算機１００がストレージシステム３００から提供されるボリュームとの接続状態がオンラインかオフラインかを示すテーブルであり、ホスト計算機を識別するためのホストＷＷＮ（World Wide Name）２２２０、ストレージシステムを識別するための装置ＩＤ２２２１、論理ボリュームの識別番号であるＬＵＮ（Logical Unit Number）２２２２、ホスト計算機１００が論理ボリュームに接続されているか否か、すなわち論理ボリュームの接続状態を示すオンラインカラム２２２３の４つのカラムから構成される。この場合、オンラインのときには、ホスト計算機１００が論理ボリュームに接続されており、オフラインのときには、ホスト計算機１００が論理ボリュームに接続されていないことを示している。なお、オンラインカラム２２２３は図の例では「０」がオフライン、「１」がオンラインを表しているが、必ずしもこの方法で表現する必要は無い。
【００２４】
ボリューム管理テーブル２２３は、図３に示すように論理ボリュームに割り当てられているサイズの情報を示すテーブルであり、ホストＷＷＮ２２３０、装置ＩＤ２２３１、ＬＵＮ２２３２、ホスト計算機が予め設定した当該論理ボリュームに割り当てる最大のセグメントサイズを格納するためのホスト要求最大サイズ２２３３、論理ボリュームに割り当てられているセグメントサイズを格納するための割り当て済みセグメントサイズ２２３４から構成される。
【００２５】
管理サーバ２００は、他に、管理サーバのユーザがデータを入力するためのデータ入力装置や、管理サーバのユーザに情報を提示する表示装置を有しているが、本特許とは直接関係がないため、図示はしない。
【００２６】
ストレージシステム３００は、ホスト計算機１００にデータ記憶領域を提供する。ストレージシステム３００は、制御装置３０５と、ホスト計算機に提供する仮想的な論理ボリューム３５０と、仮想的な論理ボリュームにセグメントを割り当てるための物理リソースであるプール領域３６１、３６２と、ストレージエリアネットワークＳＡＮ５４０との接続のためのインタフェース３９０と、管理用ネットワークＭＮ５２０との接続のためのインタフェース３９１と、を有している。これらの各構成要素はバス３８０を介して互いに接続されている。
【００２７】
ここで、複数のハードディスクから構成されるＲＡＩＤ上の論理デバイスを、物理リソースとして用語定義する。また、論理ボリュームとは、１つ以上の物理リソースから構成され、ホスト計算機にデータを格納するための論理的な記憶領域として提供されるボリュームのことを表している。プール領域は複数の物理ディスクから構成される。ホスト計算機から入力されたデータは、プール領域の物理ディスクに格納される。プール領域３６１、３６２は図中では２つ存在しているがこの限りではなく、１つ以上あれば良い。
【００２８】
制御装置３０５は、ＣＰＵ３１０と、メモリ３２０と、を有している。また、メモリ３２０は、ＣＰＵ３１０が種々の処理を実行する際に用いるデータとプログラムと、を記憶する。メモリ３２０は、セグメント管理テーブル３２１と、物理論理管理テーブル３２２と、セグメント管理プログラム３２３と、データ移行プログラム３２４と、を有している。各モジュールは、ＣＰＵ３１０によって実行されるプログラムである。
【００２９】
セグメント管理テーブル３２１は、図４に示すように、ボリュームに割り当てられているセグメントの情報を示すテーブルであり、プール領域を識別するためのプールＩＤ３２１０、プール領域内の物理ディスクを識別するディスクＩＤ３２１１、論理ボリュームに割り当てられるセグメントのセグメント番号３２１２、セグメントのＬＢＡ（Logical Block Address）（論理ブロックアドレス）開始アドレス３２１３、セグメントのＬＢＡ終了アドレス３２１４、ボリューム使用中を表すカラム３２１５、データ移行のための予約状態を表すカラム３２１６、予約している論理ボリュームを表すカラム３２１７の８つのカラムから構成される。ここで、「予約」とは、プール領域の容量を他の論理ボリュームに使用させないように排他的に確保することをいう。セグメントのＬＢＡ開始アドレス３２１３、セグメントのＬＢＡ終了アドレス３２１４で表されるセグメントのサイズは固定値であっても固定値でなくてもよい。
【００３０】
ボリューム使用中を表すカラム３２１５は図の例では「０」が未使用、「１」が使用中を表しているが、必ずしもこの方法で表現する必要は無い。データ移行のための予約状態を表すカラム３２１６は、データ移行を実行する前に、データ移行を確実に実行するために、データ移行プログラム３２４がセグメントを予約するときに、予約状態を表すカラムである。この予約状態を表すカラム３２１６も図の例では「０」が未予約、「１」が予約中を表しているが、必ずしもこの方法で表現する必要は無い。予約している論理ボリュームを表すカラム３２１７には、予約状態を表すカラム３２１６で予約している、データ移行元の装置と論理ボリュームを示す情報を設定する。実際に設定する値は、データ移行元の装置と論理ボリュームを一意に識別できる情報であれば、どのような形態を取ってもよい。
【００３１】
物理論理管理テーブル３２２は、図５に示すように、ＬＵＮ３２２０、セグメント番号３２２１、ＬＵＮのＬＢＡ開始アドレス３２２２、ＬＵＮのＬＢＡ終了アドレス３２２３の４つのカラムから構成される。物理論理管理テーブル３２２は、ホスト計算機１００に割り当てられたセグメントと、ホスト計算機が使用している論理ボリュームのＬＢＡを対応させるテーブルである。
【００３２】
セグメント管理プログラム３２３は、ＣＰＵ３１０によって実行されるプログラムであり、ホスト計算機１００に提供するボリュームに割り当てるセグメントを管理するプログラムである。データ移行プログラム３２４は、ＣＰＵ３１０によって実行されるプログラムであり、記憶領域間のデータ移行を実行するプログラムである。
【００３３】
ここで、図６に、本実施形態の論理ボリュームの一例を示す。本例では、論理ボリューム３５００に対し、第１のプール３６１０の第１の物理リソース３６１１、第２の物理リソース３６１２のセグメントが割当てられている。
【００３４】
この論理ボリューム３５００の構成情報は、図５の物理論理管理テーブル３２０で管理されている。ＬＵＮ３２２０には、ホスト計算機１００からの当該論理ボリューム３５００を識別するための番号として「０」が格納されている。セグメント番号３２２１には、当該論理ボリュームに割当てられたセグメントの識別番号の「１」及び「３」が格納されている。ＬＵＮの開始アドレス３２２２、ＬＵＮの終了アドレス３２２３には、ホスト計算機１００から利用される各領域のアドレスが格納されている。
【００３５】
また、この論理ボリューム３５００に割当てている第１のプール３６１０の物理リソース３６１１、第２の物理リソース３６１２のセグメントの情報は、図４のセグメント管理テーブル３２１で管理されている。プール番号３２１０には、プールの識別番号として、「０」が格納されている。ディスクＩＤ３２１１には、第１の物理リソース３６１１、第２の物理リソース３６１２の識別番号として「０」、「１」が格納されている。セグメント番号３２１２には、セグメントの識別番号として、「０」から「１０」までの値が格納されている。ＬＢＡ開始アドレス３２１３、ＬＢＡ終了アドレス３２１４には、各セグメントのアドレスが格納されている。使用状況３２１５には、セグメントが論理ボリュームに割当済か、未割当かの情報が格納されている。本例では、当該論理ボリューム３５００へ割当済みのセグメントであるセグメント番号「１」、セグメント番号「３」に対して「割当済」を意味する「１」が格納されている。
【００３６】
本例にて示すように、物理論理管理テーブル３２２及びセグメント管理テーブル３２１によって、論理ボリュームの構成情報は管理されている。
【００３７】
（１−２）データ処理手順の説明
図７に各装置間のシーケンスの概要を示す。まずフローＳ１０１において、管理サーバ２００はデータ移行するための移行元ボリュームとホスト計算機１００との接続状態を取得するために、ホスト計算機１００に対してボリュームの接続状態を問い合わせる。次にフローＳ１０２において、ホスト計算機１００は該当ボリュームの接続状態を調査し、その結果を管理サーバ２００に送信する。
【００３８】
次にフローＳ１０３において、管理サーバ２００はホスト計算機１００のボリュームの接続状態の結果から、データ移行のために必要な領域を算出し、ストレージシステム３００に対して領域予約要求を送信する。
【００３９】
次にフローＳ１０４において、ストレージシステム３００は管理サーバ２００が要求してきたサイズのプール領域を予約する。
【００４０】
次にフローＳ１０５において、管理サーバ２００はストレージシステム３００に対し、該当論理ボリュームのデータ移行要求を出す。最後にフローＳ１０６において、ストレージシステムは該当論理ボリュームのデータ移行を実行する。データ移行が終了した後に、未使用の予約領域が残っていた場合は、予約を解除し領域を解放する。以下、各フローを詳細に説明する。
【００４１】
図８にフローＳ１０１とフローＳ１０２の詳細な手順を示す。ステップＳ２０１において、管理サーバ２００内のストレージ管理プログラム２２１がデータ移行を実行するボリュームの使用状態をホスト計算機１００に問い合わせる。このときストレージ管理プログラム２２１はホスト計算機１００に対し、該当するボリュームの装置ＩＤ、ＬＵＮを送信する。
【００４２】
ステップＳ２０２において、ホスト計算機１００内のボリュームマネージャ１２２が指定されたボリュームの使用状態を確認する。ホスト計算機１００が該当ボリュームをマウントしていればオンライン、マウントしていなければオフラインと判断する。
【００４３】
ステップＳ２０３において、ホスト計算機１００内のエージェントプログラム１２１がボリュームマネージャの接続情報の結果を受け、管理サーバ２００のストレージ管理プログラム２２１に対してボリュームの使用状態がオンラインかオフラインかどうかを送信する。
【００４４】
ステップＳ２０４において、管理サーバ２００はボリュームの接続状態の結果がオンラインかオフラインかどうかを判断する。ボリュームの接続状態がオンラインであればステップＳ２０５に進む。オフラインであればステップＳ２０６に進む。
【００４５】
ステップＳ２０５において、管理サーバ２００内のストレージ管理プログラム２２１はオンオフ管理テーブル２２２の該当ボリュームの接続状態の該当カラム２２２３をオンライン（＝「１」）に更新する。
【００４６】
ステップＳ２０６において、管理サーバ２００内のストレージ管理プログラム２２１はオンオフ管理テーブル２２２の該当ボリュームの接続状態の該当カラム２２２３をオフライン（＝「０」）に更新する。
【００４７】
次にプール領域の予約を要求するフローＳ１０３の詳細を図９に示す。まずステップＳ３０１において管理サーバ２００はオンオフ管理テーブル２２２の該当ボリュームの接続状態カラム２２２３から、該当ボリュームの接続状態を調べる。
【００４８】
ステップＳ３０２において、ボリュームの接続状態がオンラインかオフラインかを判断する。ボリュームの使用状態がオンラインであればステップＳ３０３に進む。オフラインであればステップＳ３０４に進む。
【００４９】
ステップＳ３０３において、ストレージ管理プログラム２２１は、ボリューム管理テーブル２２３のホスト要求最大サイズを表すカラム２２３３から予約する領域サイズを確認する。その後ステップＳ３０７に進む。
【００５０】
ステップＳ３０４において、ストレージ管理プログラム２２１は、ストレージシステム３００に対して、データ移行の該当ボリュームに対して現在割り当てられているサイズを取得する要求を送信する。このときストレージ管理プログラム２２１はストレージシステム３００に対し、該当ボリュームを識別するためのＬＵＮを送信する。
【００５１】
ステップＳ３０５において、セグメント管理プログラム３２３は、物理論理管理テーブル３２２のＬＵＮのＬＢＡ終了アドレス３２２３から割り当てられているセグメントサイズを確認し、管理サーバ２００に割り当て済みセグメントサイズを送信する。
【００５２】
ステップＳ３０６において、ストレージ管理プログラム２２１は、ボリューム管理テーブル２２３の割り当て済みセグメントサイズのカラム２２３４の値をセグメント管理プログラム３２３から送信された値に更新する。
【００５３】
ステップＳ３０７において、ストレージ管理プログラム２２１は、予約するボリュームの領域を確認し、ストレージシステム３００に対しプール領域予約要求を送信する。このときストレージ管理プログラム２２１は、ストレージシステム３００に対しデータ移行を行うボリュームのＬＵＮと予約するプール領域のサイズを送信する。
【００５４】
次にプール領域の予約を実行するフローＳ１０４の詳細を図１０に示す。まずステップＳ４０１において、ストレージシステム３００はストレージ管理プログラム２２１から予約するプールサイズとデータ移行を行うＬＵＮを受信する。
【００５５】
ステップＳ４０２において、セグメント管理プログラム３２３は、セグメント管理テーブル３２１から、管理サーバ２００が要求するサイズと、ＬＵＮの２つの情報から、現在使用しているプール領域とは別のプールＩＤを持つプール領域の中で未使用状態のセグメントサイズの和を計算し、ストレージ管理プログラム２２１からの要求サイズを確保できるかどうかを調査する。
【００５６】
ステップＳ４０３において、未使用状態のセグメントサイズの和がストレージ管理プログラム２２１からの要求サイズ以上であった場合は、要求サイズを確保可能と判断しステップＳ４０４へ進む。そうでない場合は要求サイズを確保不可能と判断し、ステップＳ４０５へ進む。
【００５７】
ステップＳ４０４において、セグメント管理プログラム３２３は、要求サイズを満たすだけの領域分のセグメントを予約するために、セグメント管理テーブル３２１のデータ移行のための予約状態を表すカラム３２１６の要求サイズ分だけ予約中（＝「１」）に更新し、さらに、予約されている論理ボリュームを表すカラム３２１７にデータ移行の該当ボリュームを表す装置ＩＤ、ＬＵＮを入力する。その後ステップＳ４０６において、管理サーバ２００に対して、プール領域の予約が成功したことを送信する。
【００５８】
ステップＳ４０５において、セグメント管理プログラム３２３は、管理サーバ２００に対して、プール領域の確保が失敗したことを送信する。
【００５９】
ステップＳ４０７において、ストレージ管理プログラム２２１は、プール領域確保の可否を受信し、予約完了したかどうかを判断する。予約が完了していればステップＳ１０５へ進む。完了していなければ、データ移行の処理を終了させ、管理サーバ２００を使用しているユーザに対し警告を発する。警告を発する方法は、例えば管理サーバ２００の表示装置（図示せず）にエラーメッセージを表示させてもよく、管理サーバ２００のスピーカ（図示せず）で警告音を鳴らしてもよい。こうすればユーザが適切に対処することが可能となる。
【００６０】
次にデータ移行を要求、実行するフローＳ１０５、Ｓ１０６の詳細を図１１に示す。ステップＳ５０１においてストレージ管理プログラム２２１は、ストレージシステム３００に対し、該当ボリュームのデータ移行要求を送信する。このときストレージ管理プログラム２２１はストレージシステム３００に対し、ＬＵＮを送信する。
【００６１】
ステップＳ５０２において、データ移行プログラム３２４は、物理論理管理テーブル３２２から、該当ボリュームに割り当てられているセグメントを確認する。実際に移行するデータはこのセグメントのデータのみである。
【００６２】
ステップＳ５０３において、データ移行プログラム３２４は、物理論理管理テーブルを参照しながら、各セグメントに対しデータ移行を実行する。
【００６３】
ステップＳ５０４において、セグメント管理プログラム３２３は、セグメント管理テーブル３２１の移行済みセグメント番号の使用状況カラム３２１５を使用中（＝「１」）に変更する。
【００６４】
ステップＳ５０５において、データ移行プログラム３２４は、物理論理管理テーブル３２２の該当ボリュームに割り当てられているセグメント番号カラム３２２１の値を移行前のセグメントの値から移行後のセグメントの値に変更する。
【００６５】
ステップＳ５０６において、セグメント管理プログラム３２３は、セグメント管理テーブル３２１の移行元データのあったセグメントのセグメント番号の使用状況カラム３２１５を未使用（＝「０」）に変更する。ステップＳ５０５からステップＳ５０６に進む間に、ホスト計算機１００から該当セグメントにアクセスがあった場合は、ＣＰＵ３１０はホスト計算機１００に対して移行後のセグメントのデータを提供する。
【００６６】
ステップＳ５０７において、データ移行プログラム３２４は、該当論理ボリュームの全てのデータ移行が完了したかどうかを調べる。全て完了していればステップＳ５０８へ進む。全データの移行が完了していない場合はＳ５０３へ戻る。
【００６７】
ステップＳ５０８において、セグメント管理プログラム３２３は、セグメント管理テーブル３２１の該当ボリュームに対する予約状況カラム３２１６と予約論理ボリュームカラム３２１７の値を「１」から「０」へ変更する。これにより該当ボリュームのデータ移行のための予約が解除され、セグメントの解放が実行される。
【００６８】
ステップＳ５０９において、データ移行プログラム３２４は、管理サーバ２００に対し、データ移行が完了したことを送信する。
【００６９】
上記のように、本実施例では、ストレージシステム３００が有するメモリ３２０内に、動的に論理ボリュームに割り当てられるセグメントを管理するセグメント管理テーブル３２１、割り当てられたセグメントと論理ボリュームのアドレスの対応関係を示す物理論理管理テーブル３２２、前記セグメントの管理を行うセグメント管理プログラム３２３、またデータ移行を実行するデータ移行プログラム３２４を備える。
【００７０】
また、管理サーバ２００が有するメモリ２２０内に、ホスト計算機とボリュームの接続関係を示すオンオフ管理テーブル２２１、ホストが要求する最大ボリューム容量を示すボリューム管理テーブル２２２、及び、ストレージシステムのボリュームの管理を行うボリューム管理プログラム２２３を備える。
【００７１】
そしてフローＳ１０１、Ｓ１０２、Ｓ１０３、Ｓ１０４、Ｓ１０５、Ｓ１０６を実行することで、動的な容量拡張が可能な論理ボリュームのデータ移行時における移行先領域の予約、解放が可能となり、データ移行時の失敗を防ぐことが実現可能となる。
【００７２】
具体的に、本実施の形態では、ホスト計算機に提供した仮想的な論理ボリュームに、ホスト計算機からのＩ／Ｏ要求に応じて物理リソースを割り当てることで、ボリュームの動的な領域拡張が可能な機能を有するストレージシステムにおいて、管理サーバはデータ移行実行の前にホスト計算機とホスト計算機に割り当てられているボリュームの接続関係を調べる。管理サーバにはホスト計算機とボリュームの接続関係を示すオンオフ管理テーブル、ホストが要求する最大ボリューム容量を示すボリューム管理テーブル、及び、ストレージシステムのボリュームの管理を行うボリューム管理プログラムを搭載する。ストレージシステムは動的に論理ボリュームに割り当てられるセグメントを管理するセグメント管理テーブル、割り当てられたセグメントと論理ボリュームのアドレスの対応関係を示す物理論理管理テーブル、前記セグメントの管理を行うセグメント管理プログラム、またデータ移行を実行するデータ移行プログラムを搭載する。
【００７３】
前記オンオフ管理テーブルにおいてデータ移行を行う該当論理ボリュームの状態がオフラインのときは、ストレージシステムに対し現在該当論理ボリュームに割り当てられているセグメントサイズの総容量を問い合わせ、そのサイズ分だけ移行先のプール領域を予約する。前記オンオフ管理テーブルにおいてデータ移行を行う該当論理ボリュームの状態がオンラインのときは、ボリューム管理テーブルのホスト要求最大サイズに基づき、ホストが要求するサイズ分だけデータ移行先のプール領域を予約する。容量不足等の原因で、予約が完了しない場合はストレージシステムは管理サーバに対して警告を発する。
【００７４】
予約が完了するとデータ移行処理を実行する。データ移行はセグメントごとに実行し、該当論理ボリュームに割り当てられているデータのみ移行する。データ移行実行後に予約していた領域で未使用の領域があれば予約を解除し、予約していたプール領域を解放する。
【００７５】
（２）第２実施例
（２−１）システムの構成
図１２は、第２実施例におけるデータ処理システム９００ｂの構成を示す説明図である。このデータ処理システム９００ｂは、複数のホスト計算機１００、管理サーバ２００、ストレージシステム３００ｂ及び外部ストレージシステム４００を有している。本構成の大部分は第１実施例の構成と同等であるため、以降は差分のみを説明する。
【００７６】
図１に示すデータ処理システム９００との差異は、外部ストレージシステム４００が存在すること、ストレージシステム３００ｂにおける制御装置３０５ｂ内のメモリ３２０ｂが外部ボリューム管理テーブル３２５及び外部ボリューム管理テーブル３２６を有していること、ストレージシステム３００ｂが外部ストレージシステム４００と接続するためのインタフェース３９２を有していること、プール領域３６２ｂを構成する記憶領域が外部ストレージシステム４００の記憶領域を仮想的にマッピングしたものであること、管理サーバのインタフェース２９１ｂが管理用ネットワークＭＮ５２０を介して、ストレージシステム３００ｂ、外部ストレージシステム４００と接続していること、である。
【００７７】
また、図１２ではＳＡＮ５４０の内部にスイッチ５００が明記されている。これはホスト計算機１００とストレージシステム３００ｂの接続と、ストレージシステム３００ｂと外部ストレージシステム４００との接続を明確に区別するためである。
【００７８】
本実施例では、外部ストレージシステム４００が１台となっているが、複数台あってもよい。また、ローカルエリアネットワークＬＡＮ５１０、管理用ネットワークＭＮ５２０、ストレージエリアネットワークＳＡＮ５４０は同一のネットワークであってもよい。
【００７９】
外部ストレージシステム４００は、ストレージシステム３００ｂの外部記憶装置として機能する。外部記憶装置とはストレージシステムと接続し、ストレージシステムが仮想的なボリュームを保持する場合の記憶領域を保持する記憶装置である。外部ストレージシステム４００は、制御装置４０５と、論理ボリューム４５０と、ストレージエリアネットワークＳＡＮ５４０との接続のためのインタフェース４９０と、管理用ネットワークＭＮ５２０との接続のためのインタフェース４９１と、を有している。これらの各構成要素はバス４８０を介して互いに接続されている。
【００８０】
制御装置４０５は、ＣＰＵ４１０と、メモリ４２０と、を有している。また、メモリ４２０は、ＣＰＵ４１０が種々の処理を実行する際に用いるデータとプログラムとを記憶する。
【００８１】
ストレージシステム３００ｂにおいて、図１のストレージシステム３００との相違点は、外部ボリューム管理テーブル３２５及び外部ボリューム管理テーブル３２６が存在すること、外部ストレージシステム接続用のインタフェース３９２を有すること、プール領域３６２ｂを構成する記憶領域が外部ストレージシステム４００の記憶領域を仮想的にマッピングしたものであること、である。
【００８２】
外部ボリューム管理テーブル３２５は、外部ストレージシステム４００のどの記憶領域がストレージシステム３００ｂのプール領域３６２ｂのディスクＩＤに対応するかを示すテーブルである。ボリューム管理テーブル３２５は、ストレージシステム３００ｂのディスクＩＤ３２５０、ストレージシステム３００ｂが外部ストレージシステム４００と接続するポートの識別子である外部ポートＷＷＮ３９２を表すカラム３２５１、外部ストレージシステムを表す装置ＩＤ３２５２、外部論理ボリュームのＬＵＮを表すカラム３２５３の４つのカラムで構成される。
【００８３】
外部ボリューム管理プログラム３２６は、ＣＰＵ３１０によって実行されるプログラムであり、外部ストレージシステム４００の論理ボリューム４５０を、プール領域３６２ｂを構成する記憶領域とするための管理プログラムである。
【００８４】
（２−２）データ処理手順の説明
本実施例の動作の大部分は第１実施例の動作と同じであるため、以降は差分のみを説明する。本実施例では、データ移行を実行する手順（図７のシーケンス）の前に、外部ストレージシステム４００の論理ボリューム４５０をストレージシステム３００ｂのプール領域の記憶領域として使用可能なように準備しておく必要がある。
【００８５】
図１４に外部ボリューム４５０をストレージシステム３００ｂのプール領域３６２ｂとしてマッピングする手順を示す。まず、ステップＳ６０１において、管理サーバ２００はストレージシステム３００ｂに対し、外部ボリューム４５０をプール領域３６２ｂとしてマッピングするための要求を送信する。このときボリューム管理プログラム２２３はストレージシステム３００ｂに対し、外部ストレージシステム４００の装置ＩＤ、外部ストレージシステム４００でマッピングするボリュームのＬＵＮ、外部ストレージシステムと接続する、ストレージシステム３００ｂの外部接続用ポートのポートＷＷＮを送信する。
【００８６】
ステップＳ６０２において、外部ボリューム管理プログラム３２６は指定されたボリュームがストレージシステム３００ｂと接続可能かをストレージシステム４００に対して確認する。
【００８７】
ステップＳ６０３において、外部ストレージシステム４００はストレージシステム３００ｂと接続可能か確認する。接続可能な場合はステップＳ６０４においてストレージシステム３００に対し、接続可能を通知し、ステップＳ６０６へ進む。接続不可能な場合は、ステップＳ６０５において、管理サーバ２００に対して外部ボリュームマッピング不可能を通知する。マッピング不可能を通知する方法は、例えば管理サーバ２００の表示装置（図示せず）にエラーメッセージを表示させてもよく、管理サーバ２００のスピーカ（図示せず）で警告音を鳴らしてもよい。こうすればユーザが適切に対処することが可能となる。
【００８８】
ステップＳ６０６において、外部ボリューム管理プログラム３２６は外部ボリューム管理テーブル３２５の外部ポートＷＷＮカラム３２５１、装置ＩＤカラム３２５２、外部論理ボリュームのＬＵＮカラム３２５３に、管理サーバ２００が指定した値を設定する。
【００８９】
ステップＳ６０７において、外部ボリューム管理プログラム３２６は、セグメント管理テーブル３２１から未使用のディスクＩＤを取得し、外部ボリューム管理テーブル３２５のディスクＩＤカラム３２５０に値を設定する。
【００９０】
ステップＳ６０８において、外部ボリューム管理プログラム３２６は、セグメント管理テーブル３２１のディスクＩＤカラム３２１１、プールＩＤカラム３２１０に、前記ディスクＩＤ、未使用のプールＩＤを設定し、さらに容量に適したセグメント番号を付与し、セグメント番号カラム３２１２に値を設定し、セグメント管理テーブル３２１を更新する。
【００９１】
ステップＳ６０９において、外部ボリューム管理プログラム３２６は、管理サーバ２００に対し、外部ボリュームマッピング完了を通知する。この処理以降は通常の運用を開始する。後にデータ移行を行う場合の手順は、第１実施例の図７のシーケンスと同じである。
【００９２】
上記の処理を行うことで、動的な容量拡張が可能な論理ボリュームにセグメントを割り当てるためのプール領域を保持するストレージシステムと、そのストレージシステムに接続しており、前記プール領域を有する外部ストレージシステムとの間の、データ移行時における移行先領域の予約、解放が可能となり、データ移行時の失敗を防ぐことが実現可能となる。
【００９３】
（３）第３実施例
（３−１）システムの構成
図１５は第３実施例におけるデータ処理システム９００ｃの構成を示す説明図である。このデータ処理システム９００ｃは、複数のホスト計算機１００、管理サーバ２００、ストレージシステム３００ｃを有している。本構成の大部分は第１実施例の構成と同等であるため、以降は差分のみを説明する。図１に示すデータ処理システム９００との差異は、ストレージシステム３００ｃにおけるメモリ３２０ｃがデータ移行プログラム３２４を保持せずに、ボリュームコピープログラム３２７を有していることである。
【００９４】
（３−２）データ処理手順の説明
本実施例の動作の大部分は第１実施例の動作と同じであるため、以降は差分のみを説明する。異なる処理は第１実施例の図７における手順のうち、データ移行実行要求Ｓ１０５及びデータ移行実行Ｓ１０６の部分が、ボリュームコピー実行要求ＳＳ１０５及びボリュームコピー実行ＳＳ１０６に変更する点である。
【００９５】
図１６に第３実施例におけるボリュームコピーの処理手順（フローＳＳ１０５、フローＳＳ１０６）を示す。まず、ステップＳ７０１において、管理サーバ２００は、ストレージシステム３００に対し該当論理ボリュームのボリュームコピー命令を送信する。このとき管理サーバ２００はストレージシステム３００に対し、コピーを実行する論理ボリュームのＬＵＮを送信する。
【００９６】
ステップＳ７０２において、ボリュームコピープログラム３２７は、コピーするデータを確認するために、物理論理管理テーブル３２２から該当論理ボリュームに割り当てられているセグメントを調べる。
【００９７】
ステップＳ７０３において、ボリュームコピープログラム３２７は、各セグメントごとにデータコピーを実行する。コピー先のプール領域はステップＳ４０４で予約した領域である。
【００９８】
ステップＳ７０４において、セグメント管理プログラム３２３は、セグメント管理テーブル３２１中のコピー済みのセグメントのセグメント番号を使用中（＝「１」）に変更する。
【００９９】
ステップＳ７０５において、セグメント管理プログラム３２３は、物理論理管理テーブル３２２の該当論理ボリュームに割り当てたセグメント番号を追加する。
【０１００】
ステップＳ７０６において、セグメント管理プログラム３２３は、セグメント管理テーブル３２１中のコピー済のセグメントの予約状況を未予約（＝「０」）に変更する。
【０１０１】
ステップＳ７０７において、ボリュームコピープログラム３２７は、該当論理ボリュームの全てのデータのコピーが完了したかどうかを調べる。全て完了していれば、ステップＳ７０８へ進む。全データのコピーが完了していなければ、ステップＳ７０３へ戻る。
【０１０２】
ステップＳ７０８において、ボリュームコピープログラム３２７は、管理サーバ２００に対して、ボリュームコピーが完了したことを送信する。
【０１０３】
上記処理によって、動的な容量拡張が可能な論理ボリュームにセグメントを割り当てるための、複数のプール領域間のデータコピー時におけるコピー先領域の予約が可能となり、データコピー時の失敗を防ぐことが実現可能となる。
【０１０４】
（４）第４実施例
（４−１）システムの構成
図１７は第４実施例におけるデータ処理システム９００ｄの構成を示す説明図である。このデータ処理システム９００ｄは、複数のホスト計算機１００、管理サーバ２００、ストレージシステム３００ｄ及び外部ストレージシステム４００を有している。本構成の大部分は第２実施例の構成と同等であるため、以降は差分のみを説明する。図１２に示すデータ処理システム９００ｂとの差異は、ストレージシステム３００ｂにおけるメモリ３２０ｂがデータ移行プログラム３２４を保持せずに、ボリュームコピープログラム３２７を有していることである。
【０１０５】
（４−２）データ処理手順の説明
本実施例の動作は第２実施例及び第３実施例の動作の組み合わせで実現される。以降はその組み合わせの手順を説明する。始めに外部ストレージシステム４００の論理ボリュームをストレージシステム３００ｄのプール領域の記憶領域とするために、外部論理ボリュームのマッピングを行う（図１４のステップＳ６０１からステップＳ６０９の処理）。次にホスト計算機１００と論理ボリュームの接続状態を確認する（図７のステップＳ１０１、ステップＳ１０２．詳細な手順は図８のステップＳ２０１からステップＳ２０５）。次にデータコピー実行前にプール領域の予約を行う（図７のステップＳ１０３、ステップＳ１０４．詳細な手順は図９及び図１０のステップＳ３０１からステップＳ３０７及び図１０のステップＳ４０１からステップＳ４０７）。その後ボリュームのコピーを実行する（図１６のＳ７０１からステップＳ７０８）。以上の手順で処理を実現する。
【０１０６】
（５）第５実施例：
（５−１）システムの構成
図１８は、第５実施例におけるデータ処理システム９００eの構成を示す説明図である。このデータ処理システム９００eは、複数のホスト計算機１００、１００e、管理サーバ２００、２００e、ストレージシステム３００、６００を有している。ホスト計算機１００とストレージシステム３００はそれぞれストレージエリアネットワークＳＡＮ５４０に接続されている。ストレージシステム３００には、管理用ネットワークＭＮ５２０を介して管理サーバ２００が接続されている。また、ホスト計算機１００と管理サーバ２００とのそれぞれは、ＬＡＮ５１０に接続されている。
【０１０７】
また、ホスト計算機１００eとストレージシステム６００はそれぞれストレージエリアネットワークＳＡＮ５４１に接続されている。ストレージシステム６００には、管理用ネットワークＭＮ５２１を介して管理サーバ２００eが接続されている。また、ホスト計算機１００eと管理サーバ２００eとのそれぞれは、ＬＡＮ５１０に接続されている。さらにストレージシステム３００とストレージシステム６００はデータコピー用のネットワークＣＮ５３０で接続されている。
【０１０８】
本実施例ではストレージシステム３００に接続しているホスト計算機１００が１台となっているが、複数台あってもよい。また、ストレージシステム６００に接続しているホスト計算機１００eが１台となっているが複数台あってもよい。また、ＳＡＮ５４０とＳＡＮ５４１は１つのネットワークであってもよく、ＬＡＮ５１０、管理ネットワークＭＮ５２０、ＭＮ５２１、コピー用ネットワークＣＮ５３０、ストレージエリアネットワークＳＡＮ５４０、５４１は同一のネットワークであってもよい。また、管理サーバ２００、２００eは１台のみでストレージシステム３００、６００と接続しても良い。
【０１０９】
本データ処理システムを構成する各装置は基本的に第１実施例を構成する装置と同様であるため、以降は差分のみを説明する。図１に示すデータ処理システム９００が有する各装置との差異は、ストレージシステム３００がストレージシステム６００とデータコピー用ネットワークＣＮ５３０で接続されていること、である。ホスト計算機１００、管理サーバ２００、ストレージシステム３００の接続関係は第１実施例と同様である。
【０１１０】
ホスト計算機１００eはＣＰＵ１１０e、メモリ１２０e、ローカルエリアネットワークＬＡＮ５１０との接続のためのインタフェース１９０eと、ストレージエリアネットワークＳＡＮ５４１との接続のためのインタフェース１９１eと、を有している。これらの各構成要素はバス１８０eを介して互いに接続されている。ホスト計算機１００eの機能は、ＣＰＵ１１０eがプログラムを実行することによって実現されている。メモリ１２０eは、ＣＰＵ１１０eが用いるデータとプログラムとを記憶する。
【０１１１】
ホスト計算機１００eは他に、ホスト計算機のユーザがデータを入力するためのデータ入力装置や、ホスト計算機のユーザに情報を提示する表示装置を有しているが、本特許とは直接関係がないため、図示はしない。
【０１１２】
管理サーバ２００eは、ＣＰＵ２１０eと、メモリ２２０eと、ローカルエリアネットワークＬＡＮ５１０との接続のためのインタフェース２９０eと、管理用ネットワークＭＮ５２１との接続のためのインタフェース２９１eと、を有している。これらの各構成要素はバス２８０eを介して互いに接続されている。管理サーバ２００eの機能は、ＣＰＵ２１０がプログラムを実行することによって実現されている。
【０１１３】
メモリ２２０は、ＣＰＵ２１０が用いるデータとプログラムとを記憶する。特に、メモリ２２０は、ストレージ管理プログラム２２１eを有している。ストレージ管理プログラム２２１eは、ＣＰＵ２１０eによって実行されるプログラムである。
【０１１４】
管理サーバ２００eは、他に、管理サーバのユーザがデータを入力するためのデータ入力装置や、管理サーバのユーザに情報を提示する表示装置を有しているが、本特許とは直接関係がないため、図示はしない。
【０１１５】
（５−２）データ処理手順の説明
図１９に各装置間のシーケンスの概要を示す。まずフローＳ１１１において、管理サーバ２００はデータ移行するための移行元ボリュームとホスト計算機１００との接続状態を取得するために、ホスト計算機１００に対してボリュームの接続状態を問い合わせる。次にフローＳ１１２において、ホスト計算機１００は該当ボリュームの接続状態を調査し、その結果を管理サーバ２００に送信する。
【０１１６】
次にフローＳ１１３において、管理サーバ２００はホスト計算機１００のボリュームの接続状態の結果から、データ移行のために必要な領域を算出し、ストレージシステム６００に対して領域予約要求を送信する。
【０１１７】
次にフローＳ１１４において、ストレージシステム６００は管理サーバ２００が要求してきたサイズのプール領域を予約する。
【０１１８】
次にフローＳ１１５において、管理サーバ２００はストレージシステム３００及びストレージシステム６００に対し、該当論理ボリュームのデータ移行要求を出す。最後にフローＳ１１６において、ストレージシステムは該当論理ボリュームのデータ移行を実行する。データ移行が終了した後に、未使用の予約領域が残っていた場合は、予約を解除し領域を解放する。以下、各フローを詳細に説明する。但し、フローＳ１１１とフローＳ１１２は図７のフローＳ１０１とフローＳ１０２と同様であるため説明は省略する。
【０１１９】
次にプール領域の予約を要求するフローＳ１１３の詳細を図２０に示す。まずステップＳ８０１において管理サーバ２００はオンオフ管理テーブル２２２の該当ボリュームの接続状態カラム２２２３から、該当ボリュームの接続状態を調べる。
【０１２０】
ステップＳ８０２において、ボリュームの接続状態がオンラインかオフラインかを判断する。ボリュームの使用状態がオンラインであればステップＳ８０３に進む。オフラインであればステップＳ８０４に進む。
【０１２１】
ステップＳ８０３において、ストレージ管理プログラム２２１は、ボリューム管理テーブル２２３のホスト要求最大サイズカラム２２３３から予約する領域サイズを確認する。その後ステップＳ８０７に進む。
【０１２２】
ステップＳ８０４において、ストレージ管理プログラム２２１は、ストレージシステム３００に対して、データ移行の該当ボリュームに対して現在割り当てられているサイズを要求する。このときストレージ管理プログラム２２１はストレージシステム３００に対しＬＵＮを提供する。
【０１２３】
ステップＳ８０５において、セグメント管理プログラム３２３は、物理論理管理テーブル３２２のＬＵＮのＬＢＡ終了アドレス３２２３から割り当てられているセグメントサイズを確認し、管理サーバ２００に割り当て済みセグメントサイズを送信する。
【０１２４】
ステップＳ８０６において、ストレージ管理プログラム２２１は、ボリューム管理テーブル２２３の割り当て済みセグメントサイズのカラム２２３４の値をセグメント管理プログラム３２３から送信された値に更新する。
【０１２５】
ステップＳ８０７において、ストレージ管理プログラム２２１は、予約するボリュームの領域を確認し、ストレージシステム６００に対しプール領域予約要求を送信する。このときストレージ管理プログラム２２１は、ストレージシステム６００に対しデータ移行を行うボリュームの装置ＩＤ、ＬＵＮ及び予約するプール領域のサイズを送信する。
【０１２６】
次にプール領域の予約を実行するフローＳ１１４の詳細を図２１に示す。まずステップＳ９０１において、ストレージシステム６００はストレージ管理プログラム２２１から予約するプールサイズとデータ移行を行う装置ＩＤ、ＬＵＮを受信する。
【０１２７】
ステップＳ９０２において、セグメント管理プログラム６２３は、セグメント管理テーブル６２１から、管理サーバ２００が要求するサイズと、ＬＵＮの２つの情報から、現在使用しているプール領域とは別のプールＩＤを持つプール領域の中で未使用状態のセグメントサイズの和を計算し、ストレージ管理プログラム２２１からの要求サイズを確保できるかどうかを調査する。
【０１２８】
ステップＳ９０３において、未使用状態のセグメントサイズの和がストレージ管理プログラム２２１からの要求サイズ以上であった場合は、要求サイズを確保可能と判断しステップＳ９０４へ進む。そうでない場合は要求サイズを確保不可能と判断し、ステップＳ９０５へ進む。
【０１２９】
ステップＳ９０４において、セグメント管理プログラム６２３は、要求サイズを満たすだけの領域分のセグメントを予約するために、セグメント管理テーブル６２１のデータ移行のための予約状態を表すカラム３２１６の要求サイズ分だけ予約中（＝「１」）に更新し、さらに、予約されている論理ボリュームを表すカラム３２１７にデータ移行の該当ボリュームを表す装置ＩＤ、ＬＵＮを入力する。その後ステップＳ９０６において、管理サーバ２００に対して、プール領域の予約が成功したことを送信する。
【０１３０】
ステップＳ９０５において、セグメント管理プログラム６２３は、管理サーバ２００に対して、プール領域の確保が失敗したことを送信する。
【０１３１】
ステップＳ９０７において、ストレージ管理プログラム２２１は、プール領域の確保の可否を受信し、予約完了したかどうかを判断する。予約が完了していればステップＳ１１５へ進む。完了していなければ、データ移行の処理を終了させ、管理サーバ２００を使用しているユーザに対し警告を発する。警告を発する方法は、例えば管理サーバ２００の表示装置（図示せず）にエラーメッセージを表示させてもよく、管理サーバ２００のスピーカ（図示せず）で警告音を鳴らしてもよい。こうすればユーザが適切に対処することが可能となる。
【０１３２】
次にデータ移行を要求、実行するフローＳ１１５、Ｓ１１６を図２２に示す。ステップＳ１００１においてストレージ管理プログラム２２１は、ストレージシステム３００及びストレージシステム６００に対し、該当ボリュームのデータ移行要求を送信する。このときストレージ管理プログラム２２１はストレージシステム３００に対し、ＬＵＮを送信する。
【０１３３】
ステップＳ１００２において、データ移行プログラム３２４は、物理論理管理テーブル３２２から、該当ボリュームに割り当てられているセグメントを確認する。実際に移行するデータはこのセグメントのデータのみである。
【０１３４】
ステップＳ１００３において、データ移行を開始する。データ移行の詳細は図２３、ステップＳ１１７で説明する。
【０１３５】
ステップＳ１００４において、データ移行が正常終了したかを調べる。データ移行が全て正常終了していればステップＳ１００６へ進む。移行が完了していない場合はＳ１００５へ進みデータ移行の処理を終了させ、管理サーバ２００を使用しているユーザに対し警告を発する。警告を発する方法は、例えば管理サーバ２００の表示装置（図示せず）にエラーメッセージを表示させてもよく、管理サーバ２００のスピーカ（図示せず）で警告音を鳴らしてもよい。こうすればユーザが適切に対処することが可能となる。
【０１３６】
ステップＳ１００６において、セグメント管理プログラム６２３は、セグメント管理テーブル６２１の該当ボリュームに対する予約中カラム３２１６と予約論理ボリュームカラム３２１７の値を「１」から「０」へ変更する。これにより該当ボリュームのデータ移行のための予約が解除され、セグメントの解放が実行される。ステップＳ１００７において、データ移行プログラム６２４は、管理サーバ２００に対し、データ移行が完了したことを送信する。
【０１３７】
次にデータ移行時の各ストレージシステムが有するテーブルの更新方法を説明する。図２３に示すように、ステップＳ１１０１において、ストレージシステム３００のデータ移行プログラム３２４は、各セグメントをストレージシステム６００へコピーする。
【０１３８】
ステップＳ１１０２において、ストレージシステム６００のデータ移行プログラム６２４はセグメント管理テーブル６２１の移行済みセグメント番号の使用中カラム３２１５を使用中（＝「１」）に変更する。
【０１３９】
ステップＳ１１０３において、データ移行プログラム６２４は、物理論理管理テーブル６２２の該当ボリュームに割り当てられているセグメント番号カラム３２２１の値を移行前のセグメントの値から移行後のセグメントの値に変更する。
【０１４０】
ステップＳ１１０４において、セグメント管理プログラム３２３は、セグメント管理テーブル３２１の移行元データのあったセグメントのセグメント番号の使用中カラム３２１５を未使用（＝「０」）に変更する。
【０１４１】
ステップＳ１１０５において、データ移行プログラム３２４は、該当論理ボリュームの全てのデータ移行が完了したかどうかを調べる。全て完了していればステップＳ１１６へ進む。全データの移行が完了していない場合はＳ１１０１へ戻る。
【０１４２】
上記のように、第５実施例では、複数のストレージシステムが有するメモリ内に、動的に論理ボリュームに割り当てられるセグメントを管理するセグメント管理テーブル、割り当てられたセグメントと論理ボリュームのアドレスの対応関係を示す物理論理管理テーブル、前記セグメントの管理を行うセグメント管理プログラム、またデータ移行を実行するデータ移行プログラムを備える。
【０１４３】
また、管理サーバが有するメモリ内に、ホスト計算機とボリュームの接続関係を示すオンオフ管理テーブル、ホストが要求する最大ボリューム容量を示すボリューム管理テーブル、及び、ストレージシステムのボリュームの管理を行うボリューム管理プログラムを備える。
【０１４４】
そしてフローＳ１１１、Ｓ１１２、Ｓ１１３、Ｓ１１４、Ｓ１１５、Ｓ１１６を実行することで、動的な容量拡張が可能な論理ボリュームの異なるストレージシステム間のデータ移行時における移行先領域の予約、解放が可能となり、データ移行時の失敗を防ぐことが実現可能となる。
【０１４５】
（６）第６実施例
（６−１）システムの構成
図２４は第６実施例におけるデータ処理システム９００ｆの構成を示す説明図である。このデータ処理システム９００ｆは、複数のホスト計算機１００、１００e、管理サーバ２００、２００e、ストレージシステム３００ｆ、６００ｆを有している。本構成の大部分は第５実施例の構成と同等であるため、以降は差分のみを説明する。図１８に示すデータ処理システム９００eとの差異は、ストレージシステム３００ｆにおけるメモリ３２０ｆがデータ移行プログラム３２４を保持せずに、ボリュームコピープログラム３２７を有していることである。
【０１４６】
（６−２）データ処理手順の説明
本実施例の動作の大部分は第５実施例の動作と同じであるため、以降は差分のみを説明する。異なる処理は第５実施例の図１９における手順のうち、データ移行実行要求Ｓ１１５及びデータ移行実行Ｓ１１６の部分が、ボリュームコピー実行要求ＳＳ１１５及びボリュームコピー実行ＳＳ１１６に変更する点である。
【０１４７】
図２５に第６実施例におけるボリュームコピーの処理手順（フローＳＳ１１５、フローＳＳ１１６）を示す。まず、ステップＳ１２０１において、管理サーバ２００は、ストレージシステム３００に対し該当論理ボリュームのボリュームコピー命令を送信する。このとき管理サーバ２００はストレージシステム３００に対し、コピーを実行する論理ボリュームの装置ＩＤ、ＬＵＮを送信する。
【０１４８】
ステップＳ１２０２において、ボリュームコピープログラム３２７は、コピーするデータを確認するために、物理論理管理テーブル３２２から該当論理ボリュームに割り当てられているセグメントを調べる。
【０１４９】
ステップＳ１２０３において、データコピーを開始する。データコピーの詳細は図２６、ステップＳＳ１１７で説明する。コピー先のプール領域はステップＳ９０４で予約した領域である。
【０１５０】
ステップＳ１２０４において、データコピーが正常終了したかを調べる。データコピーが全て正常終了していればステップＳ１２０６へ進む。コピーが完了していない場合はＳ１２０５へ進みデータ移行の処理を終了させ、管理サーバ２００を使用しているユーザに対し警告を発する。警告を発する方法は、例えば管理サーバ２００の表示装置（図示せず）にエラーメッセージを表示させてもよく、管理サーバ２００のスピーカ（図示せず）で警告音を鳴らしてもよい。こうすればユーザが適切に対処することが可能となる。
【０１５１】
ステップＳ１２０６において、ボリュームコピープログラム３２７は、管理サーバ２００に対して、ボリュームコピーが完了したことを送信する。
【０１５２】
次にデータコピー時の各ストレージシステムが有するテーブルの更新方法を説明する。図２６に示すように、ステップＳ１３０１において、ストレージシステム３００のデータ移行プログラム３２４は、各セグメントをストレージシステム６００へコピーする。
【０１５３】
ステップＳ１３０２において、ストレージシステム６００のボリュームコピープログラム６２７ｆはセグメント管理テーブル６２１の移行済みセグメント番号の使用中カラム３２１５を使用中（＝「１」）に変更する。
【０１５４】
ステップＳ１３０３において、ボリュームコピープログラム６２７ｆは、物理論理管理テーブル６２２の該当ボリュームに割り当てられているセグメント番号カラム３２２１を追加する。
【０１５５】
ステップＳ１３０４において、ボリュームコピープログラム３２７ｆは、該当論理ボリュームの全てのデータコピーが完了したかどうかを調べる。全て完了していればステップＳＳ１１６へ進む。全データのコピーが完了していない場合はＳ１３０１へ戻る。
【０１５６】
上記処理によって、異なるストレージシステム間で、動的な容量拡張が可能な論理ボリュームのデータコピー時における、コピー先記憶領域の予約が可能となりデータコピー時の失敗を防ぐことが実現可能となる。
【図面の簡単な説明】
【０１５７】
【図１】実施例１におけるシステム構成を示す図である。
【図２】実施例１におけるオンオフ管理テーブルの一例を示す図である。
【図３】実施例１におけるボリューム管理テーブルの一例を示す図である。
【図４】実施例１におけるセグメント管理テーブルの一例を示す図である。
【図５】実施例１における物理論理管理テーブルの一例を示す図である。
【図６】実施例１における論理ボリュームとセグメント管理テーブル、物理論理管理テーブルの関係を示す図である。
【図７】実施例１における各装置間の動作のシーケンスの概要を示す図である。
【図８】実施例１におけるホスト計算機のボリューム接続状態を確認する手順を示す図である。
【図９】実施例１における管理サーバからストレージシステムへプール領域の予約命令を送信する手順を示す図である。
【図１０】実施例１におけるストレージシステムによるプール領域の予約手順を示す図である。
【図１１】実施例１におけるデータ移行の手順を示す図である。
【図１２】実施例２におけるシステム構成を示す図である。
【図１３】実施例２における外部ボリューム管理テーブルの一例を示す図である。
【図１４】実施例２における外部ボリュームをプール領域の記憶領域にマッピングする手順を示す図である。
【図１５】実施例３におけるシステム構成を示す図である。
【図１６】実施例３におけるボリュームコピーの処理手順を示す図である。
【図１７】実施例４におけるシステム構成を示す図である。
【図１８】実施例５におけるシステム構成を示す図である。
【図１９】実施例５における各装置間の動作のシーケンスの概要を示す図である。
【図２０】実施例５における管理サーバからストレージシステムへプール領域の予約命令を送信する手順を示す図である。
【図２１】実施例５におけるストレージシステムによるプール領域の予約手順を示す図である。
【図２２】実施例５におけるデータ移行の手順を示す図である。
【図２３】実施例５におけるデータ移行時の、各ストレージシステムが有するテーブル更新手順を示す図である。
【図２４】実施例６におけるシステム構成を示す図である。
【図２５】実施例６におけるボリュームコピーの処理手順を示す図である。
【図２６】実施例６におけるデータコピー時の、各ストレージシステムが有するテーブル更新手順を示す図である。
【符号の説明】
【０１５８】
１００、１００ｅ……ホスト計算機、１１０、１００ｅ……ホスト計算機のＣＰＵ、１２０、１２０ｅ……ホスト計算機のメモリ、１２１……エージェントプログラム、１２２……ボリュームマネージャ、１８０、１８０ｅ……ホスト計算機のバス、１９０、１９１、１９０ｅ、１９１ｅ……インタフェース、２００、２００ｅ……管理サーバ、２１０、２１０ｅ……管理サーバのＣＰＵ、２２０、２２０ｅ……管理サーバのメモリ、２２１、２２１ｅ……ストレージ管理プログラム、２２２……オンオフ管理テーブル、２２３……ボリューム管理テーブル、２８０、２８０ｅ……ホスト計算機のバス、２９０、２９１、２９０ｅ、２９１ｅ……インタフェース、３００、３００ｂ、３００ｃ、３００ｄ、３００ｅ、３００ｆ、６００、６００ｆ……ストレージシステム、３０５、３０５ｂ、３０５ｃ、３０５ｄ、３０５ｅ、３０５ｆ、６０５、６０５ｆ……ストレージシステムの制御装置、３１０……ストレージシステムのＣＰＵ、３２０、３２０ｂ、３２０ｃ、３２０ｄ、３２０ｅ、３２０ｆ、６２０、６００ｆ……ストレージシステムのメモリ、３２１、６２１……セグメント管理テーブル、３２２、６２２……物理論理管理テーブル、３２３、６２３……セグメント管理プログラム、３２４、６２４……データ移行プログラム、３２５……外部ボリューム管理テーブル、３２６……外部ボリューム管理プログラム、３２７、６２７……ボリュームコピープログラム、３５０、６５０……ストレージシステムの論理ボリューム、３６１、３６２、６６１……プール領域（物理リソース）、３６２ｂ……プール領域（外部ストレージシステムのリソース）、３８０、６８０……ホスト計算機のバス、３９０、３９１、３９２、３９３、６９３……インタフェース、４００……外部ストレージシステム、４０５……外部ストレージシステムの制御装置、４１０……外部ストレージシステムのＣＰＵ、４２０……外部ストレージシステムのメモリ、４５０……外部ストレージシステムの論理ボリューム、４８０……外部ストレージシステムのバス、４９０……インタフェース、５００……スイッチ、５１０……ローカルエリアネットワーク（ＬＡＮ）、５２０、５２１……管理用ネットワーク（ＭＮ）、５３０……コピー用ネットワーク（ＣＮ）、５４０、５４１……ストレージエリアネットワーク（ＳＡＮ）、９００、９００ｂ、９００ｃ、９００ｄ、９００ｅ、９００ｆ……データ処理システム
【図１】
0004700459.tif 000002
【図２】
0004700459.tif 000003
【図３】
0004700459.tif 000004
【図４】
0004700459.tif 000005
【図５】
0004700459.tif 000006
【図６】
0004700459.tif 000007
【図７】
0004700459.tif 000008
【図８】
0004700459.tif 000009
【図９】
0004700459.tif 000010
【図１０】
0004700459.tif 000011
【図１１】
0004700459.tif 000012
【図１２】
0004700459.tif 000013
【図１３】
0004700459.tif 000014
【図１４】
0004700459.tif 000015
【図１５】
0004700459.tif 000016
【図１６】
0004700459.tif 000017
【図１７】
0004700459.tif 000018
【図１８】
0004700459.tif 000019
【図１９】
0004700459.tif 000020
【図２０】
0004700459.tif 000021
【図２１】
0004700459.tif 000022
【図２２】
0004700459.tif 000023
【図２３】
0004700459.tif 000024
【図２４】
0004700459.tif 000025
【図２５】
0004700459.tif 000026
【図２６】
0004700459.tif 000027