説明

計算機システム及び第1記憶装置

【課題】適切な更新履歴のみを記憶装置間で移行する。
【解決手段】第1記憶装置と、第2記憶装置と、を備える計算機システムであって、前記第1記憶装置は、第1記憶部と、第1制御部と、を備え、前記第2記憶装置は、第2記憶部と、第2制御部と、を備え、前記第1制御部は、更新履歴を記録し、前記第1記憶部に記憶されるデータが前記第2記憶部に移行される場合、前記記録された更新履歴の中から、前記移行されるデータに関する更新履歴を特定し、前記特定された更新履歴を、新しい更新履歴から順に選択し、前記選択された更新履歴が、現時点から、前記第2記憶装置に設定されている更新履歴保持期間遡るまでの間におけるデータ更新に対応するか否かを判定し、対応すると判定した場合、前記選択された更新履歴を前記ネットワークを介して前記第2制御部に送信し、対応しないと判定した場合、前記更新履歴の選択を終了することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の記憶装置を含む計算機システムに関し、書込データ及び更新履歴(ジャーナル)を、記憶装置間で移行する技術に関する。
【背景技術】
【0002】
近年、企業の情報システムで扱われるデータの量は増大する傾向にある。これらのデータは、ディスクアレイ装置のような大規模な記憶装置で管理されている。企業では、情報システムの可用性を高めるために、記憶領域(データボリューム)がバックアップされている。このバックアップを用いることによって、記憶装置の障害によるデータの破壊、ウイルスによるデータ破壊、又はユーザの誤操作などによるデータの損失が発生しても、データをリカバリできる。
【0003】
例えば、ジャーナリングを用いたバックアップ及びリカバリ技術が特許文献1に開示されている。特許文献1に開示された技術では、記憶装置は、特定時点におけるデータボリュームの複製(スナップショット)に、Afterジャーナルデータを書き込むことによって、スナップショット作成時点以降の任意の時点におけるデータをリカバリできる。なお、Afterジャーナルデータは、スナップショット作成時点以降にデータボリュームへ書き込まれたデータである。この技術は、一般的には、CDP(Continuous Data Protection)と呼ばれている。
【0004】
更に、特許文献1に開示された技術では、記憶装置は、特定時点におけるデータボリュームのスナップショットに、Beforeジャーナルデータを書き戻すことによって、スナップショット作成時点以前の任意の時点におけるデータをリカバリできる。なお、Beforeジャーナルデータは、データボリュームへの書き込みによって更新される前のデータである。
【0005】
以降、ジャーナルとは、Afterジャーナル及びBeforeジャーナルを含む。
【0006】
一方、ジャーナルを記憶する記憶装置と異なる記憶装置においてリカバリを行う技術が、特許文献2に開示されている。これによると、第一記憶装置が、Beforeジャーナル及びAfterジャーナルを第二記憶装置に送信する。すると、第二記憶装置は、受信したBeforeジャーナル及びAfterジャーナルを用いて、データをリカバリする。
【0007】
一方、記憶装置間のデータ移行技術が特許文献3に開示されている。特許文献3に開示されている技術では、移行先の記憶装置がシステムの運用中にデータ移行処理を行うことで、データ移行処理時におけるシステムの停止時間が短縮される。
【0008】
具体的には、ホスト計算機と移行先の記憶装置とが接続され、移行元の記憶装置と移行先の記憶装置とが接続されている。そして、移行先の記憶装置は、移行元の記憶装置に備わるデータボリュームに記憶されるデータを、当該移行先の記憶装置に備わるデータボリュームにコピーする。なお、移行先の記憶装置は、データのコピー処理中にも、ホスト計算機からアクセス要求を受け付ける。ホスト計算機からのアクセス要求によって要求されたデータが、移行先の記憶装置に備わるデータボリュームに記憶されている場合、当該データへのアクセスが許可される。
【0009】
一方、アクセス要求によって要求されたデータが、移行先の記憶装置に備わるデータボリュームに記憶されていない場合、移行先の記憶装置は、アクセス要求によって要求されたデータを、移行元の記憶装置に備わるデータボリュームから、当該移行先記憶装置に備わるデータボリュームにコピーする。その後、アクセス要求によって要求されたデータへのアクセスが許可される。
【0010】
このようにして、特許文献3に開示されている技術では、データ移行中であっても、システムを継続して運用可能である。
【特許文献1】特開2004−252686号公報
【特許文献2】特開2005−222110号公報
【特許文献3】特表平10−508967号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
特許文献1に開示されている技術及び特許文献2に開示されている技術では、ジャーナルは、ホスト計算機からデータの書き込みを要求されるデータボリュームを備える記憶装置で生成される。
【0012】
特許文献1又は特許文献2に開示されている技術に、特許文献3で開示されている技術が適用されると、データボリュームを記憶装置間で移行できる。しかし、複数の記憶装置にジャーナルが分散してしまう。
【0013】
そのため、移行先の記憶装置が移行前の任意の時点におけるデータをリカバリするためには、移行元の記憶装置に記憶されるジャーナルを移行先の記憶装置に移行する必要がある。
【0014】
移行元の記憶装置に記憶されるすべてのジャーナルが移行先の記憶装置へ移行される場合、ジャーナルのデータ量次第では、移行時間が長大化する。そこで、移行先の記憶装置が、ジャーナル保持期間を満たすジャーナルのみを選択して移行しようとしたとする。
【0015】
しかし、ジャーナルの移行による時間の経過によって、ジャーナルが実際に移行される時点において、移行されるジャーナルが、ジャーナル保持期間を満たさなくなるという問題が発生する。つまり、ジャーナルが実際に移行される時点において、当該ジャーナルが移行先の記憶装置で不要になってしまう。
【0016】
なお、ジャーナル保持期間は、記憶装置がジャーナルを記憶すべき期間である。つまり、記憶装置は、ジャーナルに対応するデータ更新が行われてからジャーナル保持期間を経過するまでは、当該ジャーナルを記憶する必要がある。また、ジャーナル保持期間を満たすジャーナルとは、現時点からジャーナル保持期間遡った時点以降に行われたデータ更新に対応するジャーナルである。一方、ジャーナル保持期間を満たさないジャーナルとは、現時点からジャーナル保持期間遡った時点より前に行われたデータ更新に対応するジャーナルである。
【0017】
本発明は、前述した問題点に鑑みてなされたものであって、適切なジャーナルのみを記憶装置間で移行する計算機システムを提供することを目的とする。
【課題を解決するための手段】
【0018】
第1記憶装置と、前記第1記憶装置にネットワークを介して接続される第2記憶装置と、を備える計算機システムであって、前記第1記憶装置は、ホスト計算機から書き込み要求されるデータを記憶する第1記憶部と、前記第1記憶部に対するデータの入出力を制御する第1制御部と、を備え、前記第2記憶装置は、前記ホスト計算機から書き込み要求されるデータを記憶する第2記憶部と、前記第2記憶部に対するデータの入出力を制御する第2制御部と、を備え、前記第1制御部は、前記第1記憶部に記憶されるデータに関する更新履歴を記録し、前記第1記憶部に記憶されるデータの一部又は全部が前記第2記憶部に移行される場合、前記記録された更新履歴の中から、前記移行されるデータに関する更新履歴を特定し、前記特定された更新履歴を順に選択し、前記選択された更新履歴が、現時点から、前記第2記憶装置に設定されている更新履歴保持期間遡るまでの間におけるデータ更新に対応するか否かを判定し、対応すると判定した場合、前記選択された更新履歴を前記ネットワークを介して前記第2制御部に送信し、対応しないと判定した場合、前記更新履歴の選択を終了することを特徴とする。
【発明の効果】
【0019】
本発明の代表的な形態によれば、適切なジャーナルのみを記憶装置間で移行できる。
【発明を実施するための最良の形態】
【0020】
本発明の実施の形態を図面を参照して説明する。
【0021】
(第1の実施の形態)
図1は、本発明の第1の実施の形態の計算機システムの構成のブロック図である。
【0022】
計算機システムは、記憶装置100、記憶装置200、ホスト計算機300、管理計算機500、データネットワーク50及び管理ネットワーク90を含む。
【0023】
データネットワーク50は、記憶装置100、記憶装置200及びホスト計算機300を相互に接続する。管理ネットワーク90は、記憶装置100、記憶装置200及び管理計算機500を相互に接続する。
【0024】
ホスト計算機300は、CPU310、メモリ320及びデータインタフェース(データI/F)350を備える。
【0025】
CPU310は、メモリ320に記憶されるプログラムを実行することによって、各種処理を行う。メモリ320は、CPU310によって実行されるプログラム及びCPU310によって必要とされる情報などを記憶する。具体的には、メモリ320は、アプリケーションプログラム321を記憶する。
【0026】
アプリケーションプログラム321は、各種処理を実行する。例えば、アプリケーションプログラム321は、データボリューム132へのデータの書き込み及びデータボリューム132からのデータ読み出しを、記憶装置100又は200に要求する。このとき、アプリケーションプログラム321は、書込要求又は読出要求を、記憶装置100又は200に送信する。
【0027】
データI/F350は、データネットワーク50を介して、記憶装置100及び200に接続されるインタフェースである。
【0028】
記憶装置100は、ストレージコントローラ110、キャッシュメモリ115、メモリ120、ハードディスクドライブ130、データインタフェース(データI/F)150及び管理インタフェース(管理I/F)190を備える。なお、記憶装置200は、記憶装置100と同一の構成を備える。
【0029】
データI/F150は、データネットワーク50を介して、記憶装置200及びホスト計算機300に接続されるインタフェースである。管理I/F190は、管理ネットワーク90を介して記憶装置200及び管理計算機500に接続されるインタフェースである。
【0030】
キャッシュメモリ115は、ホスト計算機300から書き込み又は読み出しを要求されたデータを一時的に記憶する。ハードディスクドライブ130は、各種情報を記憶する。例えば、ハードディスクドライブ130は、ホスト計算機300から書き込みを要求されたデータを記憶する。
【0031】
ストレージコントローラ110は、メモリ120に記憶されるプログラムを実行することによって、各種処理を行う。
【0032】
例えば、ストレージコントローラ110は、ハードディスクドライブ130の記憶領域を、一つ以上の論理ボリュームとしてホスト計算機300に提供する。なお、論理ボリュームは、データボリューム132及びジャーナルボリューム134を含む。
【0033】
データボリューム132は、ホスト計算機300から書き込みを要求されたデータを記憶する。ジャーナルボリューム134は、データボリューム132の更新履歴(ジャーナル)を記憶する。なお、ジャーナルボリューム134に記憶されるジャーナルについては、図4で詳細を説明する。
【0034】
本実施の形態では、データボリューム132とジャーナルボリューム134とが関連付けられている。なお、一つのデータボリューム132と複数のジャーナルボリューム134とが関連付けられいてもよいし、複数のデータボリューム132と一つのジャーナルボリューム134とが関連付けられていてもよい。
【0035】
また、データボリューム132と、当該データボリューム132に関連付けられているジャーナルボリューム134とを含む集合が、ジャーナルグループ140として設定される。なお、一つのジャーナルボリューム134は、複数のジャーナルグループ140に属していてもよい。
【0036】
また、ストレージコントローラ110は、ホスト計算機300及び管理計算機500から要求を受信し、受信した要求を処理する。具体的には、ストレージコントローラ110は、ホスト計算機300から書込要求を受信すると、要求されたデータをデータボリューム132に書き込む。一方、ストレージコントローラ110は、ホスト計算機300から読出要求を受信すると、要求されたデータをデータボリューム132から読み出す。
【0037】
また、ストレージコントローラ110は、当該ストレージコントローラ110を備える記憶装置100に記憶されるデータを、記憶装置200などの他の記憶装置へコピーする。また、ストレージコントローラ110は、ジャーナルを用いることによって、データボリューム132に記憶されるデータのバックアップ及びリカバリを行う。
【0038】
メモリ120は、ストレージコントローラ110によって実行されるプログラム及びストレージコントローラ110によって必要とされる情報などを記憶する。具体的には、メモリ120は、データボリューム移行プログラム121、ジャーナル移行プログラム123、CDP制御プログラム125、管理情報入出力プログラム129、データボリューム管理テーブル122、ジャーナルボリューム管理テーブル124及び移行情報管理テーブル126を記憶する。
【0039】
データボリューム移行プログラム121は、管理計算機500からデータボリューム移行要求を受信する。すると、データボリューム移行プログラム121は、移行元の記憶装置100から移行先の記憶装置200へデータボリューム132を移行する。なお、本実施の形態では、移行元として記憶装置100が指定され、移行先として記憶装置200が指定された場合を説明する。また、本実施の形態におけるデータボリューム132の移行には、データネットワーク50が使用されているが、管理ネットワーク90などを含むその他のネットワークが使用されてもよい。
【0040】
具体的には、移行元の記憶装置100に備わるデータボリューム移行プログラム121は、当該移行元の記憶装置100に備わるデータボリューム132に格納されているデータを、データネットワーク50を介して移行先の記憶装置200へ送信する。すると、移行先の記憶装置200に備わるデータボリューム移行プログラム121は、移行元の記憶装置100からデータを受信する。次に、移行先の記憶装置200に備わるデータボリューム移行プログラム121は、受信したデータを、当該移行元の記憶装置200に備わるデータボリューム132のうち、管理計算機500によって指定されたデータボリューム132へ格納する。
【0041】
なお、移行元の記憶装置100のデータボリューム移行プログラム121が、データボリューム132に格納されているデータを移行先の記憶装置200に送信する代わりに、移行先の記憶装置200のデータボリューム移行プログラム121が、移行元の記憶装置100に備わるデータボリューム132からデータを読み出してもよい。
【0042】
ジャーナル移行プログラム123は、管理計算機500からジャーナル移行要求を受信する。すると、ジャーナル移行プログラム123は、移行元の記憶装置100から移行先の記憶装置200へジャーナルを移行する。なお、本実施の形態におけるジャーナルの移行には、データネットワーク50が使用されているが、管理ネットワーク90などを含むその他のネットワークが使用されてもよい。
【0043】
具体的には、移行元の記憶装置100に備わるジャーナル移行プログラム123は、データボリューム移行プログラム121によって移行されたデータボリューム132を含むジャーナルグループ140を特定する。次に、移行元の記憶装置100に備わるジャーナル移行プログラム123は、特定したジャーナルグループ140に含まれるジャーナルボリューム134を特定する。
【0044】
次に、移行元の記憶装置100に備わるジャーナル移行プログラム123は、特定したジャーナルボリューム134に格納されているジャーナルを、新しいジャーナルから順に、移行先の記憶装置200へ送信する。但し、移行元の記憶装置100に備わるジャーナル移行プログラム123は、ジャーナルを移行先の記憶装置200へ送信する前に、当該ジャーナルが、移行先の記憶装置200に備わるデータボリューム132に設定されているジャーナル保持期間を満たすか否かを判定する。
【0045】
なお、ジャーナル保持期間は、記憶装置100又は200がジャーナルを記憶すべき期間である。つまり、記憶装置100又は200は、ジャーナルに対応するデータ更新が行われてからジャーナル保持期間を経過するまでは、当該ジャーナルを記憶する必要がある。すなわち、ジャーナル保持期間は、当該期間に含まれるどの時点におけるデータでも復元可能な期間である。本実施の形態では、ジャーナル保持期間は、記憶装置100又は200に備わるデータボリューム132ごとに設定されている。しかし、ジャーナル保持期間は、記憶装置100又は200ごとに設定されてもよいし、ジャーナルグループ140ごとに設定されてもよい。
【0046】
また、ジャーナル保持期間を満たすジャーナルとは、現時点からジャーナル保持期間遡った時点以降に行われたデータ更新に対応するジャーナルである。一方、ジャーナル保持期間を満たさないジャーナルとは、現時点からジャーナル保持期間遡った時点より前に行われたデータ更新に対応するジャーナルである。
【0047】
ジャーナルが移行先の記憶装置200に設定されているジャーナル保持期間を満たす場合のみ、移行元の記憶装置100に備わるジャーナル移行プログラム123は、当該ジャーナルを移行先の記憶装置200へ送信する。
【0048】
一方、ジャーナルが移行先の記憶装置200に設定されているジャーナル保持期間を満たさない場合、移行元の記憶装置100に備わるジャーナル移行プログラム123は、ジャーナルの送信処理を終了する。
【0049】
移行先の記憶装置200のジャーナル移行プログラム123は、移行元の記憶装置100からジャーナルを受信する。すると、移行先の記憶装置200のジャーナル移行プログラム123は、受信したジャーナルを、当該移行元の記憶装置200に備わるジャーナルボリューム134に格納する。
【0050】
CDP制御プログラム125は、ジャーナルを用いて、データをリカバリする。また、CDP制御プログラム125は、ホスト計算機300から書込要求を受信する。すると、CDP制御プログラム125は、受信した書込要求ごとに、ジャーナルを作成する。そして、CDP制御プログラム125は、作成したジャーナルに、更新順序番号を付与して、ジャーナルボリューム134に格納する。なお、更新順序番号は、データボリューム132に当該データが書き込まれた順番を示す。
【0051】
また、CDP制御プログラム125は、管理計算機500からリカバリ要求を受信する。なお、リカバリ要求は、指定時刻におけるデータのリカバリを要求する。すると、CDP制御プログラム125は、ジャーナルボリューム134に格納されたジャーナルを用いて、当該受信したリカバリ要求で指定された時刻におけるデータをリカバリする。
【0052】
管理情報入出力プログラム129は、管理計算機500に対して管理情報を送受信する。
【0053】
データボリューム管理テーブル122は、データボリューム132とジャーナルグループ140との関連付けを示す。更に、データボリューム管理テーブル122は、データボリューム132に設定されるジャーナル保持期間を示す。なお、データボリューム管理テーブル122については、図2で詳細を説明する。
【0054】
ジャーナルボリューム管理テーブル124は、ジャーナルグループ140とジャーナルボリューム134との関連付けを示す。なお、ジャーナルボリューム管理テーブル124については、図3で詳細を説明する。
【0055】
移行情報管理テーブル126は、データボリューム132及びジャーナルの移行処理を管理する。なお、移行情報管理テーブル126については、図5で詳細を説明する。
【0056】
管理計算機500は、CPU510、メモリ520、ディスプレイ560、キーボード570、マウス580及び管理インタフェース(管理I/F)590を備える。
【0057】
ディスプレイ560は、各種情報を表示する。キーボード570及びマウス580には、管理者から各種情報が入力される。管理I/F590は、管理ネットワーク90を介して記憶装置100及び200に接続されるインタフェースである。
【0058】
CPU510は、メモリ520に記憶されるプログラムを実行することによって、各種処理を行う。メモリ520は、CPU510によって実行されるプログラム及びCPU510によって必要とされる情報などを記憶する。具体的には、メモリ520は、構成管理プログラム521、移行管理プログラム525及びリカバリ要求プログラム527を記憶する。
【0059】
構成管理プログラム521は、記憶装置100又は200に対して、当該記憶装置100又は200の構成に関する情報を含む各種情報を送受信する。移行管理プログラム525は、記憶装置100又は200に、データボリューム移行要求又はジャーナル移行要求を送信する。リカバリ要求プログラム527は、記憶装置100又は200に、リカバリ要求を送信する。
【0060】
図2は、本発明の第1の実施の形態の記憶装置100に記憶されるデータボリューム管理テーブル122の構成図である。
【0061】
データボリューム管理テーブル122は、ジャーナルグループ番号1221、記憶装置番号1224、データボリューム番号1222及びジャーナル保持期間1223を含む。
【0062】
記憶装置番号1224は、記憶装置100又は200の一意な識別子である。なお、本実施の形態では、記憶装置番号1224には、当該データボリューム管理テーブル122を記憶する記憶装置100の一意な識別子が格納される。
【0063】
データボリューム番号1222は、当該レコードの記憶装置番号1224によって識別される記憶装置100に備わるデータボリューム132の一意な識別子である。
【0064】
ジャーナルグループ番号1221は、当該レコードのデータボリューム番号1222によって識別されるデータボリューム132を含むジャーナルグループ140の一意な識別子である。
【0065】
ジャーナル保持期間1223は、当該レコードのデータボリューム番号1222によって識別されるデータボリューム132のジャーナルを、記憶装置100が記憶すべき期間である。なお、ジャーナル保持期間1223は、管理者によって予め設定される。
【0066】
なお、記憶装置200も、本説明図と同様のデータボリューム管理テーブル122を記憶する。
【0067】
図3は、本発明の第1の実施の形態の記憶装置100に記憶されるジャーナルボリューム管理テーブル124の構成図である。
【0068】
ジャーナルボリューム管理テーブル124は、ジャーナルグループ番号1241、記憶装置番号1244及びジャーナルボリューム番号1242を含む。
【0069】
記憶装置番号1244は、記憶装置100又は200の一意な識別子である。なお、本実施の形態では、記憶装置番号1244には、当該ジャーナルボリューム管理テーブル124を記憶する記憶装置100の一意な識別子が格納される。
【0070】
ジャーナルボリューム番号1242は、当該レコードの記憶装置番号1244によって識別される記憶装置100に備わるジャーナルボリューム134の一意な識別子である。
【0071】
ジャーナルグループ番号1241は、当該レコードのジャーナルボリューム番号1242によって識別されるジャーナルボリューム134を含むジャーナルグループ140の一意な識別子である。
【0072】
なお、記憶装置200も、本説明図と同様のジャーナルボリューム管理テーブル124を記憶する。
【0073】
図4は、本発明の第1の実施の形態の記憶装置100に備わるジャーナルボリューム134に格納されるジャーナルの構成図である。
【0074】
一つのジャーナルは、ホスト計算機300から送信される一つの書込要求に対応する。つまり、一つのジャーナルは、データボリューム132に対する一回のデータ更新に対応する。また、一つのジャーナルは、当該構成図の一つのレコードに対応する。ジャーナルは、記憶装置番号401、データボリューム番号402、適用先アドレス403、生成時刻404、更新順序番号405、データサイズ406、Beforeジャーナル407及びAfterジャーナル408を含む。
【0075】
記憶装置番号401は、当該ジャーナルに対応する書込要求によってデータが書き込まれた記憶装置100又は200の一意な識別子である。なお、本実施の形態では、記憶装置番号401には、当該ジャーナルを記憶する記憶装置100の一意な識別子が格納される。
【0076】
データボリューム番号402は、当該ジャーナルに対応する書込要求によってデータが書き込まれたデータボリューム132の一意な識別子である。適用先アドレス403は、当該データボリューム132内における、当該ジャーナルに対応する書込要求によってデータが書き込まれた位置(アドレス情報)を示す。
【0077】
生成時刻404は、当該ジャーナルに対応する書込要求によってデータボリューム132にデータが書き込まれた時刻である。なお、生成時刻404は、記憶装置100がホスト計算機300から書込要求を受信した時刻であってもよいし、記憶装置100がジャーナルを作成した時刻であってもよいし、記憶装置100が書込要求に対する応答を送信した時刻であってもよい。
【0078】
更新順序番号405は、当該ジャーナルに対応する書込要求によってデータボリューム132にデータが書き込まれた順番を示す。データサイズ406は、当該ジャーナルに含まれるジャーナルデータ4073又は4083の大きさである。
【0079】
Beforeジャーナル407は、記憶装置番号4071、ジャーナルボリューム番号4072及びジャーナルデータ4073を含む。
【0080】
ジャーナルデータ4073は、当該ジャーナルに対応する書込要求によるデータボリューム132への書き込みによって更新される前のデータ(Beforeジャーナルデータ)である。
【0081】
記憶装置番号4071は、当該ジャーナルデータ4073が格納された記憶装置100又は200の一意な識別子である。ジャーナルボリューム番号4072は、当該ジャーナルデータ4073が格納されたジャーナルボリューム134の一意な識別子である。
【0082】
Afterジャーナル408は、記憶装置番号4081、ジャーナルボリューム番号4082及びジャーナルデータ4083を含む。
【0083】
ジャーナルデータ4083は、当該ジャーナルに対応する書込要求によってデータボリューム132へ書き込まれたデータ(Afterジャーナルデータ)である。記憶装置番号4081は、当該ジャーナルデータ4083が格納された記憶装置100又は200の一意な識別子である。ジャーナルボリューム番号4082は、当該ジャーナルデータ4083が格納されたジャーナルボリューム134の一意な識別子である。
【0084】
本説明図のジャーナルは、Beforeジャーナル407及びAfterジャーナル408の双方を含むが、Beforeジャーナル407又はAfterジャーナル408のいずれか一方が省略されてもよい。
【0085】
なお、記憶装置200に備わるジャーナルボリューム134にも、本説明図と同様のジャーナルが格納される。
【0086】
図5は、本発明の第1の実施の形態の記憶装置100に記憶される移行情報管理テーブル126の構成図である。
【0087】
移行情報管理テーブル126の一つのレコードは、データボリューム132及びジャーナルの移行処理の一つに対応する。
【0088】
移行元の記憶装置100及び移行先の記憶装置200は、管理計算機500からデータボリューム移行要求を受信すると、データボリューム132及びジャーナルの移行処理を開始する。このとき、移行元の記憶装置100及び移行先の記憶装置200は、移行情報管理テーブル126に新たなレコードを作成する。そして、移行元の記憶装置100及び移行先の記憶装置200は、作成した新たなレコードに、実行を開始する移行処理に関する情報を格納する。これによって、移行元の記憶装置100に記憶される移行情報管理テーブル126と移行先の記憶装置200に記憶される移行情報管理テーブル126とは、同一のレコードを含む。
【0089】
その後、移行元の記憶装置100及び移行先の記憶装置200は、データボリューム132及びジャーナルの移行処理を終了すると、当該終了した移行処理に対応するレコードを、移行情報管理テーブル126から削除する。
【0090】
移行情報管理テーブル126は、移行管理番号1261、移行元情報1262及び移行先情報1263を含む。なお、移行管理番号1261は、データボリューム132及びジャーナルの移行処理の一意な識別子である。
【0091】
移行元情報1262は、移行元の記憶装置100に関する情報である。具体的には、移行元情報1262は、移行元記憶装置番号12621、移行元データボリューム番号12622、移行元ジャーナルグループ番号12623及び最終更新順序番号12624を含む。
【0092】
移行元記憶装置番号12621は、移行元の記憶装置100の一意な識別子である。移行元データボリューム番号12622は、移行元のデータボリューム132の一意な識別子である。移行元ジャーナルグループ番号12623は、当該レコードの移行元データボリューム番号12622によって識別されるデータボリューム132を含むジャーナルグループ140の一意な識別子である。最終更新順序番号12624は、当該レコードの移行元データボリューム番号12622によって識別されるデータボリューム132に最後にデータが書き込まれた時に付与された更新順序番号である。
【0093】
移行先情報1263は、移行先記憶装置番号12631、移行先データボリューム番号12632、移行先ジャーナルグループ番号12633及びジャーナル保持期間12636を含む。
【0094】
移行先記憶装置番号12631は、移行先の記憶装置200の一意な識別子である。移行先データボリューム番号12632は、移行先のデータボリューム132の一意な識別子である。移行先ジャーナルグループ番号12633は、当該レコードの移行先データボリューム番号12632によって識別されるデータボリューム132を含むジャーナルグループ140の一意な識別子である。
【0095】
ジャーナル保持期間12636は、当該レコードの移行先データボリューム番号12632によって識別されるデータボリューム132に設定されたジャーナル保持期間である。なお、ジャーナル保持期間12636には、管理者によって設定された値が格納される。
【0096】
図6は、本発明の第1の実施の形態の記憶装置100におけるBeforeジャーナルを用いたリカバリの説明図である。
【0097】
本説明図は、データボリューム132と、時間軸上の各時刻におけるBeforeジャーナルとの関係を模式的に示す。時間軸上に配置された黒点は、それぞれの時刻にBeforeジャーナル451〜455が作成されたことを示す。また、Beforeジャーナル451〜455には、更新順序番号の「1」〜「5」が付与されている。
【0098】
ここでは、現時点を2006年10月01日6時とする。よって、データボリューム132は、2006年10月01日6時時点のものである。
【0099】
記憶装置100は、管理計算機500からリカバリ要求を受信する。なお、当該リカバリ要求は、リカバリ指定時刻の3時におけるデータのリカバリを要求する。
【0100】
すると、記憶装置100は、データボリューム132に、3時から6時までの間に作成されたBeforeジャーナル453〜455を、新しいBeforeジャーナル453〜455から順に書き戻す。つまり、記憶装置100は、Beforeジャーナル453〜455に付与された更新順序番号が大きいものから順番に、Beforeジャーナル453〜455をデータボリューム132に書き戻す。ここでは、記憶装置100は、Beforeジャーナル455、Beforeジャーナル454、Beforeジャーナル453の順に書き戻す。これによって、記憶装置100は、リカバリ指定時刻の3時におけるデータをリカバリできる。
【0101】
なお、現時点におけるデータボリューム132のデータを残したい場合、記憶装置100は、データボリューム132の複製(スナップショット)を作成する。そして、記憶装置100は、作成したスナップショットに、Beforeジャーナル453〜455を書き戻す。
【0102】
次に、データボリューム132及びジャーナルを、記憶装置100から記憶装置200へ移行する処理について説明する。
【0103】
図7A及び図7Bは、本発明の第1の実施の形態のデータボリューム132の移行処理のシーケンス図である。
【0104】
まず、管理計算機500のCPU510は、管理対象のすべての記憶装置100及び200から、データボリューム管理テーブル122を取得する(S1010)。次に、管理計算機500のCPU510は、取得したデータボリューム管理テーブル122に基づいて、データボリューム選択画面610(図8)を作成する。そして、管理計算機500のCPU510は、作成したデータボリューム選択画面610を、ディスプレイ560に表示させる。
【0105】
図8は、本発明の第1の実施の形態の管理計算機500に表示されるデータボリューム選択画面610の説明図である。
【0106】
管理計算機500は、データボリューム選択画面610を表示することによって、移行元のデータボリューム132及び移行先のデータボリューム132の選択を管理者に要求する。
【0107】
データボリューム選択画面610は、移行元データボリュームのリスト612、移行先データボリュームのリスト614及び遷移ボタン619を含む。
【0108】
移行元データボリュームのリスト612は、移行元記憶装置番号6121、移行元データボリューム番号6122及び選択フィールド6123を含む。
【0109】
移行元記憶装置番号6121は、管理計算機500の管理対象である記憶装置100又は200の一意な識別子である。移行元データボリューム番号6122は、当該レコードの移行元記憶装置番号6121によって識別される記憶装置100又は200に備わるデータボリューム132の一意な識別子である。
【0110】
選択フィールド6123は、当該レコードの移行元データボリューム番号6122によって識別されるデータボリューム132が移行元として選択されたか否かを示す。
【0111】
移行先データボリュームのリスト614は、移行先記憶装置番号6141、移行先データボリューム番号6142及び選択フィールド6143を含む。
【0112】
移行先記憶装置番号6141は、管理計算機500の管理対象である記憶装置100又は200の一意な識別子である。移行先データボリューム番号6142は、当該レコードの移行先記憶装置番号6141によって識別される記憶装置100又は200に備わるデータボリューム132の一意な識別子である。
【0113】
選択フィールド6143は、当該レコードの移行先データボリューム番号6142によって識別されるデータボリューム132が移行先として選択されたか否かを示す。
【0114】
遷移ボタン619は、当該データボリューム選択画面610からジャーナルグループ選択画面620への遷移の要求を、管理者から受け付ける。
【0115】
次に、データボリューム選択画面610の作成処理について説明する。
【0116】
管理計算機500のCPU510は、ステップS1010で取得したデータボリューム管理テーブル122のすべてのレコードから、記憶装置番号1224及びデータボリューム番号1222を抽出する。
【0117】
次に、管理計算機500のCPU510は、取得した記憶装置番号1224を、移行元データボリュームのリスト612に含まれる移行元記憶装置番号6121及び移行先データボリュームのリスト614に含まれる移行先記憶装置番号6141に格納する。次に、管理計算機500のCPU510は、取得したデータボリューム番号1222を、移行元データボリュームのリスト612に含まれる移行元データボリューム番号6122及び移行先データボリュームのリスト614に含まれる移行先データボリューム番号6142に格納する。
【0118】
以上のようにして、管理計算機500のCPU510は、データボリューム選択画面610を作成する。
【0119】
ここで、図7Aに戻る。
【0120】
管理者は、移行元のデータボリューム132及び移行先のデータボリューム132を選択してから、データボリューム選択画面610の遷移ボタン619を操作する。すると、管理計算機500のCPU510は、管理者によって選択された移行元のデータボリューム132の識別情報及び移行先のデータボリューム132の識別情報を取得する(S1020)。なお、データボリューム132の識別情報は、データボリュームを識別するためのデータボリューム番号、及び当該データボリューム132を備える記憶装置100又は200を識別するための記憶装置番号を含む。
【0121】
具体的には、管理計算機500のCPU510は、データボリューム選択画面610の移行元データボリュームのリスト612から、選択フィールド6123が選択されたことを示すレコードを選択する。次に、管理計算機500のCPU510は、選択したレコードから、移行元記憶装置番号6121及び移行元データボリューム番号6122を取得する。
【0122】
次に、管理計算機500のCPU510は、データボリューム選択画面610の移行先データボリュームのリスト614から、選択フィールド6143が選択されたことを示すレコードを選択する。次に、管理計算機500のCPU510は、選択したレコードから、移行先記憶装置番号6141及び移行先データボリューム番号6142を取得する。
【0123】
なお、管理者は、移行先のデータボリューム132として、新たに作成されるデータボリューム132を選択してもよい。この場合、管理計算機500のCPU510は、新たなデータボリューム132の作成を、移行先の記憶装置200に指示する。すると、移行先の記憶装置200のストレージコントローラ110は、新たなデータボリューム132を作成する。そして、管理計算機500のCPU510は、作成された新たなデータボリューム132を、移行先とする。
【0124】
次に、管理計算機500のCPU510は、ステップS1010で取得したデータボリューム管理テーブル122に基づいて、ジャーナルグループ選択画面620(図9)を作成する。そして、管理計算機500のCPU510は、作成したジャーナルグループ選択画面620をディスプレイ560に表示させる(S1030)。
【0125】
図9は、本発明の第1の実施の形態の管理計算機500に表示されるジャーナルグループ選択画面620の説明図である。
【0126】
管理計算機500は、ジャーナルグループ選択画面620を表示することによって、移行先のデータボリューム132に関連付けるジャーナルグループ140の選択を管理者に要求する。
【0127】
ジャーナルグループ選択画面620は、ジャーナルグループのリスト622、ジャーナル保持期間の入力フィールド624及び遷移ボタン629を含む。
【0128】
ジャーナルグループのリスト622は、記憶装置番号6221、ジャーナルグループ番号6222、データボリューム番号6223及び選択フィールド6224を含む。
【0129】
記憶装置番号6221は、移行先の記憶装置200の一意な識別子である。データボリューム番号6223は、当該レコードの記憶装置番号6221によって識別される記憶装置200に備わるデータボリューム132の一意な識別子である。
【0130】
ジャーナルグループ番号6222は、当該レコードのデータボリューム番号6223によって識別されるデータボリューム132を含むジャーナルグループ140の一意な識別子である。
【0131】
選択フィールド6224は、当該レコードのジャーナルグループ番号6222によって識別されるジャーナルグループ140が選択されたか否かを示す。
【0132】
ジャーナル保持期間の入力フィールド624には、移行先のデータボリューム132に設定されるジャーナル保持期間が入力される。
【0133】
遷移ボタン629は、ジャーナルグループ選択画面620からデータボリューム移行画面630への遷移の要求を、管理者から受け付ける。
【0134】
次に、ジャーナルグループ選択画面620の作成処理について説明する。
【0135】
管理計算機500のCPU510は、ステップS1010で取得したすべてのデータボリューム管理テーブル122の中から、ステップS1020で取得した移行先記憶装置番号6141によって識別される記憶装置200から取得したデータボリューム管理テーブル122を選択する。次に、管理計算機500のCPU510は、選択したデータボリューム管理テーブル122から、ジャーナルグループ番号1221、記憶装置番号1224及びデータボリューム番号1222を抽出する。
【0136】
次に、管理計算機500のCPU510は、抽出した記憶装置番号1224を、ジャーナルグループのリスト622に含まれる記憶装置番号6221に格納する。次に、管理計算機500のCPU510は、抽出したジャーナルグループ番号1221を、ジャーナルグループのリスト622に含まれるジャーナルグループ番号6222に格納する。次に、管理計算機500のCPU510は、抽出したデータボリューム番号1222を、ジャーナルグループのリスト622に含まれるデータボリューム番号6223に格納する。
【0137】
以上のようにして、管理計算機500のCPU510は、ジャーナルグループ選択画面620を作成する。
【0138】
ここで、図7Aに戻る。
【0139】
管理者は、移行先のデータボリューム132と関連付けるジャーナルグループ140を選択する。更に、管理者は、移行先のデータボリューム132に設定されるジャーナル保持期間を、ジャーナルグループ選択画面620のジャーナル保持期間の入力フィールド624に入力する。その後、管理者は、ジャーナルグループ選択画面620の遷移ボタン629を操作する。
【0140】
すると、管理計算機500のCPU510は、管理者によって選択されたジャーナルグループ140の識別情報を取得する(S1040)。なお、ジャーナルグループ140の識別情報は、ジャーナルグループ140を識別するためのジャーナルグループ番号及び当該ジャーナルグループ140に属するデータボリューム132を備える記憶装置200を識別するための記憶装置番号を含む。
【0141】
具体的には、管理計算機500のCPU510は、ジャーナルグループ選択画面620のジャーナルグループのリスト622から、選択フィールド6224が選択されたことを示すレコードを選択する。次に、管理計算機500のCPU510は、選択したレコードから、ジャーナルグループ番号6222を取得する。
【0142】
更に、管理計算機500のCPU510は、ジャーナルグループ選択画面620のジャーナル保持期間の入力フィールド624から、入力されたジャーナル保持期間を取得する。
【0143】
次に、管理計算機500のCPU510は、ステップS1020で取得した移行先記憶装置番号6141によって識別される記憶装置200を、移行先として判断する。次に、管理計算機500のCPU510は、移行先の記憶装置200に、ジャーナルグループ140とデータボリューム132との関連付け要求を送信する(S1050)。なお、送信される関連付け要求は、ステップS1020で取得された移行先記憶装置番号6141、ステップS1020で取得された移行先データボリューム番号6142、ステップS1040で取得されたジャーナルグループ番号6222、及びステップS1040で取得されたジャーナル保持期間を含む。
【0144】
移行先の記憶装置200のストレージコントローラ110は、関連付け要求を受信する。すると、移行先の記憶装置200のストレージコントローラ110は、受信した関連付け要求に基づいて、データボリューム管理テーブル122を更新する(S1060)。
【0145】
具体的には、移行先の記憶装置200のストレージコントローラ110は、受信した関連付け要求に含まれる移行先記憶装置番号6141とデータボリューム管理テーブル122の記憶装置番号1224とが一致するレコードを、データボリューム管理テーブル122から選択する。次に、移行先の記憶装置200のストレージコントローラ110は、受信した関連付け要求に含まれる移行先データボリューム番号6142とデータボリューム管理テーブル122のデータボリューム番号1222とが一致するレコードを、選択したレコードの中から選択する。
【0146】
次に、移行先の記憶装置200のストレージコントローラ110は、選択したレコードのジャーナルグループ番号1221に、受信した関連付け要求に含まれるジャーナルグループ番号6222を格納する。更に、移行先の記憶装置200のストレージコントローラ110は、選択したレコードのジャーナル保持期間1223に、受信した関連付け要求に含まれるジャーナル保持期間を格納する。
【0147】
以上のようにして、移行先の記憶装置200のストレージコントローラ110は、データボリューム管理テーブル122を更新する。すると、移行先の記憶装置200のストレージコントローラ110は、関連付け完了通知を管理計算機500に送信する。
【0148】
管理計算機500のCPU510は、移行先の記憶装置200から関連付け完了通知を受信する。すると、管理計算機500のCPU510は、ステップS1020で取得した識別情報に基づいて、データボリューム移行画面630(図10)を作成する。そして、管理計算機500のCPU510は、作成したデータボリューム移行画面630をディスプレイ560に表示させる(S1070)。
【0149】
なお、管理者は、移行先のデータボリューム132と関連付けるジャーナルグループ140として、新たに作成されるジャーナルグループ140を選択してもよい。この場合、管理計算機500のCPU510は、新たなジャーナルグループ140の作成を、移行先の記憶装置200に指示する。すると、移行先の記憶装置200のストレージコントローラ110は、新たなジャーナルグループ140を作成する。その後、管理計算機500のCPU510は、新たに作成されたジャーナルグループ140とデータボリューム132との関連付け要求を、移行先の記憶装置200に送信する。
【0150】
図10は、本発明の第1の実施の形態の管理計算機500に表示されるデータボリューム移行画面630の説明図である。
【0151】
管理計算機500は、データボリューム移行画面630を表示することによって、データボリューム132の移行開始の指示を管理者に要求する。
【0152】
データボリューム移行画面630は、移行元記憶装置番号631、移行元データボリューム番号632、移行先記憶装置番号633、移行先データボリューム番号634及び移行ボタン639を含む。
【0153】
移行元記憶装置番号631は、移行元の記憶装置100の一意な識別子である。移行元データボリューム番号632は、移行元のデータボリューム132の一意な識別子である。移行先記憶装置番号633は、移行先の記憶装置200の一意な識別子である。移行先データボリューム番号634は、移行先のデータボリューム132の一意な識別子である。
【0154】
移行ボタン639は、データボリューム132の移行開始の指示を管理者から受け付ける。
【0155】
次に、データボリューム移行画面630の作成処理について説明する。
【0156】
管理計算機500のCPU510は、ステップS1010で取得した移行元記憶装置番号6121を、データボリューム移行画面630の移行元記憶装置番号631に格納する。次に、管理計算機500のCPU510は、ステップS1010で取得した移行元データボリューム番号6122を、データボリューム移行画面630の移行元データボリューム番号632に格納する。
【0157】
次に、管理計算機500のCPU510は、ステップS1010で取得した移行先記憶装置番号6141を、データボリューム移行画面630の移行先記憶装置番号633に格納する。次に、管理計算機500のCPU510は、ステップS1010で取得した移行先データボリューム番号6142を、データボリューム移行画面630の移行先データボリューム番号634に格納する。
【0158】
以上のようにして、管理計算機500のCPU510は、データボリューム移行画面630を作成する。
【0159】
ここで、図7Aに戻る。
【0160】
管理計算機500のディスプレイ560にデータボリューム移行画面630が表示されると、管理者は、ホスト計算機300上で実行されているアプリケーションプログラム321のうち、移行元のデータボリューム132へアクセスしているアプリケーションプログラム321を終了させる。例えば、管理者は、ホスト計算機300を操作するユーザへ、移行元のデータボリューム132へアクセスしているアプリケーションプログラム321の終了を指示する。
【0161】
その後、管理者又はホスト計算機300を操作するユーザからの指示の入力によって、ホスト計算機300と移行元の記憶装置100とを接続するパスが、ホスト計算機300と移行先の記憶装置200とを接続するパスに切り替えられる。
【0162】
次に、管理者は、データボリューム移行画面630の内容を確認して、移行ボタン639を操作する。
【0163】
すると、管理計算機500のCPU510は、ステップS1020で取得した移行元記憶装置番号6121によって識別される記憶装置100を、移行元として判断する。次に、管理計算機500のCPU510は、移行元の記憶装置100に、最新の更新順序番号取得要求を送信する(S2010)。なお、最新の更新順序番号取得要求は、S1020で取得された移行元データボリューム番号6122を含む。
【0164】
移行元の記憶装置100のストレージコントローラ110は、最新の更新順序番号取得要求を受信する。すると、移行元の記憶装置100のストレージコントローラ110は、受信した最新の更新順序番号取得要求に含まれる移行元データボリューム番号6122とデータボリューム管理テーブル122のデータボリューム番号1222とが一致するレコードを、データボリューム管理テーブル122から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードから、ジャーナルグループ番号1221を抽出する。
【0165】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出したジャーナルグループ番号1221とジャーナルボリューム管理テーブル124のジャーナルグループ番号1241とが一致するレコードを、ジャーナルボリューム管理テーブル124から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードからジャーナルボリューム番号1242を抽出する。
【0166】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出したジャーナルボリューム番号1242によって識別されるジャーナルボリューム134を特定する。
【0167】
次に、移行元の記憶装置100のストレージコントローラ110は、特定したジャーナルボリューム134に記憶されるすべてのジャーナル(図4)の中から、受信した最新の更新順序番号取得要求に含まれる移行元データボリューム番号6122とデータボリューム番号402とが一致するジャーナルをすべて選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したすべてのジャーナルの更新順序番号405の中から、最大値を抽出する。なお、抽出された最大値は、最新の更新順序番号である。
【0168】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出したジャーナルグループ番号1221及び抽出した最新の更新順序番号を管理計算機500に送信する(S2040)。
【0169】
管理計算機500のCPU510は、ジャーナルグループ番号1221及び最新の更新順序番号を受信する。次に、管理計算機500のCPU510は、移行元の記憶装置100及び移行先の記憶装置200に、移行情報管理テーブル更新要求を送信する(S2050)。なお、移行情報管理テーブル更新要求は、ステップS1020で取得された移行元記憶装置番号6121、移行元データボリューム番号6122、移行先記憶装置番号6141、移行先データボリューム番号6142、ステップS1040で取得されたジャーナルグループ番号6222、ジャーナル保持期間、ステップS2040で受信されたジャーナルグループ番号1221及び最新の更新順序番号を含む。
【0170】
移行元の記憶装置100のストレージコントローラ110及び移行先の記憶装置200のストレージコントローラ110は、移行情報管理テーブル更新要求を管理計算機500から受信する。すると、移行元の記憶装置100のストレージコントローラ110及び移行先の記憶装置200のストレージコントローラ110は、受信した移行情報管理テーブル更新要求に基づいて、移行情報管理テーブル126を更新する(S2060)。
【0171】
具体的には、移行元の記憶装置100のストレージコントローラ110及び移行先の記憶装置200のストレージコントローラ110は、移行情報管理テーブル126に新たなレコードを作成する。
【0172】
次に、移行元の記憶装置100のストレージコントローラ110及び移行先の記憶装置200のストレージコントローラ110は、当該移行処理に対して、同一の移行管理番号を付与する。
【0173】
そして、新たなレコードの移行管理番号1261には、移行処理に付与された移行管理番号が格納される。また、新たなレコードの移行元記憶装置番号12621には、受信された移行情報管理テーブル更新要求に含まれる移行元記憶装置番号6121が格納される。また、新たなレコードの移行元データボリューム番号12622には、受信された移行情報管理テーブル更新要求に含まれる移行元データボリューム番号6122が格納される。
【0174】
また、新たなレコードの移行元ジャーナルグループ番号12623には、受信された移行情報管理テーブル更新要求に含まれるジャーナルグループ番号1221が格納される。また、新たなレコードの最終更新順序番号12624には、受信された移行情報管理テーブル更新要求に含まれる最新の更新順序番号が格納される。
【0175】
また、新たなレコードの移行先記憶装置番号12631には、受信された移行情報管理テーブル更新要求に含まれる移行先記憶装置番号6141が格納される。また、新たなレコードの移行先データボリューム番号12632には、受信された移行情報管理テーブル更新要求に含まれる移行先データボリューム番号6142が格納される。また、新たなレコードの移行先ジャーナルグループ番号12633には、受信された移行情報管理テーブル更新要求に含まれるジャーナルグループ番号6222が格納される。また、新たなレコードのジャーナル保持期間12636には、受信された移行情報管理テーブル更新要求に含まれるジャーナル保持期間が格納される。
【0176】
以上のように、移行元の記憶装置100のストレージコントローラ110及び移行先の記憶装置200のストレージコントローラ110は、移行情報管理テーブル126を更新する。すると、移行元の記憶装置100のストレージコントローラ110及び移行先の記憶装置200のストレージコントローラ110は、更新された移行情報管理テーブル126を参照して、データボリューム132を、移行元の記憶装置100から移行先の記憶装置200へ移行する(S2070)。
【0177】
データボリューム132の移行が完了すると、移行元の記憶装置100のストレージコントローラ110は、移行元のデータボリューム132の識別子と移行情報管理テーブル126の移行元データボリューム番号12622とが一致するレコードを、移行情報管理テーブル126から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードから、移行管理番号1261を抽出する。
【0178】
次に、移行元の記憶装置100のストレージコントローラ110は、管理計算機500にデータボリューム移行完了通知を送信する(S2080)。なお、データボリューム移行完了通知は、抽出された移行管理番号1261を含む。
【0179】
管理計算機500のCPU510は、移行元の記憶装置100から移行完了通知を受信する。すると、管理計算機500のCPU510は、データボリューム移行完了通知画面640(図11)を作成する。そして、管理計算機500のCPU510は、作成したデータボリューム移行完了通知画面640をディスプレイ560に表示させる(S2085)。
【0180】
図11は、本発明の第1の実施の形態の管理計算機500に表示されるデータボリューム移行完了通知画面640の説明図である。
【0181】
管理計算機500は、データボリューム移行完了通知画面640を表示することによって、データボリューム132の移行完了を管理者に通知する。
【0182】
データボリューム移行完了通知画面640は、遷移ボタン649を含む。遷移ボタン649は、データボリューム移行完了通知画面640からジャーナル移行画面650への遷移の要求を、管理者から受け付ける。
【0183】
ここで、図7Bに戻る。
【0184】
管理者は、データボリューム移行完了通知画面640の内容を確認して、データボリューム移行完了通知画面640の遷移ボタン649を操作する。
【0185】
すると、管理計算機500のCPU510は、ジャーナル移行画面650を作成する。
そして、管理計算機のCPU510は、作成したジャーナル移行画面650をディスプレイ560に表示させる(S2090)。
【0186】
図12は、本発明の第1の実施の形態の管理計算機500に表示されるジャーナル移行画面650の説明図である。
【0187】
管理計算機500は、ジャーナル移行画面650を表示することによって、ジャーナルの移行開始の指示を管理者に要求する。
【0188】
ジャーナル移行画面650は、移行元記憶装置番号651、移行元ジャーナルグループ番号652、移行先記憶装置番号653、移行先ジャーナルグループ番号654及び移行ボタン659を含む。
【0189】
移行元記憶装置番号651は、移行元の記憶装置100の一意な識別子である。移行元ジャーナルグループ番号652は、移行元のデータボリューム132を含むジャーナルグループ140の一意な識別子である。
【0190】
移行先記憶装置番号653は、移行先の記憶装置200の一意な識別子である。移行先ジャーナルグループ番号654は、移行先のデータボリューム132を含むジャーナルグループ140の一意な識別子である。
【0191】
移行ボタン659は、ジャーナルの移行開始の指示を管理者から受け付ける。
【0192】
次に、ジャーナル移行画面650の作成処理について説明する。
【0193】
管理計算機500のCPU510は、ステップS1020で取得した移行元記憶装置番号6121を、ジャーナル移行画面650の移行元記憶装置番号651に格納する。次に、管理計算機500のCPU510は、ステップS2040で受信したジャーナルグループ番号1221を、ジャーナル移行画面650の移行元ジャーナルグループ番号652に格納する。
【0194】
次に、管理計算機500のCPU510は、ステップS1020で取得した移行先記憶装置番号6141を、ジャーナル移行画面650の移行先記憶装置番号653に格納する。次に、管理計算機500のCPU510は、ステップS1040で取得したジャーナルグループ番号6222を、ジャーナル移行画面650の移行先ジャーナルグループ番号654に格納する。
【0195】
以上のようにして、管理計算機500のCPU510は、ジャーナル移行画面650を作成する。
【0196】
ここで、図7Bに戻る。
【0197】
管理計算機500のディスプレイ560にジャーナル移行画面650が表示されると、管理者は、ステップS1070で終了させたアプリケーションプログラム321を再開させる。例えば、管理者は、ホスト計算機300を操作するユーザへ、終了させたアプリケーションプログラム321の再開を指示する。アプリケーションプログラム321の再開によって、移行先の記憶装置200は、ホスト計算機300から記憶装置200に対する書き込み内容のジャーナリングを開始する。
【0198】
なお、本実施形態では、データボリューム132の移行が開始される前に、管理者は、ホスト計算機300上で実行されるアプリケーションプログラム321を手動で停止させ、パスを切り替える。データボリューム132の移行が完了すると、管理者は、手動でアプリケーションプログラム321を再開させている。しかし、管理者が手動で操作する代わりに、本実施の形態に、特許文献3に開示されているデータ移行技術が適用されてもよい。これによって、アプリケーションプログラム321の停止時間が短縮される。
【0199】
その後、管理者は、ジャーナル移行画面650の内容を確認して、ジャーナル移行画面650の移行ボタン659を操作する。
【0200】
すると、管理計算機500のCPU510は、移行元の記憶装置100に、ジャーナル移行要求を送信する(S2100)。なお、ジャーナル移行要求は、ステップS2080で受信されたデータボリューム移行完了通知に含まれる移行管理番号1261を含む。
【0201】
移行元の記憶装置100のストレージコントローラ110は、ジャーナル移行要求を管理計算機500から受信する。すると、移行元の記憶装置100のストレージコントローラ110は、ジャーナル移行処理(図13)を実行する。
【0202】
図13は、本発明の第1の実施の形態の移行元の記憶装置100のジャーナル移行処理のフローチャートである。
【0203】
なお、本実施の形態では、Beforeジャーナルが移行される。そして、リカバリには、Beforeジャーナルが使用される。
【0204】
まず、移行元の記憶装置100のストレージコントローラ110は、ジャーナル移行要求を管理計算機500から受信する(S3010)。
【0205】
次に、移行元の記憶装置100のストレージコントローラ110は、受信したジャーナル移行要求に含まれる移行管理番号と移行情報管理テーブル126の移行管理番号1261とが一致するレコードを、移行情報管理テーブル126から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードから、移行元データボリューム番号12622、移行元ジャーナルグループ番号12623、移行先記憶装置番号12361、移行先データボリューム番号12632及びジャーナル保持期間12636を抽出する(S3020)。
【0206】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出した移行元ジャーナルグループ番号12623とジャーナルボリューム管理テーブル124のジャーナルグループ番号1241とが一致するレコードを、ジャーナルボリューム管理テーブル124から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードから、ジャーナルボリューム番号1242を抽出する。
【0207】
移行元の記憶装置100のストレージコントローラ110は、抽出したジャーナルボリューム番号1242によって識別されるジャーナルボリューム134を、移行元のデータボリューム132に関連するジャーナルボリューム134として特定する(S3030)。
【0208】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出した移行元データボリューム番号12622とジャーナルのデータボリューム番号402とが一致するすべてのジャーナルを、特定したジャーナルボリューム134に格納されるすべてのジャーナル(図4)の中から特定する。
【0209】
次に、移行元の記憶装置100のストレージコントローラ110は、特定したすべてのジャーナルの中から、更新順序番号405が大きいものから順番に、ジャーナルを一つずつ選択する(S3040)。
【0210】
そして、移行元の記憶装置100のストレージコントローラ110は、選択したジャーナルから、生成時刻404を抽出する。次に、移行元の記憶装置100のストレージコントローラ110は、現在の時刻から、ステップS3020で抽出したジャーナル保持期間12636を減算することによって、ジャーナル保持期限を算出する。次に、移行元の記憶装置100のストレージコントローラ110は、抽出した生成時刻404が、算出したジャーナル保持期限以後であるか否かを判定する(S3060)。
【0211】
生成時刻404がジャーナル保持期限以後の場合、選択されたジャーナルは、移行先の記憶装置200に設定されたジャーナル保持期間を満たす。よって、移行元の記憶装置100のストレージコントローラ110は、選択したジャーナル及び受信したジャーナル移行要求に含まれる移行管理番号を、ステップS3020で抽出した移行先記憶装置番号12361によって識別される移行先の記憶装置200に送信する(S3070)。
【0212】
そして、移行元の記憶装置100のストレージコントローラ110は、ステップS3040に戻り、次のジャーナルを選択する。
【0213】
一方、生成時刻404がジャーナル保持期限より前の場合、選択されたジャーナルは、移行先の記憶装置200に設定されたジャーナル保持期間を満たさない。更に、選択されたジャーナルより更新順序番号405が小さいジャーナルも、移行先の記憶装置200に設定されたジャーナル保持期間を満たさない。よって、移行元の記憶装置100のストレージコントローラ110は、ジャーナル移行終了通知を、ステップS3020で抽出した移行先記憶装置番号12361によって識別される移行先の記憶装置200に送信する(S3080)。なお、ジャーナル移行終了通知は、受信されたジャーナル移行に含まれる移行管理番号を含む。
【0214】
次に、移行元の記憶装置100のストレージコントローラ110は、移行先の記憶装置200からジャーナル移行完了通知を受信するまで待機する。なお、ジャーナル移行完了通知は、移行管理番号を含む。
【0215】
移行元の記憶装置100のストレージコントローラ110は、移行先の記憶装置100からジャーナル移行完了通知を受信すると(S3090)、受信したジャーナル移行完了通知に含まれる移行管理番号と移行情報管理テーブル126の移行管理番号1261とが一致するレコードを、移行情報管理テーブル126から削除する(S3100)。次に、移行元の記憶装置100のストレージコントローラ110は、管理計算機500にジャーナル移行完了通知を送信する(S3110)。そして、移行元の記憶装置100のストレージコントローラ110は、ジャーナル移行処理を終了する。
【0216】
管理計算機500のCPU510は、ジャーナル移行完了通知を受信する。すると、管理計算機500のCPU510は、ジャーナル移行完了通知画面660(図14)を作成する。そして、管理計算機500のCPU510は、作成したジャーナル移行完了通知画面660を、ディスプレイ560に表示させる。
【0217】
図14は、本発明の第1の実施の形態の管理計算機500に表示されるジャーナル移行完了通知画面660の説明図である。
【0218】
管理計算機500は、ジャーナル移行完了通知画面660を表示することによって、ジャーナルの移行完了を管理者に通知する。
【0219】
ジャーナル移行完了通知画面660は、OKボタン669を含む。OKボタン669は、ジャーナル移行完了通知画面660の表示の終了の要求を管理者から受け付ける。
【0220】
図15は、本発明の第1の実施の形態の移行先の記憶装置200のジャーナル移行処理のフローチャートである。
【0221】
まず、移行先の記憶装置200のストレージコントローラ110は、移行元の記憶装置100からジャーナル及び移行管理番号を受信する(S4010)。なお、移行元の記憶装置100のストレージコントローラ110は、ジャーナル移行処理(図13)のステップS3070において、移行先の記憶装置200にジャーナル及び移行管理番号を送信する。
【0222】
次に、移行先の記憶装置200のストレージコントローラ110は、受信した移行管理番号と移行情報管理テーブル126の移行管理番号1261とが一致するレコードを、移行情報管理テーブル126から選択する。次に、移行先の記憶装置200のストレージコントローラ110は、選択したレコードから、移行先記憶装置番号12631、移行先データボリューム番号12632及び移行先ジャーナルグループ番号12633を抽出する。
【0223】
なお、移行先の記憶装置200のストレージコントローラ110は、抽出した移行先データボリューム番号12632によって識別されるデータボリューム132を、移行先のデータボリューム132として特定する。また、移行先の記憶装置200のストレージコントローラ110は、抽出した移行先ジャーナルグループ番号12633によって識別されるジャーナルグループ140を、移行先のデータボリューム132を含むジャーナルグループ140として特定する(S4020)。
【0224】
次に、移行先の記憶装置200のストレージコントローラ110は、抽出した移行先ジャーナルグループ番号12633とジャーナルボリューム管理テーブル124のジャーナルグループ番号と1241とが一致するレコードを、ジャーナルボリューム管理テーブル124から選択する。次に、移行先の記憶装置200のストレージコントローラ110は、選択したレコードから、ジャーナルボリューム番号1242を抽出する。
【0225】
なお、移行先の記憶装置200のストレージコントローラ110は、抽出したジャーナルボリューム番号1242によって識別されるジャーナルボリューム134を、移行先のジャーナルボリューム134として特定する(S4030)。
【0226】
次に、移行先の記憶装置200のストレージコントローラ110は、ステップS4010で受信したジャーナルを、移行先の記憶装置200に対応するように変換する。
【0227】
具体的には、移行先の記憶装置200のストレージコントローラ110は、受信したジャーナルの記憶装置番号401、記憶装置番号4071及び記憶装置番号4081を、移行先の記憶装置200の識別子に変換する。また、移行先の記憶装置200のストレージコントローラ110は、受信したジャーナルのデータボリューム番号402を、ステップS4020で抽出した移行先データボリューム番号12632に変換する。
【0228】
また、移行先の記憶装置200のストレージコントローラ110は、ジャーナルボリューム番号4072及びジャーナルボリューム番号4082を、ステップS4030で抽出したジャーナルボリューム番号1242に変換する。
【0229】
次に、移行先の記憶装置200のストレージコントローラ110は、変換したジャーナルを、ステップS4030で特定した移行先のジャーナルボリューム134に格納する(S4040)。
【0230】
次に、移行先の記憶装置200のストレージコントローラ110は、移行元の記憶装置100から、ジャーナル又はジャーナル移行終了通知のいずれかを受信するまで待機する。そして、移行先の記憶装置200のストレージコントローラ110は、ジャーナル又はジャーナル移行終了通知のいずれを受信したかを判定する(S4050)。
【0231】
ジャーナルを受信した場合、移行先の記憶装置200のストレージコントローラ110は、受信したジャーナルをジャーナルボリューム134に格納するために、ステップS4010に戻る。
【0232】
一方、ジャーナル移行終了通知を受信した場合、移行先の記憶装置200のストレージコントローラ110は、当該移行先の記憶装置200に設定されたジャーナル保持期間を満たすジャーナルの受信を完了したと判断する。そこで、移行先の記憶装置200のストレージコントローラ110は、受信したジャーナル移行終了通知に含まれる移行管理番号と移行情報管理テーブル126の移行管理番号1261とが一致するレコードを、移行情報管理テーブル126から削除する(S4060)。
【0233】
次に、移行先の記憶装置200のストレージコントローラ110は、受信したジャーナル移行終了通知に含まれていた移行管理番号を含むジャーナル移行完了通知を、移行元の記憶装置100に送信する(S4070)。そして、移行先の記憶装置200のストレージコントローラ110は、当該ジャーナル移行処理を終了する。
【0234】
本実施の形態では、移行元の記憶装置100のストレージコントローラ110は、ジャーナルごとに、移行先の記憶装置200に設定されたジャーナル保持期間を満たすか否かを判定する。そして、移行元の記憶装置100のストレージコントローラ110は、移行先の記憶装置200に設定されたジャーナル保持期間を満たすジャーナルのみを、移行元の記憶装置100から移行先の記憶装置200に移行した。しかし、移行元の記憶装置100のストレージコントローラ110は、ジャーナルボリューム134ごとに、移行先の記憶装置200に設定されたジャーナル保持期間を満たすか否かを判定してもよい。そして、移行元の記憶装置100のストレージコントローラ110は、移行先の記憶装置200に設定されたジャーナル保持期間を満たすジャーナルボリューム134のみを移行する。
【0235】
この場合、移行元の記憶装置100のストレージコントローラ110は、ジャーナルグループ140に含まれる一つ以上のジャーナルボリューム134を、更新順序番号405が大きいジャーナルを含むジャーナルボリューム134から順に、移行先の記憶装置200に移行する。但し、移行元の記憶装置100のストレージコントローラ110は、ジャーナルボリューム134の移行の時に、移行しようとするジャーナルボリューム134に含まれる最新のジャーナルの生成時刻404が、移行元の記憶装置200に設定されているジャーナル保持期間を満たすか否かを判定する。最新のジャーナルの生成時刻404がジャーナル保持期間を満たさない場合、移行元の記憶装置100のストレージコントローラ110は、当該ジャーナルボリュームを移行する必要がない。よって、移行元の記憶装置100のストレージコントローラ110は、ジャーナルボリューム134の移行を終了する。
【0236】
これによって、移行元の記憶装置100のストレージコントローラ110は、ジャーナル保持期間を満たすジャーナルが格納されているジャーナルボリューム134のみを移行先の記憶装置200に移行できる。
【0237】
図16は、本発明の第1の実施の形態の移行先の記憶装置200のジャーナリング処理のフローチャートである。
【0238】
移行先の記憶装置200のストレージコントローラ110は、ホスト計算機300からの書込要求を受信すると、当該ジャーナリング処理を実行する。まず、移行先の記憶装置200のストレージコントローラ110は、受信した書込要求に基づいて、データの書込先となるデータボリューム132を特定する(S5010)。
【0239】
次に、移行先の記憶装置200のストレージコントローラ110は、特定したデータボリューム132の識別子とデータボリューム管理テーブル122のデータボリューム番号1222とが一致するレコードを、データボリューム管理テーブル122から選択する。次に、移行先の記憶装置200のストレージコントローラ110は、選択したレコードから、ジャーナルグループ番号1221を抽出する。
【0240】
次に、移行先の記憶装置200のストレージコントローラ110は、抽出したジャーナルグループ番号1221とジャーナルボリューム管理テーブル124のジャーナルグループ番号1241とが一致するレコードを、ジャーナルボリューム管理テーブル124から選択する。次に、移行先の記憶装置200のストレージコントローラ110は、選択したレコードから、ジャーナルボリューム番号1242を抽出する。
【0241】
そして、移行先の記憶装置200のストレージコントローラ110は、抽出したジャーナルボリューム番号1242によって識別されるジャーナルボリューム134を、ステップS5010で特定したデータボリューム132と同じジャーナルグループ140に属すジャーナルボリューム134として特定する(S5015)。
【0242】
次に、移行先の記憶装置200のストレージコントローラ110は、特定したジャーナルボリューム134に対してジャーナル移行処理を実行している最中であるか否かを判定する(S5020)。
【0243】
具体的には、移行先の記憶装置200のストレージコントローラ110は、ステップS5010で特定したデータボリューム132の識別子と移行情報管理テーブル126の移行先データボリューム番号12632とが一致するレコードを、移行情報管理テーブル126から選択する。そして、移行先の記憶装置200のストレージコントローラ110は、当該レコードを、移行情報管理テーブル126から選択できたか否かを判定する。
【0244】
当該レコードを移行情報管理テーブル126から選択できなかった場合、移行先の記憶装置200のストレージコントローラ110は、特定したジャーナルボリューム134に対してジャーナル移行処理を実行していないと判定する。この場合、移行先の記憶装置200のストレージコントローラ110は、ステップS5060に進む。
【0245】
一方、当該レコードを移行情報管理テーブル126から選択できた場合、移行先の記憶装置200のストレージコントローラ110は、特定したジャーナルボリューム134に対してジャーナル移行処理を実行している最中と判定する。この場合、移行先の記憶装置200のストレージコントローラ110は、移行情報管理テーブル126から選択したレコードの最終更新順序番号12624を抽出する(S5030)。
【0246】
次に、移行先の記憶装置200のストレージコントローラ110は、ステップS5015で特定したジャーナルボリューム134に対するジャーナリングを開始しているか否かを判定する(S5040)。
【0247】
具体的には、移行先の記憶装置200のストレージコントローラ110は、ステップS5030で抽出した最終更新順序番号12624より大きい更新順序番号405を持つジャーナルが、ステップS5015で特定したジャーナルボリューム134に格納されているか否かを判定する。
【0248】
最終更新順序番号12624より大きい更新順序番号405を持つジャーナルがジャーナルボリューム134に格納されている場合、当該ジャーナルボリューム134に対するジャーナリングが開始されている。そこで、移行先の記憶装置200のストレージコントローラ110は、ステップS5015で特定したジャーナルボリューム134に含まれるすべてのジャーナルの更新順序番号405から、最大値を抽出する。
【0249】
次に、移行先の記憶装置200のストレージコントローラ110は、抽出した最大値に「1」を加算する(S5060)。
【0250】
次に、移行先の記憶装置200のストレージコントローラ110は、当該加算結果を、ステップS5010で受信した書込要求に対応するジャーナルの更新順序番号として付与する。そして、移行先の記憶装置200のストレージコントローラ110は、ステップS5010で受信した書込要求に対応するジャーナルを、ステップS5015で特定したジャーナルボリューム134に格納する(S5070)。
【0251】
そして、移行先の記憶装置200のストレージコントローラ110は、当該ジャーナリング処理を終了する。
【0252】
一方、最終更新順序番号12624より大きい更新順序番号405を持つジャーナルがジャーナルボリューム134に格納されていない場合、当該ジャーナルボリューム134に対するジャーナリングが開始されてない。この場合、移行先の記憶装置200のストレージコントローラ110は、ステップS5030で抽出した最終更新順序番号12624に「1」を加算する。
【0253】
次に、移行先の記憶装置200のストレージコントローラ110は、当該加算結果を、ステップS5010で受信した書込要求に対応するジャーナルの更新順序番号として付与する。そして、移行先の記憶装置200のストレージコントローラ110は、ステップS5010で受信した書込要求に対応するジャーナルを、ステップS5015で特定したジャーナルボリューム134に格納する(S5070)。
【0254】
そして、移行先の記憶装置200のストレージコントローラ110は、当該ジャーナリング処理を終了する。
【0255】
図17は、本発明の第1の実施の形態の計算機システムのリカバリ処理のシーケンス図である。
【0256】
なお、本シーケンス図のリカバリ処理では、Beforeジャーナルが使用される。
【0257】
管理者は、管理計算機500に備わるキーボード570又はマウス580を操作することによって、リカバリの指示を管理計算機500に入力する。このとき、管理者は、リカバリの対象となるデータボリューム132、当該データボリューム132を備える記憶装置200及びリカバリ指定時刻を指定する。
【0258】
すると、管理計算機500のCPU510は、管理者によって指定された移行先の記憶装置200に、リカバリ要求を送信する(S6010)。なお、リカバリ要求は、管理者によって指定されたデータボリューム132の識別子及び管理者によって指定されたリカバリ指定時刻を含む。
【0259】
移行先の記憶装置200のストレージコントローラ110は、管理計算機500からリカバリ要求を受信する。すると、移行先の記憶装置200のストレージコントローラ110は、リカバリ要求から、リカバリ対象のデータボリューム132の識別子及びリカバリ指定時刻を抽出する。次に、移行先の記憶装置200のストレージコントローラ110は、抽出したデータボリューム132の識別子によって識別されるデータボリューム132のジャーナルが移行中であるか否かを判定する(S6020)。
【0260】
具体的には、移行先の記憶装置200のストレージコントローラ110は、当該移行先の記憶装置200の識別子と移行情報管理テーブル126の移行先記憶装置番号12631とが一致するすべてのレコードを、移行情報管理テーブル126から選択する。次に、移行先の記憶装置200のストレージコントローラ110は、抽出したデータボリューム132の識別子と移行情報管理テーブル126の移行先データボリューム番号12632とが一致するレコードを、選択したレコードの中から選択する。そして、移行先の記憶装置200のストレージコントローラ110は、当該レコードを選択できたか否かを判定する。
【0261】
当該レコードを選択できなかった場合、抽出されたデータボリューム132の識別子によって識別されるデータボリューム132のジャーナルは、移行中でない。この場合、移行先の記憶装置200のストレージコントローラ110は、抽出したデータボリューム132の識別子とデータボリューム管理テーブル122のデータボリューム番号1222とが一致するレコードを、データボリューム管理テーブル122から選択する。次に、移行先の記憶装置200のストレージコントローラ110は、選択したレコードから、ジャーナルグループ番号1221を抽出する。
【0262】
次に、移行先の記憶装置200のストレージコントローラ110は、抽出したジャーナルグループ番号1221とジャーナルボリューム管理テーブル124のジャーナルグループ番号1241とが一致するレコードを、ジャーナルボリューム管理テーブル124から選択する。次に、移行先の記憶装置200のストレージコントローラ110は、選択したレコードからジャーナルボリューム番号1242を抽出する。
【0263】
次に、移行先の記憶装置200のストレージコントローラ110は、抽出したジャーナルボリューム番号1242によって識別されるジャーナルボリューム134に格納されているジャーナルのジャーナルデータ4073を、抽出されたデータボリューム132の識別子によって識別されるデータボリューム132に書き戻すことによって、データボリューム132をリカバリする(S6030)。
【0264】
具体的には、移行先の記憶装置200のストレージコントローラ110は、抽出したリカバリ指定時刻と同一又は直後の生成時刻404を持つジャーナルを、抽出したジャーナルボリューム番号1242によって識別されるジャーナルボリューム134に記憶されるジャーナルの中から特定する。
【0265】
次に、移行先の記憶装置200のストレージコントローラ110は、更新順序番号405が大きい順に、ジャーナルを選択する。次に、移行先の記憶装置200のストレージコントローラ110は、選択したジャーナルのジャーナルデータ4073を、データボリューム132に書き戻す。
【0266】
なお、移行先の記憶装置200のストレージコントローラ110は、特定したジャーナルを選択するまで、ジャーナルの選択を繰り返す。次に、移行先の記憶装置200のストレージコントローラ110は、特定したジャーナルを選択し、当該特定したジャーナルのジャーナルデータ4073を、データボリューム132に書き戻す。そして、当該リカバリ処理が終了する。これによって、移行先の記憶装置200のストレージコントローラ110は、リカバリ指定時刻におけるデータボリュームのデータをリカバリできる。
【0267】
一方、ステップS6020でレコードを選択できなかった場合、抽出されたデータボリューム132の識別子によって識別されるデータボリューム132のジャーナルが移行中である。この場合、移行先の記憶装置200のストレージコントローラ110は、リカバリ対象のデータボリューム132のジャーナルが移行中であることを、管理計算機500に通知する(S6040)。
【0268】
管理計算機500のCPU510は、移行先の記憶装置200からジャーナルの移行中の通知を受ける。すると、管理計算機500のCPU510は、移行元の記憶装置100に、リカバリに必要な最古のジャーナルの生成時刻の問い合わせを送信する(S6050)。なお、当該問い合わせは、管理者によって指定されたデータボリューム132の識別子及び管理者によって指定されたリカバリ指定時刻を含む。
【0269】
移行元の記憶装置100のストレージコントローラ110は、リカバリに必要な最古のジャーナルの生成時刻の問い合わせを管理計算機から受信する。すると、移行元の記憶装置100のストレージコントローラ110は、受信した問い合わせから、データボリューム132の識別子及びリカバリ指定時刻を抽出する。
【0270】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出したデータボリューム132の識別子と移行情報管理テーブル126の移行先データボリューム番号12632とが一致するレコードを、移行情報管理テーブル126から選択する。
【0271】
次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードから、移行元ジャーナルグループ番号12623を抽出する。次に、移行元の記憶装置100のストレージコントローラ110は、抽出した移行元ジャーナルグループ番号12623とジャーナルボリューム管理テーブル124のジャーナルグループ番号1241とが一致するレコードを、ジャーナルボリューム管理テーブル124から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードから、ジャーナルボリューム番号1242を抽出する。
【0272】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出したリカバリ指定時刻と同一又は直後の生成時刻404を持つジャーナルを、抽出したジャーナルボリューム番号1242によって識別されるジャーナルボリューム134に記憶されるジャーナルの中から特定する(S6060)。次に、移行元の記憶装置100のストレージコントローラ110は、特定したジャーナルの生成時刻404を、リカバリに必要な最古のジャーナルの生成時刻として、管理計算機500に送信する(S6070)。
【0273】
管理計算機500のCPU510は、リカバリに必要な最古のジャーナルの生成時刻を移行元の記憶装置100から受信する。すると、管理計算機500のCPU510は、当該リカバリに必要な最古のジャーナルの生成時刻を移行先の記憶装置200に送信する(S6080)。
【0274】
移行先の記憶装置200のストレージコントローラ110は、リカバリに必要な最古のジャーナルの生成時刻を管理計算機500から受信する。すると、移行先の記憶装置200のストレージコントローラ110は、受信したリカバリに必要な最古のジャーナルの生成時刻と一致する生成時刻404を持つジャーナルが、当該移行先の記憶装置200に備わるジャーナルボリューム134に格納されているか否かを判定する。
【0275】
これによって、移行先の記憶装置200のストレージコントローラ110は、リカバリに必要なジャーナルのすべてが、当該移行先の記憶装置200に備わるジャーナルボリューム134にすでに格納されているか否かを判定する(S6090)。
【0276】
リカバリに必要なジャーナルのいずれかがジャーナルボリューム134に格納されていない場合、移行先の記憶装置200のストレージコントローラ110は、リカバリに必要なジャーナルのすべてがジャーナルボリューム134に格納されるまで待機する。
【0277】
一方、リカバリに必要なジャーナルのすべてがジャーナルボリューム134に格納されている場合、移行先の記憶装置200のストレージコントローラ110は、データボリューム132をリカバリする(S6030)。そして、当該リカバリ処理が終了する。
【0278】
以上のように、本実施の形態では、データボリュームだけでなく、当該データボリュームに関連付けられたBeforeジャーナルも移行される。このため、移行先の記憶装置200は、移行前の任意の時点におけるデータボリューム132をリカバリできる。
【0279】
なお、移行元の記憶装置100は、最新のBeforeジャーナルから順に、移行先の記憶装置200に送信する。更に、移行元の記憶装置100は、移行先の記憶装置200に設定されているジャーナル保持期間を満たすBeforeジャーナルのみを、移行先の記憶装置200に送信する。これによって、Beforeジャーナルの移行に要する時間を短縮できる。
【0280】
(第2の実施の形態)
本発明の第1の実施の形態では、Beforeジャーナルを用いてリカバリが実行された。しかし、本発明の第2の実施の形態では、Afterジャーナルを用いてリカバリが実行される。
【0281】
図18に、本発明の第2の実施の形態の計算機システムの構成のブロック図である。
【0282】
第2の実施の形態の計算機システムの構成は、記憶装置100及び200を除き、第1の実施の形態の計算機システム(図1)と同一である。
【0283】
記憶装置100及び200は、メモリ120に記憶されるプログラムを除き、第1の実施の形態の計算機システムに備わるものと同一である。
【0284】
なお、第2の実施の形態では、ストレージコントローラ110は、ハードディスクドライブ130の記憶領域を、一つ以上の論理ボリュームとしてホスト計算機300に提供する。なお、論理ボリュームは、データボリューム132、ジャーナルボリューム134及びスナップショットボリューム136を含む。スナップショットボリューム136は、データボリューム132のスナップショットを記憶する。なお、スナップショットボリューム136は、一つ以上のジャーナルグループ140に属す。
【0285】
メモリ120は、データボリューム移行プログラム121、ジャーナル移行プログラム123、CDP制御プログラム125、管理情報入出力プログラム129、データボリューム管理テーブル122、ジャーナルボリューム管理テーブル124、移行情報管理テーブル126、スナップショット移行プログラム127及びスナップショット管理テーブル128を記憶する。なお、データボリューム移行プログラム121、ジャーナル移行プログラム123、CDP制御プログラム125、管理情報入出力プログラム129、データボリューム管理テーブル122、ジャーナルボリューム管理テーブル124及び移行情報管理テーブル126は、第1の実施の形態の記憶装置100に備わるメモリ120に記憶されるものと同一なので説明を省略する。
【0286】
スナップショット移行プログラム127は、データボリューム132のスナップショットを、移行元の記憶装置100から移行先の記憶装置200へ移行する。
【0287】
スナップショット管理テーブル128は、データボリューム132のスナップショットに関する情報を示す。なお、スナップショット管理テーブル128については、図19で詳細を説明する。
【0288】
図19は、本発明の第2の実施の形態の記憶装置100に記憶されるスナップショット管理テーブル128の構成図である。
【0289】
スナップショット管理テーブル128は、ジャーナルグループ番号1281、記憶装置番号1282、スナップショットボリューム番号1283、データボリューム番号1284及びスナップショット作成時刻1285を含む。
【0290】
記憶装置番号1282は、記憶装置100又は200の一意な識別子である。なお、本実施の形態では、記憶装置番号1282には、当該スナップショット管理テーブル128を記憶する記憶装置100の一意な識別子が格納される。
【0291】
データボリューム番号1284は、当該レコードの記憶装置番号1282によって識別される記憶装置100に備わるデータボリューム132の一意な識別子である。スナップショットボリューム番号1283は、当該レコードのデータボリューム番号1284によって識別されるデータボリューム132のスナップショットを記憶するスナップショットボリューム136の一意な識別子である。
【0292】
スナップショット作成時刻1285は、当該レコードのスナップショットボリューム番号1283によって識別されるスナップショットボリューム136に記憶されるスナップショットが作成された時刻である。
【0293】
ジャーナルグループ番号1281は、当該レコードのデータボリューム番号1284によって識別されるデータボリューム132及び当該レコードのスナップショットボリューム番号1283によって識別されるスナップショットボリューム136を含むジャーナルグループ140の一意な識別子である。
【0294】
なお、記憶装置200も、本説明図と同様のスナップショット管理テーブル128を記憶する。
【0295】
図20は、本発明の第2の実施の形態の記憶装置100におけるAfterジャーナルを用いたリカバリの説明図である。
【0296】
本説明図は、スナップショットボリューム136と、時間軸上の各時刻におけるAfterジャーナルとの関係を模式的に示す。時間軸上に配置された黒点は、それぞれの時刻にAfterジャーナル461〜465が作成されたことを示す。Afterジャーナル461〜465には、更新順序番号の「1」〜「5」が付与されている。
【0297】
なお、スナップショットボリューム136は、2006年10月01日00:00時点におけるデータボリューム132のスナップショットを記憶する。また、現時点を6時とする。
【0298】
記憶装置100は、管理計算機500からリカバリ要求を受信する。例えば、当該リカバリ要求は、リカバリ指定時刻の3時におけるデータのリカバリを要求したとする。
【0299】
すると、記憶装置100は、スナップショットボリューム136が作成された0時から、リカバリ指定時刻の3時までの間に作成されたAfterジャーナル461及び462を、スナップショットボリューム136に書き込む。このとき、記憶装置100は、古いAfterジャーナルから順に、スナップショットボリューム136に書き込む。
【0300】
つまり、記憶装置100は、Afterジャーナル461及び462に付与された更新順序番号が小さいものから順番に、Afterジャーナル461及び462を、スナップショットボリューム136に書き込む。ここでは、記憶装置100は、Afterジャーナル461、Afterジャーナル462の順に、スナップショットボリューム136に書き込む。これによって、記憶装置100は、指定時刻の3時におけるデータをリカバリできる。
【0301】
以上のように、Afterジャーナルを用いたリカバリでは、リカバリの基点となるスナップショットが必要になる。
【0302】
次に、第2の実施の形態の計算機システムの処理について説明する。なお、第2の実施の形態のデータボリューム132の移行処理は、第1の実施の形態のデータボリューム132の移行処理(図7A及び図7B)と同一である。よって、説明は省略する。
【0303】
図21は、本発明の第2の実施の形態の移行元の記憶装置100のジャーナル移行処理のフローチャートである。
【0304】
なお、本実施の形態では、Afterジャーナルが移行される。そして、リカバリには、Afterジャーナルが使用される。
【0305】
まず、移行元の記憶装置100のストレージコントローラ110は、ステップS3010〜S3070を実行する。なお、ステップS3010〜S3070は、第1の実施の形態のジャーナル移行処理(図13)に含まれるステップと同一である。同一のステップには同一の番号を付し、説明を省略する。
【0306】
移行元の記憶装置100のストレージコントローラ110は、ステップS3070でジャーナルの送信を完了すると、ステップS3070で最後に送信したジャーナルから、生成時刻404を抽出する。次に、移行元の記憶装置100のストレージコントローラ110は、ステップS3020で抽出した移行元ジャーナルグループ番号12623とスナップショット管理テーブル128のジャーナルグループ番号1281とが一致するレコードを、スナップショット管理テーブル128から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、抽出した生成時刻404と同一又は直前のスナップショット作成時刻1285のレコードを、選択したレコードの中から選択する。
【0307】
次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードからスナップショットボリューム番号1283及びスナップショット作成時刻1285を抽出する。なお、移行元の記憶装置100のストレージコントローラ110は、抽出したスナップショットボリューム番号1283によって識別されるスナップショットボリューム136を、抽出した生成時刻404と同一時刻又は直前に生成されたスナップショットボリューム136として特定する(S7010)。
【0308】
次に、移行元の記憶装置100のストレージコントローラ110は、最後に送信したジャーナルから抽出した生成時刻404と抽出したスナップショット作成時刻1285とが同一であるか否かを判定する(S7020)。
【0309】
生成時刻404とスナップショット作成時刻1285とが同一の場合、移行元の記憶装置100のストレージコントローラ110は、そのままステップS7070に進む。そして、移行元の記憶装置100のストレージコントローラ110は、抽出したスナップショットボリューム番号1283によって識別されるスナップショットボリューム136を、移行先の記憶装置200に送信する(S7070)。
【0310】
一方、生成時刻404とスナップショット作成時刻1285とが異なる場合、移行元の記憶装置100のストレージコントローラ110は、抽出したスナップショット作成時刻1285の直後の生成時刻404を持つジャーナルを、ジャーナルボリューム134から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したジャーナルから、ステップS3070で最後に送信したジャーナルまでを、抽出したスナップショットボリューム番号1283によって識別されるスナップショットボリューム136に書き込む。このとき、移行元の記憶装置100のストレージコントローラ110は、更新順序番号405が小さいジャーナルから順に、スナップショットボリューム136に書き込む。
【0311】
これによって、移行元の記憶装置100のストレージコントローラ110は、最後に送信したジャーナルから抽出した生成時刻404におけるデータボリューム132のスナップショットを作成する(S7030)。このとき、移行元の記憶装置100のストレージコントローラ110は、スナップショット管理テーブル128を更新する。
【0312】
次に、移行元の記憶装置100のストレージコントローラ110は、ステップS7010で特定したスナップショット又はステップS7030で作成したスナップショットを、移行先の記憶装置200に送信する。このとき、移行元の記憶装置100のストレージコントローラ110は、スナップショットと共に、当該スナップショットの作成時刻及びステップS3010で受信したジャーナル移行要求に含まれる移行管理番号を併せて、移行先の記憶装置200に送信する。
【0313】
その後、移行元の記憶装置100のストレージコントローラ110は、ステップS3090〜S3120を実行する。なお、ステップS3090〜S3120は、第1の実施の形態のジャーナル移行処理(図13)に含まれるステップと同一である。同一のステップには同一の番号を付し、説明を省略する。
【0314】
そして、移行元の記憶装置100のストレージコントローラ110は、当該ジャーナル移行処理を終了する。
【0315】
図22は、本発明の第2の実施の形態の移行先の記憶装置200のジャーナル移行処理のフローチャートである。
【0316】
まず、移行先の記憶装置200のストレージコントローラ110は、ステップS4010〜S4050を実行する。なお、ステップS4010〜S4050は、第1の実施の形態のジャーナル移行処理(図15)に含まれるステップと同一である。同一のステップには同一の番号を付し、説明を省略する。
【0317】
但し、移行先の記憶装置200のストレージコントローラ110は、ステップS4050において、ジャーナル又はスナップショットのいずれかを受信するまで待機する。そして、移行先の記憶装置200のストレージコントローラ110は、ジャーナル又はスナップショットのいずれを受信したかを判定する。ジャーナルを受信した場合、移行先の記憶装置200のストレージコントローラ110は、ステップS4010に戻る。
【0318】
一方、移行先の記憶装置200のストレージコントローラ110は、スナップショット、スナップショット作成時刻及び移行管理番号を受信した場合(S8010)、受信した移行管理番号と移行情報管理テーブル126の移行管理番号1261とが一致するレコードを、移行情報管理テーブル126から選択する。
【0319】
次に、移行先の記憶装置200のストレージコントローラ110は、選択したレコードから、移行先データボリューム番号12632及び移行先ジャーナルグループ番号12633を抽出する(S8020)。
【0320】
次に、移行先の記憶装置200のストレージコントローラ110は、受信したスナップショットを、スナップショットボリューム136に格納する(S8030)。なお、受信したスナップショットが格納されるスナップショットボリューム136は、移行先の記憶装置200に予め備わる論理ボリュームであってもよいし、新たに作成された論理ボリュームであってもよい。
【0321】
次に、移行先の記憶装置200のストレージコントローラ110は、スナップショット管理テーブル128を更新する。
【0322】
具体的には、移行先の記憶装置200のストレージコントローラ110は、スナップショット管理テーブル128に新たなレコードを追加する。次に、移行先の記憶装置200のストレージコントローラ110は、抽出した移行先ジャーナルグループ番号12633を、新たなレコードのジャーナルグループ番号1281に格納する。次に、移行先の記憶装置200のストレージコントローラ110は、当該移行先の記憶装置200の識別子を、新たなレコードの記憶装置番号1282に格納する。
【0323】
次に、移行先の記憶装置200のストレージコントローラ110は、スナップショットを格納したスナップショットボリューム136の識別子を、新たなレコードのスナップショットボリューム番号1283に格納する。次に、移行先の記憶装置200のストレージコントローラ110は、抽出した移行先データボリューム番号12632を、新たなレコードのデータボリューム番号1284に格納する。次に、移行先の記憶装置200のストレージコントローラ110は、受信したスナップショット作成時刻を、新たなレコードのスナップショット作成時刻1285に格納する。
【0324】
次に、移行先の記憶装置200のストレージコントローラ110は、ステップS8020で移行情報管理テーブル126から選択したレコードを削除する(S8040)。
【0325】
次に、移行先の記憶装置200のストレージコントローラ110は、ステップS8010で受信した移行管理番号を含むジャーナル移行完了通知を、移行元の記憶装置100に送信する(S8050)。そして、移行先の記憶装置200のストレージコントローラ110は、当該ジャーナル移行処理を終了する。
【0326】
図23は、本発明の第2の実施の形態の計算機システムのリカバリ処理のシーケンス図である。
【0327】
なお、本シーケンス図のリカバリ処理では、Afterジャーナルが使用される。
【0328】
管理者は、管理計算機500に備わるキーボード570又はマウス580を操作することによって、リカバリの指示を管理計算機500に入力する。このとき、管理者は、リカバリの対象となるデータボリューム132、当該データボリューム132を備える記憶装置200及びリカバリ指定時刻を指定する。
【0329】
すると、管理計算機500のCPU510は、管理者によって指定された移行先の記憶装置200に、リカバリ要求を送信する(S9010)。なお、リカバリ要求は、管理者によって指定されたデータボリューム132の識別子及び管理者によって指定されたリカバリ指定時刻を含む。
【0330】
移行先の記憶装置200のストレージコントローラ110は、管理計算機500からリカバリ要求を受信する。すると、移行先の記憶装置200のストレージコントローラ110は、受信したリカバリ要求から、リカバリ対象のデータボリューム132の識別子及びリカバリ指定時刻を抽出する。
【0331】
次に、移行先の記憶装置200のストレージコントローラ110は、抽出したリカバリ指定時刻以前に作成されたスナップショットが存在するか否かを判定する(S9020)。なお、リカバリ指定時刻以前に作成されたスナップショットは、リカバリに必要なスナップショットである。
【0332】
具体的には、移行先の記憶装置200のストレージコントローラ110は、抽出したデータボリューム132の識別子とスナップショット管理テーブル128のデータボリューム番号1284とが一致するレコードを、スナップショット管理テーブル128から選択する。次に、移行先の記憶装置200のストレージコントローラ110は、スナップショット作成時刻1285が、抽出したリカバリ指定時刻以前であるレコードを、選択したレコードの中から選択する。
【0333】
当該レコードを選択できた場合、移行先の記憶装置200のストレージコントローラ110は、抽出したリカバリ指定時刻以前に作成されたスナップショットが存在すると判定する。
【0334】
この場合、移行先の記憶装置200のストレージコントローラ110は、選択したレコードから、スナップショットボリューム番号1283を抽出する。次に、移行先の記憶装置200のストレージコントローラ110は、抽出したスナップショットボリューム番号1283によって識別されるスナップショットボリューム136に、Afterジャーナルを書き込む。これによって、移行先の記憶装置200のストレージコントローラ110は、リカバリ指定時刻におけるデータをリカバリする(S9025)。そして、当該リカバリ処理が終了する。
【0335】
一方、当該レコードを選択できなかった場合、移行先の記憶装置200のストレージコントローラ110は、抽出したリカバリ指定時刻以前に作成されたスナップショットが存在しないと判定する。
【0336】
この場合、移行先の記憶装置200のストレージコントローラ110は、リカバリに必要なスナップショットの不存在を管理計算機500に通知する(S9030)。管理計算機500のCPU510は、移行先の記憶装置200から、リカバリに必要なスナップショットの不存在の通知を受信する。すると、管理計算機500のCPU510は、スナップショットの移行要求を、移行元の記憶装置100に送信する(S9040)。なお、スナップショットの移行要求は、管理者によって指定されたデータボリューム132の識別子及び管理者によって指定されたリカバリ指定時刻を含む。
【0337】
移行元の記憶装置100のストレージコントローラ110は、スナップショットの移行要求を管理計算機500から受信する。すると、移行元の記憶装置100のストレージコントローラ110は、受信したスナップショットの移行要求から、データボリューム132の識別子及びリカバリ指定時刻を抽出する。
【0338】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出したデータボリューム132の識別子と移行情報管理テーブル126の移行先データボリューム番号12632とが一致するレコードを、移行情報管理テーブル126から選択する。
【0339】
次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードから、移行管理番号1261及び移行元ジャーナルグループ番号12623を抽出する。次に、移行元の記憶装置100のストレージコントローラ110は、抽出した移行元ジャーナルグループ番号12623とジャーナルボリューム管理テーブル124のジャーナルグループ番号1241とが一致するレコードを、ジャーナルボリューム管理テーブル124から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードから、ジャーナルボリューム番号1242を抽出する。
【0340】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出したリカバリ指定時刻の直後の生成時刻404を持つジャーナルを移行先の記憶装置200に送信済みであるか否かを判定する(S9050)。
【0341】
当該ジャーナルを送信していない場合、移行元の記憶装置100のストレージコントローラ110は、抽出したリカバリ指定時刻の直後の生成時刻404を持つジャーナルを移行先の記憶装置200に送信するまで待機する。
【0342】
一方、当該ジャーナルの送信を完了した場合、移行元の記憶装置100のストレージコントローラ110は、抽出した移行元ジャーナルグループ番号12623とスナップショット管理テーブル128のジャーナルグループ番号1281とが一致するレコードを、スナップショット管理テーブル128から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、抽出したリカバリ指定時刻と同一又は直前のスナップショット作成時刻1285のレコードを、選択したレコードの中から選択する。
【0343】
次に、移行元の記憶装置100のストレージコントローラ110は、選択したレコードからスナップショットボリューム番号1283及びスナップショット作成時刻1285を抽出する。なお、移行元の記憶装置100のストレージコントローラ110は、抽出したスナップショットボリューム番号1283によって識別されるスナップショットボリューム136を、抽出したリカバリ指定時刻と同一時刻又は直前に生成されたスナップショットボリューム136(基底のスナップショットボリューム136)として特定する(S9060)。
【0344】
次に、移行元の記憶装置100のストレージコントローラ110は、抽出したリカバリ指定時刻と抽出したスナップショット作成時刻1285とが同一であるか否かを判定する。
【0345】
リカバリ指定時刻とスナップショット作成時刻1285とが同一の場合、移行元の記憶装置100のストレージコントローラ110は、当該ステップS9070を省略する。
【0346】
一方、リカバリ指定時刻とスナップショット作成時刻1285とが異なる場合、移行元の記憶装置100のストレージコントローラ110は、抽出したスナップショット作成時刻1285の直後の生成時刻404を持つジャーナルを、ジャーナルボリューム134から選択する。次に、移行元の記憶装置100のストレージコントローラ110は、選択したジャーナルから、リカバリ指定時刻の直前に作成されたジャーナルまでを、抽出したスナップショットボリューム番号1283によって識別されるスナップショットボリューム136に書き込む。このとき、移行元の記憶装置100のストレージコントローラ110は、更新順序番号405が小さいジャーナルから順に、ジャーナルをスナップショットボリューム136に書き込む。
【0347】
これによって、移行元の記憶装置100のストレージコントローラ110は、抽出したスナップショット作成時刻1285におけるデータボリューム132のスナップショットを作成する(S9070)。このとき、移行元の記憶装置100のストレージコントローラ110は、スナップショット管理テーブル128を更新する。
【0348】
次に、移行元の記憶装置100のストレージコントローラ110は、作成したスナップショット及び抽出した移行管理番号1261を、移行先の記憶装置200へ送信する(S9080)。
【0349】
移行先の記憶装置200のストレージコントローラ110は、スナップショットを移行元の記憶装置100から受信する(9090)。次に、移行先の記憶装置200のストレージコントローラ110は、受信したスナップショットを用いて、リカバリ指定時刻におけるデータをリカバリする(S9025)。そして、当該リカバリ処理が終了する。
【0350】
以上のように、本実施の形態では、データボリュームだけでなく、当該データボリュームに関連付けられたAfterジャーナル及びAfterジャーナルが書き込まれるスナップショットも移行される。このため、移行先の記憶装置200は、移行前の任意の時点におけるデータボリューム132をリカバリできる。
【0351】
なお、移行元の記憶装置100は、最新のAfterジャーナルから順に、移行先の記憶装置200に送信する。更に、移行元の記憶装置100は、移行先の記憶装置200に設定されているジャーナル保持期間を満たすAfterジャーナルのみを、移行先の記憶装置200に送信する。これによって、Afterジャーナルの移行に要する時間を短縮できる。
【0352】
次に、第2の実施の形態の変形例について説明する。なお、第1の実施の形態についても、第2の実施の形態と同様の変形例が存在する。
【0353】
図24は、本発明の第2の実施の形態の変形例の計算機システムの構成のブロック図である。
【0354】
第2の実施の形態の変形例の計算機システムは、記憶装置100、200、ホスト計算機300、管理計算機500、ジャーナル管理計算機700、800、データネットワーク50及び管理ネットワーク90を含む。
【0355】
ホスト計算機300は、データネットワーク50を介して、記憶装置100、記憶装置200、ジャーナル管理計算機700及びジャーナル管理計算機800に接続される。また、ジャーナル管理計算機700は、データネットワーク50を介して、記憶装置100に接続される。なお、本説明図では、ジャーナル管理計算機700は、一つの記憶装置100に接続されているが、複数の記憶装置100に接続されてもよい。
【0356】
また、ジャーナル管理計算機800は、データネットワーク50を介して、記憶装置200に接続される。なお、本説明図では、ジャーナル管理計算機800は、一つの記憶装置200に接続されているが、複数の記憶装置200に接続されてもよい。
【0357】
また、管理計算機500は、管理ネットワーク90を介して、ジャーナル管理計算機700及びジャーナル管理計算機800と接続される。
【0358】
ホスト計算機300は、メモリ320に記憶されるアプリケーションプログラム323を除き、第2の実施の形態の計算機システム(図18)に備わるものと同一である。よって、詳細な説明は省略する。
【0359】
ホスト計算機300のメモリ320には、アプリケーションプログラム323を記憶する。アプリケーションプログラム323は、記憶装置100に備わる論理ボリューム138へのデータの書き込みを要求する時に、記憶装置100だけでなく、ジャーナル管理計算機700にも書込要求を送信する。同様に、アプリケーションプログラム323は、記憶装置200に備わる論理ボリューム138へのデータの書き込みを要求する時に、記憶装置200だけでなく、ジャーナル管理計算機800にも書込要求を送信する。
【0360】
記憶装置100及び200は、メモリ120に記憶されるプログラムを除き、第2の実施の形態の計算機システム(図18)に備わるものと同一である。よって、詳細な説明は省略する。
【0361】
本実施の形態では、メモリ120は、データボリューム移行プログラム121、ジャーナル移行プログラム123、CDP制御プログラム125、管理情報入出力プログラム129、データボリューム管理テーブル122、ジャーナルボリューム管理テーブル124、移行情報管理テーブル126、スナップショット移行プログラム127及びスナップショット管理テーブル128を記憶しない。
【0362】
また、記憶装置100に備わるストレージコントローラ110は、ハードディスクドライブ130の記憶領域を、一つ以上の論理ボリューム138としてホスト計算機300及びジャーナル管理計算機700に提供する。同様に、記憶装置200に備わるストレージコントローラ110は、ハードディスクドライブ130の記憶領域を、一つ以上の論理ボリューム138としてホスト計算機300及びジャーナル管理計算機800に提供する。
【0363】
なお、論理ボリューム138は、データボリューム132、ジャーナルボリューム134及びスナップショットボリューム136を含む。
【0364】
管理計算機500は、第2の実施の形態の計算機システム(図18)に備わるものと同一である。よって、詳細な説明は省略する。なお、第2の実施の形態の変形例では、管理計算機500は、記憶装置100でなく、ジャーナル管理計算機700に対して情報及び要求を送受信する。同様に、管理計算機500は、記憶装置200でなく、ジャーナル管理計算機800に対して情報及び要求を送受信する。
【0365】
ジャーナル管理計算機700は、CPU710、メモリ720、管理I/F790及びデータI/F750を備える。なお、ジャーナル管理計算機800は、ジャーナル管理計算機700と同一の構成を備える。
【0366】
CPU710は、メモリ720に記憶されるプログラムを実行することによって、各種処理を行う。メモリ720は、CPU710によって実行されるプログラム及びCPU710によって必要とされる情報などを記憶する。具体的には、メモリ720は、データボリューム移行プログラム121、ジャーナル移行プログラム123、CDP制御プログラム125、管理情報入出力プログラム129、データボリューム管理テーブル122、ジャーナルボリューム管理テーブル124、移行情報管理テーブル126、スナップショット移行プログラム127及びスナップショット管理テーブル128を記憶する。
【0367】
データボリューム移行プログラム121、ジャーナル移行プログラム123、CDP制御プログラム125、管理情報入出力プログラム129、データボリューム管理テーブル122、ジャーナルボリューム管理テーブル124、移行情報管理テーブル126、スナップショット移行プログラム127及びスナップショット管理テーブル128は、第2の実施の形態の記憶装置100に備わるメモリ120に記憶されるものと同一である。
【0368】
よって、第2の実施の形態の変形例では、ジャーナル管理計算機700は、記憶装置100に代わって、ジャーナリングよるバックアップ処理、リカバリ処理、及びジャーナルの移行処理を実行する。ただし、ジャーナル管理計算機700は、記憶装置100に備わる論理ボリューム138を用いて、これらの処理を実行する。つまり、記憶装置100に備わる論理ボリューム138には、書込データ、ジャーナル又はスナップショットなどが格納される。
【0369】
同様に、ジャーナル管理計算機800は、記憶装置200に代わって、ジャーナリングよるバックアップ処理、リカバリ処理、及びジャーナルの移行処理を実行する。ただし、ジャーナル管理計算機800は、記憶装置200に備わる論理ボリューム138を用いて、これらの処理を実行する。つまり、記憶装置200に備わる論理ボリューム138には、書込データ、ジャーナル、スナップショットなどが格納される。
【0370】
次に、第2の実施の形態の変形例におけるジャーナリング処理について説明する。
【0371】
ホスト計算機300のCPU310は、記憶装置100に備わる論理ボリューム138へのデータの書き込みを要求する時に、記憶装置100及びジャーナル管理計算機700に、同一の書込要求を同時に送信する。
【0372】
記憶装置100のストレージコントローラ110は、ホスト計算機300から書込要求を受信する。すると、記憶装置100のストレージコントローラ110は、書き込みを要求されたデータを、当該記憶装置100に備わる論理ボリューム138に書き込む。
【0373】
一方、ジャーナル管理計算機700のCPU710は、ホスト計算機300から書込要求を受信する。
【0374】
すると、ジャーナル管理計算機700のCPU710は、受信した書込要求によってデータが格納される記憶装置100の識別子とデータボリューム管理テーブル122の記憶装置番号1224とが一致するレコードを、データボリューム管理テーブル122から選択する。次に、ジャーナル管理計算機700のCPU710は、受信した書込要求によってデータが格納される論理ボリューム138の識別子とデータボリューム管理テーブル122のデータボリューム番号1222とが一致するレコードを、選択したレコードの中から選択する。
【0375】
次に、ジャーナル管理計算機700のCPU710は、選択したレコードから、ジャーナルグループ番号1221を抽出する。次に、ジャーナル管理計算機700のCPU710は、抽出したジャーナルグループ番号1221とジャーナルボリューム管理テーブル124のジャーナルグループ番号1241とが一致するレコードを、ジャーナルボリューム管理テーブル124から選択する。次に、ジャーナル管理計算機700のCPU710は、選択したレコードから、記憶装置番号1244及びジャーナルボリューム番号1242を抽出する。
【0376】
次に、ジャーナル管理計算機700のCPU710は、ジャーナルを作成する。そして、ジャーナル管理計算機700のCPU710は、作成したジャーナルを、抽出した記憶装置番号1244によって識別される記憶装置100に備わる、抽出したジャーナルボリューム番号1242によって識別される論理ボリューム138へ格納する。
【0377】
以上のように、ジャーナル管理計算機700は、記憶装置100に代わって、ジャーナリングを行う。
【0378】
次に、本実施の形態におけるリカバリ処理について説明する。
【0379】
管理計算機500のCPU510は、リカバリ要求を、ジャーナル管理計算機700に送信する。すると、ジャーナル管理計算機700のCPU710は、データボリューム管理テーブル122、ジャーナルボリューム管理テーブル124及びスナップショット管理テーブル128を参照して、リカバリ対象のデータボリューム132、リカバリに必要なジャーナル、及びスナップショットの格納先となる論理ボリューム138を特定する。そして、ジャーナル管理計算機700のCPU710は、記憶装置100に記憶されるデータをリカバリする。
【0380】
第2の実施の形態では、データボリューム、ジャーナル及びスナップショットの移行処理は、記憶装置100及び記憶装置200によって実行された。一方、第2の実施の形態の変形例では、データボリューム、ジャーナル及びスナップショットの移行処理は、ジャーナル管理計算機700及びジャーナル管理計算機800によって実行される。
【0381】
但し、移行元のジャーナル管理計算機700は、移行対象のデータを、データネットワーク50を介して記憶装置100に備わる論理ボリューム138から取得する。なお、移行対象のデータは、書込データ、ジャーナル及びスナップショットを含む。
【0382】
そして、移行元のジャーナル管理計算機700は、取得した移行対象のデータを、移行先のジャーナル管理計算機800へ送信する。移行先のジャーナル管理計算機800は、受信した移行対象のデータを、データネットワーク50を介して記憶装置200に備わる論理ボリューム138に格納する。
【図面の簡単な説明】
【0383】
【図1】本発明の第1の実施の形態の計算機システムの構成のブロック図である。
【図2】本発明の第1の実施の形態の記憶装置に記憶されるデータボリューム管理テーブルの構成図である。
【図3】本発明の第1の実施の形態の記憶装置に記憶されるジャーナルボリューム管理テーブルの構成図である。
【図4】本発明の第1の実施の形態の記憶装置に備わるジャーナルボリュームに格納されるジャーナルの構成図である。
【図5】本発明の第1の実施の形態の記憶装置に記憶される移行情報管理テーブルの構成図である。
【図6】本発明の第1の実施の形態の記憶装置におけるBeforeジャーナルを用いたリカバリの説明図である。
【図7A】本発明の第1の実施の形態のデータボリュームの移行処理のシーケンス図である。
【図7B】本発明の第1の実施の形態のデータボリュームの移行処理のシーケンス図である。
【図8】本発明の第1の実施の形態の管理計算機に表示されるデータボリューム選択画面の説明図である。
【図9】本発明の第1の実施の形態の管理計算機に表示されるジャーナルグループ選択画面の説明図である。
【図10】本発明の第1の実施の形態の管理計算機に表示されるデータボリューム移行画面の説明図である。
【図11】本発明の第1の実施の形態の管理計算機に表示されるデータボリューム移行完了通知画面の説明図である。
【図12】本発明の第1の実施の形態の管理計算機に表示されるジャーナル移行画面の説明図である。
【図13】本発明の第1の実施の形態の移行元の記憶装置のジャーナル移行処理のフローチャートである。
【図14】本発明の第1の実施の形態の管理計算機に表示されるジャーナル移行完了通知画面の説明図である。
【図15】本発明の第1の実施の形態の移行先の記憶装置のジャーナル移行処理のフローチャートである。
【図16】本発明の第1の実施の形態の移行先の記憶装置のジャーナリング処理のフローチャートである。
【図17】本発明の第1の実施の形態の計算機システムのリカバリ処理のシーケンス図である。
【図18】本発明の第2の実施の形態の計算機システムの構成のブロック図である。
【図19】本発明の第2の実施の形態の記憶装置に記憶されるスナップショット管理テーブルの構成図である。
【図20】本発明の第2の実施の形態の記憶装置におけるAfterジャーナルを用いたリカバリの説明図である。
【図21】本発明の第2の実施の形態の移行元の記憶装置のジャーナル移行処理のフローチャートである。
【図22】本発明の第2の実施の形態の移行先の記憶装置のジャーナル移行処理のフローチャートである。
【図23】本発明の第2の実施の形態の計算機システムのリカバリ処理のシーケンス図である。
【図24】本発明の第2の実施の形態の変形例の計算機システムの構成のブロック図である。
【符号の説明】
【0384】
10 記憶装置
50 データネットワーク
90 管理ネットワーク
100 記憶装置
110 ストレージコントローラ
115 キャッシュメモリ
120 メモリ
121 データボリューム移行プログラム
122 データボリューム管理テーブル
123 ジャーナル移行プログラム
124 ジャーナルボリューム管理テーブル
125 CDP制御プログラム
126 移行情報管理テーブル
127 スナップショット移行プログラム
128 スナップショット管理テーブル
129 管理情報入出力プログラム
130 ハードディスクドライブ
132 データボリューム
134 ジャーナルボリューム
136 スナップショットボリューム
138 論理ボリューム
140 ジャーナルグループ
150 データインタフェース(データI/F)
190 管理インタフェース
200 記憶装置
300 ホスト計算機
310 CPU
320 メモリ
321 アプリケーションプログラム
323 アプリケーションプログラム
350 データインタフェース
500 管理計算機
510 CPU
520 メモリ
521 構成管理プログラム
525 移行管理プログラム
527 リカバリ要求プログラム
560 ディスプレイ
570 キーボード
580 マウス
590 管理インタフェース
700 ジャーナル管理計算機
710 CPU
720 メモリ
750 データI/F
790 管理I/F
800 ジャーナル管理計算機

