(57)【要約】【課題】ローカル仮想コンピュータとリモート仮想コンピュータ間でリモートコピーが行われるリモートコピーシステムにおいて、リモート制御装置群の消費電力を低減する。【解決手段】計算機が、リモートサイトにおける複数のリモート仮想コンピュータのうち、リモートコピーのパターンが互いに類似したリモート仮想コンピュータで構成されるグループに属する二以上のリモート仮想コンピュータを、同一のリモート制御装置にマイグレーションする。そのリモート制御装置には、それら二以上のリモート仮想コンピュータとリモートコピーのパターンが非類似のリモート仮想コンピュータは非存在となる。【選択図】図２
2010026940.tif 000002
【特許請求の範囲】
【請求項１】
ローカルサイトに設けられたローカル制御装置群及びローカル記憶装置と、
リモートサイトに設けられたリモート制御装置群及びリモート記憶装置と、
管理計算機と
を備え、
前記ローカル制御装置群は、一以上のローカル制御装置で構成されており、
前記ローカル制御装置は、上位装置と、前記ローカル記憶装置と、前記リモート制御装置群と、前記管理計算機とに接続されており、ローカル仮想コンピュータが動作するための第一のコンピュータ資源を有し、
前記ローカル仮想コンピュータは、上位装置からアクセス要求を受信し、前記アクセス要求に応答して、前記ローカル記憶装置のいずれかのローカル記憶装置にアクセスするコンピュータであり、
前記リモート制御装置群は、複数のリモート制御装置で構成されており、
各リモート制御装置は、前記ローカル制御装置群と、前記リモート記憶装置と、前記管理計算機とに接続されており、リモート仮想コンピュータが動作するための第二のコンピュータ資源を有し、
前記ローカル制御装置では、複数の前記ローカル仮想コンピュータが動作し、
前記リモート制御装置群では、前記複数のローカル仮想コンピュータとそれぞれペアになる複数の前記リモート仮想コンピュータが動作し、
前記ローカル仮想コンピュータが、転送処理を実行し、前記転送処理では、前記ローカル記憶装置からデータを読み出すことと、前記第一のリモートコピー部を実行する前記ローカル仮想コンピュータの相手の前記リモート仮想コンピュータで実行される第二のリモートコピー部に前記読み出されたデータを転送することを実行し、
前記リモート仮想コンピュータが、前記第一のリモートコピー部からデータを受信し、前記受信したデータを、前記リモート記憶装置に書き込み、
前記管理計算機が、マイグレーション処理部を有し、
前記マイグレーション処理部は、前記複数のリモート仮想コンピュータのうち、リモートコピーのパターンが互いに類似したリモート仮想コンピュータで構成されるグループに属する二以上のリモート仮想コンピュータを、同一のリモート制御装置にマイグレーションし、
前記同一のリモート制御装置には、前記二以上のリモート仮想コンピュータとリモートコピーのパターンが非類似のリモート仮想コンピュータが非存在である、
リモートコピーシステム。
【請求項２】
前記管理計算機は前記リモートサイトに設けられており、
前記ローカル記憶装置に、ローカル仮想コンピュータ毎に、第一の論理ボリュームと、第二の論理ボリュームとがあり、
前記リモート記憶装置に、リモート仮想コンピュータ毎に、第三の論理ボリュームと、第四の論理ボリュームとがあり、
各ローカル仮想コンピュータで、定期的に又は不定期的に前記転送処理を実行する第一のリモートコピー部と、前記第一の論理ボリュームのスナップショットを取得する第一のスナップショット取得部とが実行され、
各リモート仮想コンピュータで、第二のリモートコピー部と、前記第三の論理ボリュームのスナップショットを取得する第二のスナップショット取得部とが実行され、
前記第一のコンピュータ資源に、第一の記憶資源が含まれており、前記第一の記憶資源及び／又は、前記ローカル仮想コンピュータ毎の前記第二の論理ボリュームに、第一のスナップショット管理テーブルが記憶され、前記第一のスナップショット管理テーブルは、スナップショット毎に、前記第一の論理ボリュームを構成する各記憶領域について、前記第二の論理ボリューム内の退避先記憶領域のアドレスを表し、
前記第二のコンピュータ資源に、第二の記憶資源が含まれており、前記第二の記憶資源及び／又は、前記リモート仮想コンピュータ毎の前記第四の論理ボリュームに、第二のスナップショット管理テーブルが記憶され、前記第二のスナップショット管理テーブルは、スナップショット毎に、前記第三の論理ボリュームを構成する各記憶領域について、前記第四の論理ボリューム内の退避先記憶領域のアドレスを表し、
前記第一のスナップショット取得部が、或るスナップショットの取得時点以降に、前記第一の論理ボリュームを構成する複数の記憶領域のうちのいずれかを指定したライト要求を前記上位装置から受け、前記ライト要求から特定されるライト先記憶領域が未更新であれば、前記ライト先記憶領域に記憶されているデータを前記第二の論理ボリューム内の或る記憶領域に退避し、前記ライト要求に従うデータを、前記ライト先記憶領域に書込み、前記第一のスナップショット管理テーブルにおいて、前記或るスナップショット及び前記ライト先記憶領域に対応した退避先記憶領域のアドレスを前記或る記憶領域のアドレスに更新し、
前記第一のリモートコピー部の前記転送処理で読み出され転送されるデータは、前記第一及び／又は前記第二の論理ボリュームに記憶されているデータのうちの、コピー済みである第一の取得時点のスナップショットとコピー対象のスナップショットとの間の差分に相当するデータであって、前記第一のスナップショット管理テーブルを基に特定される差分データであり、
前記第二のリモートコピー部が、前記差分データを受信し、
前記第二のスナップショット取得部が、前記第三の論理ボリューム内のコピー先記憶領域に記憶されているデータを、前記第四の論理ボリューム内の或る記憶領域に退避し、前記差分データを、前記コピー先記憶領域に書込み、前記第二のスナップショット管理テーブルにおいて、前記コピー対象のスナップショット及び前記コピー先記憶領域に対応した退避先記憶領域のアドレスを前記或る記憶領域のアドレスに更新し、
前記マイグレーション処理部が、
（２−１）前記複数のリモート仮想コンピュータをリモートコピーのパターンが類似したリモート仮想コンピュータで構成される二以上のグループに分類し、
（２−２）前記二以上のグループからグループを選択し、
（２−３）前記選択されたグループに属する二以上のリモート仮想コンピュータが動作可能な第二のコンピュータ資源を有するリモート制御装置を、前記リモート制御装置群から選択し、
（２−４）前記選択されたグループに属する二以上のリモート仮想コンピュータのうちの或るリモート仮想コンピュータが、前記選択されたリモート制御装置と別のリモート制御装置に存在する場合は、前記或るリモート仮想コンピュータを、前記別のリモート制御装置から前記選択されたリモート制御装置にマイグレーションし、
同一のグループに属する二以上のリモート仮想コンピュータとそれぞれペアを構成する二以上のローカル仮想コンピュータがそれぞれ有する二以上の前記第一のリモートコピー部が、並行して、前記転送処理を行い、
前記コピー先記憶領域とは、前記差分データが記憶されている、又は、前記差分データの退避元の、前記第一の論理ボリューム内の記憶領域と同じアドレスの、前記第三の論理ボリューム内の記憶領域であり、
前記リモートコピーのパターンとは、各リモート仮想コンピュータに対応した各ローカル仮想コンピュータについての、前記転送処理の日時及び転送時間長と、前記転送処理で転送されていない、スナップショット間の差分データの量とである、
請求項１記載のリモートコピーシステム。
【請求項３】
前記管理計算機が、省電力部を備え、
前記省電力部が、前記選択されたリモート制御装置内の二以上のリモート仮想コンピュータにおいて差分データの受信及び書込みが完了した場合に、前記選択されたリモート制御装置を節電状態にする、
請求項２記載のリモートコピーシステム。
【請求項４】
前記管理計算機が、省電力解除部を備え、
前記省電力解除部が、節電状態のリモート制御装置内の二以上のリモート仮想コンピュータにそれぞれ対応した二以上の前記第二のスナップショット管理テーブルを取得し、前記二以上の第二のスナップショット管理テーブルを、前記二以上のリモート仮想コンピュータとそれぞれペアを構成する二以上のローカル仮想コンピュータに送信し、
前記第一のリモートコピー部が、受信した第二のスナップショット管理テーブルと、その第一のリモートコピー部を有するローカル仮想コンピュータに対応した第一のスナップショット管理テーブルとを比較することで、前記第一及び第二の論理ボリュームと前記第三及び第四の論理ボリュームとの差分であるローカル／リモート差分データ量を算出し、算出されたローカル／リモート差分データ量を前記省電力解除部に通知し、
前記省電力解除部が、前記各ローカル仮想コンピュータの第一のリモートコピー部から通知されるローカル／リモート差分データ量を基に、リモート仮想コンピュータ単位についての前記ローカル／リモート差分データ量の総量が、第一の規定値よりも大きい場合、及び／又は、リモート制御装置単位についての前記ローカル／リモート差分データ量の総量が、第二の規定値よりも大きい場合、前記第一の規定値及び／又は前記第二の規定値よりも大きい前記総量に関わる前記リモート制御装置の節電状態を解除する、
請求項３記載のリモートコピーシステム。
【請求項５】
前記マイグレーション処理部は、前記或るリモート仮想コンピュータのマイグレーションとして、以下の（５−１）乃至（５−３）、
（５−１）前記別のリモート制御装置における前記或るリモート仮想コンピュータを停止し、
（５−２）前記或るリモート仮想コンピュータが格納されている、前記複数のシステム領域のうちの或るシステム領域を、前記選択されたリモート制御装置に接続し、
（５−３）前記選択されたリモート制御装置に、前記或るシステム領域に格納されている前記或るリモート仮想コンピュータを起動させる、
を実行する、
請求項４記載のリモートコピーシステム。
【請求項６】
前記マイグレーション処理部が、
（６−１）前記複数のリモート仮想コンピュータをリモートコピーのパターンが類似したリモート仮想コンピュータで構成される二以上のグループに分類し、
（６−２）前記二以上のグループからグループを選択し、
（６−３）選択されたグループに属する二以上のリモート仮想コンピュータが動作可能な第二のコンピュータ資源を有するリモート制御装置を、前記リモート制御装置群から選択し、
（６−４）前記二以上のリモート仮想コンピュータのうちの或るリモート仮想コンピュータが前記選択されたリモート制御装置と別のリモート制御装置に存在する場合は、前記或るリモート仮想コンピュータを、前記別のリモート制御装置から前記選択されたリモート制御装置にマイグレーションする、
請求項１記載のリモートコピーシステム。
【請求項７】
前記リモートコピーのパターンは、各リモート仮想コンピュータに対応した各ローカル仮想コンピュータについての、前記転送処理の日時及び転送時間長である、
請求項６記載のリモートコピーシステム。
【請求項８】
前記リモートコピーのパターンは、各リモート仮想コンピュータに対応した各ローカル仮想コンピュータについての、前記転送処理の日時及び転送時間長と、前記転送処理で転送されていないデータの量である、
請求項７記載のリモートコピーシステム。
【請求項９】
各ローカル仮想コンピュータ及び各リモート仮想コンピュータが、スナップショットを取得する機能を有し、
前記リモートコピーのパターンは、各リモート仮想コンピュータに対応した各ローカル仮想コンピュータについての、スナップショット取得と次のスナップショット取得の時間間隔に基づく、
請求項６乃至８のうちのいずれか１項に記載のリモートコピーシステム。
【請求項１０】
前記管理計算機が、
前記リモート制御装置を節電状態にする省電力部と、
前記リモート制御装置の節電状態を解除する省電力解除部と
を有し、
前記省電力解除部が、節電状態の或るリモート制御装置内のリモート仮想コンピュータとそのリモート仮想コンピュータとペアを構成するローカル仮想コンピュータとの間でリモートコピーの済んでいないデータの総量が規定値を超えている場合、前記或るリモート制御装置の節電状態を解除する、
請求項６乃至９のうちのいずれか１項に記載のリモートコピーシステム。
【請求項１１】
前記ローカル記憶装置に、ローカル仮想コンピュータ毎に、プライマリの論理ボリュームがあり、
前記リモート記憶装置に、リモート仮想コンピュータ毎に、セカンダリの論理ボリュームがあり、
各ローカル仮想コンピュータが、前記プライマリの論理ボリュームのスナップショットを取得し、スナップショット間の差分を管理するための第一のスナップショット管理情報を用いて各世代のスナップショットを管理し、
各リモート仮想コンピュータが、前記セカンダリの論理ボリュームのスナップショットを取得し、スナップショット間の差分を管理するための第二のスナップショット管理情報を用いて各世代のスナップショットを管理し、
前記省電力部が、節電状態になるリモート制御装置における各リモート仮想コンピュータに対応した各第二のスナップショット管理情報を取得し、
前記省電力解除部が、前記取得された各第二のスナップショット管理情報を、節電状態になったリモート制御装置における各リモート仮想コンピュータに対応した各ローカル仮想コンピュータに送信し、
前記各ローカル仮想コンピュータが、受信した第二のスナップショット管理情報と、そのローカル仮想コンピュータに対応した第一のスナップショット管理情報とを比較することで、リモートコピーの済んでいないデータの量を算出し、算出されたデータ量を、前記省電力解除部に通知し、
前記省電力解除部が、前記各ローカル仮想コンピュータから通知されるデータ量を基に、リモート仮想コンピュータ単位及び／又はリモート制御装置単位に、前記リモートコピーの済んでいないデータの総量を把握する、
請求項１０記載のリモートコピーシステム。
【請求項１２】
前記省電力解除部は、前記或るリモート制御装置の節電状態を解除した場合、前記或るリモート制御装置内の二以上のリモート仮想コンピュータのうち、リモートコピーの済んでいないデータの総量が規定値を超えているリモート仮想コンピュータのみを起動する、
請求項１０又は１１記載のリモートコピーシステム。
【請求項１３】
前記マイグレーション処理部は、前記（６−３）でリモート制御装置を選択する場合、前記選択されたグループに属する二以上のリモート仮想コンピュータが動作可能な第二のコンピュータ資源を有する単一のリモート制御装置が無ければ、前記選択されたグループに属する二以上のリモート仮想コンピュータが動作可能な第二のコンピュータ資源が構築される複数のリモート制御装置を選択する、
請求項６乃至１２のうちのいずれか１項に記載のリモートコピーシステム。
【請求項１４】
前記（６−３）で選択されるリモート制御装置は、前記選択されたグループに含まれるリモート仮想コンピュータが最も多く既に存在しているリモート制御装置である、
請求項６乃至１３のうちのいずれか１項に記載のリモートコピーシステム。
【請求項１５】
前記管理計算機が、リモートコピー対象のデータの受信及び書込みが済んだリモート制御装置を節電状態にする省電力部を備える、
請求項６乃至１４のうちのいずれか１項に記載のリモートコピーシステム。
【請求項１６】
ローカルサイトに設けられたローカル制御装置群及びローカル記憶装置と、
リモートサイトに設けられたリモート制御装置群及びリモート記憶装置と
を備え、
前記ローカル制御装置群は、一以上のローカル制御装置で構成されており、
前記ローカル制御装置は、上位装置と、前記ローカル記憶装置と、前記リモート制御装置群とに接続されており、ローカル仮想コンピュータが動作するための第一のコンピュータ資源を有し、
前記ローカル仮想コンピュータは、上位装置からアクセス要求を受信し、前記アクセス要求に応答して、前記ローカル記憶装置にアクセスするコンピュータであり、
前記リモート制御装置群は、複数のリモート制御装置で構成されており、
各リモート制御装置は、前記ローカル制御装置群と、前記リモート記憶装置とに接続されており、リモート仮想コンピュータが動作するための第二のコンピュータ資源を有し、
前記ローカル制御装置では、複数の前記ローカル仮想コンピュータが動作し、
前記リモート制御装置群では、前記複数のローカル仮想コンピュータとそれぞれペアになる複数の前記リモート仮想コンピュータが動作し、
前記ローカル仮想コンピュータが、転送処理を実行し、前記転送処理では、前記ローカル記憶装置からデータを読み出すことと、前記第一のリモートコピー部を実行する前記ローカル仮想コンピュータの相手の前記リモート仮想コンピュータで実行される第二のリモートコピー部に前記読み出されたデータを転送することを実行し、
前記リモート仮想コンピュータが、前記第一のリモートコピー部からデータを受信し、前記受信したデータを、前記リモート記憶装置に書き込む、
ようになっているリモートコピーシステムで実現される方法であって、
（１５−１）前記複数のリモート仮想コンピュータをリモートコピーのパターンが類似したリモート仮想コンピュータで構成される二以上のグループに分類し、
（１６−２）前記二以上のグループからグループを選択し、
（１６−３）前記選択されたグループに属する二以上のリモート仮想コンピュータが動作可能な第二のコンピュータ資源を有するリモート制御装置を、前記リモート制御装置群から選択し、
（１６−４）前記二以上のリモート仮想コンピュータのうちの或るリモート仮想コンピュータが前記選択されたリモート制御装置と別のリモート制御装置に存在する場合は、前記或るリモート仮想コンピュータを前記別のリモート制御装置から前記選択されたリモート制御装置にマイグレーションし、
（１６−５）前記選択されたグループに属する二以上のリモート仮想コンピュータが存在するリモート制御装置において、データの受信及び書き込みが行われていない場合に、そのリモート制御装置を節電状態にする、
リモートサイトの省電力化方法。
【請求項１７】
ローカルサイトに設けられたローカル制御装置群及びローカル記憶装置と、
リモートサイトに設けられたリモート制御装置群及びリモート記憶装置と
を備え、
前記ローカル制御装置群は、一以上のローカル制御装置で構成されており、
前記ローカル制御装置は、上位装置と、前記ローカル記憶装置と、前記リモート制御装置群とに接続されており、ローカル仮想コンピュータが動作するための第一のコンピュータ資源を有し、
前記ローカル仮想コンピュータは、上位装置からアクセス要求を受信し、前記アクセス要求に応答して、前記ローカル記憶装置にアクセスするコンピュータであり、
前記リモート制御装置群は、複数のリモート制御装置で構成されており、
各リモート制御装置は、前記ローカル制御装置群と、前記リモート記憶装置とに接続されており、リモート仮想コンピュータが動作するための第二のコンピュータ資源を有し、
前記ローカル制御装置では、複数の前記ローカル仮想コンピュータが動作し、
前記リモート制御装置群では、前記複数のローカル仮想コンピュータとそれぞれペアになる複数の前記リモート仮想コンピュータが動作し、
前記ローカル仮想コンピュータが、転送処理を実行し、前記転送処理では、前記ローカル記憶装置からデータを読み出すことと、前記第一のリモートコピー部を実行する前記ローカル仮想コンピュータの相手の前記リモート仮想コンピュータで実行される第二のリモートコピー部に前記読み出されたデータを転送することを実行し、
前記リモート仮想コンピュータが、前記第一のリモートコピー部からデータを受信し、前記受信したデータを、前記リモート記憶装置に書き込む、
ようになっているリモートコピーシステムに設けられた計算機であって、
各リモート仮想コンピュータに関するリモートコピーのパターンを特定する特定部と、
特定されたパターンが類似したリモート仮想コンピュータで構成される二以上のグループに分類する分類部と
を備える計算機。
【請求項１８】
或るグループに属する二以上のリモート仮想コンピュータのうちの或るリモート仮想コンピュータが、或るリモート制御装置と別のリモート制御装置に存在する場合は、前記或るリモート仮想コンピュータを、前記別のリモート制御装置から前記或るリモート制御装置にマイグレーションするマイグレーション部
を備える請求項１７記載の計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモートコピー及び省電力に関する。
【背景技術】
【０００２】
ローカルサイトにある複数の記憶制御装置及び複数の記憶装置と、リモートサイトにある複数の記憶制御装置及び複数の記憶装置とで構成されたリモートコピーシステムが知られている（以下、ローカルサイトにある記憶制御装置及び記憶装置を「ローカル制御装置」及び「ローカル記憶装置」と言い、リモートサイトにある記憶制御装置及び記憶装置を「リモート制御装置」及び「リモート記憶装置」と言う）。
【０００３】
リモートコピーシステムでは、ローカル制御装置が、ローカル記憶装置からデータを読み出してリモート制御装置に転送し、リモート制御装置が、ローカル制御装置からデータを受信し、受信したデータをリモート記憶装置に書き込む。要するに、ローカル記憶装置に記憶されているデータがリモート記憶装置にリモートコピーされる。
【０００４】
リモートコピーされるデータとしては、例えば、スナップショットを構成するデータがある。ローカル制御装置は、スナップショットとして、例えば、ファイルシステムの或る時点での静的なイメージを取得する。ローカル制御装置は、複数世代のスナップショット（つまり複数の時点での静的なイメージ）を管理することができる。
【０００５】
スナップショットを構成するデータをリモートコピーする技術については、例えば特許文献１に開示されている。
【０００６】
【特許文献１】特開２００７−１９３４５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
リモートコピーシステムの消費電力を低減することが好ましい。そのための一つの方法として、リモートコピーに関わる処理を行っていない間、ローカル制御装置及び／又はリモート制御装置を節電状態にする方法が考えられる。しかし、ローカル制御装置は、通常、上位装置からアクセスコマンド（ライトコマンド又はリードコマンド）をいつ受けるかわからないため、ローカル制御装置については、リモートコピーに関わる処理を行っていないからといって、節電状態にすることは好ましくないと考えられる。そこで、リモート制御装置を、リモートコピーに関わる処理（データの受信、或いは受信したデータの書込み）を行っていない間、節電状態（例えば電源オフ状態）にすることが考えられる。
【０００８】
一方で、例えば、ローカル制御装置及びリモート制御装置に、複数の仮想コンピュータが動作するリモートコピーシステムが考えられる。この場合、仮想コンピュータ間で、リモートコピー対象のデータの授受が行われる（以下、ローカル制御装置で動作する仮想コンピュータを「ローカル仮想コンピュータ」と言い、リモート制御装置で動作する仮想コンピュータを「リモート仮想コンピュータ」と言う）。
【０００９】
リモート制御装置群における或るリモート制御装置に複数のリモート仮想コンピュータが存在する場合、例えば、或るリモート仮想コンピュータが非稼動状態にあっても（リモートコピーに関わる処理を行っていなくても）、別のリモート仮想コンピュータが稼動状態にあれば（リモートコピーに関わる処理を行っていれば）、その或るリモート制御装置を節電状態にすることはできない。また、例えば、節電状態のリモート制御装置において、或るリモート仮想コンピュータが稼動状態になる必要が無くても、別のリモート仮想コンピュータが稼動状態になる必要があれば、そのリモート制御装置の節電状態を解除する必要がある。
【００１０】
そこで、本発明の目的は、ローカル仮想コンピュータとリモート仮想コンピュータ間でリモートコピーが行われるリモートコピーシステムにおいて、リモート制御装置群の消費電力を低減することにある。
【課題を解決するための手段】
【００１１】
計算機が、リモートサイトにおける複数のリモート仮想コンピュータのうち、リモートコピーのパターンが互いに類似したリモート仮想コンピュータで構成されるグループに属する二以上のリモート仮想コンピュータを、同一のリモート制御装置にマイグレーションする。そのリモート制御装置には、それら二以上のリモート仮想コンピュータとリモートコピーのパターンが非類似のリモート仮想コンピュータは非存在となる。
【００１２】
ローカル制御装置及び／又はリモート制御装置は、例えばファイルサーバ、具体例としてＮＡＳ装置である。また、ローカル制御装置及び／又はリモート制御装置は、例えば、回路基板で実現されて、ストレージシステムに、クライアントとの間のインタフェースの一つとして内蔵されても良い。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して、本発明の一実施形態を説明する。その際、論理ボリュームの構成要素である各記憶領域を、「ブロック」と言い、一ブロックに記憶されるデータを、「ブロックデータ」と言う。また、ローカル制御装置及びリモート制御装置として、ＮＡＳ（Network Attached Storage）サーバを例に採る。ローカル仮想コンピュータ及びリモート仮想コンピュータとして、仮想ＮＡＳを例に採る。管理計算機として、管理サーバを例に採る。上位装置として、クライアント装置を例に採る。
【００１４】
図１は、本発明の一実施形態に係るコンピュータシステムのハードウェア構成を示す。
【００１５】
ローカルサイト１００Ｌ及びリモートサイト１００Ｒがある。
【００１６】
ローカルサイト１００Ｌに、一以上のクライアント装置１０２と、複数のＮＡＳサーバ１０１Ｌと、ストレージシステム１０３Ｌとがある。一以上のクライアント装置１０２及び複数のＮＡＳサーバ１０１Ｌが、第一の通信ネットワーク（例えばＬＡＮ（Local Area Network））１１０Ｌに接続されている。第一の通信ネットワーク１１０Ｌは、第三の通信ネットワーク（例えばインターネット）１２０に接続されている。複数のＮＡＳサーバ１０１Ｌが、ストレージシステム１０３Ｌに接続されている。
【００１７】
クライアント装置１０２は、ＮＡＳサーバ１０１Ｌに、アクセス対象のファイル（リード対象又はライト対象のファイル）を指定したファイルレベルのアクセスコマンドを送信する。
【００１８】
ＮＡＳサーバ１０１Ｌは、コンピュータ資源として、例えば、メモリ１０１１、ＣＰＵ（Central Processing Unit）１０１２、ＮＩＣ（Network Interface Card）１０１３及びＨＢＡ（Host Bus Adapter）１０１４を有する。このコンピュータ資源を基に、後述する仮想ＮＡＳが動作する。ＮＩＣ１０１３は、第一の通信ネットワーク１１０Ｌに接続されている。ＨＢＡ１０１４は、ストレージシステム１０３Ｌのコントローラ１０３１に接続されている。ＮＡＳサーバ１０１Ｌでは、例えば、メモリ１０１１上に、ＯＳ（Operating System）など、ＮＡＳサーバ１０１Ｌを制御するコンピュータプログラムが読み込まれ、ＣＰＵ１０１２に、その読み込まれたコンピュータプログラムが実行される。また、ＮＡＳサーバ１０１Ｌは、ＮＩＣ１０１３を介して、ＮＡＳサーバ１０１Ｒ及び管理サーバ１０５と通信を行う。また、ＮＡＳサーバ１０１Ｌは、クライアント装置１０２からファイルレベルのアクセスコマンドを受信し、そのアクセスコマンドを基に、ＨＢＡ１０１４を介して、ストレージシステム１０３Ｌにブロックレベルのアクセス要求を送信する。
【００１９】
ストレージシステム１０３Ｌは、コントローラ１０３１と、複数の物理記憶装置１０３３を備える。コントローラ１０３１は、図示しないが、ＣＰＵ及びメモリを有する。コントローラ１０３１は、ＮＡＳサーバ１０１Ｌからアクセス要求を受信し、受信したアクセス要求に従って、複数の物理記憶装置１０３３のうちのいずれかの物理記憶装置１０３３にアクセスする。アクセス対象のデータ（ライト対象のデータ又はリード対象のデータ）は、コントローラ１０３１が有するメモリ（例えばキャッシュメモリ）に一時的に記憶される。
【００２０】
リモートサイト１００Ｒに、複数のＮＡＳサーバ１０１Ｒと、ストレージシステム１０３Ｒと、管理サーバ１０５とがある。複数のＮＡＳサーバ１０１Ｒと管理サーバ１０５が、第二の通信ネットワーク（例えばＬＡＮ）１１０Ｒに接続されている。第二の通信ネットワーク１１０Ｒは、第三の通信ネットワーク１２０に接続されている。複数のＮＡＳサーバ１０１Ｒ及び管理サーバ１０５が、ストレージシステム１０３Ｒに接続されている。ストレージシステム１０３Ｒが、ストレージシステム１０３Ｌに接続されている。
【００２１】
ＮＡＳサーバ１０１Ｒは、ＮＡＳサーバ１０１Ｌと実質的に同じ構成を有する。ＮＡＳサーバ１０１Ｒは、ＮＩＣを介して、ＮＡＳサーバ１０１Ｌ及び管理サーバ１０５と通信を行う。ＮＡＳサーバ１０１Ｒと１０１Ｌの数は、同じ数であっても良いし異なる数であっても良い。本実施形態では、ＮＡＳサーバ１０１Ｒ及び１０１Ｌの数は、それぞれ、３とする。
【００２２】
ストレージシステム１０３Ｒは、ストレージシステム１０３Ｌと実質的に同じ構成を有する。ストレージシステム１０３Ｒ内のコントローラの構成は、ストレージシステム１０３Ｌ内のコントローラ１０３１と、同じであっても異なっていても良い。
【００２３】
管理サーバ１０５は、計算機の一種であり、例えば、メモリ１０５１、ＣＰＵ１０５２、ＮＩＣ１０５３及びＨＢＡ１０５４を有する。ＮＩＣ１０５３は、第二の通信ネットワーク１１０Ｒに接続されている。ＨＢＡ１０５４は、ストレージシステム１０３Ｒのコントローラに接続されている。管理サーバ１０５は、ＮＩＣ１０５３を介して、複数のＮＡＳサーバ１０１Ｒのうちの任意のＮＡＳサーバ１０１Ｒを節電状態（例えば電源オフ状態或いは節電状態）にすることができる。
【００２４】
図２は、本発明の一実施形態に係るコンピュータシステムのソフトウェア構成を示す。なお、以下の説明では、３台のＮＡＳサーバ１０１Ｌを、「ＮＡＳサーバ−Ｌ１」、「ＮＡＳサーバ−Ｌ２」、「ＮＡＳサーバ−Ｌ３」と言い、それらを特に区別しない場合には、「ＮＡＳサーバ−Ｌ」と言う。また、３台のＮＡＳサーバ１０１Ｒを、「ＮＡＳサーバ−Ｒ１」、「ＮＡＳサーバ−Ｒ２」、「ＮＡＳサーバ−Ｒ３」と言い、それらを特に区別しない場合には、「ＮＡＳサーバ−Ｒ」と言う。また、以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するＣＰＵによって処理が行われるものとする。
【００２５】
各ＮＡＳサーバ−Ｌ及び各ＮＡＳサーバ−Ｒは、ＮＡＳサーバ−Ｌ及び−Ｒの制御を行うＯＳ（Operating System）２０５を有する。各ＮＡＳサーバ−Ｌでは、ＮＡＳサーバ−Ｌでのコンピュータ資源を基に、ＯＳ２０５上で、一以上の仮想ＮＡＳ−Ｌが動作する。同様に、各ＮＡＳサーバ−Ｒでは、ＮＡＳサーバ−Ｒでのコンピュータ資源を基に、ＯＳ上で、一以上の仮想ＮＡＳ−Ｒが動作する。仮想ＮＡＳ−Ｌ及び−Ｒは、ＮＡＳをサービスするためにＮＡＳサーバ−Ｌ及び−Ｒ上に構築された仮想的なＯＳ環境（仮想コンピュータ）である。
【００２６】
仮想ＮＡＳ−Ｌと仮想ＮＡＳ−Ｒは、１対１でペアにされる。例えば、本実施形態で言えば、仮想ＮＡＳ−Ｌ１と仮想ＮＡＳ−Ｒ１とが第一のペアを構成し、仮想ＮＡＳ−Ｌ２と仮想ＮＡＳ−Ｒ１とが第二のペアを構成する。ペアを構成した仮想ＮＡＳ−Ｌ及び仮想ＮＡＳ−Ｒ間で、データのリモートコピーが行われる。以下、特に仮想ＮＡＳ−Ｌを区別しないときは、「仮想ＮＡＳ−Ｌｉ」と言い、仮想ＮＡＳ−Ｌｉとペアを構成する仮想ＮＡＳ−Ｒを「仮想ＮＡＳ−Ｒｉ」と言う（ｉは自然数）。
【００２７】
仮想ＮＡＳ−Ｌｉ及び仮想ＮＡＳ−Ｒｉでは、それぞれ、リモートコピープログラム２０１及びスナップショットプログラム２０３が実行される。以下、仮想ＮＡＳ−Ｌｉで実行されるスナップショットプログラム２０３を、「スナップショットプログラム−Ｌｉ」と言い、仮想ＮＡＳ−Ｒｉで実行されるリモートコピープログラムを、「リモートコピープログラム−Ｒｉ」と言う。また、その他、仮想ＮＡＳ−Ｌｉに対応した要素（例えばＰＶＯＬ、ＤＶＯＬ、スナップショット管理テーブル）には、その要素の名称に「−Ｌｉ」を付し、同様に、仮想ＮＡＳ−Ｒｉに対応した要素には、その要素の名称に「−Ｒｉ」を付して説明することがある。
【００２８】
スナップショットプログラム−Ｌｉ（又は−Ｒｉ）は、後述するＰＶＯＬ−Ｌｉ（又は−Ｒｉ）の或る時点での静的なイメージ（スナップショット）を取得する。スナップショットプログラム−Ｌｉ（及び−Ｒｉ）により、複数世代のスナップショットが取得される。
【００２９】
リモートコピープログラム−Ｌｉは、スナップショットプログラム−Ｌｉによって取得されたスナップショットを、リモートコピープログラム−Ｒｉに転送する。
【００３０】
リモートコピープログラム−Ｒｉは、転送されて来たデータの書込み先を、スナップショットプログラム−Ｒｉに通知する。これにより、スナップショットプログラム−Ｒｉにより、仮想ＮＡＳ−Ｒｉのアクセス先となるＰＶＯＬ−Ｒｉ（後述の仮想ＮＡＳ−Ｒｉ用ＬＵ群内のＰＶＯＬ）のスナップショットが取得される。
【００３１】
ストレージシステム１０３Ｌ内の複数の物理記憶装置１０３３を基に、ＮＡＳサーバ−Ｌｉ毎に、ＬＵ（Logical Unit）群が用意されている。そして、ＮＡＳサーバ−Ｌ毎のＬＵ群には、仮想ＮＡＳ−Ｌｉ毎のＬＵ群が含まれている。例えば、ＮＡＳサーバ−Ｌ１では、仮想ＮＡＳ−Ｌ１及び−Ｌ２が実行されるため、ＮＡＳサーバ−Ｌ１用ＬＵ群には、仮想ＮＡＳ−Ｌ１用のＬＵ群と、仮想ＮＡＳ−Ｌ２用のＬＵ群とが含まれている。各仮想ＮＡＳ−Ｌｉ用のＬＵ群には、ＰＶＯＬ−Ｌｉと、ＤＶＯＬ−Ｌｉと、システムＶＯＬ−Ｌｉとが含まれている。ＰＶＯＬは、Primary Volumeの略であり、最新のデータが書き込まれる論理ボリュームである。ＤＶＯＬは、Differential Volumeの略であり、ＰＶＯＬが更新されるときに、更新される古いデータの退避先となる論理ボリュームである。システムＶＯＬは、仮想ＮＡＳ−Ｌｉが格納されている論理ボリュームである。仮想ＮＡＳ−Ｌｉは、ＮＡＳサーバ−ＬによってシステムＶＯＬ−Ｌｉから読み出されて起動される。
【００３２】
管理サーバ１０６のＯＳ２１３上で、ＮＡＳ管理プログラム２１１が実行される。ＮＡＳ管理プログラム２１１は、仮想ＮＡＳ−Ｒｉのマイグレーションや、ＮＡＳサーバ−Ｒｉの停止／起動を制御する。例えば、ＮＡＳ管理プログラム２１１は、リモートコピースケジュールから特定されるリモートコピーの開始時に、リモートコピーを行う仮想ＮＡＳ−Ｒｉを有するＮＡＳサーバ−Ｒの節電状態を解除し、また、そのリモートコピーが終了した場合に、そのＮＡＳサーバ−Ｒを節電状態に遷移させる。ＮＡＳ管理プログラム２１１は、具体的には、図２１に示すように、ＮＡＳサーバ−Ｒを起動する起動処理プログラム２１１１と、ＮＡＳサーバ−Ｒを節電状態にする停止処理プログラム２１１２と、仮想ＮＡＳ−Ｒｉをマイグレーションするマイグレーション処理プログラム２１１３とを有する。各プログラム２１１１〜２１１３については、後に詳述する。
【００３３】
スナップショットプログラム−Ｌｉ及び−Ｒｉは、スナップショットの取得のためにＣＯＷ（Copy On Write）を行う。以下、そのＣＯＷについて説明する。以下の説明では、説明を理解し易くするために、ＰＶＯＬ−Ｌｉを構成するブロックの数及びＤＶＯＬ−Ｌｉを構成するブロックの数は、それぞれ、８個とする（ＤＶＯＬ−Ｌｉについては、８個のブロックのうち６個のブロックが図示される）。また、ＰＶＯＬ−Ｌｉを構成するブロックを、「ＰＶＯＬブロック−Ｌｉ」と言い、ＤＶＯＬ−Ｌｉを構成するブロックを、「ＤＶＯＬブロック−Ｌｉ」と言い、スナップショットボリューム−Ｌｉ（本実施形態では仮想的な論理ボリューム）を構成するブロックを「スナップショットブロック−Ｌｉ」と言う。また、ＰＶＯＬブロック−Ｌｉ、ＤＶＯＬブロック−Ｌｉ及びスナップショットブロック−Ｌｉの全てについて、ブロックアドレスｎに対応したブロック−Ｌｉを、「ブロック−Ｌｉ＃ｎ」と言う（ｎは０以上の整数）。
【００３４】
図３Ａに示すように、８個のＰＶＯＬブロック−Ｌｉには、ブロックデータ“Ａ”〜“Ｈ”が記憶されているとする。また、８個のＤＶＯＬブロック−Ｌｉのいずれにも、ブロックデータが記憶されていないとする。
【００３５】
スナップショット管理テーブル−Ｌｉが用意されている。スナップショット管理テーブル−Ｌｉは、ＮＡＳサーバ−Ｌ（及び−Ｒ）内のメモリなど、任意の記憶資源に記憶されても良いが、本実施形態では、ＤＶＯＬ−Ｌｉ内の特定の領域（ＤＶＯＬブロック１〜８以外の領域）に記憶される。
【００３６】
スナップショット管理テーブル−Ｌｉには、どのスナップショットボリューム−Ｌｉのどのスナップショットブロック−Ｌｉがアクセス先となった場合にＰＶＯＬ−ＬｉとＤＶＯＬ−Ｌｉのうちのどちらの論理ボリュームのどのブロックにアクセスすべきかが記録されている。具体的には、スナップショット管理テーブルには、スナップショットボリューム毎に、各ＰＶＯＬブロック−ＬｉのアドレスとＰＶＯＬブロック−ＬｉがＣＯＷ済みのブロックであるか否かを表すビット（以下、「ＣＯＷビット」と言う）と、ＰＶＯＬブロック−ＬｉについてのＣＯＷでの退避先ブロック−Ｌｉ（ＤＶＯＬブロック−Ｌｉ）のアドレスとが記録される。より具体的には、スナップショット管理テーブル−Ｌｉは、ブロックアドレスカラムと、ＣＯＷカラムと、３個のスナップショットカラムとで構成される。ブロックアドレスカラムには、の各ＰＶＯＬブロック−Ｌｉのアドレスが記録される。ＣＯＷカラムにはＰＶＯＬブロック−Ｌｉ毎に、３個のスナップショットに対応した３個のＣＯＷビットが並んでいる。３個のスナップショットカラムは、３個のスナップショットに対応している。つまり、一以上のＤＶＯＬ−Ｌｉを利用して、複数世代（ここでは３世代）のスナップショットを管理することが可能である。
【００３７】
３個の連続したＣＯＷビットにおいて、一番左のＣＯＷビットは、１個目のスナップショットに対応しており、真ん中のＣＯＷビットは、２個目のスナップショットに対応しており、一番右のＣＯＷビットは、３個目のスナップショットに対応している。ＣＯＷビットは、“１”であれば、未だＣＯＷが行われていないことを意味し、“０”であれば、ＣＯＷ済みであることを意味する。
【００３８】
スナップショットカラムにはＰＶＯＬブロック−Ｌｉの退避先ブロック−Ｌｉのアドレスが記録される。退避先ブロック−Ｌｉのアドレスとしては、退避先ブロック−ＬｉがＤＶＯＬブロック−Ｌｉであれば、そのＤＶＯＬブロック−Ｌｉのアドレスが記録され、退避先ブロック−ＬｉがＰＶＯＬブロック−Ｌｉであれば（つまりＣＯＷが発生していないＰＶＯＬブロック−Ｌｉについては）、そのことを意味する値（例えば“なし”）が記録される。退避先ブロック−Ｌｉのアドレスが“なし”の場合、ＰＶＯＬブロック−Ｌｉがアクセスされる。初期状態では、どのスナップショットカラムでも、全てのスナップショットブロック−Ｌｉについて、退避先ブロック−Ｌｉのアドレスは“なし”である。ＣＯＷによるブロックデータの退避が行われていないためである。
【００３９】
スナップショットプログラム−Ｌｉは、スナップショット（ＳＳ−１）（以下、単に「ＳＳ−１」と言う）の取得要求を受付けると、図３Ｂに示すように、一番左のスナップショットカラムに、スナップショット名として“ＳＳ−１”を書込み、スナップショット管理テーブル−ＬｉのＣＯＷカラムにおける全ての一番左端のＣＯＷビットをＯＮ（“１”）に更新する。ＣＯＷビットがＯＮに対応したＰＶＯＬブロック−Ｌｉに更新が発生した場合には、ＣＯＷが必要である。
【００４０】
次に、スナップショットプログラム−Ｌｉは、図４Ａに示すように、クライアント装置１０２からのアクセスコマンドを基に、ＰＶＯＬブロック−Ｌｉ＃０〜＃４にブロックデータ“ａ”〜“ｅ”が書き込まれるライト要求を発行するとする。この場合、スナップショットプログラム−Ｌｉは、以下の（４Ａ−１）乃至（４Ａ−４）の処理、
（４Ａ−１）スナップショット（ＳＳ−１）のスナップショットカラムにおけるＰＶＯＬブロック−Ｌｉ＃０〜＃４に対応した退避先ブロック−Ｌｉのアドレスとして、ＤＶＯＬブロック−Ｌｉ＃０〜４のアドレス“０”〜“４”を書込む、
（４Ａ−２）ＰＶＯＬブロック−Ｌｉ＃０〜＃４に記憶されているブロックデータ“Ａ”〜“Ｅ”をＤＶＯＬブロック−Ｌｉ＃０〜＃４に退避する、
（４Ａ−３）ＰＶＯＬブロック−Ｌｉ＃０〜＃４に対応した、一番左にある５個のＣＯＷビットを、それぞれＯＦＦ（“０”）に更新する、
（４Ａ−４）ＰＶＯＬブロック−Ｌｉ＃０〜＃４に、ブロックデータ“ａ”〜“ｅ”を書き込む、
を実行する。ＳＳ−１については、この後、ＣＯＷビットがＯＦＦに対応したＰＶＯＬブロック−Ｌｉ＃０〜＃４に更新が発生しても、ＣＯＷは発生しない。
【００４１】
以上のようにして、スナップショットが取得され管理される。
【００４２】
スナップショットプログラム−Ｌｉは、クライアント装置１０２からスナップショットの参照要求を受けた場合、その参照要求で指定されているスナップショットについて、スナップショット管理テーブル−Ｌｉを用いて、その指定されているスナップショットを構成するブロックデータが記憶されているＰＶＯＬブロック−Ｌｉ及び／又はＤＶＯＬブロック−Ｌｉを特定する。スナップショットプログラム−Ｌｉは、特定されたＰＶＯＬブロック−Ｌｉ及び／又はＤＶＯＬブロック−Ｌｉからブロックデータを読み出すことで、指定されたスナップショットを再現する。
【００４３】
具体的には、例えば、スナップショット−Ｌｉは、ＳＳ−１の参照要求を受けた場合、図４Ｂに示すように、以下の（４Ｂ−１）乃至（４Ｂ−４）の処理、
（４Ｂ−１）ＳＳ−１に対応したＣＯＷビットをＰＶＯＬブロック−Ｌｉのアドレス順に参照する、
（４Ｂ−２）（４Ｂ−１）の際、ＣＯＷビットがＯＦＦの場合、ＣＯＷビットがＯＦＦのＰＶＯＬブロック−Ｌｉからブロックデータを読み出し、ＣＯＷビットがＯＮの場合、ＣＯＷビットがＯＮのＰＶＯＬブロック−Ｌｉに対応した退避先ブロック−Ｌｉ（ＤＶＯＬブロック−Ｌｉ）からブロックデータを読み出す（この結果ＤＶＯＬブロック−Ｌｉ＃０〜＃４からブロックデータ“Ａ”〜“Ｅ”が読み出されＰＶＯＬブロック−Ｌｉ＃５〜＃７からブロックデータ“Ｆ”〜“Ｈ”が読み出される）、
（４Ｂ−３）読み出された８個のブロックデータ“Ａ”〜“Ｈ”で構成されたＳＳ−１が存在するスナップショットボリューム−Ｌｉをクライアント装置に提供する、
を実行する。
【００４４】
図５に示すように、ローカルサイト１００Ｌでは、スナップショットプログラム−Ｌｉ（図５では、ｉ＝１、２）が、予め設定されているスケジュール（例えばユーザが設定した時間間隔）に従って（例えば定期的に又は不定期的に）、スナップショットを取得する。リモートコピープログラム−Ｌｉが、スナップショット間の差分（図５の例ではスナップショット１とその次の世代のスナップショット２との間の差分）に相当する一以上のブロックデータ（以下、そのブロックデータを「スナップ差分データ」と言う）を抽出し、抽出されたスナップ差分データと、コピー先（例えばＰＶＯＬのＩＤ及びＰＶＯＬブロックアドレス）を指定したコピー要求とを、リモートコピープログラム−Ｒｉに転送する。コピー先は、ＰＶＯＬブロック−Ｒｉである。抽出されたスナップ差分データは、図６に示すように、ネットワーク群（第一〜第三の通信ネットワーク１１０Ｌ、１２０及び１１０Ｒ）を通じて、リモートコピープログラム−Ｒｉに送られ、コピー先ＰＶＯＬブロック−Ｒｉに格納される。仮想ＮＡＳ−Ｌｉが動作するコンピュータ資源（例えばメモリ１０１１内の一記憶領域）にはＰＶＯＬ−ＲｉのＩＤ（例えばＬＵＮ（Logical Block Number）が記録されている。リモートコピープログラム−Ｌｉは、そのＩＤと、スナップ差分データに対応するＰＶＯＬブロック−Ｌｉのアドレスとを、コピー先として指定することができる。スナップ差分データに対応するＰＶＯＬブロック−Ｌｉとは、スナップ差分データが記憶されているＰＶＯＬブロック−Ｌｉ、又は、スナップ差分データが記憶されているＤＶＯＬブロック−Ｌｉに対応したＰＶＯＬブロック−Ｌｉである。
【００４５】
リモートコピープログラム−Ｒｉは、コピー要求で指定されているコピー先を、スナップショットプログラム−Ｒｉに通知する。スナップショットプログラム−Ｒｉは、例えばスナップショット１とスナップショット２とのスナップ差分データを書き込む場合（つまりスナップショット２を新規に取得する場合）、以下の（６−１）乃至（６−５）の処理、
（６−１）スナップショット管理テーブル−Ｒｉ内の、ＳＳ−１のスナップショットカラムに、コピー先ＰＶＯＬブロック−Ｒｉに対応した退避先ブロック−Ｒｉのアドレスを書き込む、
（６−２）コピー先ＰＶＯＬブロック−Ｒｉに記憶されているブロックデータを、上記退避先ブロック−Ｒｉに退避する、
（６−３）コピー先ＰＶＯＬブロック−Ｒｉに対応した、一番左にあるＣＯＷビットを、ＯＦＦ（“０”）に更新する、
（６−４）コピー先ＰＶＯＬブロック−Ｒｉに、リモートコピープログラム−Ｌｉからリモートコピープログラム−Ｒｉが受けたスナップ差分データを書き込む、
（６−５）スナップショット管理テーブル−Ｒｉ内のスナップショットカラムに、ＳＳ−２を追加する、
を実行する。これにより、図６に示すように、仮想ＮＡＳ−Ｌｉが管理するスナップショット１及び２と同じスナップショット１及び２を仮想ＮＡＳ−Ｒｉが管理できるようになる（つまりスナップショット１及び２がリモートコピーされたことになる）。
【００４６】
仮想ＮＡＳ−Ｌｉにおいて、スナップ差分データの総量は、スナップショット取得間隔内でのクライアント装置１０２からのファイル更新量によって異なる。スナップ差分データの総量に、仮想ＮＡＳ−Ｌｉから仮想ＮＡＳ−Ｒｉに転送されるデータの量や、リモートコピーに要する時間長が依存する。
【００４７】
本実施形態での処理で考慮される、仮想ＮＡＳ−Ｌｉについての差分データは、２種類ある。第一に、ローカル側のみでの差分である前述のスナップショット差分データ、すなわち、スナップショット間（スナップショットと次のスナップショットとの間）の差分である。第二に、ローカルとリモート間での差分、具体的には、ＰＶＯＬ−Ｌｉ及びＤＶＯＬ−ＲｉとＰＶＯＬ−Ｒｉ及びＤＶＯＬ−Ｒｉとの差分に相当するデータ（以下、ローカル／リモート差分データ）である。
【００４８】
ここで、ローカル／リモート差分データの求め方を説明する。なお、以下の説明では、スナップショット管理テーブル−Ｌｉ及び−Ｒｉが、各スナップショット間についての差分を表す値（ＣＯＷの発生回数、言い換えれば、スナップ差分データの数を表す値）を保持するセルを有する。
【００４９】
例えばＰＶＯＬ−Ｌｉ、ＤＶＯＬ−Ｌｉ及びスナップショット管理テーブル−ＬｉとＰＶＯＬ−ＲｉＤＶＯＬ−Ｒｉ及びスナップショット管理テーブル−Ｒｉが、図７Ａに示した状態であるとする。すなわち、初期コピーとしてＰＶＯＬ−Ｌｉ、ＤＶＯＬ−Ｌｉ及びスナップショット管理テーブル−Ｌｉが、リモートサイト１００Ｒにコピーされている状態であるとする。図７Ａによれば、仮想ＮＡＳ−Ｌｉ及び−Ｒｉのいずれについても、ＳＳ−１が取得されている。
【００５０】
その後、仮想ＮＡＳ−Ｌｉについて、ＳＳ−１に関して５回のＣＯＷが発生し、ＳＳ−２が取得された場合、スナップショット管理テーブル−Ｌｉは、図７Ｂに示すようなテーブル−Ｌｉに更新されている。つまり、ＳＳ−１とＳＳ−２との差分を表す値として、５が、スナップショット管理テーブル−Ｌｉに書き込まれる。具体的には、例えば、リモートコピープログラム−Ｌｉが、ＳＳ−１とＳＳ−２に対応したＣＯＷビットの列を互いに比較することで、ＳＳ−１とＳＳ−２との間でＣＯＷが５回発生したことを特定し、ＳＳ−１とＳＳ−２との差分を表す値として、５を、スナップショット管理テーブル−Ｌｉに書き込む。
【００５１】
この後、リモートコピープログラム−Ｌｉに、スナップショット管理テーブル−Ｒｉ（図８Ａ参照）が取得される。具体的には、例えば、管理サーバ１０５が、スナップショット管理テーブル−Ｒｉを仮想ＮＡＳ−Ｒｉ又はＤＶＯＬ−Ｒｉから取得し、取得したスナップショット管理テーブル−Ｒｉを、仮想ＮＡＳ−Ｌｉに送信する。或いは、リモートコピープログラム−Ｒｉが、スナップショット管理テーブル−Ｒｉをリモートコピープログラム−Ｌｉに送信する。
【００５２】
リモートコピープログラム−Ｌｉは、スナップショット管理テーブル−Ｌｉ（図７Ｂ参照）及び−Ｒｉ（図８Ａ参照）同士を比較することで、ローカル／リモート差分データを特定する。具体的には、リモートコピープログラム−Ｌｉは、一番左の列のＣＯＷビットを互いに比較していくと、ブロックアドレス０〜４で不一致となる。ＣＯＷの発生によるものなので、ローカル／リモート差分データは、ＳＳ−１については、ＰＶＯＬ内のブロックデータ“ｘ”、“ｙ”、“ｃ”、“ｄ”及び“ｅ”となる。次に、左端から２列目のＣＯＷビットをアドレス順に調べていくと、ＣＯＷが発生していないので、ＳＳ−２については、ローカル／リモート差分データが発生していないことがわかる。よって、特定されるローカル／リモート差分データは、下記の通り、
ＳＳ−１：ＰＶＯＬブロック−Ｌｉ＃０〜４に記憶されているブロックデータ“ｘ”、“ｙ”、“ｃ”、“ｄ”及び“ｅ”、
ＳＳ−２：無し（スナップショット名のみ）
となる。上記ブロックデータ“ｘ”、“ｙ”、“ｃ”、“ｄ”及び“ｅ”は、仮想ＮＡＳ−ＬｉについてのＳＳ−１とＳＳ−２との差分としてのスナップ差分データにも相当する。従って、ブロックデータ“ｘ”、“ｙ”、“ｃ”、“ｄ”及び“ｅ”がＰＶＯＬブロック−Ｒｉ＃０〜４にリモートコピーされ、ＳＳ−２について差分無しが通知される。このため、リモート側では、仮想ＮＡＳ−Ｒｉによって、下記の処理（８Ｂ−１）及び（８Ｂ−２）、
（８Ｂ−１）ＰＶＯＬブロック−Ｒｉ＃０〜４についてのＣＯＷの発生、
（８Ｂ−２）スナップショット名が“ＳＳ−２”である２個目のスナップショットの取得、
が行われる。このため、スナップショット管理テーブル−Ｒｉが、図８Ｂに示すように更新される。ただし、ＣＯＷでのブロックデータの退避先は、必ずしも、同じアドレスのブロックにならなくても良い。
【００５３】
以上のようにして、ローカル／リモート差分データが特定され、また、スナップショットがリモートコピーされる。
【００５４】
さて、本実施形態では、大まかに、以下の６つのステップ、
ステップ１：初期コピー、
ステップ２：転送日時及び時間長とスナップ差分データ量に基づく仮想ＮＡＳ−Ｒｉのマイグレーション、
ステップ３：ＮＡＳサーバ−Ｒの停止（節電状態への遷移）、
ステップ４：スナップショット管理テーブル−Ｒｉの送付、及びローカル／リモート差分データ総量の算出、
ステップ５：ＮＡＳサーバ−Ｒの起動、
ステップ６：起動したＮＡＳサーバＲ内の仮想ＮＡＳ−Ｒｉへのリモートコピー、
が行われる。以下、各ステップを説明する。
【００５５】
＜ステップ１：初期コピー＞
初期状態として、図９に示す状態になっているとする。すなわち、ＮＡＳサーバ−Ｌ１で、仮想ＮＡＳ−Ｌ１及び−Ｌ２が動作しており、仮想ＮＡＳサーバ−Ｌ２で、仮想ＮＡＳ−Ｌ３及び−Ｌ４が動作している。一方、ＮＡＳサーバ−Ｒ１で、仮想ＮＡＳ−Ｒ１及び−Ｒ２が動作しており、ＮＡＳサーバ−Ｒ２で、仮想ＮＡＳ−Ｒ３及び−Ｒ４が動作している。そして、各ＰＶＯＬ−Ｌｉ及びＤＶＯＬ−Ｌｉが各ＰＶＯＬ−Ｒｉ及びＤＶＯＬ−Ｒｉにコピーされることにより（つまり初期コピーが行われることにより）、各ＰＶＯＬ−Ｌｉ及びＤＶＯＬ−Ｌｉの中身と各ＰＶＯＬ−Ｒｉ及びＤＶＯＬ−Ｒｉの中身が同じである状態になっている。
【００５６】
＜ステップ２：転送日時及び時間長とスナップ差分データ総量に基づく仮想ＮＡＳ−Ｒｉのマイグレーション＞
管理サーバ１０５内のＮＡＳ管理プログラム２１１が、以下の（Ｓ２−１）乃至（Ｓ２−３）の処理、
（Ｓ２−１）図１０に示すように、ログ情報と差分データ量情報を、各仮想ＮＡＳ−Ｌから取得する、
（Ｓ２−２）図１１に示すように、複数の仮想ＮＡＳ−Ｒを、リモートコピーパターン（ログ情報から特定されるコピー開始日時、コピー終了日時、及び転送時間長と、差分データ量情報から特定されるスナップ差分データ量との両方）が類似した二以上の仮想ＮＡＳ−Ｌとそれぞれペアを構成する二以上の仮想ＮＡＳ−Ｒで構成される二以上のグループに分類する、
（Ｓ２−３）二以上のグループからグループを選択する、
（Ｓ２−４）選択されたグループに属する二以上の仮想ＮＡＳ−Ｒが動作可能なハードウェアスペックを有するＮＡＳサーバ−Ｒを、複数のＮＡＳサーバ−Ｒから選択する、
（Ｓ２−５）図１１に示すように、（Ｓ２−３）で選択されたグループ内の或る仮想ＮＡＳ−Ｒが、（Ｓ２−４）で選択されたＮＡＳサーバ−Ｒと別のＮＡＳサーバ−Ｒに存在する場合は、上記或る仮想ＮＡＳ−Ｒを、別のＮＡＳサーバ−Ｒから上記選択されたＮＡＳサーバ−Ｒにマイグレーションする、
を実行する。マイグレーションの完了後、同一のＮＡＳサーバ−Ｒに存在する複数の仮想ＮＡＳ−Ｒｉと、それらとペアを構成する複数の仮想ＮＡＳ−Ｌｉとの間で、並行して、スナップショットのリモートコピーが行われる。また、同一のＮＡＳサーバ−Ｒには、転送日時及び時間長とスナップ差分データ量とで定義されるリモートコピーパターンが類似した仮想ＮＡＳ−Ｒのみが存在している。これらのことから、同一のＮＡＳサーバ−Ｒに存在する全ての仮想ＮＡＳ−Ｒｉについて、リモートコピーの開始日時及び終了日時が近似し、故に、そのＮＡＳサーバ−Ｒが停止した状態でいられる時間長をなるべく長くすることができる。
【００５７】
以下、このステップ２について、幾つかの事柄について詳細に説明する。
【００５８】
＜＜転送日時及び時間長とスナップ差分データ量とについて＞＞。
【００５９】
ここで、仮想ＮＡＳ−Ｌｉ及び−Ｒｉについての「転送日時」とは、仮想ＮＡＳ−Ｌｉから仮想ＮＡＳ−Ｒｉにスナップショットの転送（スナップ差分データ群の転送）の開始日時及び／又は終了日時のことであり、「転送時間長」とは、開始日時と終了日時との間の時間長のことである。転送日時及び時間長は、各リモートコピープログラム−Ｌｉが出力するログ情報を基に把握することができる。
【００６０】
図１２Ａ乃至図１２Ｄは、仮想ＮＡＳ−Ｌ１乃至−Ｌ４からそれぞれ取得されるログ情報及び差分データ量情報を示す。
【００６１】
ログ情報には、各回のリモートコピーについて、コピー開始（スナップショットの転送開始）の日時と、コピー終了（スナップショットの転送終了）の日時とが記録されている。各ログ情報から、各回のリモートコピーについての転送日時及び時間長が把握される。
【００６２】
差分データ量情報には、最新のコピー済のスナップショット（基点スナップショット）とコピー対象のスナップショット（例えば基点スナップショットの次の世代のスナップショット）との間に存在するスナップ差分データの総量（スナップ差分データ量）を表す情報が含まれている。
【００６３】
以上のログ情報及び差分データ量情報が、各リモートコピープログラム−Ｌｉから管理サーバ１０５内のＮＡＳ管理プログラム２１１に送信される。ＮＡＳ管理プログラム２１１は、ログ情報及び差分データ量情報を基に、仮想ＮＡＳ−Ｒｉのグループ分けを行う。なお、ログ情報は、各リモートコピープログラム−Ｒｉからも出力されるが、後述するように、ＮＡＳサーバ−Ｒは節電状態とされそのＮＡＳサーバ−Ｒに存在する各ＮＡＳ−Ｒｉは停止していることがあるため、リモートコピープログラム−Ｒｉからはログ情報を取得できない可能性がある。このため、上記のように、各リモートコピープログラム−Ｌｉからログ情報を収集する方が好ましいと考えられる。
【００６４】
また、ログ情報に代えて又は加えて、予め各リモートコピープログラム−Ｒｉに対して設定されているリモートコピースケジュール（例えば定時に実行されるリモートコピーの実行日時）、及び／又は、予め各スナップショットプログラム−Ｌｉに対して設定されているスナップショット取得スケジュール（例えば定時に実行されるスナップショット取得の実行日時）に基づいて、転送日時及び時間長が把握されても良い。すなわち、本実施形態では、リモートコピーは、リモートコピープログラム−Ｒｉが、予め設定されているリモートコピースケジュールを基に、定時に、コピー要求をリモートコピープログラム−Ｌｉに送ることで、開始される。しかし、それに限らず、例えば、リモートコピースケジュールも予め仮想ＮＡＳ−Ｌｉ側に設定さえていて、リモートコピープログラム−Ｌｉが、そのスケジュールを基に、コピー要求をリモートコピープログラム−Ｒｉから受けること無しに、コピーを開始しても良い。
【００６５】
＜＜仮想ＮＡＳ−Ｒｉのマイグレーションについて＞＞。
【００６６】
図１３を参照し、マイグレーション対象を仮想ＮＡＳ−Ｒｉを仮想ＮＡＳ−Ｒ２とし、マイグレーション元をＮＡＳサーバ−Ｒ１とし、マイグレーション先をＮＡＳサーバ−Ｒ２とした場合、ＮＡＳ管理プログラム２１１は、以下の（Ｓ２Ａ−１）乃至（Ｓ２Ａ−３）の処理、
（Ｓ２Ａ−１）仮想ＮＡＳ−Ｒ２を停止する、
（Ｓ２Ａ−２）仮想ＮＡＳ−Ｒ２が格納されているシステムＬＵの接続先を、ＮＡＳサーバ−Ｒ１からＮＡＳサーバ−Ｒ２に切り替える、
（Ｓ２Ａ−３）ＮＡＳサーバ−Ｒ２で、仮想ＮＡＳ−Ｒ２を起動する、
を実行する。これにより、（Ｓ２Ａ−２）でＮＡＳサーバ−Ｒ２に接続されたシステムＬＵから仮想ＮＡＳ−Ｒ２がＮＡＳサーバ−Ｒ２に読み出され、ＮＡＳサーバ−Ｒ２で仮想ＮＡＳ−Ｒ２が動作することができるようになる（この他、図１３では、仮想ＮＡＳ−Ｒ３が、ＮＡＳサーバ−Ｒ２からＮＡＳサーバ−Ｒ１にマイグレーションされている）。
【００６７】
＜＜（Ｓ２−４）でのＮＡＳサーバ−Ｒの選択＞＞。
【００６８】
前述した（Ｓ２−４）では、図１４に例示するスペックテーブル１３００を基に、ＮＡＳサーバ−Ｒが選択される。図１４に示すテーブル１３００によれば、ＮＡＳサーバ−Ｒ毎に、仮想ＮＡＳ−Ｒの最大収容台数（仮想ＮＡＳ−Ｒが最大で幾つ動作することができるか）と収容数（仮想ＮＡＳ−Ｒが現在幾つ動作しているか）が記録されている。ＮＡＳ管理プログラム２１１は、（Ｓ２−３）で選択されたグループに属する仮想ＮＡＳ−Ｒの数ｋ（ｋは自然数）以上が最大収容台数となっているＮＡＳサーバ−Ｒを、（Ｓ２−４）で選択する。ＮＡＳ管理プログラム２１１は、任意のタイミング、例えば、例えば上記のマイグレーションの完了時に、選択したＮＡＳサーバ−Ｒに対応する収容数（スペックテーブル１３００に記録されている収容数）に、上述のｋを加算する。
【００６９】
＜ステップ３：ＮＡＳサーバ−Ｒの停止（節電状態への遷移）＞
ＮＡＳ管理プログラム２１１は、図１５に示すように、或るＮＡＳサーバ−Ｒに存在する全ての仮想ＮＡＳ−Ｒｉに対してリモートコピーが完了した場合に、その或るＮＡＳサーバ−Ｒについて、引き継ぎ処理と、停止処理とを実行する。引き継ぎ処理では、以下の（３Ａ−１）乃至（３Ａ−３）の処理、
（３Ａ−１）停止対象のＮＡＳサーバ−Ｒ（上記或るＮＡＳサーバ−Ｒ）に存在する各仮想ＮＡＳ−ＲｉからＮＡＳ管理プログラム２１１に、各仮想ＮＡＳ−Ｒｉが各仮想ＮＡＳ−Ｌｉと通信するために使用するＩＰアドレスが引き継がれる、
（３Ａ−２）停止対象のＮＡＳサーバ−Ｒへ張られていた、各仮想ＮＡＳ−Ｒｉに対応した各ＤＶＯＬ−Ｒｉへのパスが、管理サーバ２１１に引き継がれる（各ＤＶＯＬ−Ｒｉが管理サーバ２１１に接続される）、
（３Ａ−３）ＮＡＳ管理プログラム２１１が、管理サーバ２１１に接続された各ＤＶＯＬ−Ｒｉから各スナップショット管理テーブル−Ｒｉを取得する、
が実行される。停止処理では、ＮＡＳ管理プログラム２１１が、停止対象のＮＡＳサーバ−Ｒに対して、（３Ｂ−１）及び（３Ｂ−２）の処理、
（３Ｂ−１）停止対象のＮＡＳサーバ−Ｒに存在する全ての仮想ＮＡＳ−Ｒｉを停止する（終了する）、
（３Ｂ−２）停止対象のＮＡＳサーバ−Ｒを停止する（節電状態に遷移させる）、
を実行する。
【００７０】
＜ステップ４：スナップショット管理テーブル−Ｒｉの送付、及びローカル／リモート差分データ総量の算出＞
このステップ４では、以下の（４−１）乃至（４−２）の処理、
（４−１）図１６に示すように、ＮＡＳ管理プログラム２１１が、停止された仮想ＮＡＳ−Ｒｉに対応したスナップショット管理テーブル−Ｒｉ（前述の（３Ａ−３）で取得されたスナップショット管理テーブル−Ｒｉ）を、前述の（３Ａ−１）で取得されたＩＰアドレス（停止された仮想ＮＡＳ−Ｒｉとペアを構成する仮想ＮＡＳ−ＬｉのＩＰアドレス）を使用して、停止された仮想ＮＡＳ−Ｒｉとペアを構成する仮想ＮＡＳ−Ｌｉに送付する（図１６では、例えば、仮想ＮＡＳ−Ｒ２に対応したスナップショット管理テーブル−Ｒ２は、仮想ＮＡＳ−Ｌ２にのみ送付され、他の仮想ＮＡＳ−Ｌには送付されない）、
（４−２）図１７に示すように、ＮＡＳ管理プログラム２１１が、定期的に、ローカル／リモート差分データ量を各仮想ＮＡＳ−Ｌｉに問い合わせる、
（４−３）図１７に示すように、ローカル／リモート差分データ量の問い合わせを受けた仮想ＮＡＳ−Ｌｉは、前述した方法でローカル／リモート差分データの量を算出し（具体的には、ステップ４で受けたスナップショット管理テーブル−Ｒｉと、最新のスナップショット管理テーブル−Ｌｉとを比較することで、ローカル／リモート差分データの量を算出し）、算出されたローカルリモート差分データ量を、ＮＡＳ管理プログラム２１１に返す、
（４−４）ＮＡＳ管理プログラム２１１が、各仮想ＮＡＳ−Ｌｉからのローカル／リモート差分データ量を基に、ローカル／リモート差分データの総量を算出する、
が実行される。算出された結果は、例えば、図１８に示すように、差分データ量テーブル１８００に記録される。このテーブル１８００によれば、ＮＡＳサーバ−Ｌ毎に、ローカル／リモート差分データの量がＤＶＯＬ単位、仮想ＮＡＳ−Ｒ単位、及びＮＡＳサーバ−Ｒ単位で記録される。どのＮＡＳサーバ−Ｌにどの仮想ＮＡＳ−Ｌが存在するかが、例えばこのテーブル１８００で管理されており、ローカル／リモート差分データの量が返却される都度に、このテーブル１８００が更新される。ローカル／リモート差分データの量は、例えばＤＶＯＬ単位で返却されＤＶＯＬ毎のローカル／リモート差分データの量を合計することで、仮想ＮＡＳ−Ｒ単位のローカル／リモート差分データの総量、及び、ＮＡＳサーバ−Ｒ単位のローカル／リモート差分データの総量がわかる。
【００７１】
なお、スナップショット管理テーブル−Ｒｉがリモートコピープログラム−Ｌｉに送信されることに代えて、リモートコピープログラム−Ｌｉから、スナップショット管理テーブル−ＬｉがＮＡＳ管理プログラム２１１に送信され、ＮＡＳ管理プログラム２１１が、それらのテーブル−Ｌｉ及び−Ｒｉを比較することで、ローカル／リモート差分データ量を算出しても良い。すなわち、リモートコピープログラム−Ｌｉに代えて、ＮＡＳ管理プログラム２１１が、ローカル／リモート差分データ量を算出しても良い。しかし、この方式だと、スナップショット管理テーブル−Ｌｉの更新の都度にリモートコピープログラム−ＬｉがＮＡＳ管理プログラム２１１にスナップショット管理テーブル−Ｌｉを送信する必要があり得るので、オーバーヘッドの問題が生じ得る。このため、その方式よりも、本実施形態のように、リモートコピープログラム−Ｌｉがスナップショット管理テーブル−Ｒを受けてローカル／リモート差分データ量を算出する方式の方が、好ましいと考えられる。
【００７２】
＜ステップ５：ＮＡＳサーバ−Ｒの起動＞
ＮＡＳ管理プログラム２１１は、図１９に示すように、仮想ＮＡＳ−Ｒ単位でのローカル／リモート差分データ総量が第一の規定値を超えている場合、及び／又は、ＮＡＳサーバ−Ｒ単位でのローカル／リモート差分データ総量が第二の規定値を超えている場合、第一及び／又は第二の規定値を超えた総量に関わるＮＡＳサーバ−Ｒ１を起動する（ＮＡＳサーバ−Ｒ１の節電状態を解除する）。なお、ＮＡＳサーバ−Ｒ１が起動された場合、ＮＡＳサーバ−Ｒ１に存在する全ての仮想ＮＡＳ−Ｒ１及び−Ｒ３が起動されても良いが、例えば、仮想ＮＡＳ−Ｒ単位でのローカル／リモート差分データ総量が第一の規定値を超えている仮想ＮＡＳ−Ｒが仮想ＮＡＳ−Ｒ３のみである場合は（言い換えれば、リモートコピーが必要となる仮想ＮＡＳ−Ｒが仮想ＮＡＳ−Ｒ３のみである場合は）、仮想ＮＡＳ−Ｒ３のみが起動されても良い。また、ここでは、ＮＡＳサーバ−Ｒ２については、仮想ＮＡＳ−Ｒ単位でのローカル／リモート差分データ総量が第一の規定値を超えていない、及び／又は、ＮＡＳサーバ−Ｒ単位でのローカル／リモート差分データ総量が第二の規定値を超えていないため、停止されたまま（節電状態のまま）とされる。また、第一の規定値は、複数の仮想ＮＡＳ−Ｒに共通の値であっても良いし、仮想ＮＡＳ−Ｒ毎に異なる値であっても良い。同様に、第二の規定値も、複数のＮＡＳサーバ−Ｒに共通の値であっても良いし、ＮＡＳサーバ−Ｒ毎に異なる値であっても良い。
【００７３】
＜ステップ６：起動したＮＡＳサーバ−Ｒ内の仮想ＮＡＳ−Ｒｉへのリモートコピー＞
起動されたＮＡＳサーバ−Ｒ１内の仮想ＮＡＳ−Ｒ１（及び−Ｒ３）は、定時になると（予め設定されているリモートコピー日時になると）、図２０に示すように、仮想ＮＡＳ−Ｌ１（及び−Ｌ３）から、それぞれ、スナップ差分データを受けてＰＶＯＬ−Ｒ１（及び−Ｒ３）ＤＶＯＬ−Ｒ１（及び−Ｒ３）、及びスナップショット管理テーブル−Ｒ１（−Ｒ３）を更新する。これによりＰＶＯＬ−Ｒ１（及び−Ｒ３）ＤＶＯＬ−Ｒ１（及び−Ｒ３）、及びスナップショット管理テーブル−Ｒ１（及び−Ｒ３）がＰＶＯＬ−Ｌ１（及び−Ｌ３）ＤＶＯＬ−Ｌ１（−Ｌ３）及びスナップショット管理テーブル−Ｌ１（及び−Ｌ３）と同じ内容になる。なお、仮想ＮＡＳ−Ｒｉの起動後のリモートコピーは、定時になったことに代えて、起動した仮想ＮＡＳ−Ｒｉが仮想ＮＡＳ−Ｌｉにリモートコピーを要求することにより、行われても良い。すなわち、仮想ＮＡＳ−Ｒｉの起動を契機にリモートコピーが開始されても良い。
【００７４】
この後、ステップ２以降が行われる。すなわち、例えば、予め設定されているスナップショット取得スケジュール及び／又はリモートコピースケジュールに変更があった場合には、ログ情報にも変更が生じるので、仮想ＮＡＳ−Ｒｉのグループ化及びマイグレーションが実行され得る。或いは、スナップ差分データ量の発生パターンに変更が生じた場合にも（例えば、単位時間当たりに生じるスナップ差分データ量が多くなった場合にも）、仮想ＮＡＳ−Ｒｉのグループ化及びマイグレーションが実行され得る。
【００７５】
以下、リモートコピープログラム−Ｌｉ、リモートコピープログラム−Ｒｉ及びＮＡＳ管理プログラム２１１が行う処理のフローを説明する。
【００７６】
図２２は、リモートコピープログラム−Ｌｉが行う処理のフローチャートである。
【００７７】
リモートコピープログラム−Ｌｉは、リモート側からの要求を待つ（Ｓ２２０１）。リモートコピープログラム−Ｌｉは、リモート側からの要求を検知した場合（Ｓ２２０２：ＹＥＳ）、その要求が、リモートコピープログラム−Ｒｉから受けるコピー要求であれば（Ｓ２２０３：ＹＥＳ）、Ｓ２２０４〜Ｓ２２０６を行い、その要求が、管理サーバ１０５から受けるローカル／スナップ差分データ量の問合せであれば、Ｓ２２０７を行う。
【００７８】
Ｓ２２０４では、リモートコピープログラム−Ｌｉは、ログ情報にログ（コピー開始日時）を追記する。
【００７９】
Ｓ２２０５では、リモートコピープログラム−Ｌｉは、スナップショット管理テーブル−Ｌｉを基に、基点スナップショットとコピー対象スナップショットとの間のスナップ差分データ群を特定し、特定されたスナップ差分データ群を、リモートコピープログラム−Ｒｉに送信する。
【００８０】
Ｓ２２０６では、リモートコピープログラム−Ｌｉは、ログ情報にログ（コピー終了日時）を追記する。
【００８１】
Ｓ２２０７では、リモートコピープログラム−Ｌｉは、スナップショット管理テーブル−Ｒｉと、最新のスナップショット管理テーブル−Ｌｉとを比較することで、ローカル／リモート差分データ量を計算し、算出されたローカル／リモート差分データ量を、管理サーバ１０５に通知する。ここでの比較の対象となるスナップショット管理テーブル−Ｒｉは、管理サーバ１０５又はリモートコピープログラム−Ｒｉから受けたテーブルである。
【００８２】
図２３は、リモートコピープログラム−Ｒｉが行う処理のフローチャートである。この処理は、予め設定されている、リモートコピープログラム−Ｒｉ用のリモートコピースケジュールに従って、定期的に又は不定期的に開始される。
【００８３】
リモートコピープログラム−Ｒｉは、最新のスナップショット管理テーブル−ＲｉをＤＶＯＬ−Ｒｉから読み出し、リモートコピープログラム−Ｌｉに送信する（Ｓ２３０１）。そして、リモートコピープログラム−Ｒｉは、リモートコピープログラム−Ｌｉからの応答を待つ（Ｓ２３０２）。
【００８４】
リモートコピープログラム−Ｒｉは、その応答を検知した場合（Ｓ２２０３でＹＥＳ）、すなわちスナップ差分データを受けた場合、受けたスナップ差分データのコピー先記憶領域（ＰＶＯＬ−Ｒｉ内の記憶領域）に記憶されているデータをＤＶＯＬ−Ｒｉに退避するＣＯＷや、コピー先記憶領域へのスナップ差分データの書き込みを行うことで、ＰＶＯＬ−ＲｉＤＶＯＬ−Ｒｉ及びスナップショット管理テーブル−Ｒｉを更新する（Ｓ２３０４）。
【００８５】
図２４は、ＮＡＳ管理プログラム２１１内の起動処理プログラム２１１１が行う処理のフローチャートである。この処理は、図２２及び図２３に示した処理とは独立して定期的に又は不定期的に実行される。
【００８６】
起動処理プログラム２１１１は、停止中のＮＡＳサーバ−Ｒ内の一つの仮想ＮＡＳ−Ｒｉを選択し、選択した仮想ＮＡＳ−Ｒｉとペアになっている仮想ＮＡＳ−Ｌｉに、ローカル／リモート差分データ量を問い合わせる（Ｓ２４０１）。その問合せに応答して、仮想ＮＡＳ−Ｌｉ内のリモートコピープログラム−Ｌｉから、ローカル／リモート差分データ量が送られて来る。
【００８７】
起動処理プログラム２１１１は、仮想ＮＡＳ−Ｒｉについてのローカル／リモート差分データの総量が第一の規定値を超えている場合、及び／又は、その仮想ＮＡＳ−Ｒｉを有するＮＡＳサーバ−Ｒについてのローカル／リモート差分データの総量が第二の規定値を超えている場合（Ｓ２４０２でＹＥＳ）、そのＮＡＳサーバ−Ｒが節電状態か否かを判断する（Ｓ２４０３）。そのＮＡＳサーバ−Ｒが節電状態であれば（Ｓ２４０３でＹＥＳ）、起動処理プログラム２１１１は、そのＮＡＳサーバ−Ｒの節電状態を解除し（Ｓ２４０４）、少なくともＳ２４０１で選択された仮想ＮＡＳ−Ｒｉを起動する（Ｓ２４０５）。
【００８８】
その後、起動処理プログラム２１１１は、全ての仮想ＮＡＳ−ＲについてＳ２４０１以降を行っていなければ（Ｓ２４０６でＮＯ）、未選択の仮想ＮＡＳ−ＲについてＳ２４０１を実行する。一方、全ての仮想ＮＡＳ−ＲについてＳ２４０１以降を行っていれば（Ｓ２４０６でＹＥＳ）、起動処理プログラム２１１１は、一定時間待って（Ｓ２４０７）、再び、Ｓ２４０１を実行する。
【００８９】
図２５は、ＮＡＳ管理プログラム２１１内の停止処理プログラム２１１２が行う処理のフローチャートである。この処理は、図２２及び図２３に示した処理とは独立して定期的に又は不定期的に実行される。
【００９０】
停止処理プログラム２１１２は、複数のＮＡＳサーバ−Ｒから一つのＮＡＳサーバ−Ｒを選択し、選択されたＮＡＳサーバ−Ｒの電力消費状態をチェックする（Ｓ２５０１）。
【００９１】
停止処理プログラム２１１２は、チェックした電力消費状態が節電状態でなければ（Ｓ２５０２でＮＯ）、Ｓ２５０１で選択したＮＡＳサーバ−Ｒ内の各仮想ＮＡＳ−Ｒｉのログ情報を監視する（Ｓ２５０３）。
【００９２】
停止処理プログラム２１１２は、複数の仮想ＮＡＳ−Ｒｉに対応したログ情報から、それら複数の仮想ＮＡＳ−Ｒｉの全てについてリモートコピーが完了したことを特定できたならば（Ｓ２５０４でＹＥＳ）、それら複数の仮想ＮＡＳ−Ｒｉについて、仮想ＮＡＳ−Ｌｉとの通信で使用するＩＰアドレスと、スナップショット管理テーブル−Ｒｉとの引き継ぎを受ける（Ｓ２５０５）。
【００９３】
停止処理プログラム２１１２は、Ｓ２５０１で選択したＮＡＳサーバ−Ｒ内の各仮想ＮＡＳ−Ｒｉに、停止要求を送信する（Ｓ２５０６）。これにより、各仮想ＮＡＳ−Ｒｉが停止する。
【００９４】
その後、停止処理プログラム２１１２は、Ｓ２５０１で選択したＮＡＳサーバ−Ｒに、停止要求（節電状態へ遷移することの要求）を送信する（Ｓ２５０７）。これにより、そのＮＡＳサーバ−Ｒが節電状態になる。
【００９５】
停止処理プログラム２１１２は、全てのＮＡＳサーバ−Ｒについて、Ｓ２５０１以降を行っていなければ（Ｓ２６０８でＮＯ）、未選択のＮＡＳサーバ−ＲについてＳ２５０１を実行し、全てのＮＡＳサーバ−Ｒについて、Ｓ２５０１以降を行っていれば（Ｓ２６０８でＹＥＳ）、処理を終了する。なお、停止処理プログラム２１１２は、画面表示或いは音声出力等で、節電状態に遷移させる対象のＮＡＳサーバ−Ｒがどれであるかをユーザに知らせることできる。
【００９６】
図２６は、ＮＡＳ管理プログラム２１１内のマイグレーション処理プログラム２１１３が行う処理のフローチャートである。この処理は、図２２及び図２３に示した処理とは独立して定期的に又は不定期的に実行される。
【００９７】
マイグレーション処理プログラム２１１３は、ログ情報（図１２Ａ乃至図１２Ｄ）と差分データ量テーブル１８００（図１８参照）とを基に、複数の仮想ＮＡＳ−Ｒｉをグループ分けする（Ｓ２６０１、Ｓ２６０２でＮＯ）。
【００９８】
そのグループ分けが済んだならば（Ｓ２６０２でＹＥＳ）、マイグレーション処理プログラム２１１３は、複数のグループから一つのグループを選択する（Ｓ２６０３）。
【００９９】
マイグレーション処理プログラム２１１３は、選択されたグループ内の仮想ＮＡＳ−Ｒｉの数と、スペックテーブル１３００（図１４参照）とを基に、選択されたグループ内の全ての仮想ＮＡＳ−Ｒｉが動作可能なコンピュータ資源を有するＮＡＳサーバ−Ｒを選択する（Ｓ２６０４）。そのＮＡＳサーバ−Ｒが節電状態であれば（Ｓ２６０５でＹＥＳ）、マイグレーション処理プログラム２１１３は、そのＮＡＳサーバ−Ｒの節電状態を解除する（Ｓ２６０６）。
【０１００】
マイグレーション処理プログラム２１１３は、Ｓ２６０３で選択したグループ内の複数の仮想ＮＡＳ−Ｒｉから一つの仮想ＮＡＳ−Ｒｉを選択する（Ｓ２６０７）。マイグレーション処理プログラム２１１３は、選択した仮想ＮＡＳ−Ｒｉが、Ｓ２６０４で選択したＮＳサーバ−Ｒに存在するか否かを判断する（Ｓ２６０８）。その仮想ＮＡＳ−Ｒｉが別のＮＡＳサーバ−Ｒに存在していれば（Ｓ２６０８でＮＯ）、マイグレーション処理プログラム２１１３は、その仮想ＮＡＳ−Ｒｉを、その別のＮＡＳサーバ−Ｒから、Ｓ２６０４で選択したＮＡＳサーバ−Ｒにマイグレーションする（Ｓ２６０９）。このマイグレーションでは、前述した（Ｓ２Ａ−１）乃至（Ｓ２Ａ−３）の処理が行われる。
【０１０１】
Ｓ２６０７乃至Ｓ２６０９は、Ｓ２６０３で選択されたグループ内の全ての仮想ＮＡＳ−Ｒｉについて行われる（Ｓ２６１０でＮＯ）。また、Ｓ２６０３乃至Ｓ２６１０は、全てのグループについて行われる（Ｓ２６１１でＮＯ）。
【０１０２】
図２７は、図２６のＳ２６０４の詳細の一例を示す。
【０１０３】
マイグレーション処理プログラム２１１３は、Ｓ２６０３で選択されたグループ内の全ての仮想ＮＡＳ−Ｒｉが動作可能な一台のＮＡＳサーバ−Ｒを、スペックテーブル１３００を用いて探す（Ｓ２６０４１）。
【０１０４】
Ｓ２６０４１において、該当する一以上のＮＡＳサーバ−Ｒがあれば（Ｓ２６０４１でＹＥＳ）、マイグレーション処理プログラム２１１３は、該当する一以上のＮＡＳサーバ−Ｒから、マイグレーション回数が最も少なくて済むＮＡＳサーバ−Ｒを選択する（Ｓ２６０４２）。ここで選択されるＮＡＳサーバ−Ｒは、言い換えれば、Ｓ２６０３で選択されたグループ内の仮想ＮＡＳ−Ｒｉが最も多く存在するＮＡＳサーバ−Ｒである。
【０１０５】
一方、Ｓ２６０４１において、該当するＮＡＳサーバ−Ｒがなければ（Ｓ２６０４１でＮＯ）、マイグレーション処理プログラム２１１３は、Ｓ２６０３で選択されたグループ内の全ての仮想ＮＡＳ−Ｒｉを分散して動作させるための複数のＮＡＳサーバ−Ｒを選択する（Ｓ２６０４３）。具体的には、例えば、Ｓ２６０３で選択されたグループ内の仮想ＮＡＳ−Ｒｉの数が２０で、一方、仮想ＮＡＳ−Ｒｉの最大収容数が１５と５の２台のＮＡＳサーバ−Ｒがあれば、それら２台のＮＡＳサーバ−Ｒが選択される。なお、Ｓ２６０４３でも、マイグレーション回数が最も少なくて済むＮＡＳサーバ−Ｒが選択される。
【０１０６】
以上、上述した実施形態によれば、リモートコピーパターン（転送日時及び時間長とスナップ差分データ量とで定義されている）が類似した複数の仮想ＮＡＳ−Ｒが、同一のＮＡＳサーバ−Ｒに集約され、そのＮＡＳサーバ−Ｒには、リモートコピーパターンが非類似の仮想ＮＡＳ−Ｒは存在しない。このため、同一のＮＡＳサーバ−Ｒに存在する全ての仮想ＮＡＳ−Ｒｉについて、リモートコピーの開始日時及び終了日時が近似する。それ故、そのＮＡＳサーバ−Ｒについて、リモートコピーが行われていない状態の時間長をなるべく長くすることができ、以って、節電状態でいられる時間長をなるべく長くすることができる。
【０１０７】
以上、本発明の幾つかの好適な実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【図面の簡単な説明】
【０１０８】
【図１】図１は、本発明の一実施形態に係るコンピュータシステムのハードウェア構成を示す。
【図２】図２は、本発明の一実施形態に係るコンピュータシステムのソフトウェア構成を示す。
【図３】図３Ａは、或る時点でのＰＶＯＬ−Ｌｉ、ＤＶＯＬ−Ｌｉ及びスナップショット管理テーブル−Ｌｉを示す。図３Ｂは、スナップショット（ＳＳ−１）の取得時点でのＰＶＯＬ−Ｌｉ、ＤＶＯＬ−Ｌｉ及びスナップショット管理テーブル−Ｌｉを示す。
【図４】図４Ａは、スナップショット（ＳＳ−１）の取得時点以降にＰＶＯＬ−Ｌｉに更新が発生した場合のＰＶＯＬ−Ｌｉ、ＤＶＯＬ−Ｌｉ及びスナップショット管理テーブル−Ｌｉを示す。図４Ｂは、スナップショット（ＳＳ−１）の再現の仕方を示す。
【図５】図５は、スナップショット間の差分がリモートコピーされることを示す。
【図６】図６は、仮想ＮＡＳ−Ｌｉと仮想ＮＡＳ−Ｒｉとの間でリモートコピーが行われることを示す（図６ではｉ＝１）。
【図７】図７Ａは、初期コピー完了時のＰＶＯＬ−Ｌｉ（−Ｒｉ）、ＤＶＯＬ−Ｌｉ（−Ｒｉ）及びスナップショット管理テーブル−Ｌｉ（−Ｒｉ）を示す。図７Ｂは、ローカル側でスナップショット（ＳＳ−１）に関して５回のＣＯＷ（Copy On Write）が発生した場合のＰＶＯＬ−Ｌｉ、ＤＶＯＬ−Ｌｉ及びスナップショット管理テーブル−Ｌｉを示す。
【図８】図８Ａは、リモートコピープログラム−Ｌｉに送信されるスナップショット管理テーブル−Ｒｉ、及びそのときのＰＶＯＬ−Ｒｉ及びＤＶＯＬ−Ｒｉを示す。図８Ｂは、スナップ差分データのリモートコピー後のＰＶＯＬ−Ｒｉ、ＤＶＯＬ−Ｒｉ及びスナップショット管理テーブル−Ｒｉを示す。
【図９】図９は、ステップ１：初期コピーの前の初期の状態を示す。
【図１０】図１０は、各仮想ＮＡＳ−Ｌｉが管理サーバにログ情報及び差分データ量情報を送信することを示す。
【図１１】図１１は、複数の仮想ＮＡＳ−Ｒｉのグループ分けを示す。
【図１２】図１２Ａは、仮想ＮＡＳ−Ｌ１が出力したログ情報及び差分データ量情報を示す。図１２Ｂは、仮想ＮＡＳ−Ｌ２が出力したログ情報及び差分データ量情報を示す。図１２Ｃは、仮想ＮＡＳ−Ｌ３が出力したログ情報及び差分データ量情報を示す。図１２Ｄは、仮想ＮＡＳ−Ｌ４が出力したログ情報及び差分データ量情報を示す。
【図１３】図１３は、仮想ＮＡＳ−Ｒ２及び−Ｒ３のマイグレーションの説明図である。
【図１４】図１４は、スペックテーブルの構成例を示す。
【図１５】図１５は、仮想ＮＡＳ−ＬｉのＩＰアドレスとスナップショット管理テーブル−Ｒｉの引き継ぎ、及び、ＮＡＳサーバ−Ｒの節電状態への遷移を示す。
【図１６】図１６は、停止された仮想ＮＡＳ−Ｒｉに対応した仮想ＮＡＳ−Ｌｉへの、スナップショット管理テーブル−Ｒｉの送信を示す。
【図１７】図１７は、仮想ＮＡＳ−Ｌｉで算出されたローカル／スナップ差分データ量がＮＡＳ管理プログラムに通知されることを示す。
【図１８】図１８は、差分データ量テーブルの構成例を示す。
【図１９】図１９は、規定値を超えているローカル／リモート差分データ総量に関するＮＡＳサーバ−Ｒの節電状態の解除と、規定値を超えていないローカル／リモート差分データ総量に関するＮＡＳサーバ−Ｒの節電状態の維持とを示す。
【図２０】図２０は、節電状態が解除されたＮＡＳサーバ−Ｒ内での仮想ＮＡＳ−Ｒ１及び−Ｒ３と仮想ＮＡＳ−Ｌ１及び−Ｌ３との間でリモートコピーが行われることを示す。
【図２１】図２１は、ＮＡＳ管理プログラムの構成例を示す。
【図２２】図２２は、リモートコピープログラム−Ｌｉが行う処理のフローチャートである。
【図２３】図２３は、リモートコピープログラム−Ｒｉが行う処理のフローチャートである。
【図２４】図２４は、ＮＡＳ管理プログラム内の起動処理プログラムが行う処理のフローチャートである。
【図２５】図２５は、ＮＡＳ管理プログラム内の停止処理プログラムが行う処理のフローチャートである。
【図２６】図２６は、ＮＡＳ管理プログラム２１１内のマイグレーション処理プログラムが行う処理のフローチャートである。
【図２７】図２７は、図２６のＳ２６０４の詳細の一例を示す。
【符号の説明】
【０１０９】
１００Ｌ…ローカルサイト  １００Ｒ…リモートサイト  １０１Ｌ、１０１Ｒ…ＮＡＳサーバ  １０３Ｌ、１０３Ｒ…ストレージシステム  １０６…管理サーバ
【図１】
2010026940.tif 000003
【図２】
2010026940.tif 000004
【図３】
2010026940.tif 000005
【図４】
2010026940.tif 000006
【図５】
2010026940.tif 000007
【図６】
2010026940.tif 000008
【図７】
2010026940.tif 000009
【図８】
2010026940.tif 000010
【図９】
2010026940.tif 000011
【図１０】
2010026940.tif 000012
【図１１】
2010026940.tif 000013
【図１２】
2010026940.tif 000014
【図１３】
2010026940.tif 000015
【図１４】
2010026940.tif 000016
【図１５】
2010026940.tif 000017
【図１６】
2010026940.tif 000018
【図１７】
2010026940.tif 000019
【図１８】
2010026940.tif 000020
【図１９】
2010026940.tif 000021
【図２０】
2010026940.tif 000022
【図２１】
2010026940.tif 000023
【図２２】
2010026940.tif 000024
【図２３】
2010026940.tif 000025
【図２４】
2010026940.tif 000026
【図２５】
2010026940.tif 000027
【図２６】
2010026940.tif 000028
【図２７】
2010026940.tif 000029