(57)【要約】【課題】ストレージシステムＡに作成されたＰｏｏｌ及びＰｏｏｌを利用する仮想ボリュームをストレージシステムＢで管理及び運用するためには、ストレージシステムＡの仮想ボリュームをストレージシステムＢの仮想ボリュームへコピーする必要があり、ストレージシステムＢにコピーのための記憶領域が新たに必要となる。【解決手段】ストレージシステムＢは、ストレージシステムＡのＰｏｏｌ及び仮想ボリュームの構成情報を取得し、取得した構成情報に基づいて、Ｐｏｏｌに含まれる論理ボリュームをストレージシステムＢに取り込む。さらに、ストレージシステムＢは、取得した構成情報をストレージシステムＢで利用するために変換し、変換された構成情報に基づいて、取り込んだ論理ボリュームからＰｏｏｌ及び仮想ボリュームを作成する。【選択図】図１０
2010079624.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機に提供されるデータの記憶領域であるボリュームと、前記ボリュームを複数含むプールと、を備える第１ストレージシステムと、
前記第１ストレージシステムと接続される第２ストレージシステムと、を備える計算機システムであって、
前記第１ストレージシステムは、
前記ホスト計算機と接続されるインターフェースと、前記第２ストレージシステムに接続されるインターフェースと、前記インターフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、
前記複数のボリュームと前記プールとの対応関係を表す第１構成情報を管理し、
前記第２ストレージシステムは、前記ホスト計算機と接続されるインターフェースと、前記第１ストレージシステムと接続されるインターフェースと、前記インターフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、
前記第２プロセッサは、
前記第１ストレージシステムから前記第１構成情報を取得し、
前記取得した第１構成情報を参照して、前記第１ストレージシステムが備える前記プールに含まれるボリュームを特定し、
前記特定されたボリュームを前記第２ストレージシステムが取り扱うことができる外部ボリュームとして対応付け、
前記取得した第１構成情報に基づいて、前記対応付けられた外部ボリュームを用いて、前記第１ストレージシステムのプールと同じ構成のプールを、前記第２ストレージシステムに作成することを特徴とする計算機システム。
【請求項２】
前記第１ストレージシステムは、前記プールの記憶領域の一部を動的に使用する仮想ボリュームを備え、
前記第１構成情報は、さらに前記プールと前記仮想ボリュームとの対応関係を表し、
前記第２プロセッサは、前記取得した第１構成情報に基づいて、前記作成されたプールから、前記第１ストレージシステムの仮想ボリュームと同じ構成の仮想ボリュームを、前記第２ストレージシステムに作成することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記第２ストレージシステムは、
データの記憶領域であるボリュームと、前記ボリュームを複数含むプールと、を備え、
前記ボリュームと前記プールとの対応関係を表す第２構成情報を管理し、
前記第２プロセッサは、前記取得した第１構成情報に含まれるプールの識別子と同じ識別子が前記第２構成情報に含まれる場合、前記第２ストレージシステムに作成されたプールの識別子を前記第２構成情報に含まれない識別子に書き換えることを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記第２プロセッサは、
前記書き換え前のプールの識別子と、前記書き換え後のプールの識別子との対応関係を通知することを特徴とする請求項３に記載の計算機システム。
【請求項５】
前記第１プロセッサは、前記第１構成情報に含まれる前記プールと前記仮想ボリュームとの対応関係が変更された場合、前記第１構成情報の変更内容を前記第２ストレージシステムに送信し、
前記第２プロセッサは、前記第１ストレージシステムから取得した前記第１構成情報の変更内容に基づいて、前記取得した第１構成情報を更新することを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記第１プロセッサは、前記第１構成情報から第１誤り検出符号を作成し、
前記第２プロセッサは、
前記第１ストレージシステムから、前記第１構成情報と前記第１誤り検出符号とを取得し、
前記取得した第１構成情報から第２誤り検出符号を作成し、
前記取得した第１誤り検出符号と、前記作成された第２誤り検出符号とを比較し、
前記第１誤り検出符号と前記第２誤り検出符号とが異なる場合、前記第１ストレージシステムに通知することを特徴とする請求項１に記載の計算機システム。
【請求項７】
前記第２プロセッサは、前記取得した第１構成情報によって表わされるプールの削除を指示する場合、前記第１構成情報に含まれる前記削除されるプールとボリュームとの対応関係の変更を前記第２ストレージシステムに通知することを特徴とする請求項１に記載の計算機システム。
【請求項８】
前記第２プロセッサは、前記取得した第１構成情報に含まれる前記外部ボリュームの識別子と同じ識別子が前記第２構成情報に含まれる場合、前記外部ボリュームに対応付けられた前記第２ストレージシステムのボリュームの識別子を前記第２構成情報に含まれない識別子に書き換えることを特徴とする請求項１に記載の計算機システム。
【請求項９】
前記第２プロセッサは、計算機が前記外部ボリュームとして対応付けられたプールを利用している場合、前記外部ボリュームとして対応付けられたプールに含まれるボリュームが利用できない旨を、前記計算機に送信することを特徴とする請求項１に記載の計算機システム。
【請求項１０】
前記第１プロセッサは、前記第１構成情報が取得できない場合、前記第１ストレージシステムに作成されたプールの情報が前記取得した第１構成情報に含まれない場合、又は、前記第１ストレージシステムのボリュームを前記第２ストレージシステムの外部ボリュームとして対応付けることができない場合、エラーを通知することを特徴とする請求項１に記載の計算機システム。
【請求項１１】
他のストレージシステムと接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備えるストレージシステムであって、
前記他のストレージシステムは、
ホスト計算機に提供されるデータの記憶領域であるボリュームと、前記ボリュームを複数含むプールと、を備え、
前記複数のボリュームと前記プールとの対応関係を表す第１構成情報を管理し、
前記プロセッサは、
前記他のストレージシステムから第１構成情報を取得し、
前記取得した第１構成情報を参照して、前記他のストレージシステムが備える前記プールに含まれるボリュームを特定し、
前記特定されたボリュームを前記ストレージシステムが取り扱うことができる外部ボリュームとして対応付け、
前記取得した第１構成情報に基づいて、前記対応付けられた前記外部ボリュームを用いて、前記他のストレージシステムのプールと同じ構成のプールを作成することを特徴とするストレージシステム。
【請求項１２】
前記他のストレージシステムは、前記プールの記憶領域の一部を動的に使用する仮想ボリュームを備え、
前記第１構成情報は、さらに前記プールと前記仮想ボリュームとの対応関係を表し、
前記プロセッサは、前記取得した第１構成情報に基づいて、前記作成されたプールから、前記他のストレージシステムの仮想ボリュームと同じ構成の仮想ボリュームを作成することを特徴とする請求項１１に記載のストレージシステム。
【請求項１３】
前記ストレージシステムは、データの記憶領域であるボリュームと、前記ボリュームを複数含むプールと、を備え、
前記ボリュームと前記プールとの対応関係を表す第２構成情報を管理し、
前記プロセッサは、前記取得した第１構成情報に含まれるプールの識別子と同じ識別子が前記第２構成情報に含まれる場合、前記ストレージシステムに作成されたプールの識別子を前記第２構成情報に含まれない識別子に書き換えることを特徴とする請求項１１に記載のストレージシステム。
【請求項１４】
前記プロセッサは、前記取得した第１構成情報によって表わされるプールの削除を指示する場合、前記第１構成情報に含まれる前記削除されるプールとボリュームとの対応関係の変更を前記ストレージシステムに通知することを特徴とする請求項１１に記載のストレージシステム。
【請求項１５】
ホスト計算機に提供されるデータの記憶領域であるボリュームと、前記ボリュームを複数含むプールと、前記プールの記憶領域の一部を動的に使用する仮想ボリュームと、を備える第１ストレージシステムと、
前記第１ストレージシステムと接続される第２ストレージシステムと、を備える計算機システムであって、
前記第１ストレージシステムは、
前記ホスト計算機と接続されるインターフェースと、前記第２ストレージシステムに接続されるインターフェースと、前記インターフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、
前記複数のボリュームと前記プールと前記仮想ボリュームとの対応関係を表す第１構成情報を管理し、
前記第２ストレージシステムは、
前記ホスト計算機と接続されるインターフェースと、前記第１ストレージシステムと接続されるインターフェースと、前記インターフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、
外部ボリュームとプールと仮想ボリュームとの対応関係を表す第２構成情報を管理し、
前記第２プロセッサは、
前記第１ストレージシステムから前記第１構成情報を取得し、
前記取得した第１構成情報を参照して、前記第１ストレージシステムが備える前記プールに含まれるボリュームを特定し、
前記特定されたボリュームを前記第２ストレージシステムが取り扱うことができる外部ボリュームとして対応付け、
前記取得した第１構成情報に基づいて、前記対応付けられた外部ボリュームを用いて、前記第１ストレージシステムのプールと同じ構成のプールを、前記第２ストレージシステムに作成し、
前記取得した第１構成情報に基づいて、前記作成されたプールから、前記第１ストレージシステムの仮想ボリュームと同じ構成の仮想ボリュームを、前記第２ストレージシステムに作成し、
前記取得した第１構成情報によって表わされるプールの削除を指示する場合、前記第１構成情報に含まれる前記削除されるプールとボリュームとの対応関係の変更を前記第２ストレージシステムに通知し、
前記取得した第１構成情報に含まれるボリュームの識別子と同じ識別子が前記第２構成情報に含まれる場合、前記第２ストレージシステムの外部ボリュームとして対応付けられたボリュームの識別子を前記第２構成情報に含まれない識別子に書き換えることを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少量配備（Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｅｄ）機能を備えたストレージシステムに関し、特に仮想ボリューム構成を移行する方法に関する。
【背景技術】
【０００２】
データを格納する記憶領域をホスト計算機に提供するストレージシステムは、データを格納するために多数のハードディスク等の物理ディスクを備える。ストレージシステムは、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）の技術によって、複数の物理ディスクの記憶領域を冗長化し、ＲＡＩＤグループを構成する。さらに、ストレージシステムは、ＲＡＩＤグループの一部からホスト計算機が要求する容量の記憶領域として論理ボリュームを作成し、作成された論理ボリュームをホスト計算機に提供する。
【０００３】
さらに、少量配備（Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｅｄ）という技術がある。少量配備は、論理ボリュームのようにホスト計算機へ固定された容量の記憶領域を提供するのではなく、仮想的な論理ボリューム（仮想ボリューム）をホスト計算機に提供しておき、ホスト計算機からの書き込み処理等に応じて、複数の論理ボリュームで作成された記憶領域（Ｐｏｏｌ）からセグメントを単位とする記憶領域を仮想ボリュームに割り当てる技術である。少量配備の技術を用いることによって、ホスト計算機に提供する記憶容量を動的に拡張することができるストレージシステムがある（例えば、特許文献１）。
【０００４】
なお、セグメントとは、Ｐｏｏｌに含まれる論理ボリュームを論理ブロックアドレス（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ。以下、ＬＢＡ）等によって、適当な容量に分割した記憶領域である。ここで、ＬＢＡとは、ホスト計算機がデータを読み書きする場合に、論理ボリューム上の位置を指定するために用いるアドレスである。
【０００５】
また、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のデータ通信用のネットワークによって接続された２台のストレージシステム（ストレージシステムＡ及びストレージシステムＢ）において、一方のストレージシステムＡが備える論理ボリュームを、ストレージシステムＢがストレージシステムＢに作成した仮想ボリュームに対応付けることによって、ストレージシステムＡの論理ボリュームをストレージシステムＢに取り込み、取り込んだ論理ボリュームをストレージシステムＢ側の論理ボリュームとしてホスト計算機等に提供する（以下、「外部接続」という。）技術がある（例えば、特許文献２）。
【０００６】
外部接続の技術を用いることによって、論理ボリュームを取り込むストレージシステムＢの容量を拡張することができる。また、論理ボリュームを取りこんだストレージシステムＢがホスト計算機への論理ボリュームをホスト計算機に提供するので、ストレージシステムの管理が容易となる。
【特許文献１】特開２００３−１５９１５号公報
【特許文献２】特開平１０−２８３２７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＰｏｏｌとＰｏｏｌのセグメントが割り当てられた仮想ボリュームとを備えるストレージシステムＡの仮想ボリュームを、例えば、ストレージシステムＡよりも性能が優れたストレージシステムＢで利用したい、又は、管理を集約するためにストレージシステムＢを用いて管理者が管理したいという要求がある。
【０００８】
このような場合には、ストレージシステムＡが備える仮想ボリュームをストレージシステムＢに外部接続し、ストレージシステムＡの仮想ボリュームをストレージシステムＢの論理ボリュームとして扱う方法がある。
【０００９】
しかし、前述した方法では、ストレージシステムＢ側でストレージシステムＡの仮想ボリュームをホスト計算機へ提供する等の管理をし、一方で、ストレージシステムＡ側でＰｏｏｌに含まれる論理ボリュームを追加削除する等の管理をしなければならず、２台のストレージシステムの管理が必要となる。
【００１０】
また、２台のストレージシステムを管理するのではなく、ストレージシステムＢのみでストレージシステムＡのＰｏｏｌとＰｏｏｌを利用する仮想ボリュームとを管理するためには、ストレージシステムＡからストレージシステムＢへ、ＰｏｏｌとＰｏｏｌを利用する仮想ボリュームとの両方を移行する必要がある。
【００１１】
この場合、特許文献２に記載された技術では、以下に述べる方法を用いる必要があった。
【００１２】
まず、ストレージシステムＢに新たにＰｏｏｌを作成し、作成されたＰｏｏｌのセグメントを利用する仮想ボリュームを作成する。さらに、ストレージシステムＡの仮想ボリュームのデータを、ストレージシステムＢで作成した仮想ボリュームへコピーして、ストレージシステムＡからストレージシステムＢへ、ＰｏｏｌとＰｏｏｌを利用する仮想ボリュームとの両方を移行する。
【００１３】
しかしながら、前述したようにデータのコピーを伴う移行を実行するためには、ストレージシステムＢのＰｏｏｌに、前記ストレージシステムＡの仮想ボリュームからコピーされるデータを保存するのに十分な記憶領域が予め確保されていることが必要となる。
【００１４】
一方で、データのコピーが終了した後は、ストレージシステムＢの仮想ボリュームをホスト計算機に提供することになるため、ストレージシステムＡが仮想ボリュームのデータを格納するために用いていた記憶領域は不要となる。
【００１５】
つまり、データをコピーする過程においては、コピー元ストレージシステムとコピー先ストレージシステムとの両方で仮想ボリュームが備えるデータをコピーするために必要な記憶領域が確保されなければならず、必要以上のリソースの確保が求められる。
【課題を解決するための手段】
【００１６】
本発明の代表的な一例を示せば以下のとおりである。すなわち、第１の発明は、ホスト計算機に提供されるデータの記憶領域であるボリュームと、前記ボリュームを複数含むプールと、を備える第１ストレージシステムと、前記第１ストレージシステムと接続される第２ストレージシステムと、を備える計算機システムであって、前記第１ストレージシステムは、前記ホスト計算機と接続されるインターフェースと、前記第２ストレージシステムに接続されるインターフェースと、前記インターフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、前記複数のボリュームと前記プールとの対応関係を表す第１構成情報を管理し、前記第２ストレージシステムは、前記ホスト計算機と接続されるインターフェースと、前記第１ストレージシステムと接続されるインターフェースと、前記インターフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、前記第２プロセッサは、前記第１ストレージシステムから前記第１構成情報を取得し、前記取得した第１構成情報を参照して、前記第１ストレージシステムが備える前記プールに含まれるボリュームを特定し、前記特定されたボリュームを前記第２ストレージシステムが取り扱うことができる外部ボリュームとして対応付け、前記取得した第１構成情報に基づいて、前記対応付けられた外部ボリュームを用いて、前記第１ストレージシステムのプールと同じ構成のプールを、前記第２ストレージシステムに作成することを特徴とする。
【発明の効果】
【００１７】
本発明の一実施形態によれば、ストレージシステムＢは、ストレージシステムＡが備えるＰｏｏｌ及び仮想ボリュームをストレージシステムＢに移行し、ストレージシステムＢのみで、ストレージシステムＡが備えるＰｏｏｌ及び仮想ボリュームと同じ構成を備えたＰｏｏｌ及び仮想ボリュームを管理することができる。
【００１８】
さらに、ストレージシステムＡからストレージシステムＢへのＰｏｏｌ及び仮想ボリュームの移行に際して、ストレージシステムＡのＰｏｏｌに含まれる論理ボリュームのデータをコピーする記憶領域以外に、その他のデータを記憶するための記憶領域を追加で必要としない。
【発明を実施するための最良の形態】
【００１９】
本発明の概要は以下のとおりである。
【００２０】
まず、ストレージシステムＢは、ストレージシステムＡから、ストレージシステムＡのＰｏｏｌに含まれる論理ボリュームとＰｏｏｌのセグメントとの対応関係を記述したセグメント構成情報、及び、仮想ボリュームと仮想ボリュームに割り当てられるセグメントとの対応関係を記述した仮想ボリューム構成情報を取得する。
【００２１】
次に、ストレージシステムＢは、取得したストレージシステムＡのセグメント構成情報を参照し、ストレージシステムＡのＰｏｏｌに含まれる論理ボリュームを特定する。
【００２２】
そして、ストレージシステムＢは、特定された論理ボリュームをストレージシステムＢに外部接続し、外部接続されたストレージシステムＡの論理ボリュームをストレージシステムＢに取り込む。さらに、ストレージシステムＢは、取り込まれたストレージシステムＡの論理ボリュームから、ＰｏｏｌとＰｏｏｌを利用する仮想ボリュームとを作成する。
【００２３】
そして、ストレージシステムＢは、ストレージシステムＡから取得した仮想ボリュームの構成情報を参照し、ストレージシステムＡのＰｏｏｌのセグメントと同じ割り当てによって、前述したＰｏｏｌのセグメントを仮想ボリュームに割り当てる。これによって、ストレージシステムＡと同じ構成を備えた仮想ボリュームがストレージシステムＢに作成される。
【００２４】
＜実施形態１＞
以下、本発明の第１の実施形態を、図１から図２３を用いて説明する。なお、以下に述べる第１の実施形態は本発明の実施形態の一つであって、本発明を制限するものではない。
【００２５】
図１は、本発明の第１の実施形態の計算機システムの構成を示すブロック図である。
【００２６】
第１の実施形態の計算機システムは、ストレージシステムＡ  １０００と、ストレージシステムＢ  ２０００と、ストレージシステムＢ  ２０００（又はストレージシステムＡ  １０００）の論理ボリュームを利用するホスト計算機３０００とを備え、ストレージシステムＡ  １０００、ストレージシステムＢ  ２０００及びホスト計算機３０００は、ＳＡＮ又はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のデータ通信用のネットワーク１００を介して互いに接続される。
【００２７】
また、ストレージシステムＡ  １０００及びストレージシステムＢ  ２０００は、前述したネットワーク１００とは別のＳＡＮ又はＬＡＮ等のデータ通信用のネットワーク２００を介して互いに接続されている。
【００２８】
なお、第１の実施形態では、ストレージシステムＡ  １０００及びストレージシステムＢ  ２０００はネットワーク２００を介して接続されるが、ストレージシステムＡ  １０００とストレージシステムＢ  ２０００とが、ホスト計算機とは関係なく保存しているデータを直接通信することができるならば、ネットワーク２００は必ずしも必要ではない。
【００２９】
また、ストレージシステムＡ  １０００、ストレージシステムＢ  ２０００及びホスト計算機３０００は、それぞれが備える管理インターフェースによって、ＬＡＮ等のデータ通信用のネットワーク３００を介して互いに接続されてもよい。
【００３０】
以下、ストレージシステムＡ  １０００及びストレージシステムＢ  ２０００のいずれにも該当する説明をする場合は、その説明において、ストレージシステムＡ  １０００及びストレージシステムＢ  ２０００を総称して単にストレージシステムと記載する。
【００３１】
ホスト計算機３０００は、データを記憶するためのローカルボリューム３０１０、データを一時記憶するためのメモリ３１００、演算処理をするＣＰＵ３０４０、管理ＩＦ３０２０及びＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）３０３０を備える計算機であり、例えば、パーソナルコンピュータ、ワークステーション等である。さらに、ホスト計算機３０００は、キーボード等の入力装置及びディスプレイ等の出力装置等を備えてもよい（図示省略）。
【００３２】
メモリ３１００は、データベース等を管理する業務プログラム３１１０を格納する。業務プログラム３１１０は、ストレージシステムから提供された記憶領域にデータを格納する。
【００３３】
ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）３０３０は、ネットワーク１００を介してホスト計算機３０００をストレージシステムに接続するためのインターフェースである。管理ＩＦ３０２０は、管理計算機（図示省略）がＬＡＮ等のネットワーク３００を介してホスト計算機３０００を管理するためのインターフェースである。
【００３４】
なお、第１の実施形態において、ネットワーク１００のインターフェースはＨＢＡであるが、ネットワーク１００に応じたインターフェースであってもよい。
【００３５】
ストレージシステムＡ  １０００は、データの入出力及び構成を制御するコントローラ１１００及びデータを記憶するために複数の物理ディスク１０４０を備える。コントローラ１１００は、コントローラ１１００が管理する論理ボリュームの構成情報等を外部から操作するための管理インターフェースである管理ＩＦ１０１０、データの入出力のインターフェースであるＰｏｒｔ１０２０及びＰｏｒｔ１０３０を備える。
【００３６】
Ｐｏｒｔ１０２０は、ＳＡＮ等のネットワーク１００を介してストレージシステムＡをホスト計算機３０００等と接続するためのＰｏｒｔである。Ｐｏｒｔ１０３０は、ストレージシステムＡ  １０００を後述するストレージシステムＢ  ２０００に接続するためのＰｏｒｔである。
【００３７】
なお、一つのＰｏｒｔによって、ストレージシステムＡ  １０００がホスト計算機３０００へ論理ボリュームを提供し、かつ、論理ボリュームをストレージシステムＢ  ２０００に外部接続することができる場合には、Ｐｏｒｔ１０２０とＰｏｒｔ１０３０とは同一であってもよい。
【００３８】
ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００と同じ構成である。ストレージシステムＢ  ２０００は、データの入出力及び構成を制御するコントローラ２１００を備える。
【００３９】
コントローラ２１００は、論理ボリュームを管理するための管理インターフェースである管理ＩＦ１０１０、ホスト計算機３０００と接続するためのインターフェースであるＰｏｒｔ２０２０、及び、ストレージシステムＡ  １０００と接続するためのインターフェースであるＰｏｒｔ１０３０を備える。
【００４０】
ただし、ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００が備える物理ディスク１０４０を必ずしも備える必要はない。
【００４１】
なお、管理ＩＦ１０１０、管理ＩＦ２０１０及び管理ＩＦ３０２０は、単にＬＡＮの接続Ｐｏｒｔであってもよく、ＬＡＮ等のネットワーク３００を介して、ディスプレイ等の出力装置及びキーボード等の入力装置を備えた管理計算機（図示省略）と接続されてもよい。また、管理ＩＦ１０１０、管理ＩＦ２０１０及び管理ＩＦ３０２０は、ＬＡＮでなく、ＳＡＮ等のネットワークを介して接続されてもよい。
【００４２】
次に、ストレージシステムＡ  １０００のコントローラ１１００の内部の構成、及び、ストレージシステムＢ  ２０００のコントローラ２１００の内部の構成を、それぞれ図２及び図３を用いて説明する。
【００４３】
図２は、本発明の第１の実施形態のストレージシステムＡが備えるコントローラの構成を示すブロック図である。
【００４４】
ストレージシステムＡ  １０００のコントローラ１１００は、前述した管理ＩＦ１０１０、Ｐｏｒｔ１０２０及びＰｏｒｔ１０３０のほかに、キャッシュメモリ１１１０、管理用のメモリ１２００及びプロセッサ１１２０を備える。
【００４５】
プロセッサ１１２０は、メモリ１２００に格納された制御プログラムによってストレージシステムＡ  １０００を制御する。キャッシュメモリ１１１０は、ストレージシステムＡ  １０００に格納されたデータの一部を一時的に記憶し、ホスト計算機３０００の要求に基づいて、データを高速に読み出す。
【００４６】
メモリ１２００は、ＬＵマップ処理部１２１０、仮想Ｖｏｌ処理部１２２０、セグメント処理部１２３０及び構成情報通信部１２４０を実現するプログラムを格納する。また、メモリ１２００は、ＬＵマップテーブルＡ４１００、仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００を格納する。
【００４７】
なお、各処理部の処理については後述する。ＬＵマップテーブルＡ４１００については、図５を用いて後述する。仮想Ｖｏｌ管理テーブルＡ４２００については、図７を用いて後述する。セグメント管理テーブルＡ４３００については、図６を用いて後述する。
【００４８】
図３は、本発明の第１の実施形態のストレージシステムＢが備えるコントローラの構成を示すブロック図である。
【００４９】
ストレージシステムＢ  ２０００のコントローラ２１００は、ストレージシステムＡ  １０００のコントローラ１１００の構成と同じである。ただし、コントローラ２１００のメモリ２２００に格納されるプログラム及び構成情報のテーブルは、コントローラ１１００のメモリ１２００の構成と異なる。
【００５０】
メモリ２２００は、仮想Ｖｏｌ移行部Ｉ２２１０、仮想Ｖｏｌ処理部２２２０、セグメント処理部２２３０及び外接処理部２２４０を実現するプログラムを格納する。また、メモリ２２００は、仮想Ｖｏｌ管理テーブルＢ５２００、セグメント管理テーブルＢ５３００、ストレージ間パステーブルＢ５４００、外接ＶｏｌマップテーブルＢ５５００、外接ＬＤＥＶ参照テーブルＢ５６００、仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００を格納する。
【００５１】
なお、各処理部の処理については後述する。仮想Ｖｏｌ管理テーブルＢ５２００については、図２０を用いて後述する。セグメント管理テーブルＢ５３００については、図１９を用いて後述する。ストレージ間パステーブルＢ５４００については、図８を用いて後述する。外接ＶｏｌマップテーブルＢ５５００については、図１７を用いて後述する。外接ＬＤＥＶ参照テーブルＢ５６００については、図１８を用いて後述する。
【００５２】
なお、仮想Ｖｏｌ管理テーブルＣ５７００の構成は、図７に示す仮想Ｖｏｌ管理テーブルＡ４２００の構成と同じである。セグメント管理テーブルＣ５８００の構成は、図６に示すセグメント管理テーブルＡ４３００の構成と同じである。仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００については後述する。
【００５３】
コントローラ１１００（又はコントローラ２１００）は、ホスト計算機３０００からのデータの読み出し、又は、書き込みの要求を実行するために論理ボリューム等を管理する。次に、論理ボリューム等の構造を、図４を用いて説明する。
【００５４】
図４は、本発明の第１の実施形態のストレージシステムのボリューム等の構成を示す説明図である。
【００５５】
ストレージシステムが備える複数の物理ディスク１０４０は、ＲＡＩＤによって冗長化され、ＲＡＩＤグループ１３１０を構成する。ＲＡＩＤグループ１３１０は、論理ブロックという単位に分割され、各論理ブロックには論理ブロックアドレス（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ。以下、ＬＢＡ）というアドレス情報が付与される。ＲＡＩＤグループ１３１０には、適当な大きさのＬＢＡ領域に区切られた論理ボリューム１３２０が作成される。
【００５６】
さらに、少量配備の機能を実現するために、複数の論理ボリューム１３２０によってＰｏｏｌ１３３０という記憶領域が作成される。Ｐｏｏｌ１３３０に含まれる論理ボリューム１３２０は、所定の数の論理ブロックで作成されるセグメントという単位に分割される。ストレージシステムのコントローラは、セグメントによって論理ボリューム１３２０を管理する。
【００５７】
仮想ボリューム１３４０は、作成された時点で記憶領域の容量が定まっている論理ボリューム１３２０とは異なり、必要に応じてＰｏｏｌ１３３０のセグメントが割り当てられることによって、動的に容量が拡張される。
【００５８】
そして、論理ボリューム１３２０又は仮想ボリューム１３４０は、コントローラによって、論理ユニット１３５０（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）に対応付けられ、ホスト計算機３０００に提供される。なお、論理ユニット１３５０には、Ｐｏｒｔ１０２０毎に一意に設定されるＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）によって識別され、ホスト計算機３０００は、ＬＵＮによって論理ユニット１３５０を認識する。
【００５９】
また、ホスト計算機３０００は、ＬＵＮ、及び、論理ボリューム１３２０のアドレス値であるＬＢＡを用いて、Ｐｏｒｔ１０２０に接続された論理ユニット１３５０に対応付けられた論理ボリューム１３２０又は仮想ボリューム１３４０へのデータの書き込み又読み出しを実行する。ここでは、論理ボリューム１３２０又は仮想ボリューム１３４０と、論理ユニット１３５０のＬＵＮとを対応付けることをＬＵマッピングという。
【００６０】
次に、ストレージシステムＡ  １０００が備えるコントローラ１１００のメモリ１２００に格納されたプログラム及び各テーブルについて説明する。
【００６１】
ＬＵマップ処理部１２１０は、後述する図５に示すＬＵマップテーブルＡ４１００を用いて、Ｐｏｒｔ１０２０に接続されたホスト計算機３０００が認識する論理ユニット１３５０のＬＵＮと、ストレージシステムＡ  １０００で使用している論理ボリュームの識別子であるＤＥＶＩＤとのＬＵマッピングの対応関係を管理する。
【００６２】
なお、ストレージシステムＢ  ２０００がストレージシステムＡ  １０００のＬＵマップ処理部１２１０及びＬＵマップテーブルＡ４１００を管理してもよい。また、ＬＵマップ処理部１２１０は、接続が許可されていないホスト計算機３０００からのデータの入出力の処理を抑止する機能を備えてもよい。
【００６３】
図５は、本発明の第１の実施形態のＬＵマップテーブルＡの構成を示す説明図である。
【００６４】
ＬＵマップテーブルＡ４１００は、ストレージシステムＡ  １０００のコントローラ１１００が備えるＬＵマップテーブルの例である。ＬＵマップテーブルＡ４１００は、ＰｏｒｔＩＤ４１１０、ストレージＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）４１２０、接続ｈｏｓｔＷＷＮ、ＬＵＮ４１４０及びＤＥＶＩＤ４１５０を含む。
【００６５】
ＰｏｒｔＩＤ４１１０は、ストレージシステムＡ  １０００が備えるＰｏｒｔ（Ｐｏｒｔ１０２０等）の識別子である。ストレージＷＷＮ４１２０は、ＰｏｒｔＩＤ４１１０毎に付与されるストレージシステムのＷＷＮであり、ＳＡＮ（ネットワーク１００）上で一意な識別子である。接続ｈｏｓｔＷＷＮ４１３０は、各Ｐｏｒｔに接続されるホスト計算機３０００の識別子であり、ホスト計算機３０００側のインターフェースであるＨＢＡ３０３０に付与される識別子である。
【００６６】
ＬＵＮ４１４０は、ホスト計算機３０００が認識しているストレージシステムＡ  １０００に作成された論理ユニット１３５０の識別子である。ＤＥＶＩＤ４１５０は、ストレージシステムＡ  １０００の論理ユニット１３５０に対応付けられた論理ボリューム１３２０又は仮想ボリューム１３４０の識別子である。
【００６７】
例えば、ストレージシステムＡ  １０００の「Ｐｏｒｔ１」は、「ＷＷＮ１」が付与され、ＨＢＡのＷＷＮが「ｈ１」であるホスト計算機３０００と接続している。そして、ホスト計算機３０００が認識しているストレージシステムＡ  １０００の論理ユニットは「ＬＵＮ１」であり、「ＬＵＮ１」にはストレージシステムＡ  １０００の仮想ボリューム「ＶＶｏｌ１」が対応付けられている。
【００６８】
また、ホスト計算機３０００が認識している論理ユニット「ＬＵＮ２」にはストレージシステムＡ  １０００の論理ボリューム「ＬＤＥＶ１０」が対応付けられている。
【００６９】
セグメント処理部１２３０は、後述するセグメント管理テーブルＡ４３００（図６）を用いて、仮想ボリューム１３４０に割り当てられるセグメントと論理ボリュームとの対応関係を管理し、Ｐｏｏｌ１３３０に含まれる論理ボリュームを追加又は削除する。なお、ストレージシステムＡ  １０００のセグメント処理部１２３０は、セグメント管理テーブルＡ４３００を、ストレージシステムＢ  ２０００のセグメント処理部２２３０は、後述するセグメント管理テーブルＢ５３００をそれぞれ管理する。
【００７０】
図６は、本発明の第１の実施形態のセグメント管理テーブルＡの構成を示す説明図である。
【００７１】
セグメント管理テーブルＡ４３００は、ストレージシステムＡ  １０００が備えるセグメント管理テーブルの例である。セグメント管理テーブルＡ４３００は、ＰｏｏｌＩＤ４３１０、セグメントＩＤ４３２０、ＤＥＶＩＤ４３３０、開始ＬＢＡ４３４０、セグメントサイズ４３５０及びＶＶｏｌＩＤ４３６０を含む。
【００７２】
セグメント管理テーブルＡ４３００は、ストレージシステムＡ  １０００に作成されたＰｏｏｌ１３３０の識別子（ＰｏｏｌＩＤ４３１０）毎に管理される。
【００７３】
セグメントＩＤ４３２０は、ＰｏｏｌＩＤ４３１０によって示されるＰｏｏｌに割り当てられるセグメントの識別子である。ＤＥＶＩＤ４３３０は、セグメントＩＤ４３２０によって示されるセグメントに対応付けられている論理ボリューム１３２０の識別子である。開始ＬＢＡ４３４０は、ＤＥＶＩＤ４３３０によって示される論理ボリューム１３２０の記憶領域の開始アドレスである。セグメントサイズ４３５０は、セグメントＩＤ４３２０によって示されるセグメントの容量である。ＶＶｏｌＩＤ４３６０は、セグメントＩＤ４３２０によって示されるセグメントが割り当てられる仮想ボリューム１３４０の識別子である。
【００７４】
なお、ＶＶｏｌＩＤ４３６０には、セグメントが仮想ボリューム１３４０に割り当てられている場合は、前記仮想ボリュームの識別子が記載され、割り当てられていない場合は、例えば、制御文字として「ＮＵＬＬ」が記載される。
【００７５】
仮想Ｖｏｌ処理部１２２０は、後述する仮想Ｖｏｌ管理テーブルＡ４２００（図７）を用いて、ホスト計算機３０００に提供する仮想ボリューム１３４０を作成し、作成された仮想ボリューム１３４０にセグメントを割り当てることによって、仮想ボリューム１３４０の容量を制御し、また、仮想ボリューム１３４０を管理する。
【００７６】
なお、ストレージシステムＡ  １０００の仮想Ｖｏｌ処理部１２２０は、仮想Ｖｏｌ管理テーブルＡ４２００を、ストレージシステムＢ  ２０００の仮想Ｖｏｌ処理部２２２０は、仮想Ｖｏｌ管理テーブルＢ５２００を管理する。
【００７７】
図７は、本発明の第１の実施形態の仮想Ｖｏｌ管理テーブルＡの構成を示す説明図である。
【００７８】
仮想Ｖｏｌ管理テーブルＡ４２００は、ストレージシステムＡ  １０００が備える仮想Ｖｏｌ管理テーブルの例である。仮想Ｖｏｌ管理テーブルＡ４２００は、ＶＶｏｌＩＤ４２１０、サイズ４２２０、開始ＶＬＢＡ４２３０、ＰｏｏｌＩＤ４２４０、セグメントＩＤ４２５０及びセグメントサイズ４２６０を含む。
【００７９】
ＶＶｏｌＩＤ４２１０は、仮想ボリューム１３４０の識別子である。サイズ４２２０は、仮想ボリュームが最初に作成された時に設定された容量である。開始ＶＬＢＡ４２３０は、ホスト計算機３０００がデータを入出力する仮想ボリューム１３４０の仮想ブロックを特定するための論理ブロックアドレス（以下、ＶＬＢＡ）である。ＰｏｏｌＩＤ４２４０は、仮想ボリューム１３４０にセグメントを割り当てるＰｏｏｌ１３３０の識別子である。セグメントＩＤ４２５０及びセグメントサイズ４２６０は、ＶＶｏｌＩＤ４２１０によって示される仮想ボリューム１３４０のＶＬＢＡに対応付けられたセグメントの識別子及び容量である。
【００８０】
なお、ストレージシステムＡ  １０００に作成されるＰｏｏｌが一つのみの場合、仮想Ｖｏｌ管理テーブルＡ４２００は、ＰｏｏｌＩＤ４２４０を含まなくてもよい。
【００８１】
これによって、例えば、仮想ボリューム「ＶＶｏｌ１」の開始ＶＬＢＡ「３０４８（＝２０４８＋１０００）」で特定される仮想ブロックに対して、ホスト計算機３０００から読み出しを要求された場合には、ストレージシステムＡ  １０００のコントローラ１１００は、仮想Ｖｏｌ管理テーブルＡ４２００を参照して、「Ｐｏｏｌ１」に割り当てられたセグメント「１０１」にデータが格納されていることを知ることができる。
【００８２】
さらに、ストレージシステムＡ  １０００のコントローラ１１００は、セグメント管理テーブルＡ４３００を参照して、セグメント「１０１」が論理ボリューム「ＬＤＥＶ２」のＬＢＡ値「１０７３７４１８２４＋１０００」で特定される論理ブロックであることを知り、また、特定された論理ブロックにデータが格納されていることを知ることができる。
【００８３】
このように、仮想Ｖｏｌ管理テーブルＡ４２００によって、仮想ボリューム１３４０のＶＬＢＡ値と、論理ボリューム１３２０のＬＢＡ値とは対応付けられている。
【００８４】
また、セグメントが割り当てられていない仮想ボリューム１３４０のＶＬＢＡに書き込みの処理が発生した場合等には、仮想Ｖｏｌ処理部１２２０は、セグメント管理テーブルＡ４３００を参照し、利用されていないセグメント（すなわち、ＶＶｏｌＩＤ４３６０に「ＮＵＬＬ」が記載されているセグメント）を仮想ボリューム１３４０に割り当てる。これによって、仮想Ｖｏｌ処理部１２２０は、仮想ボリューム１３４０の容量を動的に拡張することができる。
【００８５】
図８は、本発明の第１の実施形態のストレージ間パステーブルＢの構成を示す説明図である。
【００８６】
ストレージシステムＢ  ２０００のコントローラ２１００は、図８に示すストレージ間パステーブルＢ５４００によって、ストレージシステム間でデータを送受信するためのＰｏｒｔの対応関係を記憶している。ストレージ間パステーブルＢ５４００は、接続元ＷＷＮ５４１０、接続先ストレージ５４２０及び接続先ＷＷＮ５４３０を含む。
【００８７】
接続元ＷＷＮ５４１０は、接続元であるストレージシステム（ここではストレージシステムＢ  ２０００）のＰｏｒｔに付与された識別子である。接続先ストレージ５４２０は、接続先のストレージシステム（ここではストレージシステムＡ  １０００）の識別子である。接続先ＷＷＮは、接続先であるストレージシステムのＰｏｒｔに付与された識別子である。
【００８８】
図８に示した例では、「ＷＷＮ４」が付与されたストレージシステムＢ  ２０００のＰｏｒｔ２０３０と「ＷＷＮ３」が付与されたストレージシステムＡ  １０００のＰｏｒｔ１０３０とが接続されている。
【００８９】
なお、第１の実施形態では、ストレージ間パステーブルＢ５４００は、２台のストレージシステムが物理的に接続され、かつ、一般的なストレージシステム管理ソフトウェアによって接続の設定が終了した後に作成される。また、ストレージシステムＢ  ２０００は、作成されたストレージ間パステーブルＢ５４００を備える。
【００９０】
なお、ストレージシステムＢ  ２０００が、接続されたストレージシステムのＰｏｒｔを自動的に調査し、ストレージ間パステーブルＢ５４００を自動的に作成する機能を備える場合には、ストレージシステムＢ  ２０００は、この機能を利用してストレージ間パステーブルＢ５４００を作成してもよい。
【００９１】
また、ストレージシステムＢ  ２０００のコントローラ２１００は、外接処理部２２４０を備える。外接処理部２２４０は、後述する外接ＶｏｌマップテーブルＢ５５００（図１７）を管理する。
【００９２】
外接処理部２２４０は、他のストレージシステム（ストレージシステムＡ  １０００）の論理ボリューム１３２０を外部接続し、論理ボリューム１３２０をストレージシステムＢ  ２０００の論理ボリューム２３２１として取り込む。ストレージシステムＢ  ２０００は、取り込まれた論理ボリューム２３２１をホスト計算機３０００に提供することができる。なお、外接処理部２２４０が実行する具体的な処理については後述する。
【００９３】
例えば、図８に示したように「ＷＷＮ４」が付与されたストレージシステムＢ  ２０００のＰｏｒｔ２０３０と「ＷＷＮ３」が付与されたストレージシステムＡ  １０００のＰｏｒｔ１０３０とが接続され、かつ、「ＷＷＮ３」が付与されたＰｏｒｔ１０３０に、論理ボリューム１３２０が、ＬＵＮが付与された論理ユニット１３５０として対応付けられている場合には、ストレージシステムＢ  ２０００の外接処理部２２４０は、論理ユニット１３５０に対応付けられたストレージシステムＡ  １０００の論理ボリューム１３２０に、ストレージシステムＢ  ２０００内で利用するＤＥＶＩＤを付与する。これによって、ストレージシステムＢ  ２０００は、外部接続されたストレージシステムＡ  １０００の論理ボリューム１３２０をストレージシステムＢ  ２０００の論理ボリューム２３２１として扱うことができる。
【００９４】
外接ＶｏｌマップテーブルＢ５５００は図１７に示されており、詳細は後述するフローチャートの中で説明する。
【００９５】
このほか、ストレージシステムＡ  １０００のコントローラ１１００は、構成情報通信部１１４０を備える。また、ストレージシステムＢ  ２０００のコントローラ２１００は、仮想Ｖｏｌ移行部Ｉ２２１０を備える。仮想Ｖｏｌ移行部Ｉ２２１０の処理については、図９から図１５を用いて後述する。
【００９６】
構成情報通信部１１４０は、仮想Ｖｏｌ移行部Ｉ２２１０からの要求を契機として、ストレージシステムＡ  １０００にある各構成情報のテーブルを仮想Ｖｏｌ移行部Ｉ２２１０に送信する。なお、各構成情報のテーブルは、管理ＩＦ１０１０経由のネットワーク３００を介して送信されてもよいし、Ｐｏｒｔ１０２０（又はＰｏｒｔ１０３０）経由のネットワーク１００（又はネットワーク２００）を介して送信されてもよい。
【００９７】
また、ストレージシステムＢ  ２０００のコントローラ２１００は、外接ＬＤＥＶ参照テーブルＢ５６００、仮想Ｖｏｌ管理テーブルＣ５７００、セグメント管理テーブルＣ５８００を備える。
【００９８】
外接ＬＤＥＶ参照テーブルＢ５６００は、ストレージシステムＡ  １０００の論理ボリューム１３２０と、論理ボリューム１３２０を外部接続したストレージシステムＢ  ２０００の外接ボリュームのＤＥＶ  ＩＤの対応関係を記述したテーブルである。外接ＬＤＥＶ参照テーブルＢ５６００については、図１８を用いて後述する。
【００９９】
セグメント管理テーブルＣ５８００の構成は、図６に示したセグメント管理テーブルＡ４３００の構成と同じである。仮想Ｖｏｌ管理テーブルＣ５７００の構成は、図７に示した仮想Ｖｏｌ管理テーブルＡ４２００の構成と同じである。
【０１００】
第１の実施形態では、セグメント管理テーブルＣ５８００及び仮想Ｖｏｌ管理テーブルＣ５７００を用いる例を説明するが、セグメント管理テーブルＣ５８００及び仮想Ｖｏｌ管理テーブルＣ５７００は、ストレージシステムＢ  ２０００のＰｏｏｌ及び仮想ボリュームを管理するために用いるテーブルではなく、第１の実施形態の処理の過程で一時的に作成するテーブルであって必ずしも必要ではない。
【０１０１】
なお、外接ＬＤＥＶ参照テーブルＢ５６００、仮想Ｖｏｌ管理テーブルＣ５７００、セグメント管理テーブルＣ５８００の説明については、図１１を用いて後述する。
【０１０２】
以下に、第１の実施形態の仮想ボリュームの移行処理の概要を説明する。
【０１０３】
ストレージシステムＡ  １０００は、仮想ボリューム移行処理の前に、前述した図５、図６、図７に示したテーブルの構成を備え、ストレージシステムＢ  ２０００は、図８に示したテーブルの構成を備えている。
【０１０４】
ここで説明のため、ストレージシステムＡ  １０００は、論理ボリューム１３２０（識別子は「ＬＤＥＶ１」及び「ＬＤＥＶ２」）、この「ＬＤＥＶ１」及び「ＬＤＥＶ２」の論理ボリューム１３２０によって作成されたＰｏｏｌ１３３０（識別子は「Ｐｏｏｌ１」）を備えている。
【０１０５】
さらに、ストレージシステムＡ  １０００は、Ｐｏｏｌ（識別子は「Ｐｏｏｌ１」）のセグメントが割り当てられた仮想ボリューム１３４０（識別子は「ＶＶｏｌ１」）を備える。また、一般的な管理プログラム等を用いて、ホスト計算機３０００が論理ボリューム１３２０を利用しないように操作することができるため、仮想ボリューム１３４０は、ホスト計算機３０００から利用されていないとする。
【０１０６】
なお、前述した論理ボリューム１３２０、Ｐｏｏｌ１３３０及び仮想ボリューム１３４０の構成は一例であって、これらの数はストレージシステムＡ  １０００の運用に応じて変更してよい。
【０１０７】
図９は、本発明の第１の実施形態の仮想Ｖｏｌ移行部Ｉの処理を示すフローチャートである。
【０１０８】
図９に示す処理７０００から処理７５００までの処理は、仮想Ｖｏｌ移行部Ｉ２２１０が実行する仮想ボリュームの移行の処理である。
【０１０９】
なお、処理７１００の詳細については、図１１を用いて後述する。処理７２００の詳細については、図１３を用いて後述する。処理７３００の詳細については、図１４を用いて後述する。処理７４００の詳細については、図１５を用いて後述する。
【０１１０】
ここで、図９に示す仮想ボリュームの移行処理を説明する前に、仮想ボリュームの移行の前後におけるストレージシステムＡ  １０００及びストレージシステムＢ  ２０００の構成について説明する。
【０１１１】
図１０は、本発明の第１の実施形態の仮想ボリュームを移行する処理の概要を示す説明図である。
【０１１２】
仮想ボリュームの移行処理の前のストレージシステムＡ  １０００は、論理ボリューム１３２０（識別子は「ＬＤＥＶ１」及び「ＬＤＥＶ２」）を備え、これらの論理ボリューム１３２０から作成されたＰｏｏｌ１３３０（識別子は「Ｐｏｏｌ１」）を備える。また、ストレージシステムＡ  １０００は、このＰｏｏｌ１３３０からセグメントを割り当てられた仮想ボリューム１３４０（識別子は「ＶＶｏｌ１」）を備える。
【０１１３】
仮想ボリュームの移行処理の後のストレージシステムＢ  ２０００は、外部接続によって取り込まれた論理ボリューム２３２１（識別子は「ＬＤＥＶ３」及び「ＬＤＥＶ４」）を備え、これらの論理ボリューム２３２１から作成されたＰｏｏｌ２３３０（識別子は「Ｐｏｏｌ３」）を備える。
【０１１４】
また、ストレージシステムＢ  ２０００は、このＰｏｏｌ２３３０からセグメントを割り当てられた仮想ボリューム２３４０（識別子は「ＶＶｏｌ３」）を備える。  図９の説明に戻り、ストレージシステムＢ  ２０００の仮想Ｖｏｌ移行部Ｉ２２１０の処理の概要を説明する。
【０１１５】
まず、仮想Ｖｏｌ移行部Ｉ２２１０は、例えば、管理ＩＦ２０１０を経由して、ストレージシステムＡ  １０００の「Ｐｏｏｌ１」をストレージシステムＢ  ２０００に移行する指示を受け取る（処理７０００）。
【０１１６】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００から、仮想ボリューム１３４０の構成情報である仮想Ｖｏｌ管理テーブルＡ４２００及びＰｏｏｌ１３３０の構成情報であるセグメント管理テーブルＡ４３００を取得する（処理７１００）。
【０１１７】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、取得したセグメント管理テーブルＡ４３００を参照して、「Ｐｏｏｌ１」に含まれる論理ボリューム「ＬＤＥＶ１」及び「ＬＤＥＶ２」を外部接続する指示を外接処理部２２４０に与える（処理７２００）。
【０１１８】
そして、仮想Ｖｏｌ移行部Ｉ２２１０は、外部接続した論理ボリューム「ＬＤＥＶ１」及び「ＬＤＥＶ２」をストレージシステムＢ  ２０００で使用するため、セグメント管理テーブルＡ４３００を変換する（処理７３００）。また、仮想Ｖｏｌ移行部Ｉ２２１０は、外部接続によって取り込んだ論理ボリューム「ＬＤＥＶ３」及び「ＬＤＥＶ４」をストレージシステムＢ  ２０００内に作成する。
【０１１９】
最後に、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００から取得した仮想Ｖｏｌ管理テーブルＡ４２００及び変換されたセグメント管理テーブルＡ４３００によって、移行処理の前にストレージシステムＡ  １０００が備えていた「Ｐｏｏｌ１」及び仮想ボリューム「ＶＶｏｌ１」と同じ構成情報を備える「Ｐｏｏｌ３」及び仮想ボリューム「ＶＶｏｌ３」を作成し（処理７４００）、移行の処理を終了する（処理７５００）。
【０１２０】
なお、図１０に示した例においては、移行処理の後にストレージシステムＢ  ２０００が備えるＰｏｏｌ２３３０及び仮想ボリューム２３４０の識別子を、移行処理の前にストレージシステムＡ  １０００が備えていたＰｏｏｌ１３３０及び仮想ボリューム１３４０の識別子とは違う識別子に変換した。
【０１２１】
ストレージシステムＢ  ２０００が備えるＰｏｏｌ１３３０及び仮想ボリューム１３４０の識別子が、ストレージシステムＡ  １０００が備えるＰｏｏｌ１３３０及び仮想ボリューム１３４０の識別子と重複しない場合は、移行処理の前にストレージシステムＡ  １０００が備えているＰｏｏｌ１３３０及び仮想ボリューム１３４０の識別子を、移行処理の後のストレージシステムＢ  ２０００がそのまま用いてもよい。
【０１２２】
この場合、移行処理の後のストレージシステムＢ  ２０００において、図１０に示した「Ｐｏｏｌ３」を「Ｐｏｏｌ１」に、「ＶＶｏｌ３」を「ＶＶｏｌ１」に読み替えてよい。
【０１２３】
また、ストレージシステムＡ  １０００が一つ以上のＰｏｏｌ１３３０を備える場合には、仮想Ｖｏｌ移行部Ｉ２２１０は、各Ｐｏｏｌ１３３０に対して、図９に示した処理７０００から処理７４００までの処理を繰り返し、ストレージシステムＡ  １０００が備えるすべてのＰｏｏｌ１３３０をストレージシステムＢ  ２０００へ移行する。
【０１２４】
前述した一連の移行処理によって、ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００のＰｏｏｌ１３３０及び仮想ボリューム１３４０と同じ構成を備えるＰｏｏｌ２３３０及び仮想ボリューム２３４０を利用することができる。
【０１２５】
また、仮想ボリューム１３４０の移行処理において、ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００の記憶領域に格納されたデータをストレージシステムＢ  ２０００の記憶領域にコピーすることなく、ストレージシステムＡ  １０００の記憶領域を利用するので、データのコピーのために新たに記憶領域を必要としない。
【０１２６】
さらに、前述した一連の移行処理によって、単純にストレージシステムＡ  １０００の仮想ボリューム１３４０をストレージシステムＢ  ２０００の記憶領域にコピーした場合と異なり、ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００の仮想ボリューム１３４０をストレージシステムＢ  ２０００の仮想ボリューム２３４０として扱うことができ、仮想ボリューム２３４０へのセグメント割り当ての情報を利用した機能（例えば、仮想ボリューム２３４０のセグメントが割り当てられている部分のみを別の論理ボリューム２３２１にコピーする機能等）を提供することができる。
【０１２７】
そして、前述した一連の移行処理においては、ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００のセグメント管理テーブルＡ４３００及び仮想Ｖｏｌ管理テーブルＡ４２００の構成情報のみを取得すればよい。したがって、ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００の仮想ボリューム１３４０を仮想ボリューム１３４０に対応付けられている論理ボリューム１３２０に格納されたデータとともにストレージシステムＢ  ２０００の記憶領域にコピーする場合よりも早く、ストレージシステムＡ  １０００が備えていた仮想ボリュームを利用することができる。
【０１２８】
また、前述した移行処理において、移行元であるストレージシステムＡ  １０００は、構成情報を通信する構成情報通信部１２４０のみを備えればよく、ストレージシステムＡ  １０００は移行処理のために、そのほかの特別な処理部を必要としない。さらに、ストレージシステムＡ  １０００は、ストレージシステムＢ  ２０００に論理ボリューム１３２０をコピーする機能を備える必要がない。
【０１２９】
図９における各処理を図１１から図１５を用いて説明する。
【０１３０】
まず、仮想Ｖｏｌ移行部Ｉ２２１０は、処理７０００において、管理ＩＦ２０１０からストレージシステムＡ  １０００のＰｏｏｌ１３３０（識別子「Ｐｏｏｌ１」）を移行する指示を受け取り、移行元となるストレージシステムＡ  １０００と、ストレージシステムＡ  １０００のＰｏｏｌ１３３０を特定する。Ｐｏｏｌの移行は、ストレージシステムＢ  ２０００が備える管理用のコンソール（図示省略）、又は、後述する図２１の管理計算機６０００の管理プログラム６１１０が提供する管理画面（図２２）を用いてユーザが指示してもよい。なお、「Ｐｏｏｌ１」を移行する指示は、所定の規則に従って、ネットワーク上を流れるデータのバイト列に埋め込まれてもよい。
【０１３１】
次に、図９に示した処理７１００を、図１１を用いて具体的に説明する。
【０１３２】
図１１は、本発明の第１の実施形態のＰｏｏｌ及び仮想ボリュームの構成情報を取得する処理を示すフローチャートである。
【０１３３】
仮想Ｖｏｌ移行部Ｉ２２１０は、前述した処理７０００によって、移行元の対象がストレージシステムＡ  １０００の「Ｐｏｏｌ１」であることを特定している。
【０１３４】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００の構成情報通信部１２４０と通信することができるか否かを確認する（処理７１１０）。
【０１３５】
なお、ストレージシステムＢ  ２０００は、例えば、管理ＩＦ２０１０経由でＬＡＮ等のネットワーク３００を介してストレージシステムＡと通信してもよいし、Ｐｏｒｔ２０２０経由で、互いに接続されたＳＡＮ等のネットワーク１００を介して通信してもよい。
【０１３６】
以下では、ストレージシステムＡ  １０００の構成情報通信部１２４０が管理ＩＦ１０１０経由で構成情報を送信する例を説明する。また、例えば、ネットワーク１００がＬＡＮの場合、仮想Ｖｏｌ移行部Ｉ２２１０は、構成情報通信部１２４０に宛ててＰｉｎｇ等を送信し、レスポンスがあるか否かを確認することによって、ストレージシステムＡ  １０００との通信が可能であるかを判定する。
【０１３７】
処理７１１０において、通信が不可能であった場合、仮想Ｖｏｌ移行部Ｉ２２１０は、処理を終了する（処理７５００）。なお、管理ＩＦ２０１０に出力端末等（例えば、後述する図２１に示す管理計算機６０００）が接続されている場合には、仮想Ｖｏｌ移行部Ｉ２２１０は、処理が異常終了した旨を出力端末等に通知してもよい（処理７１５０）。この場合、出力端末等は、通知されたエラーの内容に基づいてエラー表示画面を表示してもよい。エラー表示画面の表示の例を、図１２を用いて説明する。
【０１３８】
図１２は、本発明の第１の実施形態のエラー表示画面の例を示す説明図である。
【０１３９】
エラー表示画面６４００は、エラーの理由を通知する画面構成要素６４１０等を備える。図１１の説明に戻る。
【０１４０】
処理７１１０において、通信が可能であった場合は、仮想Ｖｏｌ移行部Ｉ２２１０は、処理７１２０へ進む。
【０１４１】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００が備える仮想ボリューム１３４０の構成情報である仮想Ｖｏｌ管理テーブルＡ４２００及びＰｏｏｌのセグメント管理情報であるセグメント管理テーブルＡ４３００をストレージシステムＢ  ２０００に送信するよう構成情報通信部１２４０に対して要求する。
【０１４２】
送信の要求を受け取った構成情報通信部１２４０は、管理ＩＦ１０１０経由によって、仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００を仮想Ｖｏｌ移行部Ｉ２２１０へ送信する。
【０１４３】
これによって、仮想Ｖｏｌ移行部Ｉ２２１０は、仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００を取得する（処理７１２０）。
【０１４４】
なお、仮想Ｖｏｌ移行部Ｉ２２１０は、構成情報通信部１２４０へ送信を要求する場合に、Ｐｏｏｌの識別子を指定し、仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００から指定されたＰｏｏｌの識別子を含むレコードのみを取得してもよい。
【０１４５】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、取得したセグメント管理テーブルＡ４３００が「Ｐｏｏｌ１」であるレコードを含むか否かを確認する（処理７１３０）。
【０１４６】
処理７１３０において、確認の結果、「Ｐｏｏｌ１」であるレコードが含まれていない場合、仮想Ｖｏｌ移行部Ｉ２２１０は処理を終了する（処理７５００）。
【０１４７】
なお、管理ＩＦ２０１０に出力端末等が接続されている場合、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００には指定された識別子が付与されたＰｏｏｌ１３３０が存在しない旨を出力端末等に通知し（処理７１５０）、出力端末等は通知された終了理由を表示してもよい。
【０１４８】
処理７１３０において、「Ｐｏｏｌ１」であるレコードが含まれている場合、仮想Ｖｏｌ移行部Ｉ２２１０は処理７１４０へ進む。
【０１４９】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、取得した仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００から、「Ｐｏｏｌ１」であるレコードのみを抽出し、抽出されたレコードによって作成されるテーブルを仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００としてストレージシステムＢ  ２０００のメモリ２２００に格納する（処理７１４０）。
【０１５０】
仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００の構成は、図６及び図７に示した仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００の構成と同じである。
【０１５１】
なお、処理７１４０は、仮想Ｖｏｌ移行部Ｉ２２１０が、それぞれの管理テーブルの各レコードに対して、レコードに記載されたＰｏｏｌの識別子を判別し、「Ｐｏｏｌ１」を含むレコードを仮想Ｖｏｌ管理テーブルＣ５７００又はセグメント管理テーブルＣ５８００に記載することによって実行される。
【０１５２】
仮想Ｖｏｌ移行部Ｉ２２１０は、仮想Ｖｏｌ管理テーブルＣ５７００又はセグメント管理テーブルＣ５８００を作成した後、処理７２００へ進む。また、処理７２００以降、仮想Ｖｏｌ移行部Ｉ２２１０は、取得した仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００を使用しないため、これらの管理テーブルをメモリ２２００から削除してもよい。
【０１５３】
なお、処理７１２０において、仮想Ｖｏｌ移行部Ｉ２２１０は、仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００から、「Ｐｏｏｌ１」を含むレコードのみを取得して、仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００としてもよい。
【０１５４】
また、処理７１４０は必ずしも必要でなく、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００から取得した仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００をそのまま用いて、以降の処理に進んでもよい。
【０１５５】
次に、図９に示した処理７２００を、図１３を用いて具体的に説明する。
【０１５６】
図１３は、本発明の第１の実施形態の論理ボリュームを外部接続する処理を示すフローチャートである。
【０１５７】
処理７２００（処理７２１０から処理７２２５）は、処理７１００において、仮想Ｖｏｌ移行部Ｉ２２１０がストレージシステムＡ  １０００の「Ｐｏｏｌ」の構成情報を取得した後に、「Ｐｏｏｌ１」に含まれる論理ボリューム「ＬＤＥＶ１」及び「ＬＤＥＶ２」をストレージシステムＢ  ２０００に外部接続する処理である。
【０１５８】
なお、処理７２００を開始する前に、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００の「Ｐｏｏｌ１」に含まれる論理ボリューム「ＬＤＥＶ１」及び「ＬＤＥＶ２」を外部接続する処理ため、必要に応じて、ストレージシステムＡ  １０００に作成された「Ｐｏｏｌ１」及び「ＶＶｏｌ１」を削除してもよい。
【０１５９】
この場合、仮想Ｖｏｌ移行部Ｉ２２１０は、セグメント処理部１２３０に対して、
「ＬＤＥＶ１」及び「ＬＤＥＶ２」が作成する「Ｐｏｏｌ１」の削除を指示し、仮想Ｖｏｌ処理部１２２０に対し、「Ｐｏｏｌ１」のセグメントが割り当てられている「ＶＶｏｌ１」の削除を指示する。削除の指示は、管理ＩＦ２０１０等を経由してもよい。
【０１６０】
また、仮想Ｖｏｌ移行部Ｉ２２１０は、「Ｐｏｏｌ１」を削除した場合、削除された「Ｐｏｏｌ１」に含まれていた論理ボリューム「ＬＤＥＶ１」及び「ＬＤＥＶ２」に格納されたデータが変更されるのを防ぐため、「ＬＤＥＶ１」及び「ＬＤＥＶ２」に対するホスト計算機３０００からの書き込みを不可としてもよい。この場合、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００のＬＵマップ処理部１２１０に書き込み不可の設定を指示してもよい。
【０１６１】
まず、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＢ  ２０００が備えるストレージ間パステーブルＢ５４００を参照して、ＳＡＮ等のネットワーク１００を介して接続されたストレージシステムＡ  １０００のＰｏｒｔのＷＷＮが存在するか否かを確認する（処理７２１０）。
【０１６２】
処理７２１０において、該当するＷＷＮが存在しない場合、仮想Ｖｏｌ移行部Ｉ２２１０は処理を終了する（処理７５００）。なお、ストレージシステムＢ  ２０００の管理ＩＦ２０１０に出力端末等が接続されている場合、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＢ  ２０００に接続されているストレージシステムＡ  １０００が存在しないため、処理を終了した旨を通知し、出力端末等にエラー通知の表示を指示してもよい（処理７２６０）。
【０１６３】
処理７２１０において、該当するＷＷＮが存在する場合（すなわち、ＳＡＮ等のネットワーク１００を介してストレージシステムＢ  ２０００と通信可能なストレージシステムＡ  １０００が存在する場合）、仮想Ｖｏｌ移行部Ｉ２２１０は処理７２２０へ進む。
【０１６４】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、処理７１４０においてストレージシステムＡ  １０００から取得したセグメント管理テーブルＣ５８００を参照し、記載されているすべての各セグメントに対して、処理７２３０から処理７２５０の処理を繰り返して実行する（処理７２２０）。
【０１６５】
なお、仮想Ｖｏｌ移行部Ｉ２２１０は、すべてのセグメントに対して、処理７２３０から処理７２５０までの処理を実行した後、次の処理７３００へ進む（処理７２２０）。
【０１６６】
処理７２３０の説明に戻る。
【０１６７】
仮想Ｖｏｌ移行部Ｉ２２１０は、セグメント管理テーブルＣ５８００を参照して、セグメントＩＤ４３２０に対応付けられているＤＥＶＩＤ４３３０を確認し、ＤＥＶＩＤ４３３０によって示される論理ボリューム１３２０（例えば、「ＬＤＥＶ１」又は「ＬＤＥＶ２」）が外部接続されているかを確認する（処理７２３０）。
【０１６８】
処理７２３０において、論理ボリューム１３２０が外部接続されていない場合、仮想Ｖｏｌ移行部Ｉ２２１０は処理７２４０に進む。
【０１６９】
処理７２３０において、論理ボリューム１３２０が既に外部接続されていた場合、仮想Ｖｏｌ移行部Ｉ２２１０は、処理７２２５に進み、ほかのセグメントＩＤ４３２０に対応付けられた論理ボリューム１３２０に対して、処理７２３０から処理７２５０までの処理を実行する。
【０１７０】
なお、仮想Ｖｏｌ移行部Ｉ２２１０は、論理ボリューム１３２０が外部接続されているか否かを、処理７２２０おいて記憶された外部接続を指示された論理ボリューム１３２０のＤＥＶＩＤに基づいて判定してもよいし、構成情報通信部１２４０から取得したＬＵマップテーブルＡ４１００に記載された論理ボリューム１３２０に基づいて判定してもよい。
【０１７１】
次に処理７２４０を説明する。
【０１７２】
処理７２３０において、セグメントＩＤ４３２０に対応付けられた論理ボリューム１３２０（例えば、「ＬＤＥＶ１」）はまだ外部接続されていないと判定された。
【０１７３】
したがって、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージ間パステーブルＢ５４００を参照し、接続元ＷＷＮ５４１０（ストレージシステムＢ  ２０００）に接続している接続先ＷＷＮ５４３０（ストレージシステムＡ  １０００）を確認する。
【０１７４】
例えば、ここでは、「ＷＷＮ４」が付与されたストレージシステムＢ  ２０００のＰｏｒｔが、「ＷＷＮ３」が付与されたストレージシステムＡ  １０００のＰｏｒｔに接続されている。
【０１７５】
そして、仮想Ｖｏｌ移行部Ｉ２２１０は、「ＷＷＮ３」が付与されたストレージシステムＡ  １０００のＰｏｒｔを経由して、ストレージシステムＡ  １０００のＬＵマップ処理部１２１０に対して、外部接続が完了していないと判定されたセグメントＩＤ４３２０に対応付けられた論理ボリューム１３２０（例えば、「ＬＤＥＶ１」）を、論理ユニット１３５０（例えば、「ＬＵＮ１」）にＬＵマッピングするよう指示する（処理７２４０）。
【０１７６】
ＬＵマップ処理部１２１０は、ＬＵマッピングの指示を受け取った後、仮想Ｖｏｌ移行部Ｉ２２１０から指定された「ＷＷＮ３」が付与されたＰｏｒｔに、指示された論理ボリューム「ＬＤＥＶ１」を、「ＬＵＮ１」である論理ユニット１３５０として対応付ける。
【０１７７】
なお、ＬＵＮの番号は、ストレージシステムＢ  ２０００の「ＷＷＮ３」に既に割り当てられたＬＵＮに重複しない数であればよく、例えば、既存のＬＵＮに重複しない数のうちで最も小さな数を選んでよい。
【０１７８】
そして、ＬＵマップ処理部１２１０は、このＬＵマッピング結果をＬＵマップテーブルＡ４１００に反映する。
【０１７９】
ここで、ＬＵマッピングが終了した後に更新されたＬＵマップテーブルＡ４１００を、図１６を用いて説明する。
【０１８０】
図１６は、本発明の第１の実施形態の論理ボリュームの外部接続時のＬＵマップテーブルＡの構成の例を示す説明図である。
【０１８１】
図１６に示したＬＵマップテーブルＡ４１００では、「ＷＷＮ３」が付与されたＰｏｒｔに、「Ｐｏｏｌ１」に含まれる論理ボリューム「ＬＤＥＶ１」及び「ＬＤＥＶ２」が、それぞれ「ＬＵＮ１」及び「ＬＵＮ２」の論理ユニット１３５０としてＬＵマッピングされている。
【０１８２】
図１６に示したＬＵマップテーブルＡ４１００は、「ＷＷＮ３」である行が追加された点が、図５示したＬＵマップテーブルＡ４１００と異なる。
【０１８３】
図１３の説明に戻り、ＬＵマッピングされた論理ボリューム「ＬＤＥＶ１」及び「ＬＤＥＶ２」を外部接続する処理７２５０を説明する。
【０１８４】
仮想Ｖｏｌ移行部Ｉ２２１０は、処理７２４０によって「ＷＷＮ３」を付与されたストレージシステムＡ  １０００のＰｏｒｔに、「ＬＵＮ１」としてＬＵマッピングされた「ＬＤＥＶ１」を外部接続する指示を外接処理部２２４０に与える。また、同様にして、「ＬＵＮ２」としてＬＵマッピングされた「ＬＤＥＶ２」を外部接続する指示を与える（処理７２５０）。
【０１８５】
次に、前述した指示を受け取った外接処理部２２４０は、「ＷＷＮ３」が付与されたストレージシステムＡ  １０００のＰｏｒｔにＬＵマッピングされた論理ボリューム「ＬＤＥＶ１」（又は「ＬＤＥＶ２」）に、ストレージシステムＢ  ２０００内で使用するための新たな識別子「ＬＤＥＶ３」（又は、「ＬＤＥＶ４」）を割り振り、後述する外接ＶｏｌマップテーブルＢ５５００（図１７）を作成する。これによって、ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００の論理ボリューム１３２０をストレージシステムＢ  ２０００の論理ボリューム２３２１としてホスト計算機３０００（又は、管理計算機等）に提供することができる。
【０１８６】
図１７は、本発明の第１の実施形態の論理ボリュームの外部接続時の外接ＶｏｌマップテーブルＢの構成の例を示す説明図である。
【０１８７】
外接ＶｏｌマップテーブルＢ５５００は、ＤＥＶＩＤ５５１０、接続先ＷＷＮ５５２０及び接続先ＬＵＮ５５３０を含む。なお、第１の実施形態では、外部接続の接続先はストレージシステムＡ  １０００であり、接続元はストレージシステムＢ  ２０００である。
【０１８８】
ＤＥＶＩＤ５５１０は、接続元（ここでは、ストレージシステムＢ  ２０００）が外部接続して取り込んだ論理ボリューム２３２１に付与した識別子である。接続先ＷＷＮ５５２０は、外部接続された実際の論理ボリューム１３２０を備える接続先（ここでは、ストレージシステムＡ  １０００）のＷＷＮである。接続先ＬＵＮ５５３０は、接続先（ストレージシステムＡ  １０００）において外部接続された論理ボリューム１３２０にＬＵマッピングされている論理ユニット１３５０の識別子である。
【０１８９】
ここで、図１３の説明に戻る。
【０１９０】
仮想Ｖｏｌ移行部Ｉ２２１０は、「Ｐｏｏｌ１」に含まれるすべての論理ボリューム１３２０に対して、処理７２４０（ＬＵマッピングの処理）及び処理７２５０（外部接続の処理）を実行した後、処理７３００へ進む。なお、処理７２５０は、先に「Ｐｏｏｌ１」に含まれるすべての論理ボリューム１３２０に対して処理７２４０を実行した後、すなわちＬＵマッピングが終了した後、実行されてもよい。
【０１９１】
次に、処理７３００を、図１４を用いて具体的に説明する。
【０１９２】
図１４は、本発明の第１の実施形態のＰｏｏｌ及び仮想ボリュームの構成情報を変換する処理を示すフローチャートである。
【０１９３】
処理７３００（処理７３１０から処理７３４０まで）は、仮想Ｖｏｌ移行部Ｉ２２１０がストレージシステムＡ  １０００から取得した仮想Ｖｏｌ管理テーブルＣ５７００、及び、セグメント管理テーブルＣ５８００を、ストレージシステムＢ  ２０００で利用するための変換処理である。
【０１９４】
仮想Ｖｏｌ移行部Ｉ２２１０は、「Ｐｏｏｌ１」に含まれるすべての論理ボリューム（ここでは、「ＬＤＥＶ１」及び「ＬＤＥＶ２」）を外部接続した後、ストレージシステムＡ  １０００の構成情報通信部１２４０から、ＬＵマップテーブルＡ４１００を取得する（処理７３１０）。
【０１９５】
なお、この場合のＬＵマップテーブルＡ４１００は、図５ではなく図１６に示す情報を含むテーブルである。また、仮想Ｖｏｌ移行部Ｉ２２１０は、このＬＵマップテーブルＡ４１００に含まれるすべてレコードを取得する必要はなく、処理７２５０において外部接続の接続先ＷＷＮとして指定されたＷＷＮ（例えば、「ＷＷＮ３」）を含むレコードのみでよい。
【０１９６】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、前述した処理７３１０において取得したＬＵマップテーブルＡ４１００の指定されたＷＷＮ（例えば、「ＷＷＮ３」）を含むレコードに対して、処理７３３０に示す処理を繰り返し実行し（処理７３２０）、すべてのレコードに対して処理７３３０が完了した後、処理７３４０へ進む（処理７３２５）。
【０１９７】
仮想Ｖｏｌ移行部Ｉ２２１０は、処理７２５０で作成した外接ＶｏｌマップテーブルＢ５５００、及び、処理７３１０おいて取得したＬＵマップテーブルＡ４１００を参照して、外接ＬＤＥＶ参照テーブルＢ５６００（図１８）を作成する（処理７３３０）。
【０１９８】
次に、外接ＬＤＥＶ参照テーブルＢ５６００を、図１８を用いて説明する。
【０１９９】
図１８は、本発明の第１の実施形態の論理ボリュームの外部接続時の外接ＬＤＥＶ参照テーブルの構成の例を示す説明図である。
【０２００】
外接ＬＤＥＶ参照テーブルＢ５６００は、接続元ＤＥＶＩＤ５６１０及び接続先ＤＥＶＩＤ５６２０を含む。
【０２０１】
接続元ＤＥＶＩＤ５６１０は、ストレージシステムＢ  ２０００がストレージシステムＡ  １０００の論理ボリューム１３２０を外部接続し、ストレージシステムＢ  ２０００内に取り込んだ論理ボリューム２３２１に付与された識別子である。接続先ＤＥＶＩＤ５６２０は、外部接続されたストレージシステムＡ  １０００の論理ボリューム１３２０の識別子である
例えば、仮想Ｖｏｌ移行部Ｉ２２１０は、図１６に示したＬＵマップテーブルＡ４１００を参照して、ＷＷＮが「ＷＷＮ３」、ＬＵＮが「１」、ＤＥＶＩＤが「ＬＤＥＶ１」であるレコード４１０１を特定する（処理７３２０）。
【０２０２】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、図１７に示した外接ＶｏｌマップテーブルＢ５５００を参照して、レコード４１０１のＷＷＮ（ここでは「ＷＷＮ３」）及びＬＵＮ（ここでは「ＬＵＮ１」）と同一の値を含むレコードを特定する。
【０２０３】
ここでは、レコード５５０１の接続先ＷＷＮ５５２０及び接続先ＬＵＮ５５３０が、レコード４１０１のＷＷＮ及びＬＵＮにそれぞれ一致する。
【０２０４】
したがって、仮想Ｖｏｌ移行部Ｉ２２１０は、レコード５５０１のＤＥＶＩＤ５５１０に示された「ＬＤＥＶ３」を図１８に示した外接ＬＤＥＶ参照テーブルＢ５６００の接続元ＤＥＶＩＤ５６１０に、レコード４１０１のＤＥＶＩＤに示された「ＬＤＥＶ１」を接続先ＤＥＶＩＤ５６２０に記載する。
【０２０５】
これによって、外接ＬＤＥＶ参照テーブルＢ５６００に、レコード５６０１が追加された。
【０２０６】
以上の処理によって、仮想Ｖｏｌ移行部Ｉ２２１０は、接続先の外部接続された論理ボリューム１３２０の識別子と、外接元の取り込んだ論理ボリューム２３２１の識別子との対応関係を記述した外接ＬＤＥＶ参照テーブルＢ５６００を作成する（図１４に示した処理７３３０）。
【０２０７】
図１４の説明に戻る。外接ＬＤＥＶ参照テーブルＢ５６００が作成された後、仮想Ｖｏｌ移行部Ｉ２２１０は処理７３４０へ進む。
【０２０８】
仮想Ｖｏｌ移行部Ｉ２２１０は、処理７３３０によって作成された外接ＬＤＥＶ参照テーブルＢ５６００を参照して、ストレージシステムＡ  １０００から取得したセグメント管理テーブルＣ５８００のＤＥＶＩＤ４３３０を書き換える。
【０２０９】
つまり、ＤＥＶＩＤ４３３０に記載されている「ＬＤＥＶ１」（図１８のレコード５６０１に示した接続先ＤＥＶＩＤ５６２０に相当する）を「ＬＤＥＶ３」（図１８のレコード５６０１に示した接続元ＤＥＶＩＤ５６１０に相当する）へ置換する（処理７３４０）。
【０２１０】
仮想Ｖｏｌ移行部Ｉ２２１０は、前述した置換の処理をストレージシステムＡ  １０００から取得したセグメント管理テーブルＣ５８００のすべてのレコードに対して実行する。
【０２１１】
なお、仮想Ｖｏｌ移行部Ｉ２２１０がセグメント管理テーブルＣ５８００ではなく、ストレージシステムＡ  １０００から取得したセグメント管理テーブルＡ４３００をそのまま用いている場合には、仮想Ｖｏｌ移行部Ｉ２２１０は、Ｐｏｏｌの識別子が「Ｐｏｏｌ１」のレコードについてのみ置換の処理を実行すればよい。
【０２１２】
例えば、図６に示したセグメント管理テーブルＡ４３００で、ＰｏｏｌＩＤ４３１０が「Ｐｏｏｌ１」であり、ＤＥＶＩＤ４３３０に「ＬＤＥＶ１」記載されたレコード４３０１では、図１８に示した外接ＬＤＥＶ参照テーブルＢ５６００のレコード５６０１の対応関係によって、接続先ＤＥＶＩＤ５６２０である「ＬＤＥＶ１」が接続元ＤＥＶＩＤ５６１０の「ＬＤＥＶ３」へ置換される。
【０２１３】
仮想Ｖｏｌ移行部Ｉ２２１０は、「Ｐｏｏｌ１」に含まれるすべてのセグメント、すなわち、セグメント管理テーブルＣ５８００の「Ｐｏｏｌ１」が記載されたすべてのレコードに対して、前述したＤＥＶＩＤの置換の処理が終了した後、処理７４００へ進む。
【０２１４】
次に、図９に示した処理７４００を、図１５を用いて具体的に説明する。
【０２１５】
図１５は、本発明の第１の実施形態のストレージシステムＢにＰｏｏｌ及び仮想ボリュームを作成する処理を示すフローチャートである。
【０２１６】
処理７４００（処理７４１０から処理７４４０）は、仮想Ｖｏｌ移行部Ｉ２２１０が、仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００を参照して、実際にストレージシステムＢ  ２０００にＰｏｏｌ２３３０を作成する処理である。
【０２１７】
仮想Ｖｏｌ移行部Ｉ２２１０は、仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣに基づいて新しく作成するＰｏｏｌの識別子とストレージシステムＢ  ２０００が既に備えているＰｏｏｌの識別子とが重複することを避けるため、ストレージシステムＡ  １０００から移行するＰｏｏｌ１３３０の識別子を別の識別子へ置換する（処理７４１０）。
【０２１８】
例えば、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＢ  ２０００が備えるストレージシステムＡ  １０００から取得した仮想Ｖｏｌ管理テーブルＣ５７００、及び、セグメント管理テーブルＣ５８００の各レコードに対して、「Ｐｏｏｌ１」をストレージシステムＢ  ２０００で使用されていない識別子である「Ｐｏｏｌ３」へ置換する。
【０２１９】
なお、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＢ  ２０００が備える仮想Ｖｏｌ管理テーブルＢ５２００及びセグメント管理テーブルＢ５３００を参照して、ストレージシステムＢ  ２０００で既に使われているＰｏｏｌの識別子を確認することができる。
【０２２０】
また、ストレージシステムＢ  ２０００で「Ｐｏｏｌ１」が使用されていない場合、仮想Ｖｏｌ移行部Ｉ２２１０は、Ｐｏｏｌの識別子を置換せず、「Ｐｏｏｌ１」をそのまま用いてＰｏｏｌを作成するのが望ましい。また、仮想Ｖｏｌ移行部Ｉ２２１０は、置換の前後のＰｏｏｌの識別子を記憶しておき、置換の結果を出力端末等（例えば、後述する図２１に示す管理計算機６０００等）に通知するようにしてもよい。
【０２２１】
また、仮想Ｖｏｌ移行部Ｉ２２１０は、処理７４１０において、前述した置換の処理がない場合、すなわち、Ｐｏｏｌの識別子が変更されない場合にはＰｏｏｌの移行の処理を実行し、前述した置換の処理がある場合、例えば、Ｐｏｏｌの識別子が「Ｐｏｏｌ１」から「Ｐｏｏｌ３」へ置換される場合にはＰｏｏｌの移行の処理を終了する、としてもよい。なお、管理ＩＦ２０１０に出力端末等が接続されている場合、仮想Ｖｏｌ移行部Ｉ２２１０は、Ｐｏｏｌの移行処理を終了した原因を出力端末等に通知してもよい。また、Ｐｏｏｌの識別子が変更される場合は、前述した出力端末等に、実行の可否を確認する画面を表示してもよい。
【０２２２】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００から取得した後、処理７４１０によってＰｏｏｌの識別子が「Ｐｏｏｌ３」に置換されたセグメント管理テーブルＣ５８００を参照して、「Ｐｏｏｌ３」のＰｏｏｌをストレージシステムＢ  ２０００に作成する指示をセグメント処理部２２３０に与える。
【０２２３】
次に、指示を受けたセグメント処理部２２３０は、ストレージシステムＡ  １０００から取得しＰｏｏｌの識別子が置換されたセグメント管理テーブルＣ５８００のレコードを、ストレージシステムＢ  ２０００が備えるセグメント管理テーブルＢ５３００に追加する。
【０２２４】
そして、セグメント処理部２２３０は、セグメント管理テーブルＢ５３００に基づいて、Ｐｏｏｌの識別子が「Ｐｏｏｌ３」であるＰｏｏｌを作成する（処理７４２０）。
【０２２５】
なお、前述したＰｏｏｌの作成の処理において、仮想Ｖｏｌ移行部Ｉ２２１０は、「Ｐｏｏｌ３」に含まれる論理ボリューム「ＬＤＥＶ３」及び「ＬＤＥＶ４」にフォーマット等の書き込み処理が発生する場合には、セグメント処理部２２３０に書き込み処理の抑止を指示する。また、セグメント処理部２２３０は、ストレージシステムＢ  ２０００がセグメント管理テーブルＣ５８００を備えず、ストレージシステムＡ  １０００から取得したセグメント管理テーブルＡ４３００をそのまま使用している場合には、「Ｐｏｏｌ３」が含まれているレコード（処理７４１０によってセグメント管理テーブルＡ４３００のＰｏｏｌの識別子も置換されている）に対してのみ、処理７４２０を実行すればよい。
【０２２６】
ここで、セグメント処理部２２３０によって、処理７４２０が実行された後のストレージシステムＢ  ２０００が備えるセグメント管理テーブルＢ５３００を、図１９を用いて説明する。
【０２２７】
図１９は、本発明の第１の実施形態の実施後のセグメント管理テーブルＢの構成の例を示す説明図である。
【０２２８】
セグメント管理テーブルＢ５３００は、Ｐｏｏｌは、ＰｏｏｌＩＤ５３１０、セグメントＩＤ５３２０、ＤＥＶＩＤ５３３０、開始ＬＢＡ５３４０、セグメントサイズ５３５０及びＶＶｏｌＩＤ５３６０を含む。
【０２２９】
セグメント管理テーブルＢ５３００は、図６に示したセグメント管理テーブルＡ４３００とは、ＰｏｏｌＩＤ５３１０、ＤＥＶＩＤ５３３０の値が置換されている点で異なる。
【０２３０】
また、後述する処理７４３０において、仮想Ｖｏｌの識別子を変換している場合は、前記ＶＶｏｌＩＤ５３６０も異なる。
【０２３１】
図１５に戻り、処理７４３０を説明する。仮想Ｖｏｌ移行部Ｉ２２１０は、新しく作成する仮想ボリュームの識別子と、ストレージシステムＢ  ２０００が既に備えている仮想ボリュームの識別子とが重複することを避けるため、ストレージシステムＡ  １０００から移行する仮想ボリューム１３４０の識別子を別の識別子へ置換する（処理７４３０）。
【０２３２】
具体的には、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００から取得し、ストレージシステムＢ  ２０００が備える仮想Ｖｏｌ管理テーブルＣ５７００の各レコードの仮想ボリュームの識別子を、ストレージシステムＢ  ２０００で使用していない識別子に置換する。なお、仮想Ｖｏｌ移行部Ｉ２２１０は、前述したストレージシステムＡ  １０００から取得した仮想Ｖｏｌ管理テーブルＣ５７００に複数の仮想ボリュームの識別子が記載されている場合には、それぞれに互いに異なる識別子を付与する。
【０２３３】
さらに、仮想Ｖｏｌ移行部Ｉ２２１０は、置換後の仮想Ｖｏｌ管理テーブルＣ５７００のＰｏｏｌＩＤ、セグメントＩＤ及びＶＶｏｌＩＤの関係を用いて、セグメント管理テーブルＣ５８００のＶＶｏｌＩＤを置換する。
【０２３４】
なお、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＢ  ２０００が備える仮想Ｖｏｌ管理テーブルＢ５２００を参照して、ストレージシステムＢ  ２０００が使用していない識別子を確認することができる。
【０２３５】
例えば、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００から取得した仮想Ｖｏｌ管理テーブルＣ５７００に、「ＶＶｏｌ１」が含まれていた場合、「ＶＶｏｌ１」をストレージシステムＢ  ２０００でまだ使用されていない「ＶＶｏｌ３」へ置換する。
【０２３６】
さらに、「ＶＶｏｌ１」のほかに「ＶＶｏｌ２」が含まれていた場合、仮想Ｖｏｌ移行部Ｉ２２１０は、「ＶＶｏｌ２」をストレージシステムＢ  ２０００で使用されておらず、かつ、既に付与した「ＶＶｏｌ３」とは異なる「ＶＶｏｌ４」へ置換する（処理７４３０）。
【０２３７】
さらに、仮想Ｖｏｌ移行部Ｉ２２１０は、置換後の仮想Ｖｏｌ管理テーブルＣ５７００を参照して、ＰｏｏｌＩＤが「Ｐｏｏｌ３」のセグメントＩＤ「００１」はＶＶｏｌＩＤ「ＶＶｏｌ３」に属していることを知る。これによって、仮想Ｖｏｌ移行部Ｉ２２１０は、セグメント管理テーブルＣ５８００のＰｏｏｌＩＤ「Ｐｏｏｌ３」のセグメントＩＤ「００１」に対応したＶＶｏｌＩＤを「ＶＶｏｌ１」から「ＶＶｏｌ３」へ置換する。
【０２３８】
ストレージシステムＢ  ２０００が仮想Ｖｏｌ管理テーブルＣ５７００を備えず、ストレージシステムＡ  １０００から取得した仮想Ｖｏｌ管理テーブルＡ４２００をそのまま利用している場合には、仮想Ｖｏｌ移行部Ｉ２２１０は、Ｐｏｏｌの識別子が「Ｐｏｏｌ３」（処理７４１０によって仮想Ｖｏｌ管理テーブルＡ４２００のＰｏｏｌの識別子も置換されている）である仮想ボリュームに対してのみ識別子を置換する。
【０２３９】
また、仮想Ｖｏｌ移行部Ｉ２２１０は、処理７４１０において処理の終了を通知したのと同様に、仮想ボリュームに識別子が一つでも変更される場合、出力端末等にエラーを通知し、仮想ボリュームの作成の処理を終了してもよい。
【０２４０】
さらに、仮想Ｖｏｌ移行部Ｉ２２１０は、置換の前後で仮想ボリュームの識別子を記憶しておき、仮想ボリュームの識別子を置換した結果を出力端末等に通知してもよい。
【０２４１】
次に、仮想Ｖｏｌ移行部Ｉ２２１０は、ストレージシステムＡ  １０００から取得し、処理７４３０によって仮想ボリュームに識別子が置換された仮想Ｖｏｌ管理テーブルＣ５７００を参照し、「Ｐｏｏｌ３」のセグメントが割り当てられたすべての仮想ボリュームを作成する指示を仮想Ｖｏｌ処理部２２２０に与える。
【０２４２】
指示を受けた仮想Ｖｏｌ処理部２２２０は、仮想Ｖｏｌ管理テーブルＣ５７００のうちで「Ｐｏｏｌ３」を含むすべてのレコードを、ストレージシステムＢ  ２０００が備える仮想Ｖｏｌ管理テーブルＢ５２００に追加する。
【０２４３】
仮想Ｖｏｌ処理部２２２０は、仮想Ｖｏｌ管理テーブルＢ５２００に基づいて、「Ｐｏｏｌ３」であるＰｏｏｌのセグメントが割り当てられた仮想ボリュームを作成する（処理７４４０）。
【０２４４】
また、ストレージシステムＢ  ２０００が仮想Ｖｏｌ管理テーブルＣ５７００を備えず、ストレージシステムＡ  １０００から取得した仮想Ｖｏｌ管理テーブルＡ４２００をそのまま利用している場合には、仮想Ｖｏｌ処理部２２２０、Ｐｏｏｌの識別子が「Ｐｏｏｌ３」となっているレコードに対してのみ、処理７４４０を実行すればよい。
【０２４５】
また、ここで、仮想Ｖｏｌ処理部２２２０によって、処理７４４０が実行された後のストレージシステムＢ  ２０００が備える仮想Ｖｏｌ管理テーブルＢ５２００を、図２０を用いて説明する。
【０２４６】
図２０は、本発明の第１の実施形態の仮想Ｖｏｌ管理テーブルＢの構成の例を示す説明図である。
【０２４７】
仮想Ｖｏｌ管理テーブルＢ５２００は、ＶＶｏｌＩＤ５２１０、サイズ５２２０、開始ＶＬＢＡ５２３０、ＰｏｏｌＩＤ５２４０、セグメントＩＤ５２５０及びセグメントサイズ５２６０を含む。仮想Ｖｏｌ管理テーブルＢ５２００は、図７に示した仮想Ｖｏｌ管理テーブルＡ４２００とは、ＶＶｏｌＩＤ５２１０及びＰｏｏｌＩＤ５２４０に識別子が置換されている点で異なる。
【０２４８】
以上説明したように、第１の実施形態によれば、ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００が備える論理ボリュームとセグメントとの対応関係、及び、仮想ボリュームと仮想ボリュームとの対応関係をそのまま引き継ぐことができる。
【０２４９】
また、ストレージシステムＢ  ２０００は、ストレージシステムＡ  １０００のデータをコピーすることなく、ストレージシステムＡ  １０００が備える仮想ボリュームと同等の仮想ボリュームをホスト計算機に提供することができる。
【０２５０】
また、第１の実施形態の計算機システムは、ホスト計算機３０００、ストレージシステムＡ  １０００及びストレージシステムＢ  ２０００を管理する管理計算機を備えてもよい。
【０２５１】
図２１は、本発明の第１の実施形態の変形例の計算機システムの構成を示すブロック図である。
【０２５２】
図２１に示す計算機システムは、図１に示したストレージシステムＡ  １０００、ストレージシステムＢ  ２０００及びホスト計算機３０００のほかに、管理計算機６０００を備える。
【０２５３】
管理計算機６０００は、ＣＰＵ６０１０、ローカルボリューム６０２０、メモリ６１００、及び管理ＩＦ６０３０を備えたワークステーション等の計算機である。
【０２５４】
メモリ６１００は、管理プログラム６１１０を格納する。管理プログラム６１１０は、業務プログラム３１１０は、管理ＩＦ６０３０を介してストレージシステム及びホスト計算機３０００を管理する。
【０２５５】
なお、管理計算機６０００が備えるＣＰＵ６０１０、ローカルボリューム６０２０及び管理ＩＦ６０３０は、それぞれ、ホスト計算機３０００が備えるＣＰＵ３０４０、ローカルボリューム３０１０、管理ＩＦ３０２０と同じであり、一時記憶領域領であるメモリ６１００はストレージシステムのボリューム構成等を管理するための管理プログラム６１１０を格納する。管理計算機６０００は、ディスプレイ等の出力装置（図示省略）及びキーボード等の入力装置（図示省略）を備えてもよい。
【０２５６】
また、管理プログラム６１１０は、一般的なストレージシステムの管理機能に加え、ストレージシステムＢのコントローラ２０１０に代わり、図９に示した処理７０００から処理７４００までの処理を、管理ＩＦ６０３０を介して実行してもよい。
【０２５７】
この場合、ストレージシステムＢ  ２０００は、仮想Ｖｏｌ移行部Ｉ２２１０を備えなくてもよく、代わりに、管理計算機６０００にストレージシステムＢ  ２０００の構成情報を通知する処理部をコントローラ２１００に備えればよい。
【０２５８】
管理プログラム６１１０は、後述する図２２に示すユーザの設定に基づき、移行先のストレージシステムの管理ＩＦに設定されたＰｏｏｌの移行を指示する（図９に示した処理７０００）。
【０２５９】
次に、管理プログラム６１１０は、移行元ストレージシステムとなるストレージシステムＡ  １０００の構成情報通信部１２４０から、セグメント管理テーブルＡ４３００及び仮想Ｖｏｌ管理テーブルＡ４２００を取得する（図９に示した処理７１００）。
【０２６０】
次に、管理プログラム６１１０は、取得したセグメント管理テーブルＡ４３００を参照して、ストレージシステムＡ  １０００のＰｏｏｌを作成する論理ボリューム１３２０のＬＵマッピングを実行し、移行先となるストレージシステムＢ  ２０００にＬＵマッピングされた論理ボリューム１３２０を外部接続する指示を外接処理部２２４０に与える（図９に示した処理７３００）。
【０２６１】
次に、管理プログラム６１１０は、ストレージシステムＡ  １０００からＬＵマップテーブルＡ４１００を、ストレージシステムＢ  ２０００から外接ＶｏｌマップテーブルＢ５５００を取得した後、ＬＵマップテーブルＡ４１００及び外接ＶｏｌマップテーブルＢ５５００を参照して、ストレージシステムＡ  １０００から取得したセグメント管理テーブルＡ４３００及び仮想Ｖｏｌ管理テーブルＡ４２００を変換する（図９に示した処理７３００）。
【０２６２】
そして、管理プログラム６１１０は、変換された各管理テーブルに基づいて、ストレージシステムＡ  １０００と同じ構成とデータとを備えたＰｏｏｌ２３３０を作成する指示をストレージシステムＢ  ２０００の仮想Ｖｏｌ処理部２２２０に与え、仮想ボリューム２３４０を作成する指示をセグメント処理部２２３０に与える（図９に示した処理７４００）。
【０２６３】
なお、前述した各処理の具体的な処理は、図１１、図１３、図１４、図１５に示した処理と同じである。
【０２６４】
さらに、管理プログラム６１１０は、図９に示した処理７０００において、移行元となるストレージシステムＡ  １０００及びＰｏｏｌ１３３０の情報が指定された場合には、ＬＵマップテーブルＡ４１００の接続ｈｏｓｔＷＷＮ４１３０を参照して、指定されたＰｏｏｌ１３３０のセグメントが作成する仮想ボリューム１３４０を利用しているホスト計算機３０００をオフラインとしてもよい。
【０２６５】
さらに、管理プログラム６１１０は、オフラインの処理の前にホスト計算機３０００と論理ボリューム１３２０との対応関係を示すＬＵマップテーブルＡ４１００を取得し、処理７４００を実行した後、移行した仮想ボリューム２３４０をストレージシステムＡ  １０００の仮想ボリューム１３４０を利用していたホスト計算機３０００に割り当て、業務プログラム３１１０からデータの入出力を可能とする処理を実現してもよい。
【０２６６】
また、管理プログラム６１１０は、ユーザが移行元となるストレージシステム及びＰｏｏｌを設定するために、図２２に示す設定画面を出力装置に表示する機能を備えてもよい。
【０２６７】
図２２は、本発明の第１の実施形態のＰｏｏｌの移行を設定する画面の例を示す説明図である。
【０２６８】
設定画面６２００は、選択部６２１０、ストレージＩＤ６２２０、ＰｏｏｌＩＤ６２３０、ＶＶｏｌＩＤ６２４０及び移行先ストレージＩＤ６２５０のほか、承認ボタン及びキャンセルボタン等を備える。
【０２６９】
ストレージＩＤ６２２０は、移行元ストレージシステムの識別子である。ＰｏｏｌＩＤ６２３０は移行したいＰｏｏｌの識別子である。選択部６２１０は、移行元ストレージシステム及び移行するＰｏｏｌを特定するための、例えばチェックボックス等である。
【０２７０】
また、設定画面６２００は、Ｐｏｏｌを利用する仮想ボリュームの識別子を示すＶＶｏｌＩＤ６２４０等を画面構成要素として備えてもよい。移行先ストレージＩＤ６２５０は、移行先ストレージシステムの識別子を指定する画面構成要素である。
【０２７１】
また、ストレージシステムＢ  ２０００等が管理ＩＦ２０１０を介して管理コンソール（図示省略）を備える場合には、管理コンソールが設定画面６２００を表示してもよい。この場合、移行先ストレージＩＤ６２５０を示す画面構成要素は不要である。
【０２７２】
また、管理プログラム６１１０は、処理７４００の後、Ｐｏｏｌ及び仮想ボリュームの移行を実行した結果を示す画面を出力装置に表示する機能を備えてもよい。
【０２７３】
図２３は、本発明の第１の実施形態の移行結果を表示する画面の例を示す説明図である。
【０２７４】
画面６３００は、移行先ストレージＩＤ６３１０、ＰｏｏｌＩＤ６３２０、移行元ストレージＩＤ６３４０、作成ＶＶｏｌ６３３０、移行元ストレージＩＤ６３４０、移行元ＰｏｏｌＩＤ６３５０、移行元ＶＶｏｌ６３６０及びＶＶｏｌ利用ｈｏｓｔ６３７０を含むことによって、移行後の運用に役立てるようにしてもよい。
【０２７５】
図２３に示した画面６３００の例は、ストレージシステムＡ  １０００に作成された「Ｐｏｏｌ１」を利用する「ＶＶｏｌ１」が、ストレージシステムＢ  ２０００に作成された「Ｐｏｏｌ３」を利用する「ＶＶｏｌ３」に移行した結果を示す。
【０２７６】
また、画面６３００は、移行元ストレージシステムにおいて、どのホスト計算機が仮想ボリュームを利用していたかを示すＶＶｏｌ利用ｈｏｓｔ６３７０の画面構成要素を含んでもよい。画面６３００の例では、移行前の「ＶＶｏｌ１」をホスト計算機「ｈ１」が使用していたことを示す。
【０２７７】
なお、画面６３００は、移行元ストレージシステムに仮想ボリュームが存在しない場合には、作成ＶＶｏｌ６３３０を表示しなくてもよく、また、ＶＶｏｌを利用していたホスト計算機が存在しない場合には、ＶＶｏｌ利用ｈｏｓｔ６３７０を表示しなくてもよい。
【０２７８】
なお、管理プログラム６１１０は、処理７３００において、置換の前後のＰｏｏｌの識別子及び仮想ボリュームの識別子を記憶しておくことによって、ＰｏｏｌＩＤ６３２０と移行元ＰｏｏｌＩＤ６３５０との対応関係、及び、作成ＶＶｏｌ６３３０と移行元ＶＶｏｌ６３６０との対応関係を表示することができる。
【０２７９】
また、ストレージシステムＢ  ２０００等が管理ＩＦ２０１０を介して管理コンソール（図示省略）を備える場合には、管理コンソールが画面６３００を表示してもよい。
＜実施形態２＞
以下、本発明の第１の実施形態を、図２４から図２７を用いて説明する。
【０２８０】
第１の実施形態おいて、ストレージシステムＡ  １０００のセグメント管理テーブルＡ４３００及び仮想Ｖｏｌ管理テーブルＡ４２００のデータ量が大きい場合には、処理７０００の移行の指示から処理７４００の移行が完了するまでの所要時間が大きくなる可能性がある。
【０２８１】
これを解決する方法として、第２の実施形態では、ストレージシステムＢ  ２０００は、事前にストレージシステムＡ  １０００のセグメント管理テーブルＡ４３００及び仮想Ｖｏｌ管理テーブルＡ４２００を取得しておき、さらに、ストレージシステムＡ  １０００がストレージシステムＢ  ２０００へ前述した二つのテーブルの差分のデータを適宜送信することによって、常にストレージシステムＡ  １０００の二つのテーブルと同じ内容のテーブルを備える。
【０２８２】
これによって、移行の指示によって発生するセグメント管理テーブルＢ５３００及び仮想Ｖｏｌ管理テーブルＢ５２００へのコピーのデータ量を最小化し、移行完了までの所要時間を小さくすることができる。
【０２８３】
第２の実施形態の計算機システムの構成は、図１に示した第１の実施形態の計算機システムの構成と同じである。
【０２８４】
以下で、第１の実施形態との差異を説明する。
【０２８５】
図２４、図２５は、各々、本発明の第２の実施形態のストレージシステムＡ及びストレージシステムＢが備えるコントローラの構成を示す説明図である。
【０２８６】
ストレージシステムＡ  １０００のコントローラ１１００は、メモリ１２００に、図２に示した第１の実施形態の構成要素に加えて、構成情報差分生成部１２５０を実現するプログラムを格納する。
【０２８７】
また、ストレージシステムＢ  ２０００のコントローラ２１００は、メモリ２２００に、図３に示した第１の実施形態の構成要素に加えて、構成情報差分処理部２２５０、及び、仮想Ｖｏｌ移行部Ｉ２２１０とは異なる仮想Ｖｏｌ移行部II２２６０を実現するプログラムを格納する。
【０２８８】
構成情報差分生成部１２５０は、仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００を監視し、それら二つのテーブルが更新された場合には、差分のデータをストレージシステムＢ  ２０００の構成情報差分処理部２２５０に送信する。
【０２８９】
更新によって生じた差分のデータを受け取った構成情報差分処理部２２５０は、ストレージシステムＢ  ２０００が備えるストレージシステムＡ  １０００から事前に取得した仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００を更新する。
【０２９０】
なお、仮想Ｖｏｌ管理テーブルＡ４２００は、ホスト計算機３０００からのデータの書き込み等によって新規にセグメントの割り当てが必要になり、仮想ボリュームが新たに作成された場合等に更新され、セグメント管理テーブルＡ４３００は、Ｐｏｏｌに論理ボリュームを追加された場合、仮想Ｖｏｌにセグメントが割り当てられた場合等に更新される。
【０２９１】
また、構成情報差分生成部１２５０は、差分データから作成される整合性チェック用データＡ（図示省略）を生成し、生成された整合性チェック用データＡを差分データに付加して構成情報差分処理部２２５０に送信してもよい。
【０２９２】
構成情報差分処理部２２５０は、前述した整合性チェック用データＡが付加された差分データ（構成情報）を受け取った後、構成情報差分生成部１２５０が用いた方法と同じ方法で、受け取った差分データから整合性チェック用データＢ（図示省略）を作成する。
【０２９３】
そして、構成情報差分処理部２２５０は、構成情報差分生成部１２５０から送信された整合性チェック用データＡと、整合性チェック用データＢとを比較する。前述したチェック用データＡとＢとが異なっていた場合には、構成情報差分処理部２２５０は、差分データのコピーの処理を中止し、構成情報差分生成部１２５０に差分データの再送を要求する。
【０２９４】
図２６は、本発明の第２の実施形態の仮想Ｖｏｌ移行部IIの処理を示すフローチャートである。
【０２９５】
図２６に示す仮想Ｖｏｌ移行部II２２６０の処理は、図９に示した第１の実施形態の仮想Ｖｏｌ移行部Ｉ２２１０の処理とは、処理７０００が処理７０１０に変更され、処理７０２０及び処理７０３０が追加されている点で異なる。
【０２９６】
まず、仮想Ｖｏｌ移行部II２２６０は、ストレージシステムＢ  ２０００がストレージシステムＡ  １０００の構成情報を事前に取得する指示を管理ＩＦから受け取る（処理７０１０）。次に、仮想Ｖｏｌ移行部II２２６０は、構成情報を取得（処理７１００）した後、管理ＩＦから実際にＰｏｏｌ及び仮想ボリュームを移行する指示を受け取ったか否かを判定する（処理７０２０）。
【０２９７】
処理７０２０において、移行の指示を受け取っていない場合、仮想Ｖｏｌ移行部II２２６０は、指示があるまで待機する（処理７０３０）。
【０２９８】
仮想Ｖｏｌ移行部II２２６０が待機している（処理７０３０）間、構成情報差分処理部２２５０は、ストレージシステムＢ  ２０００が備えるストレージシステムＡ  １０００から取得した仮想Ｖｏｌ管理テーブルＣ５７００とストレージシステムＡ  １０００が備える仮想Ｖｏｌ管理テーブルＡ４２００とを、セグメント管理テーブルＣ５８００とセグメント管理テーブルＡ４３００とを一致させる。
【０２９９】
つまり、構成情報差分処理部２２５０は、仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００の差分データに基づいて、仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００の構成情報を更新し、前述したすべてのテーブルに指定されたＰｏｏｌの識別子を一致させる。
【０３００】
処理７０２０において、移行の指示を受け取った場合、仮想Ｖｏｌ移行部II２２６０は、処理７２００へ進むが、その前に処理７０２０の判定に関して、構成情報差分処理部２２５０が実行する構成情報の更新の処理を、図２７を用いて説明する。
【０３０１】
図２７は、本発明の第２の実施形態の構成情報差分処理部の処理を示すフローチャートである。
【０３０２】
処理８０００から処理８３００は、構成情報差分生成部１２５０が差分データに整合性チェック用データを付加して、構成情報差分処理部２２５０に差分データを送信する場合のフローチャートである。
【０３０３】
整合性チェック用データが付加されていない場合には、構成情報差分処理部２２５０は、処理８２００及び処理８２５０及び処理８２６０を実行しない。
【０３０４】
また、図２７に示した例では、構成情報差分処理部２２５０は、ストレージシステムＡ  １０００の構成情報差分生成部１２５０がストレージシステムＢ  ２０００の構成情報差分処理部２２５０に差分データを送信し、差分データが更新されたことを契機としてテーブルを更新しているが、ストレージシステムＢ  ２０００の構成情報差分処理部２２５０が定期的に構成情報差分生成部１２５０に差分データを取得し、差分データが更新されたことを契機としてテーブルを更新してもよい。
【０３０５】
構成情報差分処理部２２５０は、仮想Ｖｏｌ移行部II２２６０の処理７０２０と同様に、移行の指示を受け取ったか否かを判定する（処理８０００）。
【０３０６】
処理８０００において、移行の指示を受け取った場合、構成情報差分処理部２２５０は処理を終了する。
【０３０７】
なお、構成情報差分処理部２２５０は、処理の終了までの間に、ストレージシステムＡ  １０００の仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００にまだコピーされていない差分データがある場合は、未コピーの差分データを仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００にコピーした後に、処理を終了する。
【０３０８】
仮想Ｖｏｌ移行部II２２６０は、構成情報差分処理部２２５０の処理の終了を契機として、処理７２００以降に進む。
【０３０９】
処理８０００において、移行の指示を受け取っていない場合、構成情報差分処理部２２５０は処理８１００へ進む。
【０３１０】
次に、構成情報差分処理部２２５０は、ストレージシステムＡ  １０００の構成情報差分生成部１２５０から仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００の差分データが送られてきたか否かを判定する（処理８１００）。
【０３１１】
処理８１００において、差分データが送信されていない場合、構成情報差分処理部２２５０は処理８０００へ戻る。
【０３１２】
処理８１００において、差分データが送信された場合、構成情報差分処理部２２５０は差分データを受け取ったことを契機として、処理８２００に進む。
【０３１３】
なお、構成情報差分処理部２２５０は処理８０００の後に処理８１００を実行しているが、実際には処理８０００の移行指示と処理８１００の差分データの送信とを同時に監視してもよい。この場合は、構成情報差分処理部２２５０が差分データの反映を完了した後に、仮想Ｖｏｌ移行部II２２６０は、処理７２００以降の処理を実施する。
【０３１４】
次に、構成情報差分処理部２２５０は、前述したストレージシステムＡ  １０００から取得した差分データに対して構成情報差分生成部１２５０が実行した方法と同じ方法によって、整合性チェック用データＢを作成し、作成された整合性チェック用データＢと構成情報差分生成部１２５０から送信された整合性チェック用データＡとが一致するか否かを判定する（処理８２００）。
【０３１５】
処理８２００において、整合性チェック用データが一致している場合には、構成情報差分処理部２２５０は処理８３００へ進み、整合性チェック用データが一致していない場合には、構成情報差分処理部２２５０は処理８２５０へ進む。なお、整合性チェック用データはいわゆるハッシュ値であり、例えば、ＭＤ（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ）等によって生成される。
【０３１６】
処理８２００において、整合性チェック用データＡとＢとが一致しなかった場合には、構成情報差分処理部２２５０が受け取った差分データは構成情報差分生成部１２５０が生成した差分データと異なる可能性があるため、構成情報差分処理部２２５０は、構成情報差分生成部１２５０に差分データの再送を要求する（処理８２５０）。
【０３１７】
そして、構成情報差分処理部２２５０は、構成情報差分生成部１２５０から再度差分データが送られてくるまで待機する（処理８２６０）。
【０３１８】
前述した差分データの一致を判定する処理を実現するため、差分データには送信される毎に一意の識別子が与えられ、差分データはそれぞれ識別することができる。また、構成情報差分処理部２２５０は、一つの差分データについて処理８２００、処理８２５０及び処理８２６０の反復回数を記憶しておき、所定の回数以上の反復が行われた場合には、エラーを通知するようにしてもよい。この場合、構成情報差分処理部２２５０は、管理ＩＦにエラーを通知する指示を送信してよい。
【０３１９】
また、構成情報差分処理部２２５０は、処理８２５０を実施した後、処理８２６０を実行せず、処理８１００へ進んでもよい。
【０３２０】
この場合は、処理８０００において移行指示を受け取った後、差分データで未更新のものがあるか否か、及び、再送要求した差分データでまだ受け取っていないものあるか否かを確認し、前述した差分データがある場合には差分データが送信されるのを待ち、前記差分データを反映した後、処理７２００へ進むとすればよい。
【０３２１】
処理８２００において、整合性チェック用データＡとＢとが一致した場合には、構成情報差分処理部２２５０は、図２６に示した処理７１００で取得した、ストレージシステムＢ  ２０００が備えるストレージシステムＡ  １０００の仮想Ｖｏｌ管理テーブルＣ５７００又はセグメント管理テーブルＣ５８００に対し、差分データをコピーし、これらの各管理テーブルを更新する（処理８３００）。
【０３２２】
そして、構成情報差分処理部２２５０は、処理８０００へ戻る。
【０３２３】
図２６の説明に戻る。図２７に示した構成情報差分処理部２２５０の処理が終了した後、処理７０２０において、仮想Ｖｏｌ移行部II２２６０は、移行の指示を受け取り、処理７２００へ進む。処理７２００以降の処理については、図９に示した仮想Ｖｏｌ移行部Ｉ２２１０の処理７２００以降と同じである。
【０３２４】
以上説明したように、第２の実施形態によれば、ストレージシステムＡ  １０００が備える仮想Ｖｏｌ管理テーブルＡ４２００及びセグメント管理テーブルＡ４３００の構成情報を、ストレージシステムＢ  ２０００が備える仮想Ｖｏｌ管理テーブルＣ５７００及びセグメント管理テーブルＣ５８００の構成情報を事前にコピーすることができるため、Ｐｏｏｌ移行指示から移行完了までの時間を短くすることができる。
【０３２５】
さらに、移行が指示された時に、ストレージシステムＢ  ２０００は既にストレージシステムＡ  １０００のセグメント管理テーブル及び仮想Ｖｏｌテーブルを備えていることから、特許文献１に示したホスト計算機３０００が利用しているボリュームをオンラインで切り替える機構と連携して、ホスト計算機３０００の業務プログラム３１１０の入出力を切断することなくオンラインにて、ストレージシステムＡ  １０００からストレージシステムＢ  ２０００へボリュームを移行することも可能である。
【０３２６】
また、本発明は、記憶領域が動的に割り当てられ、ホスト計算機に提供される仮想ボリュームを備えたストレージシステム以外の各種の装置にも適用することができる。
【図面の簡単な説明】
【０３２７】
【図１】本発明の第１の実施形態の計算機システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態のストレージシステムＡが備えるコントローラの構成を示すブロック図である。
【図３】本発明の第１の実施形態のストレージシステムＢが備えるコントローラの構成を示すブロック図である。
【図４】本発明の第１の実施形態のストレージシステムのボリューム等の構成を示す説明図である。
【図５】本発明の第１の実施形態のＬＵマップテーブルＡの構成を示す説明図である。
【図６】本発明の第１の実施形態のセグメント管理テーブルＡの構成を示す説明図である。
【図７】本発明の第１の実施形態の仮想Ｖｏｌ管理テーブルＡの構成を示す説明図である。
【図８】本発明の第１の実施形態のストレージ間パステーブルＢの構成を示す説明図である。
【図９】本発明の第１の実施形態の仮想Ｖｏｌ移行部Ｉの処理を示すフローチャートである。
【図１０】本発明の第１の実施形態の仮想ボリュームを移行する処理の概要を示す説明図である。
【図１１】本発明の第１の実施形態のＰｏｏｌ及び仮想ボリュームの構成情報を取得する処理を示すフローチャートである。
【図１２】本発明の第１の実施形態のエラー表示画面の例を示す説明図である。
【図１３】本発明の第１の実施形態の論理ボリュームを外部接続する処理を示すフローチャートである。
【図１４】本発明の第１の実施形態のＰｏｏｌ及び仮想ボリュームの構成情報を変換する処理を示すフローチャートである
【図１５】本発明の第１の実施形態のストレージシステムＢにＰｏｏｌ及び仮想ボリュームを作成する処理を示すフローチャートである。
【図１６】本発明の第１の実施形態の論理ボリュームの外部接続時のＬＵマップテーブルＡの構成の例を示す説明図である
【図１７】本発明の第１の実施形態の論理ボリュームの外部接続時の外接ＶｏｌマップテーブルＢの構成の例を示す説明図である。
【図１８】本発明の第１の実施形態の論理ボリュームの外部接続時の外接ＬＤＥＶ参照テーブルの構成の例を示す説明図である。
【図１９】本発明の第１の実施形態のセグメント管理テーブルＢの構成の例を示す説明図である。
【図２０】本発明の第１の実施形態の仮想Ｖｏｌ管理テーブルＢの構成の例を示す説明図である。
【図２１】本発明の第１の実施形態の変形例の計算機システムの構成を示すブロック図である。
【図２２】発明の第１の実施形態のＰｏｏｌの移行を設定する画面の例を示す説明図である。
【図２３】本発明の第１の実施形態の移行結果を表示する画面の例を示す説明図である。
【図２４】本発明の第２の実施形態のストレージシステムＡが備えるコントローラの構成を示す説明図である。
【図２５】本発明の第２の実施形態のストレージシステムＢが備えるコントローラの構成を示す説明図である。
【図２６】本発明の第２の実施形態の仮想Ｖｏｌ移行部IIの処理を示すフローチャートである。
【図２７】本発明の第２の実施形態の構成情報差分処理部の処理を示すフローチャートである。
【符号の説明】
【０３２８】
１０００  ストレージシステムＡ
１１００  コントローラ
２０００  ストレージシステムＢ
２１００  コントローラ
２２１０  仮想ボリューム移行部Ｉ
２２４０  外接処理部
３０００  ホスト計算機
６０００  管理計算機
【図１】
2010079624.tif 000003
【図２】
2010079624.tif 000004
【図３】
2010079624.tif 000005
【図４】
2010079624.tif 000006
【図５】
2010079624.tif 000007
【図６】
2010079624.tif 000008
【図７】
2010079624.tif 000009
【図８】
2010079624.tif 000010
【図９】
2010079624.tif 000011
【図１０】
2010079624.tif 000012
【図１１】
2010079624.tif 000013
【図１２】
2010079624.tif 000014
【図１３】
2010079624.tif 000015
【図１４】
2010079624.tif 000016
【図１５】
2010079624.tif 000017
【図１６】
2010079624.tif 000018
【図１７】
2010079624.tif 000019
【図１８】
2010079624.tif 000020
【図１９】
2010079624.tif 000021
【図２０】
2010079624.tif 000022
【図２１】
2010079624.tif 000023
【図２２】
2010079624.tif 000024
【図２３】
2010079624.tif 000025
【図２４】
2010079624.tif 000026
【図２５】
2010079624.tif 000027
【図２６】
2010079624.tif 000028
【図２７】
2010079624.tif 000029