【特許請求の範囲】
【請求項1】
第1記憶装置と、前記第1記憶装置にネットワークを介して接続される第2記憶装置と、を備える計算機システムであって、
前記第1記憶装置は、ホスト計算機から書き込み要求されるデータを記憶する第1記憶部と、前記第1記憶部に対するデータの入出力を制御する第1制御部と、を備え、
前記第2記憶装置は、前記ホスト計算機から書き込み要求されるデータを記憶する第2記憶部と、前記第2記憶部に対するデータの入出力を制御する第2制御部と、を備え、
前記第1制御部は、
前記第1記憶部に記憶されるデータに関する更新履歴を記録し、
前記第1記憶部に記憶されるデータの一部又は全部が前記第2記憶部に移行される場合、前記記録された更新履歴の中から、前記移行されるデータに関する更新履歴を特定し、
前記特定された更新履歴を、新しい更新履歴から順に選択し、
前記選択された更新履歴が、現時点から、前記第2記憶装置に設定されている更新履歴保持期間遡るまでの間におけるデータ更新に対応するか否かを判定し、
対応すると判定した場合、前記選択された更新履歴を前記ネットワークを介して前記第2制御部に送信し、
対応しないと判定した場合、前記更新履歴の選択を終了することを特徴とする計算機システム。
【請求項2】
前記第2制御部は、前記第1制御部から受信した更新履歴を用いて、前記第2記憶部に移行されたデータをリカバリすることを特徴とする請求項1に記載の計算機システム。
【請求項3】
前記第2制御部は、
リカバリ要求を受信すると、リカバリに必要な更新履歴のすべてを前記第1制御部から受信したか否かを判定し、
前記リカバリに必要な更新履歴のすべての受信を完了していない場合、前記リカバリに必要な更新履歴のすべてを受信した後に、前記第2記憶部に移行されたデータをリカバリすることを特徴とする請求項1に記載の計算機システム。
【請求項4】
前記第1制御部は、
前記更新履歴の選択を終了すると、前記第2制御部に最後に送信した更新履歴に対応するデータ更新の時点において前記第1記憶部に記憶されていたデータの複製を作成し、
前記作成された複製を、前記ネットワークを介して前記第2制御部に送信することを特徴とする請求項1に記載の計算機システム。
【請求項5】
前記第2制御部は、前記第1制御部から受信した複製及び更新履歴を用いて、前記第2記憶部に移行されたデータをリカバリすることを特徴とする請求項4に記載の計算機システム。
【請求項6】
前記第2制御部は、リカバリ要求を受信すると、リカバリに必要な複製を前記第1制御部から受信したか否かを判定し、
前記第2制御部がリカバリに必要な複製を受信していない場合、前記第1制御部は、
前記記録された更新履歴及び前記第1記憶部に記憶されるデータに基づいて、前記リカバリに必要な複製を作成し、
前記作成されたリカバリに必要な複製を、前記ネットワークを介して前記第2制御部に送信し、
前記第2制御部は、前記第1制御部から受信したリカバリに必要な複製及び更新履歴を用いて、前記第2記憶部に移行されたデータをリカバリすることを特徴とする請求項4に記載の計算機システム。
【請求項7】
第1記憶装置と、前記第1記憶装置に接続される第1サーバ装置と、第2記憶装置と、前記第2記憶装置に接続され且つ前記第1サーバ装置にネットワークを介して接続される第2サーバ装置と、を備える計算機システムであって、
前記第1記憶装置は、ホスト計算機から書き込み要求されるデータを記憶する第1記憶部と、前記第1記憶部に対するデータの入出力を制御する第1制御部と、を備え、
前記第2記憶装置は、前記ホスト計算機から書き込み要求されるデータを記憶する第2記憶部と、前記第2記憶部に対するデータの入出力を制御する第2制御部と、を備え、
前記第1サーバ装置は、
前記第1記憶部に記憶されるデータに関する更新履歴を記録し、
前記第1記憶部に記憶されるデータの一部又は全部が前記第2記憶部に移行される場合、前記記録された更新履歴の中から、前記移行されるデータに関する更新履歴を特定し、
前記特定された更新履歴を、新しい更新履歴から順に選択し、
前記選択された更新履歴が、現時点から、前記第2サーバ装置に設定されている更新履歴保持期間遡るまでの間におけるデータ更新に対応するか否かを判定し、
対応すると判定した場合、前記選択された更新履歴を前記ネットワークを介して前記第2サーバ装置に送信し、
対応しないと判定した場合、前記更新履歴の選択を終了することを特徴とする計算機システム。
【請求項8】
前記第2サーバ装置は、前記第1サーバ装置から受信した更新履歴を用いて、前記第2記憶部に移行されたデータをリカバリすることを特徴とする請求項7に記載の計算機システム。
【請求項9】
前記第2サーバ装置は、
リカバリ要求を受信すると、リカバリに必要な更新履歴のすべてを前記第1サーバ装置から受信したか否かを判定し、
前記リカバリに必要な更新履歴のすべての受信を完了していない場合、前記リカバリに必要な更新履歴のすべてを受信した後に、前記第2記憶部に移行されたデータをリカバリすることを特徴とする請求項7に記載の計算機システム。
【請求項10】
前記第1サーバ装置は、
前記更新履歴の選択を終了すると、前記第2サーバ装置に最後に送信した更新履歴に対応するデータ更新の時点において前記第1記憶部に記憶されていたデータの複製を作成し、
前記作成された複製を、前記ネットワークを介して前記第2サーバ装置に送信することを特徴とする請求項7に記載の計算機システム。
【請求項11】
前記第2サーバ装置は、前記第1サーバ装置から受信した複製及び更新履歴を用いて、前記第2記憶部に移行されたデータをリカバリすることを特徴とする請求項10に記載の計算機システム。
【請求項12】
前記第2サーバ装置は、リカバリ要求を受信すると、リカバリに必要な複製を前記第1サーバ装置から受信したか否かを判定し、
前記第2サーバ装置がリカバリに必要な複製を受信していない場合、前記第1サーバ装置は、
前記記録された更新履歴及び前記第1記憶部に記憶されるデータに基づいて、前記リカバリに必要な複製を作成し、
前記作成されたリカバリに必要な複製を、前記ネットワークを介して前記第2サーバ装置に送信し、
前記第2サーバ装置は、前記第1サーバ装置から受信したリカバリに必要な複製及び更新履歴を用いて、前記第2記憶部に移行されたデータをリカバリすることを特徴とする請求項10に記載の計算機システム。
【請求項13】
ネットワークを介して第2記憶装置に接続される第1記憶装置であって、
ホスト計算機から書き込み要求されるデータを記憶する第1記憶部と、前記第1記憶部に対するデータの入出力を制御する第1制御部と、を備え、
前記第1制御部は、
前記第1記憶部に記憶されるデータに関する更新履歴を記録し、
前記第1記憶部に記憶されるデータの一部又は全部が前記第2記憶装置に移行される場合、前記記録された更新履歴の中から、前記移行されるデータに関する更新履歴を特定し、
前記特定された更新履歴を順に選択し、
前記選択された更新履歴が、現時点から、前記第2記憶装置に設定されている更新履歴保持期間遡るまでの間におけるデータ更新に対応するか否かを判定し、
対応すると判定した場合、前記選択された更新履歴を前記ネットワークを介して前記第2記憶装置に送信し、
対応しないと判定した場合、前記更新履歴の選択を終了することを特徴とする第1記憶装置。
【請求項14】
前記第1制御部は、
前記更新履歴の選択を終了すると、前記第2記憶装置に最後に送信した更新履歴に対応するデータ更新の時点において前記第1記憶部に記憶されていたデータの複製を作成し、
前記作成された複製を、前記ネットワークを介して前記第2記憶装置に送信することを特徴とする請求項13に記載の第1記憶装置。
【請求項15】
前記第1制御部は、前記特定された更新履歴を、新しい更新履歴から順に選択することを特徴とする請求項13に記載の第1記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2008−165624(P2008−165624A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2006−356445(P2006−356445)
【出願日】平成18年12月28日(2006.12.28)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】