(57)【特許請求の範囲】
【請求項１】
第１及び第２のストレージ装置と、前記第１及び第２のストレージ装置へのデータの書き込みを要求するホスト計算機と、前記第１及び第２のストレージ装置と前記ホスト計算機とを管理する管理計算機と、がネットワークを介してそれぞれ相互に接続された計算機システムであって、
前記管理計算機は、
スナップショットボリュームの親ボリュームとなる論理ボリュームに対する差分データを前記スナップショットボリュームにて世代管理する制御部を備え、
前記管理計算機の制御部は、
指定された世代のスナップショットボリュームの前記管理計算機の入力画面を介しての前記第１のストレージ装置から前記第２のストレージ装置への移行指示を受けて、前記移行指示対象のスナップショットボリュームの前記指定された世代より前のスナップショットボリュームが前記第２のストレージ装置に存在すると判定された場合に、前記指定された世代のスナップショットボリュームと前記第２のストレージ装置に存在するスナップショットボリュームとの差分データのみを前記第２のストレージ装置に移行して、前記第２のストレージ装置に存在するスナップショットボリュームに当該第２のストレージ装置に移行した前記差分データを組み合わせることによりスナップショットを作成する
ことを特徴とするストレージシステム。
【請求項２】
前記第１及び第２のストレージ装置は、
記憶領域を提供する１または複数の記憶デバイスと、
前記１または複数の記憶デバイスが提供する前記記憶領域上に論理ボリュームを作成し、前記論理ボリュームのある時点のデータイメージである１または複数のスナップショットボリュームを取得する制御部と、を備える
ことを特徴とする、請求項１に記載のストレージシステム。
【請求項３】
前記管理計算機の制御部は、
前記スナップショットボリュームと当該スナップショットボリュームの前記親ボリュームとをスナップショットボリューム管理表に対応付けて前記スナップショットボリュームの世代構成を管理する
ことを特徴とする、請求項１に記載のストレージシステム。
【請求項４】
前記管理計算機の制御部は、
前記第１のストレージ装置から前記第２のストレージ装置へ指定された世代のスナップショットボリュームを移行して前記第２のストレージ装置に存在するスナップショットボリュームと組み合わせる場合に、前記移行した前記スナップショットボリュームと前記第２のストレージ装置に存在するスナップショットボリュームとの対応関係を前記スナップショットボリューム管理表に追記する
ことを特徴とする、請求項３に記載のストレージシステム。
【請求項５】
前記管理計算機の制御部は、
前記指定された世代のスナップショットボリュームが前記第２のストレージ装置に存在すると判定された場合に、当該第２のストレージ装置に存在するスナップショットボリュームに前記移行指示対象のスナップショットボリュームを組み合わせてスナップショットを作成する
ことを特徴とする、請求項１に記載のストレージシステム。
【請求項６】
前記管理計算機の制御部は、
前記指定された世代より前のスナップショットボリュームが第２のストレージ装置に存在しないと判定された場合に、前記スナップショットボリューム及び当該スナップショットボリュームの前記親ボリュームとなる前記論理ボリュームを第１のストレージ装置から第２のストレージ装置へ移行する
ことを特徴とする、請求項１に記載のストレージシステム。
【請求項７】
前記親ボリュームにはゴールデンイメージが格納され、
前記管理計算機の制御部は、
前記スナップショットボリュームにより形成される仮想マシンの前記管理計算機の入力画面を介しての前記第１のストレージ装置から前記第２のストレージ装置への移行指示を受けて、前記仮想マシンで利用されている前記スナップショットボリュームの世代を特定し、該世代を前記移行対象とする
ことを特徴とする、請求項１に記載のストレージシステム。
【請求項８】
第１及び第２のストレージ装置と、前記第１及び第２のストレージ装置へのデータの書き込みを要求するホスト計算機と、ネットワークを介して接続され、かつ、スナップショットボリュームの親ボリュームとなる論理ボリュームに対する差分データを前記スナップショットボリュームにて世代管理する制御部を備えた管理計算機であって、
前記制御部は、
指定された世代のスナップショットボリュームの前記管理計算機の入力画面を介しての前記第１のストレージ装置から前記第２のストレージ装置への移行指示を受けて、前記移行指示対象のスナップショットボリュームの前記指定された世代より前のスナップショットボリュームが前記第２のストレージ装置に存在すると判定された場合に、前記指定された世代のスナップショットボリュームと前記第２のストレージ装置に存在するスナップショットボリュームとの差分データのみを前記第２のストレージ装置に移行して、前記第２のストレージ装置に存在するスナップショットボリュームに当該第２のストレージ装置に移行した前記差分データを組み合わせることによりスナップショットを作成する
ことを特徴とする、管理計算機。
【請求項９】
前記第１及び第２のストレージ装置は、記憶領域を提供する１または複数の記憶デバイスと、前記１または複数の記憶デバイスが提供する前記記憶領域上に論理ボリュームを作成し、前記論理ボリュームのある時点のデータイメージである１または複数のスナップショットボリュームを取得する制御部と、を備える
ことを特徴とする、請求項８に記載の管理計算機。
【請求項１０】
前記制御部は、
前記スナップショットボリュームと当該スナップショットボリュームの前記親ボリュームとをスナップショットボリューム管理表に対応付けて前記スナップショットボリュームの世代構成を管理する
ことを特徴とする、請求項８に記載の管理計算機。
【請求項１１】
前記制御部は、
前記スナップショットボリュームを移行して前記第２のストレージ装置に存在するスナップショットボリュームに組み合わせた場合に、前記移行した前記スナップショットボリュームと前記第２のストレージ装置に存在するスナップショットボリュームとの対応関係を前記スナップショットボリューム管理表に追記する
ことを特徴とする、請求項１０に記載の管理計算機。
【請求項１２】
前記制御部は、
前記指定された世代のスナップショットボリュームが第２のストレージ装置に存在すると判定された場合に、当該第２のストレージ装置に存在するスナップショットボリュームに前記移行指示対象のスナップショットボリュームを組み合わせてスナップショットを作成する
ことを特徴とする、請求項８に記載の管理計算機。
【請求項１３】
前記制御部は、
前記指定された世代より前のスナップショットボリュームが前記第２のストレージ装置に存在しないと判定された場合に、前記スナップショットボリューム及び当該スナップショットボリュームの前記親ボリュームとなる前記論理ボリュームを第１のストレージ装置から第２のストレージ装置へ移行する
ことを特徴とする、請求項８に記載の管理計算機。
【請求項１４】
前記親ボリュームにはゴールデンイメージが格納され、
前記制御部は、
前記管理計算機の入力画面を介して前記スナップショットボリュームにより形成される仮想マシンの前記第１のストレージ装置から前記第２のストレージ装置への移行指示を受けて、前記仮想マシンで利用されている前記スナップショットボリュームの世代を特定し、該世代を前記移行対象とする
ことを特徴とする、請求項８に記載の管理計算機。
【請求項１５】
データの書き込みを要求するホスト計算機と、管理計算機とネットワークを介して接続されたストレージ装置であって、
当該ストレージ装置は、第１のストレージ装置と第２のストレージ装置とからなり、
これら第１及び第２のストレージ装置は、
記憶領域を提供する１または複数の記憶デバイスと、
前記１または複数の記憶デバイスが提供する前記記憶領域上に論理ボリュームを作成し、前記論理ボリュームのある時点のデータイメージである１または複数のスナップショットボリュームを取得する制御部と、を備え、
前記管理計算機は、スナップショットボリュームの親ボリュームとなる論理ボリュームに対する差分データを前記スナップショットボリュームにて世代管理する制御部を備え、
前記管理計算機の制御部により指定された世代のスナップショットボリュームの前記第１のストレージ装置から前記第２のストレージ装置への移行指示を受けて、前記移行指示対象のスナップショットボリュームの前記指定された世代より前のスナップショットボリュームが前記第２のストレージ装置に存在すると判定された場合に、前記指定された世代のスナップショットボリュームと前記第２のストレージ装置に存在するスナップショットボリュームとの差分データのみを前記第２のストレージ装置に移行して、前記第２のストレージ装置に存在するスナップショットボリュームに当該第２のストレージ装置に移行した前記差分データを組み合わせることによりスナップショットを作成する
ことを特徴とする、ストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージ装置の制御方法に関し、スナップショット機能が搭載されたストレージ装置及びストレージ装置の制御方法に適用して好適なるものである。
【背景技術】
【０００２】
従来、ストレージ装置の機能の１つとして、スナップショットの取得指示を受けた時点において指定された論理ボリューム（以降、これをソースボリュームと称する。）のイメージを保持する、いわゆるスナップショット機能がある。スナップショット機能は、人為的なミスによりデータが消失してしまったときや、所望時点におけるファイルシステムの状態を復元したいときなどに、その時点におけるソースボリュームを復元するために用いられる。
【０００３】
スナップショット機能によりスナップショットが取得された場合、その後、ソースボリュームにデー  タが書き込まれるタイミングで、そのデータに上書きされる前のデータ（以下、これを旧データと呼ぶ）が旧データ退避用の論理ボリュームに退避される。つまり、スナップショットの取得指示を受けた時点におけるソースボリュームと、現在のソースボリュームとの差分が旧データとして旧データ退避用の論理ボリュームに退避されることになる。従って、現在のソースボリュームに格納されているデータと、旧データ退避用の論理ボリュームに格納された旧データとを組み合わせることにより、スナップショットの取得時点におけるソースボリュームのデータイメージ（スナップショット）を復元することができる。
【０００４】
このようなスナップショット機能によれば、ソースボリュームの内容をそのまま記憶する場合に比べて、より小さい記憶容量でスナップショットを取得指示された時点のソースボリュームを復元できるという利点がある。
【０００５】
さらに、複数の更新可能なスナップショット（Writable Snapshot：ＷＳＳ）が提供されている場合に、必要に応じてすべてのスナップショットに更新内容を効率的に反映させる技術も提供されている（特許文献１参照）。特許文献１によれば、例えば、ＯＳがインストールされたボリューム（ゴールデンイメージ：ＧＩ）を論理的にコピーすることができるため、高速に仮想マシンを利用可能な状態（デプロイ）にすることができる。また、仮想マシン間でゴールデンイメージを共有するため、ディスク使用量を削減することが可能となる。
【０００６】
例えば、ＯＳへのパッチ適用などによりゴールデンイメージに対して書き込みをする場合、対象となるゴールデンイメージのスナップショットを取得して、パッチデータが取得したスナップショットの差分データとして書き込まれる。スナップショットを読み込む際には、パッチデータが書き込まれた領域への読み込みは差分データに対して、共通領域への読み込みはゴールデンイメージに対して行われる。
【０００７】
仮想マシンを提供する場合に、運用当初は必要となるゴールデンイメージ（ＯＳ、パッチのバージョン、インストール済みアプリなど）がわからないため、複数世代（カスケード構成）のゴールデンイメージを持つことがある。また、ストレージ間で最新のゴールデンイメージボリュームをコピーして、コピーしたゴールデンイメージからスナップショットを作成して仮想マシンをデプロイする場合がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−１０２４７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１では、仮想マシンのスナップショットのデータをストレージ間で移行する際には、スナップショットの世代構成が、移行先のストレージ装置でも維持されることとなる。このため、移行先のストレージ装置に移行元のストレージ装置と同様のゴールデンイメージ及び同一のスナップショットの世代構成が存在しない場合には、スナップショットの正ボリューム（ゴールデンイメージ）データを含む世代構成をフルコピーしなければならず、データ移行に時間がかかるという問題があった。
【００１０】
本発明は以上の点を考慮してなされたもので、移行先のストレージ装置の正ボリュームを利用してスナップショットボリュームを移行することが可能なストレージシステム、管理計算機及びストレージ装置を提案しようとするものである。
【課題を解決するための手段】
【００１１】
かかる課題を解決するために本発明においては、  第１及び第２のストレージ装置と、前記第１及び第２のストレージ装置へのデータの書き込みを要求するホスト計算機と、前記第１及び第２のストレージ装置と前記ホスト計算機とを管理する管理計算機と、がネットワークを介してそれぞれ相互に接続された計算機システムであって、前記管理計算機は、スナップショットボリュームの親ボリュームとなる論理ボリュームに対する差分データを前記スナップショットボリュームにて世代管理する制御部を備え、前記管理計算機の制御部は、指定された世代のスナップショットボリュームの前記管理計算機の入力画面を介しての前記第１のストレージ装置から前記第２のストレージ装置への移行指示を受けて、前記移行指示対象のスナップショットボリュームの前記指定された世代より前のスナップショットボリュームが前記第２のストレージ装置に存在すると判定された場合に、前記指定された世代のスナップショットボリュームと前記第２のストレージ装置に存在するスナップショットボリュームとの差分データのみを前記第２のストレージ装置に移行して、前記第２のストレージ装置に存在するスナップショットボリュームに当該第２のストレージ装置に移行した前記差分データを組み合わせることによりスナップショットを作成することを特徴とする、ストレージシステムが提供される。
【００１２】
かかる構成によれば、指定された世代のスナップショットボリュームのコピー指示を受けて、コピー指示対象のスナップショットボリュームの指定された世代より前のスナップショットボリュームが存在する場合に、指定された世代のスナップショットボリュームとコピー先に存在するスナップショットボリュームとの差分データをコピーして、コピー先に存在するスナップショットボリュームにコピーした差分データを対応付ける。これにより、コピー元とコピー先のスナップショットボリュームの世代構成が異なっていても、コピー先に存在するスナップショットボリュームを利用してスナップショットボリュームを移行することができるため、スナップショットボリューム移行時のデータコピーサイズを最小限にして、スナップショットボリュームの移行処理時間を削減することができる。
【発明の効果】
【００１３】
本発明によれば、移行先のストレージ装置の正ボリュームを利用してスナップショットボリュームを移行することにより、ストレージ装置間におけるスナップショットボリューム移行時のデータコピーサイズを最小限にして、スナップショットボリュームの移行処理時間を削減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態の概要を説明する概念図である。
【図２】同実施形態の概要を説明する概念図である。
【図３】同実施形態の概要を説明する概念図である。
【図４】同実施形態に係る計算機システムの全体構成を示すブロック図である。
【図５】同実施形態に係るホスト計算機の構成を示すブロック図である。
【図６】同実施形態に係るストレージ装置の構成を示すブロック図である。
【図７】同実施形態に係るストレージ装置のメモリの構成を示すブロック図である。
【図８】同実施形態に係るスナップショット構成管理表の一例を示す図表である。
【図９】同実施形態に係るボリュームデータマッピング管理表の一例を示す図表である。
【図１０】同実施形態に係るボリュームデータマッピング管理表の一例を示す図表である。
【図１１】同実施形態に係る管理計算機の構成を示すブロック図である。
【図１２】同実施形態に係る管理計算機のメモリの構成を示すブロック図である。
【図１３】同実施形態に係る仮想マシン移行前の概要を説明する概念図である。
【図１４】同実施形態に係る仮想マシン移行後の概要を説明する概念図である。
【図１５】同実施形態に係る仮想マシン移行処理の詳細を示すフローチャートである。
【図１６】同実施形態に係るスナップショットボリューム移行処理の詳細を示すフローチャートである。
【図１７】同実施形態に係る論理ボリューム移行処理の詳細を示すフローチャートである。
【図１８】同実施形態に係る論理ボリューム移行処理の詳細を示すフローチャートである。
【図１９】同実施形態に係るスナップショットボリューム移行処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下図面について、本発明の一実施の形態を詳述する。
【００１６】
（１）本実施の形態の概要
従来、ストレージ装置の機能の１つとして、スナップショットの取得指示を受けた時点において指定された論理ボリューム（以降、これをソースボリュームと称する。）のイメージを保持する、いわゆるスナップショット機能がある。スナップショット機能は、人為的なミスによりデータが消失してしまったときや、所望時点におけるファイルシステムの状態を復元したいときなどに、その時点におけるソースボリュームを復元するために用いられる。
【００１７】
スナップショット機能によりスナップショットが取得された場合、その後、ソースボリュームにデータが書き込まれるタイミングで、そのデータに上書きされる前のデータ（以下、これを旧データと呼ぶ）が旧データ退避用の論理ボリュームに退避される。つまり、スナップショットの取得指示を受けた時点におけるソースボリュームと、現在のソースボリュームとの差分が旧データとして旧データ退避用の論理ボリュームに退避されることになる。従って、現在のソースボリュームに格納されているデータと、旧データ退避用の論理ボリュームに格納された旧データとを組み合わせることにより、スナップショットの取得時点におけるソースボリュームのデータイメージ（スナップショット）を復元することができる。
【００１８】
このようなスナップショット機能によれば、ソースボリュームの内容をそのまま記憶する場合に比べて、より小さい記憶容量でスナップショット取得指示された時点のソースボリュームを復元できるという利点がある。
【００１９】
さらに、複数の更新可能なスナップショット（Writable Snapshot：ＷＳＳ）が提供されている場合に、必要に応じてすべてのスナップショットに更新内容を効率的に反映させる技術も提供されている。当該技術によれば、例えば、ＯＳがインストールされたボリューム（ゴールデンイメージ：ＧＩ）を論理的にコピーすることができるため、高速に仮想マシンを利用可能な状態（デプロイ）にすることができる。また、仮想マシン間でゴールデンイメージを共有するため、ディスク使用量を削減することが可能となる。
【００２０】
例えば、ＯＳへのパッチ適用などによりゴールデンイメージに対して書き込みをする場合、対象となるゴールデンイメージのスナップショットを取得して、パッチデータを取得したスナップショットの差分データとして書き込まれる。スナップショットを読み込む際には、パッチデータが書き込まれた領域への読み込みは差分データに対して、共通領域への読み込みはゴールデンイメージに対して行われる。
【００２１】
仮想マシンを提供する場合に、運用当初は、必要となるゴールデンイメージ（ＯＳ、パッチのバージョン、インストール済みアプリなど）がわからないため、複数世代（カスケード構成）のゴールデンイメージを持つことがある。また、ストレージ間で最新のゴールデンイメージボリュームをコピーして、コピーしたゴールデンイメージからスナップショットを作成して仮想マシンをデプロイする場合がある。
【００２２】
例えば、仮想マシン（図中ＶＭと表記）のボリュームをストレージ０からストレージ１に移行する場合について説明する。図１の移行パターン１は、ストレージ０にはゴールデンイメージ（GI_1）が存在し、ストレージ１にはゴールデンイメージ（GI_0）が存在し、ゴールデンイメージ（GI_1）のスナップショットをストレージ０からストレージ１に移行する場合を示す。従来、移行先のストレージ１に移行元のストレージ０と同様のゴールデンイメージの世代構成が存在しないため、スナップショットの正ボリュームとなるゴールデンイメージ（GI_1）をフルコピーする必要があった。
【００２３】
しかし、本実施の形態では、移行元と移行先のゴールデンイメージの世代構成が異なっていても、移行先のストレージ１にゴールデンイメージ（GI_1）のコピー元であるゴールデンイメージ（GI_0）が存在する場合には、ゴールデンイメージ（GI_0）の差分データのみをストレージ１にコピーして、スナップショットを作成する。これにより、スナップショットボリューム移行時のデータコピーサイズを最小限にして、スナップショットボリュームの移行処理時間を削減することが可能となる。
【００２４】
また、図２の移行パターン２は、ストレージ０にはゴールデンイメージ（GI_1）及びゴールデンイメージ（GI_0）が存在し、ストレージ１にはゴールデンイメージ（GI_0）が存在し、ゴールデンイメージ（GI_1）のスナップショットをストレージ０からストレージ１に移行する場合を示す。従来、移行先のストレージ１に移行元のストレージ０と同様のゴールデンイメージの世代構成が存在しないため、スナップショットの正ボリュームとなるゴールデンイメージ（GI_1）及びールデンイメージ（GI_0）をフルコピーする必要があった。しかし、本実施の形態では、移行元と移行先のゴールデンイメージの世代構成が異なっていても、移行先のストレージ１にゴールデンイメージ（GI_0）が存在する場合には、ゴールデンイメージ（GI_0）の差分データ（GI_1）のみをストレージ１にコピーして、スナップショットを作成することができる。
【００２５】
また、図３の移行パターン３は、ストレージ０にはゴールデンイメージ（GI_1）が存在し、ストレージ１にはゴールデンイメージ（GI_0）、（GI_1）、（GI_2）が存在し、ゴールデンイメージ（GI_1）のスナップショットをストレージ０からストレージ１に移行する場合を示す。従来、移行先のストレージ１に移行元のストレージ０と同様のゴールデンイメージの世代構成が存在しないため、スナップショットの正ボリュームとなるゴールデンイメージ（GI_1）をフルコピーする必要があった。しかし、本実施の形態では、移行元と移行先のゴールデンイメージの世代構成が異なっていても、移行先のストレージ１にゴールデンイメージ（GI_1）が存在する場合には、既存のゴールデンイメージ（GI_1）からスナップショットを作成することができる。
【００２６】
このように、本実施の形態では、移行元と移行先のゴールデンイメージ（正ボリューム）の世代構成が異なっていても、移行先のストレージ装置の正ボリュームを利用してスナップショットボリュームを移行することを可能としている。これにより、ストレージ装置間におけるスナップショットボリューム移行時のデータコピーサイズを最小限にして、スナップショットボリュームの移行処理時間を削減することを可能とした。
【００２７】
（２）計算機システムの構成
図４に、計算機システム１のハードウェア構成を示す。図４に示すように、計算機システム１は、１又は複数のネットワーク４０を介して接続された第１のストレージ装置１０Ａ、第２のストレージ装置１０Ｂ（以降、第１のストレージ装置１０Ａ及び第２のストレージ装置１０Ｂを総称してストレージ装置１０と称して説明する場合もある。）、ホスト計算機２０及び管理計算機３０を備えて構成される。
【００２８】
ネットワーク４０は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ、インターネット、公衆回線又は専用回線などから構成される。このネットワーク４０を介したホスト計算機２０及びストレージ装置１０間の通信は、例えばネットワーク４０がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク４０がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。また、管理計算機３０は、ストレージ装置１０及びホスト計算機２０とＬＡＮを介して接続されている。
【００２９】
（２−１）ホスト計算機の構成
図５にホスト計算機２０の構成を示す。ホスト計算機２０は、管理インタフェース（図中管理Ｉ／Ｆ）２１、メモリ２２、バス２３、ＣＰＵ２４、記憶装置２５、入出力装置２６及びイニシエータポート２７を備える。
【００３０】
管理インタフェース（図中、管理Ｉ／Ｆと表記）２１は、管理計算機３０と接続するためのインタフェースである。ＣＰＵ２４は、演算処理装置として機能し、メモリ２２に記憶されるプログラムや演算パラメータ等にしたがって、ホスト計算機２０の動作を制御する。バス２３は、ＣＰＵ２４やメモリ２２、記憶装置２５などを相互に接続する機能を有する。イニシエータポート２７は、ストレージ装置１０と接続するためのインタフェースである。
【００３１】
メモリ２２は、ＣＰＵ２４によって実行されるプログラム及びＣＰＵ２４によって必要とされる情報等を記憶する。具体的には、メモリ２２には、アプリケーションプログラム２２１、ＶＭプログラム２２２、ハイパーバイザ２２３及びＯＳ２２４が記憶される。アプリケーションプログラム２２１は、各種処理を実行する。ＶＭプログラム２２２は、１または複数の仮想マシンを提供するプログラムである。ハイパーバイザ２２３は、ＶＭプログラム２２２によって提供される仮想マシン上で種々のＯＳを稼働させるプログラムである。ＯＳ２２４は、ホスト計算機２０の処理を制御するプログラムである。
【００３２】
記憶装置２５は、例えば、ＨＤＤ（Hard Disk Drive）で構成され、ＣＰＵ２４が実行するプログラムや各種データが格納される。入出力装置２６は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、例えば、ＣＲＴ（Cathode Ray Tube）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Organic Light Emitting Display）装置およびランプなどの表示装置などから構成される。
【００３３】
（２−２）ストレージ装置の構成
次に、ストレージ装置１０の構成を示す。図６に示すように、ストレージ装置１０は、ターゲットポート１１、ＣＰＵ１２、バス１３、キャッシュメモリ１４、メモリ１５、管理インタフェース（図中管理Ｉ／Ｆ）１６、記憶装置１７及びイニシエータポート１８から構成される。
【００３４】
ターゲットポート１１は、ホスト計算機２０と接続するためのインタフェースであって、ホスト計算機２０に対応するＩＰ（Internet Protocol）アドレスやＷＷＮ（World Wide Name）などの固有のネットワークアドレスがそれぞれ割り当てられる。また、イニシエータポート１８は、ホスト計算機２０に記憶装置１７の記憶領域上に設定される１または複数の論理ボリュームを提供するインタフェースであって、論理ボリュームに対応するＩＰ（Internet Protocol）アドレスやＷＷＮ（World Wide Name）などの固有のネットワークアドレスがそれぞれ割り当てられる。
【００３５】
ＣＰＵ１２は、メモリ１５に記憶されるプログラムを実行することによって、各種処理を行う。バス１３は、ＣＰＵ１２、キャッシュメモリ１４、メモリ１５及び記憶装置１７などを相互に接続する機能を有する。
【００３６】
キャッシュメモリ１４は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等の揮発メモリから構成され、ＣＰＵ１２により処理されたデータ入出力等の処理結果を一時的に格納する。メモリ１５は、ＣＰＵ１２によって実行される各種制御プログラム及びＣＰＵ１２によって必要とされる情報等を格納するために用いられるほか、ホスト計算機２０から与えられるリードコマンドやライトコマンド等の各種コマンドを一時的に保持するために用いられる。
【００３７】
管理インタフェース（図中管理Ｉ／Ｆ）１６は管理計算機３０と接続するためのインタフェースである。
【００３８】
記憶装置１７は、ＣＰＵ１２によりＲＡＩＤ（Redundant Arrays of Inexpensive Disks）方式で運用される。１又は複数の記憶装置１７により提供される物理的な記憶領域上に、１又は複数の論理ボリュームが設定される。そしてデータは、この論理ボリュームＶＯＬ内に所定大きさのブロック（以下、これを論理ブロックと呼ぶ）を単位として記憶される。
【００３９】
各論理ボリュームには、それぞれ固有の識別番号（以下、これをＬＵＮ（Logical Unit number）と呼ぶ）が付与されると共に、各論理ブロックには、それぞれ対応する論理ボリューム内で固有の識別番号（以下、これをＬＢＡ（Logical Block Address）と呼ぶ）が付与される。本実施の形態の場合、データの入出力は、これらＬＵＮ及びＬＢＡを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００４０】
また、上記したメモリ１５には、図７に示すように、スナップショット構成管理表１５１、ボリュームデータマッピング管理表１５２、ボリュームコピープログラム１５３及びスナップショットボリューム移行プログラム１５４が格納されている。
【００４１】
ここで、ストレージ装置１０に搭載されたスナップショットの論理構成について説明する。スナップショットは、ソースボリューム、ターゲットボリューム及びデータプールの３つのボリュームから構成される。
【００４２】
ソースボリュームは、ホスト計算機２０に提供される論理ボリュームであり、ホスト計算機２０からのデータが読み書きされる。このソースボリュームは、通常の実体を有する論理ボリューム及び実態を有さない仮想的な論理ボリュームのいずれであってもかまわない。
【００４３】
ターゲットボリュームは、スナップショットのデータを保持する仮想的な論理ボリュームであり、ソースボリュームとコピーペアに設定される。データプールは、スナップショットの管理情報と、ソースボリュームから退避された旧データとが格納される論理ボリュームである。
【００４４】
スナップショットが取得された場合、その後にソースボリュームを対象とするライトコマンドがストレージ装置１０に与えられると、そのライトコマンドに基づくライト処理により更新される直前のソースボリューム１２０内のデータ（旧データ）がデータプールに退避される。そして、データプールに退避されたデータと、ソースボリュームに残存するデータ（更新されていないデータ）とを組み合わせることで、かかるライト処理によりデータが更新される直前のソースボリューム１２０のデータイメージ（スナップショット）を復元することができる。
【００４５】
例えば、ストレージ装置１０では、同一のソースボリュームに対して最大１０２４個のターゲットボリュームを設定することができる。この場合、ストレージ装置１０は、同一のソースボリュームに対して最大１０２４個のスナップショットを取得することができる。以下、論理ボリュームのデータイメージであるスナップショットを仮想的なボリュームとして扱う場合に、スナップショットボリュームと称して説明している。
【００４６】
スナップショット構成管理表１５１は、論理ボリューム（ソースボリューム）とスナップショットボリューム（ターゲットボリューム）との対応関係を管理するテーブルである。図８に示すように、スナップショット構成管理表１５１は、ＬＵＮ欄１５１１及び親ＬＵＮ欄１５１２から構成される。図８では、第１のストレージ装置１０Ａのスナップショット構成管理表を１５１Ａとし、第２のストレージ装置１０Ｂのスナップショット構成管理表を１５１Ｂとしている。ＬＵＮ欄１５１１には、論理ボリュームの識別番号が格納される。親ＬＵＮ欄１５１２には、ＬＵＮ欄１５１１のコピー元となる論理ボリュームの識別番号が格納される。
【００４７】
例えば、スナップショット構成管理表１５１Ａは、第１のストレージ装置１０Ａに３つのボリューム１０１、１０２及び１０３が存在することを示す。そして、ボリューム１０１はスナップショットボリュームの親ボリュームであり、ボリューム１０２は親ボリューム１０１をコピーして生成されたスナップショットボリュームであり、ボリューム１０３はスナップショットボリューム１０２をコピーして生成されたスナップショットボリュームであることが示されている。また、スナップショット構成管理表１５１Ｂは、第２のストレージ装置１０Ｂに１つのボリューム２０１が存在することを示す。ボリューム２０１は、スナップショットボリュームの親ボリュームである。また、いずれのボリュームがＯＳが搭載されたスナップショットボリューム（ゴールデンイメージ）か、仮想マシンに利用されるスナップショットボリュームかは、後述する管理計算機３０によって管理されている。
【００４８】
また、ボリュームデータマッピング管理表１５２は、ボリュームの各論理ブロックのアドレスを管理するテーブルである。図９に示すように、ボリュームデータマッピング管理表１５２は、ＬＵＮ欄１５２１、論理アドレス欄１５２２、物理アドレス欄１５２３から構成される。図９では、第１のストレージ装置１０Ａのボリュームデータマッピング管理表を１５２Ａとし、第２のストレージ装置１０Ｂのボリュームデータマッピング管理表を１５２Ｂとしている。ＬＵＮ欄１５２１には、ボリュームの識別番号が格納される。論理アドレス欄１５２２には、ボリューム内の各論理ブロックに対応するアドレスが格納される。また、物理アドレス欄１５２３には、各論理ブロックのデータが実際に格納されている記憶領域のアドレスが格納される。
【００４９】
例えば、ボリュームデータマッピング管理表１５２Ａは、第１のストレージ装置１０Ａの３つのボリューム１０１、１０２及び１０３の各論理ブロックのアドレスを示している。上記したように、ボリューム１０２はボリューム１０１をコピーして生成されたスナップショットボリュームであるが、ボリューム１０２のうち、論理アドレスＬ２００１で示される論理ブロックの物理アドレスにはＬ０００１が格納されている。物理アドレスＬ００１は、ボリューム１０１の論理アドレスである。また、論理アドレスＬ２００２で示される論理ブロックの物理アドレスはＰ１００１である。ボリューム１０２の物理アドレスにコピー元のボリューム１０１の論理アドレスではなく、物理アドレスが格納されている場合には、当該アドレスで示される論理ブロックは更新されており、当該論理ブロックはボリューム１０１との差分データであることがわかる。
【００５０】
また、ボリュームコピープログラム１５３は、スナップショットボリュームを移行する際に、必要な論理ボリューム及びスナップショットボリュームをコピーする機能を有する。また、スナップショットボリューム移行プログラム１５４は、管理計算機３０から、移行対象となるスナップショットボリュームの差分データやアドレスマップを取得して、ストレージ装置１０に反映させる機能を有する。管理計算機３０から取得したスナップショットボリュームの差分データの情報は、スナップショット構成管理表１５１に反映される。また、スナップショットボリュームのアドレスマップの情報は、ボリュームデータマッピング管理表１５２に反映される。
【００５１】
例えば、図１０に、第１のストレージ装置１０Ａのボリューム１０３を第２のストレージ装置１０Ｂに移行した場合のボリュームデータマッピング管理表１５２を示す。ボリューム１０３移行後の第１のストレージ装置１０Ａのボリュームデータマッピング管理表を１５２Ｃに示し、ボリューム１０３移行後の第２のストレージ装置１０Ｂのボリュームデータマッピング管理表を１５２Ｄに示す。
【００５２】
ボリュームデータマッピング管理表１５２Ｄに示すように、移行後のボリューム１０３の論理アドレスは変更されない。また、物理アドレスについては、コピー元のボリューム１０２との差分データが格納されている物理アドレスとして、新たなデータ格納場所の物理アドレスが格納される。
【００５３】
（２−３）管理計算機の構成
次に、管理計算機３０の構成を示す。管理計算機３０は、ストレージ装置１０の保守又は管理するためのコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーションなどから構成される。また、図１１に示すように、管理計算機３０は、メモリ３１、バス３２、ＣＰＵ３３、記憶装置３４、入出力装置３５及び管理インタフェース（図中管理Ｉ/Ｆと表記）３６から構成される。
【００５４】
ＣＰＵ３３は、演算処理装置として機能し、メモリ３１に記憶されているプログラムや演算パラメータ等にしたがって、管理計算機３０の動作を制御する。バス３２は、ＣＰＵ３３やメモリ３１、記憶装置３４などを相互に接続する機能を有する。記憶装置３４は、例えば、ＨＤＤ（Hard Disk Drive）で構成され、ＣＰＵ３３が実行するプログラムや各種データが格納される。入出力装置３５は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、例えば、ＣＲＴ（Cathode Ray Tube）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Organic Light Emitting Display）装置およびランプなどの表示装置などから構成される。
【００５５】
また、上記したメモリ３１には、図１２に示すように、論理ボリューム管理表３１１、仮想マシン管理表３１２及び仮想マシン移行プログラム３１３が格納されている。
【００５６】
論理ボリューム管理表３１１は、ゴールデンイメージ（ＧＩ）であるボリュームを管理するテーブルであって、ゴールデンイメージ（ＧＩ）のＬＵＮや、ゴールデンイメージのコピー履歴などを管理するテーブルである。図１３に示すように、論理ボリューム管理表３１１は、ゴールデンイメージ（ＧＩ）ＩＤ欄３１１１、ストレージＩＤ欄３１１２、ＬＵＮ欄３１１３、親ＧＩＩＤ欄３１１４、コピー元ゴールデンイメージ（ＧＩ）ＩＤ欄３１１５及びＯＳ欄３１１６から構成される。
【００５７】
ゴールデンイメージ（ＧＩ）ＩＤ欄３１１１には、ゴールデンイメージの識別情報が格納される。ストレージＩＤ欄３１１２には、ゴールデンイメージが存在するストレージ装置の識別情報が格納される。ＬＵＮ欄３１１３には、ゴールデンイメージのＬＵＮが格納される。親ゴールデンイメージ（ＧＩ）ＩＤ欄３１１４には、ゴールデンイメージの更新前のゴールデンイメージ（親ゴールデンイメージ（ＧＩ））の識別情報が格納される。コピー元ゴールデンイメージ（ＧＩ）ＩＤ欄３１１５には、ゴールデンイメージのコピー元のゴールデンイメージ（コピー元ゴールデンイメージ（ＧＩ））の識別情報が格納される。ＯＳ欄３１１６には、ゴールデンイメージ（ＧＩ）にインストールされているＯＳの種類の情報が格納されている。
【００５８】
仮想マシン管理表３１２は、仮想マシンを形成するスナップショットを管理するテーブルであって、スナップショットがいずれのゴールデンイメージ（ＧＩ）かを管理するテーブルである。図１３に示すように、仮想マシン管理表３１２は、仮想マシン（ＶＭ）ＩＤ欄３１２１、ストレージＩＤ欄３１２２、ＬＵＮ欄３１２３及びデプロイ元ゴールデンイメージ（ＧＩ）ＩＤ欄３１２４から構成される。
【００５９】
仮想マシン（ＶＭ）ＩＤ欄３１２１には、仮想マシンの識別情報が格納される。ストレージＩＤ欄３１２２には、仮想マシンが存在するストレージ装置１０を識別する情報が格納される。ＬＵＮ欄３１２３には、仮想マシンを形成するスナップショットボリュームのＬＵＮが格納される。デプロイ元ゴールデンイメージ（ＧＩ）ＩＤ欄３１２４には、仮想マシンを形成するスナップショットボリュームのデプロイ元のゴールデンイメージ（ＧＩ）ＩＤが格納される。
【００６０】
例えば、図１３には、仮想マシン（VM_1）移行前の論理ボリューム管理表３１１及び仮想マシン管理表３１２を示す。論理ボリューム管理表３１１から、第１のストレージ装置１０Ａには、GI_1及びGI_2の２つのゴールデンイメージ（ＧＩ）ボリュームが存在し、GI_2の親ＧＩはGI_1であり、GI_1にはWinがインストールされ、GI_2にはWinSP1がインストールされていることがわかる。また、第２のストレージ装置１０Ｂには、GI_3のゴールデンイメージ（ＧＩ）ボリュームが存在し、GI_3のコピー元はGI_2であることがわかる。また、仮想マシン管理表３１２から、第１のストレージ装置１０Ａの仮想マシンVM_1のデプロイ元ゴールデンイメージはGI_2であることがわかる。
【００６１】
そして、図１４に、仮想マシン（VM_1）移行後の論理ボリューム管理表３１１及び仮想マシン管理表３１２を示す。上記したように、第２のストレージ装置１０ＢのGI_3のコピー元は第１のストレージ装置１０ＡのGI_2である。したがって、仮想マシン（VM_1）を第１のストレージ装置１０Ａから第２のストレージ装置１０Ｂに移行する際には、仮想マシン管理表３１２Ｂに示すように、仮想マシン（VM_1）のデプロイ元ＧＩ＿ＩＤをGI_2からGI_3に変更する。このように、本実施の形態では、仮想マシン（VM_1）を第１のストレージ装置１０Ａからストレージ装置１０Ｂに移行する際に、移行先のゴールデンイメージ（ＧＩ）を利用するため、仮想マシン（VM_1）のゴールデンイメージ（ＧＩ）の世代構成のすべてを移行先のストレージ装置１０Ｂに移動させる必要がない。
【００６２】
また、仮想マシン移行プログラム３１３は、移行指示のあった仮想マシンを形成するスナップショットボリュームを検索して、該ボリュームを移行先のストレージ装置１０に移行する機能を有する。具体的に、仮想マシン移行プログラム３１３は、移行指示のあったスナップショットボリュームの元となる論理ボリューム（デプロイ元ゴールデンイメージ：デプロイ元ＧＩ）を特定して、当該論理ボリュームに対応する論理ボリュームが移行先のストレージ装置１０に存在するか否かを判定する。そして、移行先のストレージ装置１０に対応する論理ボリュームが存在する場合には、該論理ボリュームに移行対象のスナップショットボリュームを対応付ける。
【００６３】
このように、本実施の形態では、移行先のストレージ装置１０の論理ボリューム（ゴールデンイメージ：ＧＩ）を利用して、スナップショットボリュームの移行処理を行うことができるため、ストレージ装置間におけるスナップショットボリューム移行時のデータコピーサイズを最小限にして、スナップショットボリュームの移行処理時間を削減することが可能となる。
【００６４】
（３）計算機システムの動作
（３−１）管理計算機による移行処理の詳細
次に、管理計算機３０の仮想マシン移行プログラム３１３によって実行される仮想マシン移行処理について説明する。仮想マシンの移行処理は、管理者等が管理計算機３０の入力画面を介してデータ移行を指示することを契機に実行される。なお、以下においては、各種処理の処理主体を「プログラム」として説明するが、実際上、そのプログラムに基づいて管理計算機３０のＣＰＵ３３がその処理を実行することは言うまでもない。以下では、移行元のストレージ装置１０を第１のストレージ装置１０Ａとし、移行先のストレージ装置１０を第２のストレージ装置１０Ｂとして説明する。
【００６５】
図１５に示すように、まず、仮想マシン移行プログラム３１３は、移行対象となる仮想マシン（ＶＭ）のＩＤ及び移行先の第２のストレージ装置１０ＢのＩＤを取得する（Ｓ１０１）。そして、変数Current_GIに移行対象の仮想マシン（ＶＭ）のデプロイ元ゴールデンイメージ（ＧＩ）のＩＤを代入する。例えば、図１３に示すように、移行対象の仮想マシンのＩＤがVM_1であった場合、仮想マシン管理表３１２を参照して、VM_1のデプロイ元ＧＩのＩＤ（GI_2）を変数Current_GIに代入する(Ｓ１０２)。
【００６６】
そして、仮想マシン移行プログラム３１３は、変数Current_GIと同一のＯＳのゴールデンイメージ（ＧＩ）が移行先の第２のストレージ装置１０Ｂ上に存在するか判定する（Ｓ１０３）。例えば、上記したように、変数Current_GIにGI_2が代入されている場合、仮想マシン移行プログラム３１３は、論理ボリューム管理表３１１を参照して移行先の第２のストレージ装置１０Ｂ上にGI_2と同一ＯＳ（WinSP1）が存在するかを判定する。図１３の論理ボリューム管理表３１１を参照すると、ストレージ装置１０Ｂ上にGI_2と同一ＯＳ（WinSP1）のGI_3が存在することがわかる。
【００６７】
ステップＳ１０３において、変数Current_GIと同一のＯＳのゴールデンイメージ（ＧＩ）が移行先のストレージ装置１０上に存在すると判定された場合には、仮想マシン移行プログラム３１３は、変数Identical_GIにCurrent_GIと同一ＯＳのゴールデンイメージ（ＧＩ）のＩＤを代入する（Ｓ１０８）。例えば、変数Current_GIにGI_2が代入されている場合には、ステップＳ１０８において、変数Identical_GIにGI_2と同一ＯＳのGI_3が代入される。ここで、移行先のストレージ装置１０上にCurrent_GIと同一ＯＳのゴールデンイメージ（ＧＩ）が複数存在する場合には、ゴールデンイメージ（ＧＩ）の性能を考慮して、当該性能への影響が最も少ないゴールデンイメージ（ＧＩ）を選択して変数Identical_GIに代入してもよい。
【００６８】
一方、ステップＳ１０３において、変数Current_GIと同一のＯＳのゴールデンイメージ（ＧＩ）が移行先の第２のストレージ装置１０Ｂ上に存在しないと判定された場合には、仮想マシン移行プログラム３１３は、変数Current_GIの親ＧＩが移行先の第２のストレージ装置１０Ｂ上に存在するかを判定する（Ｓ１０４）。
【００６９】
ステップＳ１０４において、変数Current_GIの親ＧＩが移行先のストレージ装置１０上に存在すると判定された場合には、仮想マシン移行プログラム３１３は、変数Current_GIに変数Current_GIの親ＧＩのＩＤを代入して（Ｓ１０５）、ステップＳ１０３以降の処理を繰り返す。移行先の第２のストレージ装置１０Ｂに仮想マシンのデプロイ元のゴールデンイメージ（ＧＩ）と同一のＯＳが存在しなくとも、当該ＧＩの親ＧＩが存在する場合には、移行先の第２のストレージ装置１０Ｂの親ＧＩを利用して移行先にデプロイ元ＧＩを用意することが可能となる。これにより、仮想マシンのデプロイ元ＧＩの世代構成のすべてを移行先の第２のストレージ装置１０Ｂにコピーする必要がなくなる。
【００７０】
一方、ステップＳ１０４において、変数Current_GIの親ＧＩが移行先のストレージ装置１０上に存在しないと判定された場合には、仮想マシン移行プログラム３１３は、ボリュームコピー処理を実行する（Ｓ１０６）。ステップＳ１０６におけるボリュームコピー処理は、移行対象の仮想ボリュームのデプロイ元のゴールデンイメージボリュームを移行先の第２のストレージ装置１０Ｂにコピーする処理である。ステップＳ１０６における当該ボリュームコピー処理については、後で詳細に説明する。
【００７１】
そして、ステップＳ１０６においてゴールデンイメージボリュームのボリュームコピー処理を実行した後、仮想マシン移行プログラム３１３は、変数Identical_GIに移行先の第２のストレージ装置１０Ｂにコピーしたゴールデンイメージ（ＧＩ）のＩＤを代入する（Ｓ１０７）。
【００７２】
そして、仮想マシン移行プログラム３１３は、仮想マシン（ＶＭ）移行処理を実行して（Ｓ１０９）、処理を終了する。具体的に、仮想マシン移行プログラム３１３は、仮想マシン（ＶＭ）を形成するスナップショットボリュームを移行元の第１のストレージ装置１０Ａから移行先の第２のストレージ装置１０Ｂに移行する。上記したように、移行対象のスナップショットボリュームのデプロイ元のＧＩと同一のＯＳを有するＧＩか、ＧＩの親ＧＩが移行先の第２のストレージ装置１０Ｂに存在する場合には、移行先の第２のストレージ装置１０ＢのＧＩを利用してスナップショットボリュームを移行することができる。
【００７３】
（３−１−１）管理計算機によるスナップショット移行処理の詳細
次に、図１５のステップＳ１０９の仮想マシン（ＶＭ）移行処理について説明する。図１６に示すように、仮想マシン移行プログラム３１３は、変数Current_GIに代入されているＧＩのＩＤと、移行対象の仮想マシン（ＶＭ）のデプロイ元ＧＩのＩＤが一致するかを判定する（Ｓ２０１）。
【００７４】
ステップＳ２０１において、変数Current_GIに代入されているＧＩのＩＤと、移行対象の仮想マシン（ＶＭ）のデプロイ元ＧＩのＩＤが一致すると判定された場合には、仮想マシン移行プログラム３１３は、ステップＳ２０３以降の処理を実行する。
【００７５】
一方、ステップＳ２０１において、変数Current_GIに代入されているＧＩのＩＤと、移行対象の仮想マシン（ＶＭ）のデプロイ元ＧＩのＩＤが一致していないと判定された場合には、仮想マシン移行プログラム３１３は、変数Current_GIに変数Current_GIの子のＧＩＩＤを代入する（Ｓ２０２）。そして、変数Current_GIに代入されているＧＩのＬＵＮ情報を命令送信用バッファに登録する（Ｓ２０３）。
【００７６】
例えば、移行先の第２のストレージ装置１０Ｂに移行対象のスナップショットボリュームのデプロイ元のＧＩの親ＧＩが存在していたとする。この場合、図１５のステップＳ１０５において、変数Current_GIに親ＧＩのＩＤが代入される。そこで、図１６のステップＳ２０２において、変数Current_GIに変数Current_GIの子ＧＩのＩＤを代入することにより、移行元の第１のストレージ装置１０Ａと移行先の第２のストレージ装置１０Ｂとのゴールデンイメージボリュームの差分のＧＩのＬＵＮ情報が命令送信用バッファに登録されることとなる。
【００７７】
そして、仮想マシン移行プログラム３１３は、移行対象の仮想マシン（ＶＭ）のＬＵＮ情報を命令送信用バッファに登録する（Ｓ２０４）。続いて、仮想マシン移行プログラム３１３は、変数Identical_GIのＩＤ情報を命令送信用バッファに登録する（Ｓ２０５）。
【００７８】
図１５のステップＳ１０７及びステップＳ１０８に示したように、仮想マシン（ＶＭ）を形成するスナップショットボリュームのデプロイ元ＧＩと同一のＯＳが移行先の第２のストレージ装置１０Ｂに存在する場合には、当該ＧＩのＩＤが変数Identical_GIに代入される。また、仮想マシン（ＶＭ）を形成するスナップショットボリュームのデプロイ元ＧＩと同一のＯＳが移行先の第２のストレージ装置１０Ｂに存在しない場合には、移行先の第２のストレージ装置１０ＢにボリュームコピーされたＧＩのＩＤが変数Identical_GIに代入される。したがって、変数Identical_GIには、移行先において、移行対象のスナップショットボリュームのデプロイ元となるＧＩボリュームのＩＤが格納されていることとなる。
【００７９】
続いて、仮想マシン移行プログラム３１３は、移行元の第１のストレージ装置１０Ａにスナップショットボリューム移行命令を送信する（Ｓ２０６）。そして、ストレージ装置１０間でスナップショットボリュームが移行された後に、仮想マシン移行プログラム３１３は、移行元の第１のストレージ装置１０Ａからスナップショットボリューム移行完了通知を受信する（Ｓ２０７）。
【００８０】
ステップＳ２０７において、ストレージ装置１０Ａからスナップショットボリューム移行完了通知を受信した後に、仮想マシン移行プログラム３１３は、論理ボリューム管理表３１１及び仮想マシン管理表３１２を更新する（Ｓ２０８）。ステップＳ２０８において、仮想マシン移行プログラム３１３は、新たに移行先の第２のストレージ装置１０Ｂにゴールデンイメージ（ＧＩ）をコピーした場合には、追加したＧＩのＩＤに関する情報を論理ボリューム管理表３１１に加える。また、スナップショットボリュームのデプロイ元ＧＩのＩＤが、移行元ストレージ装置１０ＡのＧＩから移行先ストレージ装置１０ＢのＧＩ（GI_3）に変更されるため、仮想マシン管理表３１２Ｂに示すように、移行対象の仮想マシン（VM_1）のデプロイ元ＧＩのＩＤを移行先の第２のストレージ装置１０Ｂのデプロイ元ＧＩ（GI_3）に更新する。
【００８１】
（３−１−２）管理計算機による論理ボリューム移行処理の詳細
次に、図１５のステップＳ１０６におけるボリュームコピー処理の詳細について説明する。図１７に示すように、仮想マシン移行プログラム３１３は、移行対象の仮想マシン（ＶＭ）のデプロイ元ＧＩのＬＵＮ情報を命令送信用バッファに登録する（Ｓ３０１）。そして、仮想マシン移行プログラム３１３は、移行元の第１のストレージ装置１０Ａへボリュームコピー命令を送信する（Ｓ３０２）。そして、ストレージ装置１０間でＧＩのボリュームコピーが完了した後に、仮想マシン移行プログラム３１３は、移行元の第１のストレージ装置１０ＡかＧＩのボリュームコピー完了通知を受信する（Ｓ３０３）。
【００８２】
そして、仮想マシン移行プログラム３１３は、論理ボリューム管理表３１１を更新する（Ｓ３０４）。ステップＳ３０４において、仮想マシン移行プログラム３１３は、論理ボリューム管理表３０４に、ボリュームコピーされたＧＩの情報を加える。
【００８３】
（３−２）ストレージ装置による移行処理の詳細
（３−２−１）ストレージ装置間の論理ボリューム移行処理の詳細
まず、移行元の第１のストレージ装置１０Ａと移行先の第２のストレージ装置１０Ｂとの間で実行される論理ボリュームの移行処理について説明する。以下に示す論理ボリュームの移行処理は、移行対象のスナップショットボリュームのデプロイ元ＧＩと同一のＯＳのＧＩや該ＧＩの親ＧＩが、移行先の第２のストレージ装置１０Ｂに存在しない場合に実行される。
【００８４】
図１８に示すように、第１のストレージ装置１０Ａは、管理計算機３０からコピー対象の論理ボリューム（ＧＩ）のＬＵＮ及び移行先の第２のストレージ装置１０ＢのストレージＩＤを受信する（Ｓ４０１）。
【００８５】
そして、第１のストレージ装置１０Ａは、移行先の第２のストレージ装置１０Ｂに論理ユニット（ＬＵ）データのコピー命令を送信する（Ｓ４０２）。ここで、ＬＵは、ゴールデンイメージ（ＧＩ）の論理ボリュームを意味する。
【００８６】
移行先の第２のストレージ装置１０Ｂは、ステップＳ４０２において移行元の第１のストレージ装置１０Ａから送信されたＬＵデータのコピー命令を受信する（Ｓ４０３）。
【００８７】
続いて、第１のストレージ装置１０Ａは、コピー対象のＬＵのデータを第２のストレージ装置１０Ｂに送信する（Ｓ４０４）。第２のストレージ装置１０Ｂは、ステップＳ４０４において第１のストレージ装置１０Ａから送信されたコピー対象のＬＵのデータを受信する（Ｓ４０５）。
【００８８】
そして、移行先の第２のストレージ装置１０Ｂは、ステップＳ４０５において受信したコピー対象のＬＵのデータをコピーして、ボリュームデータマッピング管理表１５２を更新する（Ｓ４０６）。具体的に、第２のストレージ装置１０Ｂは、第１のストレージ装置１０Ａから送信されたＬＵのデータをコピーして、ＬＵのデータをコピーした記憶領域の物理アドレスを取得する。そして、取得した物理アドレスを、ＬＵのデータの論理アドレスと対応付けてボリュームデータマッピング管理表１５２に追加する。
【００８９】
そして、第２のストレージ装置１０Ｂは、ＬＵデータのコピーが完了した旨を第１のストレージ装置１０Ａに送信する（Ｓ４０７）。そして、第１のストレージ装置１０Ａは、ステップＳ４０７において第２のストレージ装置１０Ｂから送信されたＬＵデータのコピー完了通知を受信する（Ｓ４０８）。
【００９０】
（３−２−２）ストレージ装置間のスナップショットボリューム移行処理の詳細
次に、移行元の第１のストレージ装置１０Ａと移行先の第２のストレージ装置１０Ｂとの間で実行されるスナップショットボリュームの移行処理について説明する。図１９に示すように、第１のストレージ装置１０Ａは、管理計算機３０からコピー対象の論理ボリューム（ＧＩ）及び仮想マシン（ＶＭ）のＬＵＮ、移行先のストレージ装置１０のＩＤ及び変数Identical_GIに代入されている論理ボリューム（ＧＩ）のＩＤを受信する（Ｓ４１１）。
【００９１】
そして、移行元の第１のストレージ装置１０Ａは、移行先の第２のストレージ装置１０Ｂに論理ユニット（ＬＵ）のスナップショットデータのコピー命令を送信する（Ｓ４１２）。ここで、ＬＵのスナップショットデータとは、ゴールデンイメージ（ＧＩ）の論理ボリュームに対するスナップショットの差分データを意味する。
【００９２】
移行先の第２のストレージ装置１０Ｂは、ステップＳ４１１において移行元の第１のストレージ装置１０Ａから送信されたＬＵのスナップショットデータのコピー命令を受信する（Ｓ４１３）。
【００９３】
続いて、第１のストレージ装置１０Ａは、コピー対象のＬＵのスナップショットデータ、データマッピング情報及び変数Identical_GIに代入されている論理ボリューム（ＧＩ）のＩＤを第２のストレージ装置１０Ｂに送信する（Ｓ４１４）。第２のストレージ装置１０Ｂは、ステップＳ４１４において第１のストレージ装置１０Ａから送信されたコピー対象のＬＵのスナップショットデータ、データマッピング情報及び変数Identical_GIに代入されている論理ボリューム（ＧＩ）のＩＤを受信する（Ｓ４１５）。
【００９４】
そして、移行先の第２のストレージ装置１０Ｂは、ステップＳ４１５において受信したコピー対象のＬＵのスナップショットデータをコピーして、ボリュームデータマッピング管理表１５２を更新する（Ｓ４１６）。具体的に、第２のストレージ装置１０Ｂは、第１のストレージ装置１０Ａから送信されたＬＵのスナップショットデータをコピーして、スナップショットデータをコピーした記憶領域の物理アドレスを取得する。そして、取得した物理アドレスを、ＬＵのスナップショットデータの論理アドレスと対応付けてボリュームデータマッピング管理表１５２に追加する。
【００９５】
例えば、図１０は、ステップＳ４１６において更新されたボリュームデータマッピング管理表１５２Ｄである。ボリュームデータマッピング管理表１５２Ｄは、移行前のボリュームデータマッピング管理表１５２ＢにＬＵＮ１０３の論理ボリューム（ＧＩ）の情報が付け加えられている。ボリュームデータマッピング管理表１５２Ｄに示すように、スナップショットボリュームの差分データをコピーした記憶領域の物理アドレス（Ｐ５２１０、Ｐ５２３１）が論理アドレス（Ｌ３００１、Ｌ３１２１）と対応付けられてそれぞれ格納される。また、スナップショットボリュームの差分データ以外には、物理アドレス欄１５２３にスナップショットボリュームのデプロイ元の論理ボリューム（ＬＵＮ１０２）の論理アドレスが格納される。
【００９６】
そして、第２のストレージ装置１０Ｂは、ＬＵスナップショットデータのコピーが完了した旨を第１のストレージ装置１０Ａに送信する（Ｓ４１７）。そして、第１のストレージ装置１０Ａは、ステップＳ４１７において第２のストレージ装置１０Ｂから送信されたＬＵスナップショットデータのコピー完了通知を受信する（Ｓ４１８）。
【００９７】
続いて、第１のストレージ装置１０Ａは、移行対象の仮想マシンのスナップショットボリュームのＬＵデータを削除する（Ｓ４１９）。そして、ステップＳ４１９において削除したＬＵデータの情報を、ボリュームデータマッピング管理表から削除する（Ｓ４２０）。
【００９８】
（４）本実施の形態の効果
以上のように本実施の形態によれば、移行元と移行先のゴールデンイメージ（正ボリューム）の世代構成が異なっていても、移行先のストレージ装置の正ボリュームを利用してスナップショットボリュームを移行することを可能としている。これにより、ストレージ装置間におけるスナップショットボリューム移行時のデータコピーサイズを最小限にして、スナップショットボリュームの移行処理時間を削減することを可能とした。
【００９９】
（５）他の実施の形態
例えば、本明細書のストレージ装置１０または管理計算機３０の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、ストレージ装置１０または管理計算機３０の処理における各ステップは、異なる処理であっても並列的に実行されてもよい。
【０１００】
また、ストレージ装置１０または管理計算機３０などに内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上述したストレージ装置１０または管理計算機３０の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
【符号の説明】
【０１０１】
１      計算機システム
１０    ストレージ装置
１１    ターゲットポート
１３    バス
１４    キャッシュメモリ
１５    メモリ
１７    記憶装置
１８    イニシエータポート
１５１  スナップショット構成管理表
１５２  ボリュームデータマッピング管理表
１５３  ボリュームコピープログラム
１５４  スナップショットボリューム移行プログラム
２０    ホスト計算機
２１    管理インタフェース
２２    メモリ
２３    バス
２５    記憶装置
２６    入出力装置
２７    イニシエータポート
２０１  論理ボリューム
２２１  アプリケーションプログラム
２２２  ＶＭプログラム
２２３  ハイパーバイザ
３０    管理計算機
３１    メモリ
３２    バス
３４    記憶装置
３５    入出力装置
３０４  論理ボリューム管理表
３１１  論理ボリューム管理表
３１２  仮想マシン管理表
３１３  仮想マシン移行プログラム
４０    ネットワーク
【図１】
0005944001.tif 000002
【図２】
0005944001.tif 000003
【図３】
0005944001.tif 000004
【図４】
0005944001.tif 000005
【図５】
0005944001.tif 000006
【図６】
0005944001.tif 000007
【図７】
0005944001.tif 000008
【図８】
0005944001.tif 000009
【図９】
0005944001.tif 000010
【図１０】
0005944001.tif 000011
【図１１】
0005944001.tif 000012
【図１２】
0005944001.tif 000013
【図１３】
0005944001.tif 000014
【図１４】
0005944001.tif 000015
【図１５】
0005944001.tif 000016
【図１６】
0005944001.tif 000017
【図１７】
0005944001.tif 000018
【図１８】
0005944001.tif 000019
【図１９】
0005944001.tif 000020