(57)【特許請求の範囲】
【請求項１】
複数のホスト計算機に対してそれぞれ割り当てられた複数の仮想ボリュームと、
前記複数の仮想ボリュームに対するＩ／Ｏアクセスに従うデータを記憶するマスタボリュームと、
蓄積領域及び転送領域を有し、前記Ｉ／Ｏアクセスに基づく前記マスタボリュームに記憶されたデータに対する差分データを記憶する差分ボリュームと、
前記複数の仮想ボリューム、前記マスタボリューム、及び前記差分ボリュームを相互に関連付け、前記複数の仮想ボリュームのそれぞれについてコピー対象とするか否かを示すフラグを含むボリューム管理マップと、
前記ホスト計算機のいずれかから与えられる対応する仮想ボリュームに対するＩ／Ｏアクセスに応答して、前記マスタボリュームに対するＩ／Ｏアクセスを制御するＩ／Ｏ制御部と、
前記差分ボリュームの蓄積領域における前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたか否かを判断する差分ボリューム監視部と、
前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたと判断される場合に前記差分ボリューム監視部から与えられるデータ再配置指示に従い、前記差分ボリュームの蓄積領域に記憶された差分データが連続的に配置されるように、当該差分データを転送領域に移動する差分データ配置部と、
前記差分ボリュームの転送領域に記憶された差分データが外部のストレージ装置にバックアップされるようにコピー制御を行うコピー実行部と、
を備えることを特徴とするストレージ装置。
【請求項２】
前記Ｉ／Ｏ制御部は、前記対応する仮想ボリュームに対するＩ／Ｏアクセスに基づいて、当該Ｉ／Ｏアクセスに従うデータと前記マスタボリュームに記憶されたデータとの差分データを算出し、当該差分データを前記差分ボリュームに書き込む、
ことを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記ストレージ装置は、前記複数のホスト計算機のいずれかからコピー対象指示を受け付け、前記ボリューム管理マップにおける当該コピー対象指示が指定する仮想ボリュームについてのフラグをコピー対象に設定するコピー対象設定部を備える、
ことを特徴とする請求項２記載のストレージ装置。
【請求項４】
前記コピー実行部は、前記複数のホスト計算機のいずれかからコピー実行指示を受け付け、前記コピー制御を行う、
ことを特徴とする請求項３記載のストレージ装置。
【請求項５】
前記コピー実行部は、前記ボリューム管理マップを参照し、前記コピー実行指示が指定する仮想ボリュームについての差分データが前記差分ボリュームの転送領域に記憶されていないと判断する場合に、前記差分データが転送領域に記憶されるように、前記差分データ再配置部に指示し、
前記差分データ再配置部は、前記差分データ再配置部からの指示に基づいて、前記コピー実行指示が指定する仮想ボリュームについての差分データを転送領域に移動する、
ことを特徴とする請求項４記載のストレージ装置。
【請求項６】
複数のホスト計算機に対してそれぞれ割り当てられた複数の仮想ボリューム及び前記複数の仮想ボリュームに対するＩ／Ｏアクセスに従うデータを記憶するマスタボリュームと、蓄積領域及び転送領域を有し、前記Ｉ／Ｏアクセスに基づく前記マスタボリュームに記憶されたデータに対する差分データを記憶する差分ボリュームと、前記複数のホスト計算機のいずれかから与えられる対応する仮想ボリュームに対するＩ／Ｏアクセスに基づいて前記マスタボリュームに対するＩ／Ｏアクセスを制御するコントローラとを備えたストレージ装置におけるデータ転送方法であって、
前記コントローラが、
前記複数の仮想ボリューム、前記マスタボリューム、及び前記差分ボリュームを相互に関連付け、前記複数の仮想ボリュームのそれぞれについてコピー対象とするか否かを示すフラグを含むボリューム管理マップを備えるステップと、
前記ホスト計算機のいずれかから与えられる対応する仮想ボリュームに対するＩ／Ｏアクセスに応答して、当該Ｉ／Ｏアクセスに従うデータと前記マスタボリュームに記憶されたデータとの差分データを算出するステップと、
前記算出した差分データに基づいて、前記ボリューム管理マップを更新するステップと、
前記算出したデータを前記差分ボリュームの蓄積領域に記憶するステップと、
前記差分ボリュームの蓄積領域における前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたか否かを判断するステップと、
前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたと判断される場合に、前記差分ボリューム監視部から与えられるデータ再配置指示に従い、前記差分ボリュームの蓄積領域に記憶された差分データが連続的に配置されるように、当該差分データを転送領域に移動するステップと、
前記差分ボリュームの転送領域に記憶された差分データが外部のストレージ装置にバックアップされるようにコピー制御を行うステップと、を実行する
ことを特徴とするストレージ装置におけるデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置に関し、特に、複数のオペレーティングシステムを実行する仮想化環境におけるデータのバックアップ技術に関する。
【背景技術】
【０００２】
ストレージ装置内の論理ボリュームをバックアップする技術の一つとして、差分バックアップが知られている。
【０００３】
例えば、下記特許文献１では、マスタボリュームを定義し、ストレージ内の他の論理ボリュームの重複排除を実施して、差分データのみを管理することで、必要な論理ボリュームの容量を少なくする技術が開示されている。また、同文献では、差分データをバックアップサイトに転送することにより、少ないデータ量でバックアップを実現する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９-１４６３８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、かかる従来の技術では、複数のオペレーティングシステム（ＯＳ）が実行される仮想化環境においてＯＳ毎に論理ボリュームを割り当てた場合に、特定の論理ボリュームを選択して、差分バックアップをすることができないという課題があった。
【０００６】
そこで、本発明は、複数のＯＳが実行される仮想化環境においてＯＳ毎に割り当てられた論理ボリュームのいずれかを選択的に差分バックアップをすることができるストレージ装置を提供することを目的の一つとする。
【課題を解決するための手段】
【０００７】
ある観点に従う本発明は、複数のホスト計算機に対してそれぞれ割り当てられた複数の仮想ボリュームと、前記複数の仮想ボリュームに対するＩ／Ｏアクセスに従うデータを記憶するマスタボリュームと、蓄積領域及び転送領域を有し、前記Ｉ／Ｏアクセスに基づく前記マスタボリュームに記憶されたデータに対する差分データを記憶する差分ボリュームと、前記複数の仮想ボリューム、前記マスタボリューム、及び前記差分ボリュームを相互に関連付け、前記複数の仮想ボリュームのそれぞれについてコピー対象とするか否かを示すフラグを含むボリューム管理マップと、前記ホスト計算機のいずれかから与えられる対応する仮想ボリュームに対するＩ／Ｏアクセスに応答して、前記マスタボリュームに対するＩ／Ｏアクセスを制御するＩ／Ｏ制御部と、前記差分ボリュームの蓄積領域における差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたか否かを判断する差分ボリューム監視部と、前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたと判断される場合に前記差分ボリューム監視部から与えられるデータ再配置指示に従い、前記差分ボリュームの蓄積領域に記憶された差分データが連続的に配置されるように、当該差分データを転送領域に移動する差分データ配置部と、前記差分ボリュームの転送領域に記憶された差分データが外部のストレージ装置にバックアップされるようにコピー制御を行うコピー実行部と、を備えるストレージ装置である。
【０００８】
また、別の観点に従う本発明は、複数のホスト計算機に対してそれぞれ割り当てられた複数の仮想ボリューム及び前記複数の仮想ボリュームに対するＩ／Ｏアクセスに従うデータを記憶するマスタボリュームと、蓄積領域及び転送領域を有し、前記Ｉ／Ｏアクセスに基づく前記マスタボリュームに記憶されたデータに対する差分データを記憶する差分ボリュームと、前記複数のホスト計算機のいずれかから与えられる対応する仮想ボリュームに対するＩ／Ｏアクセスに基づいて前記マスタボリュームに対するＩ／Ｏアクセスを制御するコントローラとを備えたストレージ装置におけるデータ転送方法であり、前記コントローラが、前記複数の仮想ボリューム、前記マスタボリューム、及び前記差分ボリュームを相互に関連付け、前記複数の仮想ボリュームのそれぞれについてコピー対象とするか否かを示すフラグを含むボリューム管理マップを備えるステップと、前記ホスト計算機のいずれかから与えられる対応する仮想ボリュームに対するＩ／Ｏアクセスに応答して、当該Ｉ／Ｏアクセスに従うデータと前記マスタボリュームに記憶されたデータとの差分データを算出するステップと、前記算出した差分データに基づいて、前記ボリューム管理マップを更新するステップと、前記算出したデータを前記差分ボリュームの蓄積領域に記憶するステップと、前記差分ボリュームの蓄積領域における前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたか否かを判断するステップと、前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたと判断される場合に、前記差分ボリューム監視部から与えられるデータ再配置指示に従い、前記差分ボリュームの蓄積領域に記憶された差分データが連続的に配置されるように、当該差分データを転送領域に移動するステップと、前記差分ボリュームの転送領域に記憶された差分データが外部のストレージ装置にバックアップされるようにコピー制御を行うステップとを実行する、ストレージ装置におけるデータ転送方法である。
【０００９】
なお、本発明において、部とは、単に物理的手段を意味するものではなく、その部が有する機能をソフトウェアによって実現する場合も含む。また、１つの部や装置が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の部や装置の機能が１つの物理的手段や装置により実現されても良い。
【発明の効果】
【００１０】
本発明によれば、プライマリストレージ装置内に構成された論理ボリューム毎の差分バックアップをすることができるようになる。特に、複数のＯＳが実行される仮想化環境においてＯＳ毎に論理ボリュームが割り当てられた場合であっても、特定の論理ボリュームを選択して、差分バックアップをすることができるようになる。従って、選択された論理ボリュームに対する差分データのみがバックアップされることになり、バックアップ時のデータ転送量を低く抑えることができるようになる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るストレージ装置を含むコンピュータシステムの構成を示す図である。
【図２】本発明の一実施形態に係るストレージ装置の機能的構成を説明するための図である。
【図３】本発明の一実施形態に係るストレージ装置におけるボリューム管理マップの一例を示す図である。
【図４】本発明の一実施形態に係るストレージ装置における差分データ再配置部によるデータ再配置を説明するためのである。
【図５】本発明の一実施形態に係るストレージ装置におけるＩ／Ｏ制御部の処理を説明するためのフローチャートである。
【図６】本発明の一実施形態に係るストレージ装置における差分データ再配置部の処理を説明するためのフローチャートである。
【図７】本発明の一実施形態に係るストレージ装置におけるコピー対象設定部の処理を説明するためのフローチャートである。
【図８】本発明の一実施形態に係るストレージ装置におけるコピー実行部の処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１２】
次に、本発明の実施の形態について、図面を参照しつつ説明する。
【００１３】
図１は、本発明の一実施形態に係るストレージ装置を含むコンピュータシステムの構成を示す図である。また、図２は、本発明の一実施形態に係るストレージ装置の機能的構成を説明するための図である。
【００１４】
これらの図に示すように、コンピュータシステム１は、ネットワーク２を介して相互に接続された、１以上のホスト計算機３及びストレージシステム４０から構成される。ストレージシステム４は、ホスト計算機３からＩ／Ｏアクセスを受け付けるプライマリストレージ装置４Ａと、プライマリストレージ装置に格納されたデータをバックアップするためのバックアップストレージ装置４Ｂとを含んで構成される。同図では、プライマリストレージ装置４Ａとバックアップストレージ装置４Ｂとは、ネットワーク２とは別のネットワークで接続されているが、ネットワーク２を介して接続されるように構成されても良い。
【００１５】
ホスト計算機３は、図示はしないが、内部バスを介して相互に接続された、プロセッサと、メインメモリと、通信インターフェースと、ローカル入出力装置等のハードウェア資源を備えるとともに、デバイスドライバやオペレーティングシステム（ＯＳ）、アプリケーションプログラム等のソフトウェア資源を備える。これによって、ホスト計算機３は、プロセッサの制御の下、各種のアプリケーションプログラムを実行して、ハードウェア資源との協働作用により、ストレージシステム４０（プライマリストレージ装置４）にＩ／Ｏアクセスしながら、所望の処理を遂行する。
【００１６】
プライマリストレージ装置４Ａは、典型的には、データを記憶するハードディスクドライブ等の大容量記憶媒体を含むストレージデバイスと、これを制御するコントローラとから構成される。バックアップストレージ装置４Ｂのハードウェア構成もプライマリストレージ装置４Ａと同じである。
【００１７】
ストレージデバイス４１は、例えば、ＲＡＩＤ制御により構成された１つ以上の仮想デバイス上に複数の論理ボリュームＶＯＬを有する。複数の論理ボリュームＶＯＬはそれぞれ、目的・用途によって属性が与えられ、それに応じたボリュームが定義される。本例では、複数の仮想ボリューム４１１、マスタボリューム４１２、及び差分ボリューム４１３が定義されている（図２参照）。
【００１８】
仮想ボリューム４１１は、ホスト計算機３に対してデータストレージサービスを提供するためのボリュームであるが、本例では、実データを格納しない仮想的なボリュームとして定義されている。即ち、ホスト計算機３からは、仮想ボリューム４１１はあたかも通常の１つの論理ボリュームＶＯＬとして参照され、従って、ホスト計算機３は従来どおりＩ／Ｏアクセスを行うことができるが、内部的には、仮想ボリューム４１１には実データは格納されない。実データはマスタボリューム４１２に格納される。複数の仮想ボリューム４１１はそれぞれ、例えば、一のホスト計算機３に割り当てられている。仮想ボリューム４１１は、例えば、ホスト計算機３がＯＳ並びにアプリケーションプログラム及び各種のデータを使用可能なように用意される。
【００１９】
マスタボリューム４１２は、仮想ボリューム４１１に仮想的に格納されたデータの実データを実際に格納するためのボリュームである。マスタボリューム４１２と仮想ボリューム４１１との対応関係は、後述するボリューム管理マップ４２３によって管理される。
【００２０】
差分ボリューム４１３は、特定の仮想ボリューム４１１におけるデータに対応するマスタボリューム４１２における実データとの差分データを格納するためのボリュームである。本実施形態の差分ボリューム４１３は、差分データをランダムアクセスに格納するための第１の領域（蓄積領域４１３Ａ）と当該差分データを転送のためにシーケンシャルに格納する第２の領域（転送領域４１３Ｂ）とを有する（図４参照）。
【００２１】
コントローラ４２は、プライマリストレージ装置４Ａ全体の動作を制御するシステムコンポーネントであり、プロセッサ及びメモリ等を含むマザーボード並びに各種のインターフェース回路を含んで構成される。コントローラ４２の主たる役割は、ホスト計算機３からのＩ／Ｏアクセス要求（Ｉ／Ｏコマンド）に基づいて、ストレージデバイスの仮想ボリューム４１１に対するＩ／Ｏ処理を行うことである。また、本実施形態では、コントローラ４２は、ホスト計算機３からのコピー実行指示の下、データの移行処理を実現する機能を有する。
【００２２】
コントローラ４２は、機能構成的にみれば、Ｉ／Ｏ制御部４２１、差分ボリューム監視部４２２、ボリューム管理マップテーブル４２３、差分データ再配置部４２４、コピー対象設定部４２５、及びコピー実行４２６部を含むように構成される。
【００２３】
Ｉ／Ｏ制御部４２１は、ホスト計算機３から仮想ボリューム４１１に対するＩ／Ｏアクセスを受け取り、内部的にＩ／Ｏ処理を行う。例えば、Ｉ／Ｏアクセスがデータ書き込み要求である場合には、Ｉ／Ｏ制御部４２１は、当該データ書き込み要求に基づいてボリューム管理マップを参照して、マスタボリューム４１２上のデータを特定し、当該データ書き込み要求に従う書き込みデータとの差分データを算出し、当該算出した差分データを差分ボリューム４１３の蓄積領域４１３Ａに書き込む。この際、Ｉ／Ｏ制御部４２１は、かかる差分情報をボリューム管理マップに書き込み、ボリューム管理マップを更新する。
【００２４】
バックアップストレージ装置４Ｂもまた、データを記憶するハードディスクドライブ等の大容量記憶媒体を含むストレージデバイス４１と、これを制御するコントローラ４２とから構成される。
【００２５】
バックアップストレージ装置４Ｂは、ストレージデバイス内に構成された複数の論理ボリュームＶＯＬを有する。バックアップストレージ装置４Ｂにおける論理ボリュームＶＯＬは、プライマリストレージ装置４Ａの仮想ボリューム４１１のバックアップ用のデータボリューム４２４として用いられる。バックアップストレージ装置４Ｂは、コントローラ４２の制御の下、プライマリストレージ装置４Ａからバックアップデータの転送を受け付けると、所定の論理ボリュームの領域に当該バックアップデータを格納する。本実施形態では、バックアップデータは、差分ボリューム４１３の転送領域４１３Ｂに格納された一連の差分データである。
【００２６】
図３は、本発明の一実施形態に係るストレージ装置におけるボリューム管理マップ４２３の一例を示す図である。
【００２７】
同図に示すように、ボリューム管理マップ４２３は、各エントリについて、差分データ管理番号４２３１、仮想ボリューム番号４２３２、マスタボリューム更新元先頭アドレス４２３３、差分ボリューム更新先先頭アドレス４２３４、差分ボリューム更新先終端アドレス４２３５、及びコピー対象フラグ４２３６といった項目を含んで構成されたテーブルである。
【００２８】
差分データ管理番号４２３１は、Ｉ／Ｏアクセス要求により生じた差分データを一意に識別し、管理するためのものである。仮想ボリューム番号４２３２は、差分データに関連付けられた仮想ボリューム４１１の番号を示す。マスタボリューム更新元先頭アドレス４２３３は、Ｉ／Ｏアクセス要求が指定するマスタボリューム４１２の先頭アドレスを示す。差分ボリューム更新先先頭アドレス４２３４は、差分データが格納される差分ボリューム４１３の先頭アドレスを示し、差分ボリューム更新先終端アドレス４２３５はその終端アドレスを示す。そして、コピー対象フラグ４２３６は、バックアップ（コピー）をすべきデータであるか否かを示すフラグであり、例えば、ホスト計算機３からの指示により、設定される。
【００２９】
差分ボリューム監視部４２２は、差分ボリューム４１３を常時監視し、蓄積容量が差分ボリューム４１３の蓄積領域４１３Ａに対して設定された所定の閾値（蓄積上限値）を超えたと判断する場合に、差分データ再配置部４２４に再配置指示を送出する。
【００３０】
差分データ再配置部４２４は、差分ボリューム監視部４２２から再配置指示を受け取った場合、ボリューム管理マップを参照し、コピー対象になっている差分データを、一括転送に適した転送領域４１３Ｂに再配置する。差分データ再配置部４２４はまた、かかる再配置の情報に基づいて、ボリューム管理マップに書き込み、これを更新する。
【００３１】
図４は、本発明の一実施形態に係るストレージ装置における差分データ再配置部４２４によるデータ再配置を概念的に説明するためのである。
【００３２】
即ち、同図に示すように、Ｉ／Ｏ制御部４２１の制御の下、差分ボリューム４１３の蓄積領域４１３Ａには、差分データ１〜４が分散配置されている。差分データ再配置は、ある仮想ボリューム４１１に対するデータ再配置の指示を受け付けると、当該仮想ボリューム４１１における差分データを転送領域４１３Ｂにコピーした後、蓄積領域４１３Ａの差分データを削除する。同図は、差分データ（１）及び（４）が転送領域４１３Ｂに書き込まれた様子を示している。
【００３３】
コピー対象設定部４２５は、ホスト計算機３からのコピー対象指定／解除の指示を受け付けた場合に、ボリューム管理マップ４２３のコピー対象フラグ４２３６を更新する。具体的には、コピー対象設定部４２５は、コピー対象として指定された仮想ボリューム４１１についての差分データのコピー対象フラグ４２３６をＯＮにし、解除指定された仮想ボリューム４１１についての差分データのコピー対象フラグ４２３６をＯＦＦにする。
【００３４】
コピー実行部４２６は、ホスト計算機３からのコピー実行指示を受け付けた場合に、ボリューム管理マップ４２３を参照し、コピー対象フラグ４２３６がＯＮになっている仮想ボリューム４１１についての差分ボリューム４１３の転送領域４１３Ｂに再配置された一連の差分データをバックアップストレージ装置４Ｂに一括転送する処理を行う。
【００３５】
図５は、本発明の一実施形態に係るストレージ装置におけるＩ／Ｏ制御部４２１の処理を説明するためのフローチャートである。
【００３６】
同図に示すように、Ｉ／Ｏ制御部４２１は、ホスト計算機３からＩ／Ｏアクセス要求を受け付けると、まず、Ｉ／Ｏアクセス要求の種別（即ち、ライト要求又はリード要求）を判別する（ＳＴＥＰ５０１）。Ｉ／Ｏ制御部４２１は、Ｉ／Ｏアクセス要求がリード要求であると判断する場合、ボリューム管理マップ４２３を参照して（ＳＴＥＰ５０２）、リード要求が指定するデータの格納場所を判断する（ＳＴＥＰ５０３）。
【００３７】
Ｉ／Ｏ制御部４２１は、リード要求が指定するデータがマスタボリューム４１２に格納されていると判断すると、リード要求が指定するマスタボリューム４１２の領域からデータを読み出して（ＳＴＥＰ５０４）、当該読み出したデータをホスト計算機３に送出する（ＳＴＥＰ５０６）。
【００３８】
これに対して、リード要求が指定するデータが差分ボリューム４１３に格納されていると判断すると、Ｉ／Ｏ制御部４２１は、ボリューム管理マップ４２３に登録された該当する差分データについての差分ボリューム４１３における先頭アドレス及び終端アドレスに基づいて、差分ボリューム４１３から差分データをリード要求されたデータとして読み出して（ＳＴＥＰ５０５）、当該読み出したデータをホスト計算機３に送出する（ＳＴＥＰ５０６）。
【００３９】
ＳＴＥＰ５０１においてＩ／Ｏアクセス要求がライト要求であると判断される場合、Ｉ／Ｏ制御部４２１は、当該ライト要求に基づいてマスタボリューム４１２を参照し、当該ライト要求に従う書き込みデータとマスタボリューム４１２に格納されたデータと基づいて差分データを算出するとともに（ＳＴＥＰ５０７）、ボリューム管理マップ４２３を参照する（ＳＴＥＰ５０８）。算出した差分データは、書き込みデータとマスタボリューム４１２に格納されたデータとに差分がなかった場合には、Ｎｕｌｌとなる。
【００４０】
続いて、Ｉ／Ｏ制御部４２１は、マスタボリューム４１２の書き込み先に差分データがあるか否かを判断する（ＳＴＥＰ５０９）。Ｉ／Ｏ制御部４２１は、書き込み先に算出した差分データがないと判断する場合（ＳＴＥＰ５０９のＮｏ）、当該差分データについて、ボリューム管理マップ４２３に新たなエントリを追加（登録）する（ＳＴＥＰ５１０）。そして、Ｉ／Ｏ制御部４２１は、ボリューム管理マップ４２３の内容に従って、差分ボリューム４１３の蓄積領域４１３Ａにおける所定の格納場所に当該差分データを書き込む（ＳＴＥＰ５１２）。
【００４１】
これに対して、算出した差分データに差分があると判断する場合（ＳＴＥＰ５０９のＮｏ）、Ｉ／Ｏ制御部４２１は、ボリューム管理マップ４２３に既に登録されているエントリを当該差分データに基づいて更新する（ＳＴＥＰ５１０）。そして、Ｉ／Ｏ制御部４２１は、ボリューム管理マップ４２３の内容に従って、差分ボリューム４１３の蓄積領域４１３Ａにおける所定の格納場所に当該差分データを書き込む（ＳＴＥＰ５１２）。
【００４２】
図６は、本発明の一実施形態に係るストレージ装置における差分データ再配置部４２４の処理を説明するためのフローチャートである。差分データ再配置部４２４は、差分ボリューム監視部４２２又はコピー実行部４２６のいずれかからデータ再配置指示を受け付けることにより、以下の処理を実行する。
【００４３】
即ち、同図に示すように、差分データ再配置部４２４は、差分ボリューム監視部４２２又はコピー実行部４２６からデータ再配置指示を受け付けると、ボリューム管理マップ４２３を参照し（ＳＴＥＰ６０１）、データの再配置が必要であるか否かを判断する（ＳＴＥＰ６０２）。データの再配置が必要であるか否かは、コピー対象フラグ４２３６がＯＮになっている差分データが転送領域４１３Ｂに連続的に格納されているか否かにより判断される。つまり、ボリューム管理マップ４２３において、差分データの格納先アドレスが、連続的に設定されていれば、転送領域４１３Ｂに連続的に格納されているものと判断される。
【００４４】
差分データ再配置部４２４は、データの再配置が必要であると判断する場合（ＳＴＥＰ６０２のＹｅｓ）、差分ボリューム４１３の蓄積領域４１３Ａに格納された差分データを転送領域４１３Ｂに連続的に格納されるようにコピーする（ＳＴＥＰ６０３）。続いて、差分データ再配置部４２４は、蓄積領域４１３Ａに格納された差分データを消去（無効化）する（ＳＴＥＰ６０４）。そして、差分データ再配置部４２４は、ボリューム管理マップ４２３における該当エントリを更新する（ＳＴＥＰ６０５）。
【００４５】
図７は、本発明の一実施形態に係るストレージ装置におけるコピー対象設定部４２５の処理を説明するためのフローチャートである。コピー対象設定部４２５は、ホスト計算機３からコピー対象指定指示を受け付けることにより、以下の処理を実行する。
【００４６】
即ち、同図に示すように、コピー対象設定部４２５は、ホスト計算機３からコピー対象指定指示を受け付けると、ボリューム管理マップ４２３を参照し（ＳＴＥＰ７０１）、当該コピー対象指定指示が指定する仮想ボリューム４１１について、コピー対象フラグ４２３６がＯＦＦであるか否かをチェックする（ＳＴＥＰ７０２）。コピー対象設定部４２５は、コピー対象フラグ４２３６がＯＦＦであると判断すると（ＳＴＥＰ７０２のＹｅｓ）、ボリューム管理マップ４２３における該当するエントリのコピー対象フラグ４２３６をＯＮに書き換える（ＳＴＥＰ７０３）。
【００４７】
なお、ここでは図示していないが、コピー対象設定部４２５は、ホスト計算機３からコピー対象解除指示を受け付けた場合には、当該コピー対象解除指示が指定する仮想ボリューム４１１についての該当するエントリのコピー対象フラグ４２３６をＯＦＦに書き換える。
【００４８】
図８は、本発明の一実施形態に係るストレージ装置におけるコピー実行部４２６の処理を説明するためのフローチャートである。コピー実行部４２６は、ホスト計算機３からコピー実行指示を受け付けることにより、以下の処理を実行する。
【００４９】
即ち、同図に示すように、ピー実行部は、ホスト計算機３からコピー実行指示を受け付けると、ボリューム管理マップ４２３を参照し（ＳＴＥＰ８０１）、コピー実行指示が指定する差分データが転送領域４１３Ｂに連続的に格納されているか否かを判断する（ＳＴＥＰ８０２）。コピー実行部４２６は、当該差分データが転送領域４１３Ｂに連続的に格納されていないと判断する場合には（ＳＴＥＰ８０２のＮｏ）、差分データ配置部にデータの再配置を指示する（ＳＴＥＰ８０３）。これを受けた差分データ配置部は、図６に示した処理を行うことになる。
【００５０】
これに対して、コピー実行部４２６は、当該差分データが転送領域４１３Ｂに連続的に格納されていると判断する場合には（ＳＴＥＰ８０２のＹｅｓ）、転送領域４１３Ｂに格納されている差分データをバックアップストレージ装置４Ｂに一括に転送する（ＳＴＥＰ８０３）。これを受けて、バックアップストレージ装置４Ｂは、転送されてくる差分データを所定のボリュームの領域に格納する。
【００５１】
以上のように、本実施形態によれば、プライマリストレージ装置４Ａ内に構成された論理ボリューム毎の差分バックアップをすることができるようになる。特に、複数のＯＳが実行される仮想化環境においてＯＳ毎に論理ボリュームが割り当てられた場合であっても、特定の論理ボリュームを選択して、差分バックアップをすることができるようになる。従って、選択された論理ボリュームに対する差分データのみがバックアップされることになり、バックアップ時のデータ転送量を低く抑えることができるようになる。
【００５２】
また、本実施形態によれば、差分ボリューム４１３の蓄積領域４１３Ａにデータ容量の閾値を設け、蓄積された差分データの容量が当該閾値を超える場合に、当該差分データを転送領域４１３Ｂに連続的に格納されるように移動しているので、差分ボリューム４１３の領域を拡張することなく、効率的に利用することができるようになる。
【００５３】
なお、上述したストレージ装置及びこれを用いたデータ転送方法は、通常のバックアップ運用の他に、同様のストレージシステムを別に導入する際にも用いることができる。即ち、ストレージシステムを別に導入する際には、参照するプライマリストレージ装置４Ａのマスタボリューム４１２全体をプライマリストレージ装置４Ａに位置づけられる別のストレージ装置にコピーし、仮想ボリューム４１１等の設定環境を上述した方法に従ってコピーすることにより、システム環境の構築時間を短縮することができるようになる。
【００５４】
また例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限定されない。
【００５５】
（付記１）
複数のホスト計算機に対してそれぞれ割り当てられた複数の仮想ボリュームと、
前記複数の仮想ボリュームに対するＩ／Ｏアクセスに従うデータを記憶するマスタボリュームと、
蓄積領域及び転送領域を有し、前記Ｉ／Ｏアクセスに基づく前記マスタボリュームに記憶されたデータに対する差分データを記憶する差分ボリュームと、
前記複数の仮想ボリューム、前記マスタボリューム、及び前記差分ボリュームを相互に関連付け、前記複数の仮想ボリュームのそれぞれについてコピー対象とするか否かを示すフラグを含むボリューム管理マップと、
前記ホスト計算機のいずれかから与えられる対応する仮想ボリュームに対するＩ／Ｏアクセスに応答して、前記マスタボリュームに対するＩ／Ｏアクセスを制御するＩ／Ｏ制御部と、
前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたか否かを判断する差分ボリューム監視部と、
前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたと判断される場合に前記差分ボリューム監視部から与えられるデータ再配置指示に従い、前記差分ボリュームの蓄積領域に記憶された差分データが連続的に配置されるように、当該差分データを転送領域に移動する差分データ配置部と、
前記差分ボリュームの転送領域に記憶された差分データが外部のストレージ装置にバックアップされるようにコピー制御を行うコピー実行部と、
を備えることを特徴とするストレージ装置。
【００５６】
（付記２）
前記Ｉ／Ｏ制御部は、前記対応する仮想ボリュームに対するＩ／Ｏアクセスに基づいて、当該Ｉ／Ｏアクセスに従うデータと前記マスタボリュームに記憶されたデータとの差分データを算出する、
ことを特徴とする付記１に記載のストレージ装置。
（付記３）
【００５７】
前記ストレージ装置は、前記複数のホスト計算機のいずれかからコピー対象指示を受け付け、前記ボリューム管理マップにおける当該コピー対象指示が指定する仮想ボリュームについてのフラグをコピー対象に設定するコピー対象設定部を備える、
ことを特徴とする付記２に記載のストレージ装置。
【００５８】
（付記４）
前記コピー実行部は、前記複数のホスト計算機のいずれかからコピー実行指示を受け付け、前記コピー制御を行う、
ことを特徴とする付記３に記載のストレージ装置。
【００５９】
(付記５）
前記コピー実行部は、前記ボリューム管理マップを参照し、前記コピー実行指示が指定する仮想ボリュームについての差分データが前記差分ボリュームの転送領域に記憶されていないと判断する場合に、前記差分データが転送領域に記憶されるように、前記差分データ再配置部に指示し、
前記差分データ再配置部は、前記差分データ再配置部からの指示に基づいて、前記コピー実行指示が指定する仮想ボリュームについての差分データを転送領域に移動する、
ことを特徴とする付記４に記載のストレージ装置。
【００６０】
（付記６）
複数のホスト計算機に対してそれぞれ割り当てられた複数の仮想ボリューム及び前記複数の仮想ボリュームに対するＩ／Ｏアクセスに従うデータを記憶するマスタボリュームと、蓄積領域及び転送領域を有し、前記Ｉ／Ｏアクセスに基づく前記マスタボリュームに記憶されたデータに対する差分データを記憶する差分ボリュームと、前記複数のホスト計算機のいずれかから与えられる対応する仮想ボリュームに対するＩ／Ｏアクセスに基づいて前記マスタボリュームに対するＩ／Ｏアクセスを制御するコントローラとを備えたストレージ装置におけるデータ転送方法であって、
前記コントローラが、
前記複数の仮想ボリューム、前記マスタボリューム、及び前記差分ボリュームを相互に関連付け、前記複数の仮想ボリュームのそれぞれについてコピー対象とするか否かを示すフラグを含むボリューム管理マップを備えるステップと、
前記ホスト計算機のいずれかから与えられる対応する仮想ボリュームに対するＩ／Ｏアクセスに応答して、当該Ｉ／Ｏアクセスに従うデータと前記マスタボリュームに記憶されたデータとの差分データを算出するステップと、
前記算出した差分データに基づいて、前記ボリューム管理マップを更新するステップと、
前記算出したデータを前記差分ボリュームの蓄積領域に記憶するステップと、
前記差分ボリュームの蓄積領域における前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたか否かを判断するステップと、
前記差分データの容量が前記差分ボリュームに対して与えられた所定の閾値を超えたと判断される場合に、前記差分ボリューム監視部から与えられるデータ再配置指示に従い、前記差分ボリュームの蓄積領域に記憶された差分データが連続的に配置されるように、当該差分データを転送領域に移動するステップと、
前記差分ボリュームの転送領域に記憶された差分データが外部のストレージ装置にバックアップされるようにコピー制御を行うステップと、を実行する
ことを特徴とするストレージ装置におけるデータ転送方法。
【産業上の利用可能性】
【００６１】
本発明は、ホスト計算機３にデータストレージサービスを提供するストレージ装置に広く適用することができる。
【符号の説明】
【００６２】
１…コンピュータシステム
２…ネットワーク
３…ホスト計算機
４０…ストレージシステム
４Ａ…プライマリストレージ装置
４Ｂ…バックアップストレージ装置
４１…ストレージデバイス
４２…コントローラ
４Ｂ…バックアップストレージ装置
４１１…仮想ボリューム
４１２…マスタボリューム
４１３…差分ボリューム
４１４…データボリューム
４２１…Ｉ／Ｏ制御部
４２２…差分ボリューム監視部
４２３…ボリューム管理マップ
４２４…差分データ再配置部
４２５…コピー対象設定部
４２６…コピー実行部
【図１】
0005435234.tif 000002
【図２】
0005435234.tif 000003
【図３】
0005435234.tif 000004
【図４】
0005435234.tif 000005
【図５】
0005435234.tif 000006
【図６】
0005435234.tif 000007
【図７】
0005435234.tif 000008
【図８】
0005435234.tif 000009