(57)【要約】【課題】  ファイル単位スナップショットの制御を行うストレージ機器用スイッチにおいて、データ退避によるホストの書込み遅延を発生させないこと。さらに、スナップショット作成時にスイッチ上のメモリ使用量を節約すること。【解決手段】  ファイルのスナップショットを行うための機能を、ストレージ機器用スイッチに内蔵したものを使用し、データ退避のための遅延が発生しないように、ソースボリューム内にスナップショット対象となるソースデータのミラーを常に、または設定した条件に従って同期し、保持する。そして、スナップショット作成時にはミラーデータを使用してスナップショットを作成する。ソースボリューム内に作成するミラーデータを連続的な位置に作成することにより、ソース側とスナップショット側のデータ位置の対応関係を単純化する。【選択図】  図１
2005202915.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータとバックアップ取得機能を備えたストレージ機器とに接続されたストレージ機器用スイッチは、
スナップショット対象であるソースデータの内容をミラーリングしたミラーデータをソースボリューム内に作成する手段、
前記ホストコンピュータからのアクセス要求に応じて更新された前記ソースデータの内容を前記ミラーデータに同期する手段、及び
管理コンピュータからのスナップショット作成命令に応じて、前記ミラーデータの内容をスナップショットボリュームにコピーする手段を有することを特徴とするストレージ機器用スイッチ。
【請求項２】
ホストコンピュータとストレージ機器とに接続されたスナップショット取得機能を備えたストレージ機器用スイッチにおけるスナップショット取得方法は、
予めソースボリューム内にスナップショット対象であるソースデータのミラーデータを作成しておき、
前記ミラーデータは前記ソースボリューム内のスナップショット対象のデータと同期しておき、
管理コンピュータからのスナップショット作成命令が発行された後は、前記ソースボリューム内のミラーデータの同期を停止し、前記ソースボリューム内のミラーデータの内容をスナップショットボリューム内へコピーし、
前記ソースボリューム内のソースデータに対して書込み要求が発生した時は、前記ソースボリューム内のソースデータにデータを上書きし、
前記スナップショットボリュームへのコピーが終了した後に、上書きされたソースデータをミラーデータに同期することを特徴とするスナップショット取得方法。
【請求項３】
前記スナップショットボリューム内のスナップショットに対してデータの読出し要求が発生した時、スナップショット対象のデータが前記スナップショット作成命令によって前記スナップショットボリューム内にコピー済みであれば、前記スナップショットボリューム内のデータを読み出し、コピー済みでなければ、データの読み出し先を切り替えて、前記ソースボリューム内のミラーデータを読み出し、さらに同じデータを前記スナップショットボリュームに書込むことを特徴とする請求項２記載のスナップショット取得方法。
【請求項４】
前記ソースボリューム内で格納領域が分散されて格納されているファイルのミラーを作成する際に、前記ソースボリューム内に作成するミラーを格納領域が連続的なデータブロックとなるように構成し、前記ソースボリュームにおける連続的なデータブロックのデータ開始位置、コピー先である前記スナップショットボリューム内のデータ開始位置、データ長の情報をコピー対応テーブルに記録することを特徴とする請求項２記載のスナップショット取得方法。
【請求項５】
前記ソースボリューム内にスナップショット対象ファイルが複数ある場合、前記複数のファイルが連続的な領域に格納されるように連続的なデータブロックを構成することを特徴とする請求項４記載のスナップショット取得方法。
【請求項６】
ホストコンピュータとストレージ機器とに接続されたスナップショット取得機能を備えたストレージ機器用スイッチにおけるスナップショット取得方法を実行するためのプログラムを記憶した、計算機で読み取り可能な記憶媒体であって、前記方法は、
予めソースボリューム内にスナップショット対象であるソースデータのミラーデータを作成しておき、
前記ミラーデータは前記ソースボリューム内のスナップショット対象のデータと同期しておき、
管理コンピュータからのスナップショット作成命令が発行された後は前記ソースボリューム内のミラーデータの同期を停止し、前記ソースボリューム内のミラーデータの内容をスナップショットボリューム内へコピーし、
前記ソースボリューム内のソースデータに対して書込み要求が発生した時は、前記ソースボリューム内のソースデータにデータを上書きし、
前記スナップショットボリュームへのコピーが終了した後に、上書きされたソースデータをミラーデータに同期することを特徴とする記憶媒体。
【請求項７】
ホストコンピュータとバックアップ取得機能を備えたストレージ機器とに接続されたストレージ機器用スイッチは、
スナップショット対象ファイルの内容をコピーしたミラーファイルをソースボリューム内に作成する手段、
前記ホストコンピュータからのアクセス要求に応じて更新された前記スナップショット対象ファイルの内容を前記ミラーファイルにコピーする手段、及び
管理計算機からのスナップショット命令に応じて、前記ミラーファイルの内容をスナップショットボリュームにコピーする手段を有することを特徴とするストレージ機器用スイッチ。
【請求項８】
ホストコンピュータとバックアップ取得機能を備えたストレージ機器とに接続されたストレージ機器用スイッチにおけるスナップショット取得方法は、
予めソースボリューム内にデータの書込み対象のファイルのミラーファイルを作成し、
前記ソースボリューム内の元のファイルに対するデータの書込み要求が発生した時、前記ソースボリューム内の元のファイルにデータを書込み、
管理計算機からのスナップショット取得命令により、前記ソースボリューム内のミラーファイルの内容をスナップショットボリューム内のファイルにコピーし、
元のファイルに書込まれたデータを前記ソースボリューム内のミラーファイルに書込むことを特徴とするスナップショット取得方法。
【請求項９】
前記スナップショットボリューム内のファイルに対してデータの読み出し要求が発生した時、前記スナップショットボリューム内のファイルのデータが前記スナップショット取得命令によってコピー済みであれば、前記スナップショットボリューム内のファイルのデータを読み出し、コピー済みでなければ、データの読み出し先を切り替えて、前記ソースボリューム内のミラーファイルのデータを読み出すことを特徴とする請求項８記載のスナップショット取得方法。
【請求項１０】
前記ソースボリューム内で格納領域が分散されて格納されているファイルデータのミラーファイルを作成する際に、前記ソースボリューム内に作成するミラーファイルを連続的なデータブロックとなるように構成し、ソースボリュームとスナップショットボリュームにおけるそれぞれのデータブロックのデータ位置とデータ長の情報をスナップショット対応テーブルに記録することを特徴とする請求項８記載のスナップショット取得方法。
【請求項１１】
前記ホストコンピュータで実行されるアプリケーションプログラムが、複数のファイルを使用している場合、前記複数のファイルが連続的な領域に格納されるように前記データブロックを構成することを特徴とする請求項１０記載のスナップショット取得方法。
【請求項１２】
ホストコンピュータとバックアップ取得機能を備えたストレージ機器とに接続されたストレージ機器用スイッチにおけるスナップショット取得方法を実行するためのプログラムを格納した、計算機で読み取り可能な記憶媒体であって、前記方法は、
予めソースボリューム内にデータの書込み対象のファイルのミラーファイルを作成し、
前記ソースボリューム内の元のファイルに対するデータの書込み要求が発生した時、前記ソースボリューム内の元のファイルにデータを書込み、
管理計算機からのスナップショット取得命令により、前記ソースボリューム内のミラーファイルの内容をスナップショットボリューム内のファイルにコピーし、
元のファイルに書込まれたデータを前記ソースボリューム内のミラーファイルに書込むことを特徴とする記憶媒体。
【請求項１３】
ホストコンピュータとバックアップ取得機能を備えたストレージ機器とに接続された処理装置は、
スナップショット対象ファイルの内容をコピーしたミラーファイルをソースボリューム内の連続した格納領域に作成する手段、
前記ホストコンピュータからのアクセス要求に応じて更新された前記スナップショット対象ファイルの内容を前記ミラーファイルにコピーする手段、及び
管理計算機からのスナップショット命令に応じて、前記ミラーファイルの内容をスナップショットボリュームにコピーする手段を有することを特徴とする処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置上のデータをスナップショットを利用してバックアップする方法に関し、特に指定したデータのスナップショットを作成するのに適した、スナップショット制御を行うストレージ機器用スイッチおよび方法に関する。
【背景技術】
【０００２】
従来、スナップショットを作成するものに、ミラーリングをしていたディスクの一つを切り離すスプリットミラー方式や、更新されるファイルの差分をコピーするコピーオンライト方式などがある。コピーオンライト方式では、その命令が発行された時点では完全な実体のコピーを作成せずに、仮想的にコピーが作成されたように見せる。この仮想的なコピーにアクセスすると、コピー元のソースデータが参照されるため、スナップショットを取得するホストからは一瞬でコピーがとれたように見える。ホストからソースデータへの変更書込み要求があった場合は、その変更書込みを一時停止しておき、書込みが行われようとしている部分に対するスナップショット作成命令の発行時点でのデータをスナップショットボリュームに退避コピーして、コピーが終了した後に初めて変更書込みをソースデータに対して反映する。このため、ホストがソースデータへの書込みを行う際に、まだ退避コピーが完了していないデータへの書込みには遅延が発生する。
【０００３】
スナップショットの取得手法としては、特開平１１-１２００５５号公報に記載のようにスナップショットを効率的に取得するコンピュータシステムが提案されている（特許文献１参照）。また、従来のコピーオンライト方式によるスナップショット取得法の例は、「ＶＥＲＩＴＡＳ Ｄａｔａ Ａｖａｉｌａｂｉｌｉｔｙ Ｓｏｌｕｔｉｏｎ」（ｈｔｔｐ：／／ｅｖａｌ．ｖｅｒｉｔａｓ．ｃｏｍ／ｊｐ／ｐｒｏｄｕｃｔｓ／ｗｐ＿ｅｂｕｓｉｎｅｓｓ＿０１０８２３．ｐｄｆ）に示されている。
【０００４】
従来のスナップショットを作成する操作の説明として、コピーオンライトを利用した例を図２に示す。図２は、ソースデータに書込みが行われない限りスナップショットボリュームにコピーを行わない、受動コピー型のコピーオンライトの操作を説明している。一般的にコピーオンライト方式は、この方式で行われる。
【０００５】
コピーオンライト方式では、ソースボリューム１０２内にあるスナップショット取得対象のソースデータ１１０が、スナップショットボリューム１０３の中の仮想的なデータ位置にスナップショットデータ１１２としてコピーされたかのように、スイッチ２０１が読み込みデータ位置を変更する。例えばスナップショット参照用ホスト１０５が、スナップショットデータのある部分を読込み（２０６）しようとした場合は、スナップショットボリュームへのコピーが完了していないので、実際はソースボリュームからの読込み（２０７）をさせる。もし、ホスト１０４により、ソースデータ１１０に対してデータの書込み要求２０３が行われたら、書込みは一時停止させておいて、スナップショットボリュームにデータを退避させる（２０４）。データ退避が完了したら、停止しておいたデータの書込み２０５を実行する。この際、コピー完了テーブル２０２に、「コピー完了」を示す「１」をマークする。スナップショット参照用ホスト１０５が、このようなコピー完了部分の読込み（２０８）を実行しようとしたときには、スナップショットボリュームからの読込み（２０９）をさせる。これらの操作により、元のファイルが更新されてもスナップ側をアクセスすれば、スナップショット命令時点のデータにアクセスできるが、書込みを一時停止するために、ホストの書込みには遅延が発生した。
【０００６】
【特許文献１】特開平１１-１２００５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のコピーオンライト方式のスナップショットでは、スナップショット対象データを更新する際、スナップショット対象データの更新をする前にデータをスナップショット用の記憶装置に退避コピーしてからデータを更新する必要があった。その際、特に、ソースボリュームからスナップショットボリュームへのデータ転送速度が遅いときは、データの退避に時間がかかるため、ソースボリュームのソースデータへの書込みには遅延が発生した。
【０００８】
また、従来のデータのブロック単位でスナップショットを取得する方法では、ファイル単位でスナップショットを取得する際に、複数のブロックの対応関係を保持する必要があった。通常、ファイルのデータはボリューム内に分散して記録されている。このため、ファイルシステムを意識せずにブロック単位でスナップショットを取得するサーバやスイッチがファイル単位のスナップショットを実行するためには、その分散したファイルデータの位置それぞれについてスナップショットを取得する必要があった。このため、ブロック単位のスナップショット取得方法によるファイル単位のスナップショット取得には複数のブロックの対応関係を保持するためのメモリ量が必要であった。また、分散して格納されているデータ毎にスナップショット取得を行う必要があった。
【０００９】
本発明の目的は、データ退避によるソースデータ更新の遅延が発生しないように、スナップショットを取得することである。さらに、ファイル単位でのスナップショットを作成する場合に、ソース側のデータとスナップショット側のデータの対応関係を単純化して、メモリの使用量を節約することである。
【課題を解決するための手段】
【００１０】
本発明は、スナップショットを行う機能をストレージ機器用スイッチにハードウェアおよびソフトウェアとして内蔵させ、外部管理サーバのソフトウェアと連携することで、ストレージ機器用スイッチによるスナップショット取得方法に関するものである。その際、データ退避によるソースデータ更新の遅延が発生しないようにするために、ソースボリューム内、またはコピーが高速に行える他のボリューム内にスナップショット対象ファイルのミラーを常に、または設定した条件に従って同期して保持する。即ち、本発明では、予めソースボリューム内にスナップショット対象のソースデータのミラーを作成しておき、ミラーデータは常に、あるいは設定した条件に従ってソースデータに同期させる。
【００１１】
ここで、スナップショット処理を管理している外部管理サーバがスナップショット作成命令を発行したとする。この命令が発行された後は、スナップショットボリュームへのコピーが完了するまで、ソースボリューム内のミラーデータの同期処理を停止する。スナップショット作成命令を契機として、ソースボリューム内のミラーデータの、スナップショットボリュームへのコピーを開始する。ホストからソースボリューム内にあるスナップショット対象のソースデータに書込み要求が発生した場合、スナップショットボリュームへのコピーが完了していなくても、スナップショット取得命令時点でのデータはミラーファイルとして残っているため、ソースボリューム内のソースデータに、遅延せずに書込むことができる。このように、ソースボリューム側においてはデータの整合性が保たれる。
【００１２】
一方、スナップショット側で、スナップショットボリュームを読み出す要求が発生した場合、ミラーデータのスナップショットボリュームへのコピーが完了していた場合には、スナップショットボリューム内にコピーされたデータをそのまま読むことができる。スナップショットボリュームへのコピーが完了していなかった場合には、スイッチが読み取り先をソースボリュームに切り替え、ミラーデータを読み出すことで、スナップショットボリューム側にデータがあるかのように見せることができる。そして、この読み出したデータは、スナップショットボリュームへも書込む。そして、ミラーファイルをスナップショットボリュームへ全てコピーし終わった後に、ソースデータをミラーデータに同期する作業を再開する。
【００１３】
一般的にデータが分散して格納されているファイルであっても、ファイルのデータが格納されているデータブロックと、ファイルを管理する領域それぞれについてスナップショットを取得することで、スナップショットの作成は可能である。データブロックとは、ファイルシステムにおけるファイル管理用の領域ではなく、ファイルのデータそのものが格納される、一定長のデータ領域のことである。ソースボリューム上のミラーファイルのデータ位置とスナップショットボリューム上のスナップショットファイルのデータ位置の対応関係は、コピー対応テーブルとしてスイッチ上で保持する必要がある。
【００１４】
本発明では、ソースファイルのミラーを作成する際に、ソースボリューム内に作成するミラーファイルを連続的なデータブロックとなるように構成することで、ミラーファイル側とスナップショットファイル側のデータブロック開始位置の対応関係を保持し、スイッチ上のメモリ使用量を減らすことができる。この際、ファイル管理用領域についても、ソース側のデータ位置とスナップショット側の対応関係をコピー対応テーブルに保持する。本発明の対応テーブルでは、ソースボリュームとスナップショットボリュームにおけるそれぞれのデータブロックのデータ開始位置と、そのデータ長の情報を記録するので、ソースボリュームとスナップショットボリュームの対応関係が単純化される。これにより、スイッチ上で使用するメモリ量を節約することができる。
【発明の効果】
【００１５】
以上に詳述したように、本発明によれば、スナップショット取得時の、ホストによるファイル更新に伴なう遅延が発生しない。
【００１６】
また、本発明によれば、コピー元のデータ位置とコピー先のデータ位置の対応関係を保持するためのコピー対応テーブルに使用するメモリの使用量を節約できる。
【発明を実施するための最良の形態】
【００１７】
本発明の一実施例を以下の図面を用いて詳細に説明する。図１は、装置構成の一実施形態の図である。ユーザのファイルが格納された記憶装置（ソースボリューム）１０２、スナップショットデータを保持する記憶装置（スナップショットボリューム）１０３、ユーザファイルの読み取り、書込み、変更などのユーザからの要求に応じた操作を行うホストコンピュータ１０４、スナップショットファイルの指定やソースボリューム内のファイルミラーリングなど、ファイル操作を行うための専用ソフトウェアを動作させる外部管理サーバ１０８、スナップショットの取得を行う仕組みを備えたスイッチ１０１ａ、ストレージネットワーク１０９により接続された同様のスイッチ１０１ｂ、及びこのスイッチ１０１ｂに接続されたスナップショット参照用ホストコンピュータ１０５で構成されている。
【００１８】
外部管理サーバ１０８はファイルシステムを操作できるソフトウェアを搭載し、スナップショットを取得する対象ファイルの管理など、ファイルへのアクセスが必要となる操作を行う。
【００１９】
これらの装置は全てスナップショット制御機能を持つスイッチ１０１ａまたは１０１ｂに接続されている。接続に使用するインタフェースとしては、ファイバ・チャネル、ＳＣＳＩ、ＩＰを使用するイーサネット（イーサネットは登録商標です）などが利用できる。
【００２０】
スイッチ１０１ａは、スイッチング部１０７ａと、スナップショット制御部１０６ａで構成されている。スナップショット制御部１０６ａは、スナップ制御機能を持ち、データの読込み又は書込みの対象となるデータの格納位置に応じてスイッチの動作を切り替えることにより、スナップショットを取得するための制御を行う。同様に、スイッチ１０１ｂは、スイッチング部１０７ｂと、スナップショット制御部１０６ｂで構成されている。スイッチング部１０７ａ、１０７ｂは、インタフェースによる接続を切り替える、通常のストレージ機器用スイッチとしての動作を行う部分である。ソースボリューム１０２内にはスナップショット取得対象のソースデータ１１０がある。本発明では、外部管理サーバ１０８が、ソースデータ１１０についてミラーリング１１３を実施し、ユーザがアクセスできない領域にミラーデータ１１１を作成する。そして、スイッチ１０１ａは、ミラーデータ１１１についてコピー１１４を実施し、スナップショットボリューム１０３内にスナップショット対象データのコピー、つまりスナップショットデータ１１２を作成するものとする。
【００２１】
従来、スナップショット制御は、スナップショット取得用サーバが行うものが一般的だが、ストレージ装置内や、ストレージ機器用スイッチ内で行うこともできる。スナップショット制御機能をスイッチ内に組み込むことで、サーバの機種に依存せず効率的にスナップショットを取得できるため、本実施例ではスイッチがその機能を持つ。
【００２２】
次に、本実施例における基本動作について説明する。図３に、スナップショット制御機能をもつスイッチの構成を示す。このスイッチ２０１は、スナップショット制御部３０１とスイッチング部３０２を持つ。スナップショット制御部３０１内の要求解釈部３０３は、ホスト１０４からの要求を解釈し、要求元ホストの情報３０６、読み出／書込の区別３０７、ターゲットボリューム３０８、アクセス先ブロックアドレス３０９といった情報を、アクセス要求データテーブル３０５に保持する。スナップショット制御部３０１では、ユーザが設定したスナップショット対象のソースデータの格納位置と、作成するスナップショットデータの格納位置の対応関係を保持するコピー対応テーブル３１０、参照すべきデータがすでにソースボリューム１０２からスナップショットボリューム１０３にコピー済みかどうかという情報を記録するコピー完了マップ３１１も保持している。
【００２３】
スナップショット制御部３０１内の読み出／書込制御部３０４は、アクセス要求データテーブル３０５、コピー対応テーブル３１０、コピー完了マップ３１１の情報を元に、スイッチング部３０２を制御し、実際にアクセスするデータ位置を、ソースボリューム１０２またはスナップショットボリューム１０３の適切な位置に設定することができる。スナップショット制御部３０１は、制御を行うソフトウェアと、それを実行するハードウェアで構成される。スナップショットの制御を他のホストコンピュータで行った場合、その処理を行うホストコンピュータやネットワークの負荷が増すが、代わりにスイッチ上のソフトウェアがスナップショット制御を行うことで、このボトルネックを解消し、ホストやネットワークの負荷を減らすことができる。
【００２４】
図４に、スイッチにより、遠隔地のボリュームへデータをコピーする場合の、基本動作の実現例を示す。ソース側のスイッチ２０１ａには、図３と同様のスナップショット制御部３０１ａとスイッチング部３０２ａが搭載されている。遠隔地のスナップショット側のスイッチ２０１ｂにも同様にスナップショット制御部３０１ｂとスイッチング部３０２ｂがある。ローカルのスイッチも、遠隔地のスイッチもハードウェア及びソフトウェアとして同じ構成のもので対応できる。
【００２５】
ここで、ソースボリューム１０２の中のソースデータ１１０を、コピーボリューム３１５の中にコピーデータ３１４として作成することを考える。ソースデータの開始アドレス、コピーボリューム側のコピーデータ開始アドレス、及びデータ長をスイッチに指示することで、ブロック単位のコピーが可能になる。これらのデータは、コピー対応テーブル３１０に保持しておく。スイッチ１０２ａは、ソースデータ１１０を順次コピーする（３１３）。コピーが完了したデータブロックについては、コピー完了マップ３１１に「コピー完了」を示す「１」をマークする。このコピーは、データ長３１２の分だけデータをコピーしたら完了する。データが格納されている領域が分散している場合でも、コピー対応テーブル３１０のエントリ数を増やして、それぞれの対応関係を保持させることにより、同様にコピー作成が可能である。このようにデータをコピーする場合には、ソース側のスナップショット制御部３０１ａと、遠隔地側のスナップショット制御部３０１ｂの両方でコピー対応テーブル３１０とコピー完了マップ３１１を保持し、常にソース側からスナップショット側に内容の更新処理を同期する必要がある。
【００２６】
図１５は、最終的に全ての対象データをコピーするための能動コピー型のコピーオンライトを説明している。スナップショットは、部分的なコピーではなく、このように完全なコピーで作成すると、バックアップとして使用できる。スナップショットボリューム２１２が遠隔地にある場合は、スイッチはソース側（２０１ａ）とスナップショット側（２０１ｂ）に存在し、専用線やネットワークで接続されている。このとき、コピー完了テーブルはソース側（２０２ａ）とスナップショット側（２０２ｂ）の両方で持ち、同期させる必要がある。図２に示した受動コピー型のコピーオンライトではソース側に書込みが発生しない限りスナップショット側にデータがコピーされなかったが、能動コピー型のコピーオンライトでは、ソース側に書込みが発生しなくても順次データをコピーする操作２１０を実行する。この方式では、コピーが完了していないデータの読込み２１１が発生した場合、ソースボリュームから読込み２０７をさせるだけではなく、スナップショットボリュームへのコピー２１２も行う。
【００２７】
図５に、スイッチにより、能動コピー型のコピーオンライトを実現する基本動作の例を示す。ソース側のスイッチ２０１ａには、図３と同様のスナップショット制御部３０１ａとスイッチング部３０２ａが搭載されている。遠隔地のスナップショット側のスイッチ２０１ｂにも同様にスナップショット制御部３０１ｂとスイッチング部３０２ｂがある。ここで、ソースボリューム１０２に含まれるソースデータ１１０のスナップショットを、スナップショットボリューム１０３の中に作成し、最終的にソースデータのコピーであるスナップショットデータ１１２を作成することを考える。
【００２８】
図４のスイッチによるコピーの場合と同様に、コピー対応テーブル３１０とコピー完了マップ３１１を保持し、順次コピーを行う（３１８）。コピー完了マップ３１１には、コピー済みのブロック位置を記録し、スイッチ２０１ａとスイッチ２０１ｂの両方でこれを保持する。ここまではコピーと同様であるが、スナップショット参照用ホスト１０５からの読込みが発生した場合にはスナップショット制御部３０１ｂは、コピー完了マップ３１１に記録された値に従い、スイッチング部３０２ｂに読込み位置を変更させる。
【００２９】
例えば、図５において、２番目のブロックを読込みたい（３１９）場合には、コピー完了マップ３１１によるとコピー済みのブロックなので、そのまま読み出す操作を行う。また、６番目のブロックを読込みたい（３２２）場合には、コピー完了マップ３１１によると未コピーのため、ソースボリュームから読み出す操作３２０を行う。ホスト１０４から、ソースデータ１１０に対し、８番目のブロックに書込み要求３１６があった場合には、コピー完了マップによると未コピーのデータのため、このような方法のコピーオンライトでは一旦書込みを停止しておいて、スナップショット側に優先的にコピーする（３１７）、つまりデータの退避を行い、その後でソースデータ１１０のブロックに書込みを実行する。このように、コピー対応テーブル３１０やコピー完了マップ３１１を使用することで、スイッチによるコピーオンライト機能を実現することができる。
【００３０】
次に、本発明の動作の流れについて概要を説明する。図６は、スナップショット対象がブロックであるときのスナップショット取得の処理内容を示した例である。基本的に図５のスイッチによるコピーオンライトと同様の機器構成で実行するが、ソースボリューム１０２内でミラーリング４０２を行うなど、処理の内容が異なる。
【００３１】
まず、ソースボリューム１０２上にユーザのデータがあったとして、これがスナップショット取得対象としてユーザによって登録されたとする。このようなデータをソースデータと呼ぶ。一旦ソースデータ１１０が指定されると、その直後に、外部管理サーバ１０８が、同じ記憶装置であるソースボリューム１０２内にソースデータをミラーリング（４０２）してミラーデータ４０１を作成する。このように、ミラーデータを常に保持し、または設定した条件に従って同期し、保持することで、ホスト１０４から、例えば「３番目のブロックに書込みをする」という要求（４０４）が来たとしても、データを退避することなくデータを書込みできる（４０５）。
【００３２】
一方、スナップショット作成命令が発行されると、ミラーの同期処理を一時停止する。本実施例では能動コピー型のコピーオンライトを採用しているため、スイッチ１０１ａは、ミラーデータ４０１を、スナップショットボリューム１０３に、逐次コピーする（４０３）。コピーを行ったブロックについてはコピー完了マップ３１１ａに記録し、スナップショット側のスイッチ１０１ｂのコピー完了マップ３１１ｂに逐次同期させる。スナップショット参照用ホスト１０５が、例えば、図６において「１番目のブロックを読込む」という要求４０６を出したとき、コピー完了マップ３１１ｂによると、このブロックはコピー済みのため、スナップショットボリュームから読み出し（４０７）を実施する。あるいは、「４番目のブロックを読込む」という要求４０８だった場合には、このブロックはまだコピーが完了していないため、スイッチ１０１ｂは、ソースボリューム１０２のミラーデータ４０１からデータを読み出す（４０９）操作を行い、同時にスナップショットボリュームにもそのデータをコピーする（４１０）操作を行う。
【００３３】
本発明では、前述のようなブロック単位のスナップショットだけではなく、ファイル単位のスナップショット作成も可能である。ここで、ファイルのスナップショットを作成する前段階として、ファイルのミラーリングを行う方法と、その際に使用するデータについて説明する。
【００３４】
まず、ミラーデータを作成するボリュームは、ソースボリュームと同じボリュームか、ソースボリュームから高速にデータ転送できる別のボリュームである必要がある。本実施例では、ミラーデータを作成するボリュームは、図７に示すように物理的にはソースボリューム１０２と同じものであるが、論理的には別のパーティションであるミラーボリューム（論理ボリューム２）５０１であるとする。ミラーボリュームは、ホスト１０４からは直接見ることができないようにする。ソースファイルは、論理ボリューム１（５１０）に格納する。
【００３５】
一方、スイッチ１０１と連携して動作する外部管理サーバ１０８は、ファイルシステムを管理する機能を持つ。外部管理サーバ１０８は、ユーザが指定したスナップショット対象ファイルのリストを保持し、そのファイルのソースボリューム上におけるブロックアドレスと、それに対応するミラーのブロック位置をミラー対応テーブル５０２に保持している。これにより、外部管理サーバ１０８は、ミラーボリューム５０１内の適切な位置にミラーファイルを作成することができる。
【００３６】
また、外部管理サーバ１０８は、ミラー対応テーブル５０２の情報から、ミラー対象マップ５０４をスイッチ１０１上に作成する。ミラー対象マップ５０４は、スナップショット対象ファイルのデータが含まれるブロックの位置を示すためのものである。ミラー対象マップ５０４では、各ブロックに対応してビット格納領域を設け、スナップショット対象ファイルに含まれるブロックに対応したビット格納領域に「１」が設定される。ミラー対象マップ５０４を利用することで、スイッチ１０１によりソースファイルへの書込みを検知できるようになる。
【００３７】
そして、外部管理サーバ１０８は、スイッチにファイル管理情報マップ５０６も作成する。このマップ５０６は、ファイルシステムのうち、当該ブロックがファイルのデータの位置情報を含むデータかどうかを区別するためのものである。ファイル管理情報マップ５０６では、各ブロックに対応してビット格納領域を設け、ファイルのデータの位置情報が含まれるブロックに対応したビット格納領域に「１」が設定される。ファイルのデータの位置情報がアップデートされた場合には、スイッチ１０１は変更されたブロックの位置情報を外部管理サーバ１０８に通知し、外部管理サーバ１０８はミラー対応テーブル５０２をアップデートし、新しいミラーリング対象のデータのミラーを作成する必要がある。
【００３８】
ソースファイルのデータブロックが変更されてミラー同期をとる必要がある場合には、そのデータの位置をミラー完了マップ５０５に記録する。外部管理サーバ１０８によりミラーリングが完了した場合には、ミラーリングが完了した旨をミラー完了マップ５０５に記録する。ミラー完了マップ５０５では、各ブロックに対応してビット格納領域を設け、ミラーが完了したブロックに対応したビット格納領域に「１」を設定する。
【００３９】
ミラー対象マップ５０４、ミラー完了マップ５０５、及びファイル管理情報マップ５０６は、合わせてミラービットマップ５０３と呼ぶことにする。ミラービットマップ５０３は、スイッチ１０１側で、ソースボリューム１０２内でのミラーリングをブロック単位で制御するための情報である。ミラービットマップ５０３のデータは、ファイルの情報そのものが格納されるデータブロック５０８と、ファイルシステムのファイル管理情報を格納するファイル管理ブロック５０７のそれぞれを別々に管理する。
【００４０】
本発明における、外部管理サーバ１０８およびスイッチ１０１上での保持データの例を図８に示す。まず、外部管理サーバ１０８は、ミラー対応テーブル５０２を保持する。ホスト１０４とソースボリューム１０２が接続されているスイッチ１０１ａは、スナップショット制御部１０６ａとスイッチング部１０７ａを持ち、スナップショット制御部１０６ａ内でミラービットマップ５０３、コピー対応テーブル３１０ａ、及びコピー完了マップ３１１ａを保持する。スナップショット参照用ホスト１０５とスナップショットボリューム１０３が接続されているスイッチ１０１ｂは、同様にスナップショット制御部１０６ｂとスイッチング部１０７ｂを持つが、内部で保持するデータはコピー対応テーブル３１０ｂとコピー完了マップ３１１ｂのみである。これらは、ソース側のスイッチ１０１ａ内のコピー対応テーブル３１０ａとコピー完了マップ３１１ａからコピーし（５０９）、ソース側と常に同期しておく。
【００４１】
次に、本発明によるファイルのスナップショット作成の実施例として、データ構成の概略を示す。図９のように、ソースボリューム６０１は、論理ボリューム１（６０４）と論理ボリューム２（６０５）に分けておく。論理ボリューム１（６０４）には、ファイル６０７があるとする。このファイルのデータは、ファイル管理領域６０３ａとデータ領域６１８ａの中に含まれている。ファイル管理領域６０３内の最小のデータ単位をファイル管理ブロック６０７ａとする。同様に、データ領域６１８内の最小のデータ単位をデータブロック６０８とする。
【００４２】
ソースファイルがスナップショット取得対象ファイルとして指定されると、外部管理サーバ１０８は、ソースファイル６０７を論理ボリューム２（６０５）にミラーリング（６１２）し、ミラーファイル６１０を作成する。ミラーリングを行う際は、図９のミラーファイル６１０のように、データを連続した領域に格納する。また、この際には、図７の説明で示したような、ミラー対応テーブル６１４とミラービットマップ６１５を使用する。
【００４３】
図９では、ミラービットマップ６１５の各ブロックには、それぞれのブロックに対応したミラー対象マップ５０４、ミラー完了マップ５０５、ファイル管理情報マップ５０６の３つのビットがまとめられて１つのブロックに表示されている。また、図９では、１つのファイルデータが、データ領域６１８ａ内の１，２，３，１５，２０及び２１番目のデータブロックに分散して格納されていることを示している。ミラーリングは、外部管理サーバが行う。ミラーリングを行うべきかどうかは、スイッチを通してホストから書込みがあったデータ格納位置をスイッチが検出する。これにより、スイッチがミラービットマップ６１５にマークすることができる。スイッチはリアルタイムで、または条件に従ったタイミングでミラー同期を行う。
【００４４】
ここで、外部管理サーバ１０８からスナップショット取得命令が発行されたとする。すると、スイッチは、スナップショットボリューム６０６内にナップショット、すなわちコピーファイル６１１を作成する。本実施例では、スナップショットは能動コピー型コピーオンライトとするため、コピー対応テーブル６１６に従って、ミラーファイル６１０をスナップショットボリューム６０６にコピーする（６１３）。コピーが完了したブロックについては、コピー完了マップ６１７に記録する。
【００４５】
スイッチはコピーオンライトの機能を実装しているため、スナップショットボリューム６０６に対し、未コピーのデータを読込もうとした場合には、ソースボリューム側のミラーファイル６１０から読み出させる。読み出したデータはスナップショットボリューム６０６にも記録し、コピー済みである旨をコピー対応テーブル６１６に登録する。ミラー対応テーブル６１４、ミラービットマップ６１５、コピー対応テーブル６１６、及びコピー完了マップ６１７では、ファイル管理ブロックとデータブロックをそれぞれ別個に扱う。ファイル管理ブロックもスナップショットボリュームに転送するため、スナップショットボリュームは、スナップショット参照用ホストから参照可能なボリュームとなる。それぞれの論理ボリュームにはパーティション管理領域６０２ａがあるが、この情報については特にミラーリング、コピーは行わない。
【００４６】
次に、複数のファイルに対するスナップショット取得処理の効率化について説明する。即ち、ホストコンピュータで実行されるアプリケーションプログラムが、複数のファイルを使用しており、これら複数のファイルに対するスナップショット取得処理の効率化について説明する。
【００４７】
図１０のように、ソースボリューム７０１内の論理ボリューム１（７１７）に含まれるファイルＡ（７０７）、ファイルＢ（７０８）、及びファイルＣ（７０９）のスナップショットを作成する場合を考える。まず、これらの複数のソースファイル７１０は、一般的にファイル管理ブロック７０５、及びデータブロック７０６ともに分散して配置されているが、これに対応するミラーを、論理ボリューム２（７１８）内に作成する。このミラーリング７１３を実施する際、これら複数のソースファイル７１０のミラーは、格納領域が連続的になるように配置（最適化）し、図１０に示すような、データが連続したミラーファイル７１１を作成する。
【００４８】
ミラーデータはファイル管理領域７０３ｂ、及びデータ領域７１６ｂのそれぞれに作成されるため、スナップショットを作成する際には２箇所のデータについて、対応関係をスナップショット対応テーブル７１５に記録すればよい。この結果、スナップショット制御が簡素化され、スイッチ内で保持するメモリの使用量を減らすことができる。スナップショットの作成は、図９で示したのと同様に、連続的に配置されたミラーファイルのデータをスナップショットボリューム７０４内にコピーして（７１４）、複数のスナップショットファイル７１２を作成する。複数ファイルの場合も、パーティション管理領域７０２があるが、この情報については特にミラーリング、及びコピーは行わない。
【００４９】
ここで、一度ファイルＡ、ファイルＢ、及びファイルＣから作成したミラーファイルを作成した後、ファイルＡなどのサイズが増減し、データブロックに隙間ができてフラグメンテーションが発生してしまうこともある。また、スナップショット対象ファイルの指定が一部解除された場合も、データブロック内でデータが連続しなくなる。この場合、スイッチに接続された管理サーバが、これらのコピーされたファイルデータの配置を最適化処理する。すなわち、データブロック内が変更されてデータブロックの配置が分離してしまった場合には、ファイルとしての整合性を保ちながら、分離した隙間を埋めるようにデータの記録される位置を移動させる。このためには、ソースボリュームの空き容量をある程度多く確保しておく必要がある。そして、ミラー対応テーブル６１４に、ファイルのデータ位置を更新した結果を登録する。そのため、外部管理サーバ上のソフトウェアは、ファイルシステムのファイル配置情報を検知し、ボリューム内のデータ格納位置をコントロールする機能が必要である。この作業により、ミラーリングされたデータは常に連続した格納領域として集約される。
【００５０】
本発明の処理は、次のようにまとめることができる。まず、スナップショットを取得する前に、予めソースボリューム７０１内に、スナップショット取得対象となるソースファイル７１０のミラー７１１を連続的な領域に作成しておく。ソースファイルが変更されたときには、その変更内容をミラーに同期させる。ユーザからの要求に従って外部管理サーバがスナップショット命令を発行すると、ミラー同期作業を停止し、スイッチは、ブロック単位のスナップショット取得操作を行う。
【００５１】
この操作の一つは、ミラーのデータをスナップショットボリューム７０４へコピー７１４することである。もう一つは、スナップショットボリューム７０４に対し、未コピーに対するデータの読み出し要求があった場合、ソースボリューム７０１内のミラーファイルからデータの読み出しをさせると共に、読み出したデータをスナップショットボリューム７０４にコピーすることである。これにより、読み出し要求が発生した時点でデータ転送が完了していなくても、スナップショットボリューム７０４からデータを読み出すことで、スナップショットボリュームにソースファイルのデータがすべて存在するかのように扱うことができる。ただし、このようにソースボリュームからの読み出しが発生した場合には、読み出しのための遅延が発生する。
【００５２】
一方、ソース側のホストコンピュータがソースボリューム７０１に対してデータの書込みを行ったとしても、スナップショットに伴う遅延が生ずることなくデータの書込みが行える。スナップショットボリューム７０４へのデータ転送が全て終了したら、スナップショットの取得は完了する。そして、次のスナップショット取得に備えてミラーへの同期を再開する。上記のスナップショット命令は、ユーザからのソースボリューム７０１内の元のファイルへのアクセス要求の発生とは独立に、あるいは連動して発行できる。
【００５３】
これら一連のソフトウェア制御を、図１１のフローに示す。外部管理サーバとスイッチは、それぞれ違ったソフトウェアを動作させ、連携して動作することで、全体としてファイルのスナップショット操作を実現する。
【００５４】
まず、ソフトウェアの動作を開始したときには、初期化フェーズ８０１として、プログラムの各変数、テーブル、マップの初期化、及びミラー用論理ボリューム確保などの処理８０２を行う。
【００５５】
次に、ミラー作成フェーズ８０３として、スナップショット対象ファイルのミラーリングを実施する。初期状態では対象ファイルは登録されていないため、ユーザからの対象ファイル登録指示に従い、スナップショット対象ファイル変更の選択肢８０４においてＹｅｓ側を実行し、スナップショット対象ファイル指定８０５を行う必要がある。この処理は、図１２（ａ）の操作９０１に示すように、まず外部管理サーバがミラー対応テーブル９２２にファイル名を登録することで行う。この際に、外部管理サーバは、ソースファイルが含まれるソースボリュームのファイルシステムから、データブロックのサイズ情報等を読込み、これをビットマップ等を作成する際のパラメータとする。
【００５６】
次に、ミラーの作成処理８０６の説明をする。まず、ホストのＯＳに対し、ディスクへのＩ／Ｏバッファを全てフラッシュさせた上、Ｉ／Ｏを一旦停止させておく。そして、図１２（ｂ）に示すように、外部管理サーバのソフトウェアはそのファイルを、同じソースボリューム内の特定の領域に、連続したデータとなるようにミラーリングし（９０２）、ソースファイルとミラーデータの格納ブロック位置をミラー対応テーブル９２２に記録する（９０３）。次に、ミラー先に作成したファイルについて、ファイルのデータ位置を特定するためのファイルシステム情報が格納されているブロックを探し出し、スイッチ内のファイル管理情報マップ９２３に「１」を記録する（９０４）。ファイルのデータ位置を特定する情報は、一般的にファイル管理ブロックに含まれているが、データブロックにも含まれていることがある。
【００５７】
次に、ミラー対応テーブル９２２の情報から、スイッチのミラー対象マップ９２４に、ミラー対象のブロックについて「１」を記録する（９０６）。次に、スイッチ上のミラー完了マップ（９２５）に対し、ミラーが完了していることを示す「１」を記録する（９０７）。この後、ホストのＩ／Ｏ停止を解除する。最初にミラー対象ファイルの登録を行う際にはホストのＩ／Ｏを一旦停止するため、ホスト側に影響が出ることもあるが、それ以降、ミラー対象ファイルに大幅な変更を加えない限り、ホストに影響するほど長くＩ／Ｏを停止することはない。
【００５８】
次に、スナップショット命令が発行されたときのための準備として、スイッチは、スナップショットボリューム内にスナップショット作成のための領域を確保し、ミラーデータの開始位置とスナップショットデータの開始位置、それぞれのデータ長を記録したコピー対応テーブルを作成し、さらにコピー完了マップのビットを「１」に初期化する（９０８）。
【００５９】
一通りミラーの作成が終了したとしても、その後ユーザのＩ／Ｏによってソースファイルのデータが変更される可能性がある。図１３（ａ）に示すように、データが変更されたかどうかは、ミラー対象マップ９２７により、スイッチが検出できる。まず、ソースファイルのブロック（９２６）に書込みが実行されたとき（９０９）、スイッチはソースデータが変更された（８０７）ことを検出する。そして、ミラーブロック位置情報をアップデートするために以下の処理（８０８）を行う。
【００６０】
まず、ミラー対象マップ（９２７）に設定されているビットが「１」だった場合と「０」だった場合の分岐処理を行う（９１０）。操作９１０でビットが「１」だった場合には、まずミラー完了マップ９０５のビットを「０」にする。そして、ファイル管理情報マップ（９２８）を参照し、「１」だった場合と「０」だった場合の分岐処理を行う（９１１）。操作９１０でビットが「０」だった場合には何もしない。操作９１１でビットが「１」だった場合は、そのブロック位置を外部管理サーバに通知し、外部管理サーバがミラー対応テーブル９２９をアップデートする（９１２）。そして、改めてミラーリングを実行し、変更があった部分についてビットマップを作成しなおして、ミラー完了マップ９３０に対し、「１」を記録する（９１３）。このとき、ミラー対象のブロックの数が増減することがあり、新規のミラー対象ブロックもミラーリングが完了しているので「１」を記録する。操作９１１でビットが「０」だった場合には、何もしない。ただし、ミラー完了マップ９０５が「０」の部分はミラーが実行されていないため、次に説明する処理で外部管理サーバがミラーの同期を行う。
【００６１】
ミラーの同期は、変更が発生したときにリアルタイムで行ってもよいが、例えば、ある時間ごとに同期する方式としてもよい。本実施例では、インターバル時間が経過したら同期する方式とする。インターバル時間が経過した場合の分岐８０９により、ミラー同期処理（８１０）を実行する。図１３（ｂ）に示すように、ミラー完了マップ９３１が「０」の部分に対し、ソースファイルのブロック９３２からミラーファイルのブロック９３３に対してミラーリングを実行する（９１４）。そして、ミラーリングを実施した部分について、ミラー完了マップ９３４に「１」を記録する（９１５）。次に、もし外部管理サーバからスナップショット取得命令が発行されていたら、スナップショット作成フェーズ８１２に移る処理を行う（８１１）。スナップショット取得命令が発行されていなければ、処理８０４〜８１１を繰り返し実行する。
【００６２】
スナップショット作成命令が発行された後は、スナップショット作成フェーズ８１２に移り、まずホストからのＩ／Ｏを停止させ、Ｉ／Ｏバッファをフラッシュさせる（８１３）。次に、ミラー同期処理８１０と同様のミラー同期処理８１４を実行し、Ｉ／Ｏ停止を解除する。これにより、スナップショット対象ファイルのデータが確定し、ミラーファイルも作成された状態になる。
【００６３】
次に、スナップショット作成のためのコピー操作を行う（８１５）。コピー作業は、図１４（ａ）に示すように、コピー対応テーブル９３５を参照し、コピー完了マップのビットが「０」（未コピー）のブロックについて、ミラーファイルのデータをスナップショットボリュームに部分的にコピーして、コピーした部分についてコピー完了マップのビットを「１」とする（９１６）。次に、スナップショット側のコピー完了マップ９３６の内容を、ソース側のコピー完了マップに同期させる操作を行う。コピーの処理で、部分的にコピーするのは、本実施例の説明ではシーケンシャルな処理として記述しているためであり、スナップショットへの読込みを検知してコピーを中断できるのであれば、連続してコピーしてよい。
【００６４】
スナップショットに対し、スナップショット参照用ホストから読み込みが発生した場合には、次の操作に分岐する（８１６）。そして、図１４（ｂ）のように、読込み元を変更する操作を行う。まず、スイッチは、コピー完了マップ９３７を参照する（９１８）。これがコピー済みであることを示す「１」の場合、スナップショットファイルのブロック９３８からデータを読み出し（９１９）、読み出し要求の対象が未コピーであることを示す「０」のときは、ミラーファイルのブロック９３９からデータを読み出す（９２０）操作を行う。この読み出したデータは、一時的にスナップショット側のスイッチ上に保持しておき、スナップショットファイルのブロック９４０にも書き込む操作を行って、その部分のコピーを完了させる。このとき、コピー完了マップ９４１を「１」に変更する（９２１）。そして、処理８１５によるコピー操作が完了するまで（８１７）、処理８１５〜８１７を繰り返し実行する。コピーがすべて完了したときには、ミラー作成フェーズ８０３の処理に戻る。
【００６５】
これらの処理は全てシーケンシャルに行う例として示したが、実際は外部管理サーバとスナップショットが連携して行う操作のため、独立に実行できる処理は同時に行うことも可能である。
【００６６】
本発明は、同一のソースボリューム内（同一の大容量記録装置内）で、ソースファイルをミラーファイルＡにコピーするのが非常に高速であり、ソースボリュームからスナップショットボリュームへのデータ伝送速度が遅いときに効果を発揮する。従来の方法とは違い、常に最新のソースファイルのデータはミラーファイルにコピーされているため、ソースファイルには、スナップショット側へのデータコピーの完了を待つことなく、更新データを上書きすることができる。つまり、たとえソースボリュームとスナップショットボリュームとの間でのデータ転送速度が遅かったとしても、ソースファイルへの書込みに遅延は発生しない。
【００６７】
上記の実施例では、図１に示したように２つのスイッチを使用するシステム構成を前提にしてスナップショット取得方法を説明したが、ソースボリューム及びスナップショットボリュームの２つのボリュームと、ホストコンピュータとの間にスイッチ１つを設け、このスイッチが図１４に示した処理を実行する場合など、スイッチの接続構成を変更した場合にも、本発明のスナップショット取得方法を適用できる。
【００６８】
また、本発明のスナップショット取得方法を実行するためのプログラムを計算機で読み取り可能な記憶媒体に格納し、このプログラムをスイッチの処理装置のメモリに読込んで実行することもできる。
【００６９】
以上に述べたように、本発明では、ソースボリューム内でスナップショット対象ファイルのミラーを設けることで、スナップショット取得の処理の終了を待たずに対象ファイルへのデータの書込みができ、かつ、ファイルのミラーリングの際にデータを連続した領域に格納することで、スナップショット取得に伴なうコピー位置の対応に関する情報の保持に要するメモリ量を低減できる。
【図面の簡単な説明】
【００７０】
【図１】本発明のスナップショットを行う際の、聞き接続構成およびスナップショット作成の際のデータ構成の概略を示すための図である。
【図２】スイッチによるコピーオンライト方式のスナップショット取得処理の概要を説明するための図である。
【図３】スナップショット制御機能を持つスイッチの内部構成の概略を示した図である。
【図４】スナップショット制御機能を持つスイッチによる、コピー作成の概略を示した図である。
【図５】スナップショット制御機能を持つスイッチによる、コピーオンライト方式のスナップショット作成の概略を示した図である。
【図６】本発明によるスイッチを使用してスナップショットを作成する際のコピーオンライト処理の概要の一例を示すための図である。
【図７】スイッチおよび外部管理サーバによって、ファイル単位のミラーリングを実施する際に必要な保持データの構成を示した図である。
【図８】本発明によるスイッチにより、遠隔地にスナップショットを作成する際に、それぞれの機器が保持するデータ内容の一例を示した図である。
【図９】本発明により、ファイル単位のスナップショットを作成する際のボリューム内データ構成の一例である。
【図１０】本発明により、複数のファイルのスナップショットを作成する際のボリューム内データ構成の一例である。
【図１１】本発明のスナップショット制御のフローである。
【図１２】本発明によるスナップショット作成を行う際に、スイッチおよび外部管理サーバが行う処理の一例を示した図である。
【図１３】本発明によるスナップショット作成を行う際に、スイッチおよび外部管理サーバが行う処理の一例を示した図である。
【図１４】本発明によるスナップショット作成を行う際に、スイッチおよび外部管理サーバが行う処理の一例を示した図である。
【図１５】スナップショット制御機能を持つスイッチの内部構成の概略を示した図である。
【符号の説明】
【００７１】
１０１ａ…スナップショット制御機能を持つスイッチ（ソース側）
１０１ｂ…スナップショット制御機能を持つスイッチ（遠隔側）
１０２…ソースボリューム
１０３…スナップショットボリューム
１０４…ホスト（ユーザ端末）
１０５…スナップショット参照用ホスト
１０６ａ…ソース側スイッチ内スナップショット制御部
１０６ｂ…遠隔側スイッチ内スナップショット制御部
１０７ａ…ソース側スイッチ内スイッチング部
１０７ｂ…遠隔側スイッチ内スイッチング部
１０８…外部管理サーバ
１０９…ストレージネットワーク
１１０…スナップショット取得対象となるソースデータ
１１１…ミラーデータ
１１２…スナップショットデータ
１１３…ミラーリング操作
１１４…コピー操作（スナップショット作成操作）
【図１】
2005202915.tif 000003
【図２】
2005202915.tif 000004
【図３】
2005202915.tif 000005
【図４】
2005202915.tif 000006
【図５】
2005202915.tif 000007
【図６】
2005202915.tif 000008
【図７】
2005202915.tif 000009
【図８】
2005202915.tif 000010
【図９】
2005202915.tif 000011
【図１０】
2005202915.tif 000012
【図１１】
2005202915.tif 000013
【図１２】
2005202915.tif 000014
【図１３】
2005202915.tif 000015
【図１４】
2005202915.tif 000016
【図１５】
2005202915.tif 000017