計算機システム、ストレージシステム、及びリモートコピー方法
【課題】異なる暗号鍵で暗号化されたジャーナルを同じジャーナルボリュームに混在させて管理する。
【解決手段】ホスト計算機と、ホスト計算機に接続される第1のストレージシステムと、を備える計算機システムであって、第1のストレージシステムは、第1のコントローラと、第1のボリュームと、第2のボリュームと、を備え、第1のコントローラは、ホスト計算機から書き込み要求を受け付けた場合に、書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、第2のボリュームに格納されるデータの暗号化状態及び第1のボリュームに対応して第2のボリュームに格納されるデータを暗号化する暗号鍵に基づいて書き込みデータを暗号化し、作成された更新情報及び暗号化された書き込みデータを第2のボリュームに格納する。
【解決手段】ホスト計算機と、ホスト計算機に接続される第1のストレージシステムと、を備える計算機システムであって、第1のストレージシステムは、第1のコントローラと、第1のボリュームと、第2のボリュームと、を備え、第1のコントローラは、ホスト計算機から書き込み要求を受け付けた場合に、書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、第2のボリュームに格納されるデータの暗号化状態及び第1のボリュームに対応して第2のボリュームに格納されるデータを暗号化する暗号鍵に基づいて書き込みデータを暗号化し、作成された更新情報及び暗号化された書き込みデータを第2のボリュームに格納する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機システムに関し、特に、ストレージ装置間におけるデータのリモートコピーに関する。
【背景技術】
【0002】
コンピュータシステムで発生するストレージ装置の障害によるデータの消失を防止するため、ストレージ装置の論理ボリュームに格納されたデータは、冗長的に構成された遠隔地のストレージ装置の論理ボリュームにバックアップされる。例えば、リモートコピー(又はリモートミラーリング)は、論理ボリュームに格納されたデータのバックアップを行う技術として知られている。
【0003】
具体的には、リモートコピーは、主系のストレージ装置の論理ボリューム(主論理ボリューム)と副系のストレージ装置の論理ボリューム(副論理ボリューム)との一組のボリュームをペアボリュームとして定義し、主論理ボリュームに格納されたデータを同期又は非同期に副論理ボリュームにコピーすることによって、データをバックアップする。よって、主系のストレージ装置に障害が発生した場合でも、副系のストレージ装置は、主系のストレージ装置から引き継いで、ホスト計算機からI/Oアクセスを受け付けることができる。
【0004】
また、データのバックアップ及びデータのリストアを高速に行なう技術として、ジャーナリングが知られている。ジャーナリングは、ホスト計算機からデータの書き込み要求(命令)を受け付けると、書き込まれるデータと書き込み要求を受け付けた時刻等を含む更新情報とをジャーナルとして論理ボリュームに格納する。なお、ジャーナルを格納する論理ボリュームは、ジャーナルボリュームと呼ばれる。
【0005】
特許文献1には、リモートコピーにジャーナリングの技術を用いる記憶システムが開示されている。具体的には、特許文献1に開示されている第1の記憶システムは、自身のボリュームに格納されたデータに対するライト命令(書き込み要求)を受け付けると、ライト命令を受け付けたボリュームに格納されたデータを更新するとともに、ライトデータにライト命令の受信時刻等が付加されたジャーナルを作成し、作成したジャーナルを第2の記憶システムに転送する。第2の記憶システムは、転送されたジャーナルに基づいて、自身のボリュームに格納されたデータを更新する。よって、第2の記憶システムのボリュームに、第1の記憶システムのボリュームの複製が作成される。
【0006】
また、データを格納する複数のボリューム(データボリューム)がジャーナルボリュームを共有することによって、複製元のデータボリュームが更新される順序と複製先のデータボリュームが更新される順序とを一致させることができる。
【0007】
また、セキュリティを保護するため、データは暗号化されてストレージ装置に格納される。データが暗号化されることによって、データの機密性が保証される。
【0008】
特許文献2には、記憶領域に格納されるデータを暗号化する場合、同じ暗号鍵を用いて暗号化されたデータの増加を防止する記憶システムが開示されている。具体的には、ボリュームミラー機能及びスナップショット機能を用いて、異なる記憶領域の間でデータを共有する記憶システムにおいて、複製元の記憶領域に格納されているデータが暗号化されている場合には、複製元の記憶領域に割り当てられている暗号鍵を用いて、暗号化されているデータを復号化する。そして、複製元の記憶領域とは異なる記憶領域に割り当てられている暗号鍵を用いてデータを暗号化し、複製先の記憶領域に暗号化されたデータを格納する。
【特許文献1】特開2005−018506号公報
【特許文献2】特開2007−028502号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
異なる管理者が管理するデータボリュームには、異なる暗号鍵が割り当てられる場合がある。一方、管理ボリューム(例えば、ジャーナルボリューム)は、管理者間で共有される場合がある。ジャーナルボリュームが管理者間で共有される場合、ジャーナルボリュームに異なる暗号鍵で暗号化されたジャーナルが混在する。しかし、従来技術では、異なる暗号鍵で暗号化されたジャーナルを同じジャーナルボリュームに混在させて管理することは考慮されていない。
【課題を解決するための手段】
【0010】
本発明の代表的な一例を示せば以下の通りである。すなわち、ホスト計算機と、前記ホスト計算機に接続される第1のストレージシステムと、を備える計算機システムであって、前記第1のストレージシステムは、前記第1のストレージシステムを制御する第1のコントローラと、前記ホスト計算機によって書き込まれたデータを格納する第1のボリュームと、前記第1のボリュームに格納されているデータが更新される場合に、前記更新されるデータを格納する第2のボリュームと、を備え、前記第1のコントローラは、前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、前記第2のボリュームに格納されるデータの暗号化状態及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵に基づいて、前記書き込みデータを暗号化し、前記作成された更新情報及び前記暗号化された書き込みデータを前記第2のボリュームに格納することを特徴とする。
【発明の効果】
【0011】
本発明の一実施形態によれば、異なる暗号鍵で暗号化されたジャーナルが同じジャーナルボリュームに混在する場合でも、適切な暗号鍵でジャーナルを復号化し、リモートコピーを実現することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態について、図面を参照して説明する。
【0013】
<第1の実施形態>
図1は、本発明の第1の実施の形態のコンピュータシステム1の構成図を示す。
【0014】
図1に示すように、コンピュータシステム1は、ホスト計算機3(3A、3B)、ストレージ装置4(4A、4B)、及び管理計算機5(5A、5B)を備える。以下、3A、3Bを区別しない場合には、単に3と説明することもある。また、4A、4Bを区別しない場合には、単に4と説明することもある。また、5A、5Bを区別しない場合には、単に5と説明することもある。
【0015】
ホスト計算機3及びストレージ装置4は、ストレージネットワーク2Aを介して相互に接続される。また、ストレージ装置4及び管理計算機5は、管理ネットワーク2Bを介して相互に接続される。コンピュータシステム1は、例えば、銀行の業務システム及び航空機の座席予約業務システム等として実現することができる。
【0016】
ストレージネットワーク2Aは、ホスト計算機3とストレージ装置4との間のI/Oアクセスに基づいた通信に用いられるネットワークシステムである。また、ストレージネットワーク2Aは、ストレージ装置4Aとストレージ装置4Bとの間のリモートコピーに基づいた通信に用いられる。
【0017】
ストレージネットワーク2Aは、例えば、LAN及びSAN(Storage Area Network)のいずれかによって構成することができる。なお、ストレージネットワーク2Aは、ネットワークスイッチ及びハブ等を備える。本実施の形態では、ストレージネットワーク2Aは、ファイバーチャネルプロトコルベースのSAN(FC−SAN)によって構成される。
【0018】
管理ネットワーク2Bは、管理計算機5がホスト計算機3及びストレージ装置4を管理する際の通信に用いられるネットワークである。
【0019】
管理ネットワーク2Bは、例えば、LAN及びSANのいずれかによって構成することができる。なお、管理ネットワーク2Bは、ネットワークスイッチ及びハブ等を備える。本実施の形態では、管理ネットワーク2Bは、IPプロトコルベースのLANによって構成される。
【0020】
なお、ストレージネットワーク2A及び管理ネットワーク2Bは、物理的に別のネットワークとして構成されていなくてもよい。例えば、ストレージネットワーク2AがIPプロトコルベースのSANによって構成される場合には、ストレージネットワーク2A及び管理ネットワーク2Bは、一つのネットワークシステムとして構成することができる。
【0021】
ホスト計算機3は、ストレージネットワーク2Aを介してストレージ装置4にI/Oアクセスの要求を送信し、その結果を受信する。ホスト計算機3は、例えば、銀行の業務システム及び航空機の座席予約業務システム等のコンピュータに用いることができる。
【0022】
また、ホスト計算機3は、プロセッサ、メモリ、ネットワークインターフェース、及びローカル入出力デバイス等のハードウェア資源を備え、デバイスドライバ、オペレーティングシステム(OS)、及びアプリケーションプログラム等のソフトウェア資源を備える。
【0023】
ホスト計算機3は、プロセッサの制御の下、各種のプログラムを実行して、他のハードウェア資源との協働作用によって、所望の処理を実現する。例えば、ホスト計算機3は、プロセッサが、OS上で業務アプリケーションプログラムを実行することによって、ストレージ装置4のボリュームにアクセスし、所望の業務システムを実現することができる。
【0024】
図1に示す例では、2台のホスト計算機3A及びホスト計算機3Bは、ストレージ装置4A及びストレージ装置4Bのそれぞれにアクセスする。
【0025】
ストレージ装置4は、ホスト計算機3にデータストレージサービスを提供するサブシステムであり、一つ又は複数のボリュームに格納されるデータのI/Oアクセスをホスト計算機3に提供する。また、ストレージ装置4は、データを保持する記憶媒体を含む物理デバイスである一つ又は複数のディスクドライブ41と、ディスクドライブ41に対する書き込み要求又は読み出し要求を含むI/Oアクセスを制御するコントローラ42と、を備える。
【0026】
ストレージ装置4Aの構成とストレージ装置4Bの構成とは同じであるが、運用上、異なる役割が割り当てられる。例えば、ストレージ装置4Aは、通常の運用時に稼働する主系のストレージ装置4Aであり、ストレージ装置4Bは、障害や保守作業の発生によってストレージ装置4Aが停止した場合に備えて待機する副系のストレージ装置4Bであってもよい。よって、主系のストレージ装置4A及び副系のストレージ装置4Bに定義される一組のペアボリュームには、後述するリモートコピー(リモートミラーリング)によって、それぞれ同じデータが格納される。
【0027】
ディスクドライブ41の記憶領域は、複数のボリュームに分割又は結合される。各ボリュームは、ホスト計算機3上のアプリケーションプログラムが一つの論理的なディスク装置として認識する記憶領域である。ディスクドライブ41に含まれる任意の容量の物理的な記憶領域が、各ボリュームに割り当てられる。
【0028】
また、複数のボリュームが分割又は結合されることによって、RAID(Redundant Arrays of Independence Disks)が構成されてもよい。
【0029】
各ボリュームには、ボリューム番号が割り当てられる。よって、ホスト計算機3は、ボリューム番号を用いて特定のボリュームを認識する。ボリューム番号には、ポート番号及びロジカルユニット番号(LUN:Logical Unit Number)が用いられる。また、ボリュームは、I/Oアクセスの最小単位であるブロックに分割され、各ブロックには、アドレス(論理アドレス)が割り当てられる。ホスト計算機3は、ボリューム番号及びアドレス(論理アドレス)を指定することによって、特定のボリュームにおける特定のブロックに格納されたデータにアクセスすることができる。
【0030】
ストレージ装置4は、目的及び用途に応じてボリュームを備える。本実施の形態では、ストレージ装置4は、ホスト計算機3からのI/Oアクセスに基づいてデータを格納する一つ又は複数のデータボリューム(D−VOL)と、ジャーナリング機能を用いて生成されるジャーナルを格納する一つ又は複数のジャーナルボリューム(J−VOL)とを備える。
【0031】
また、ストレージ装置4は、RC/JNL機能及び暗号/復号化機能を備える。
【0032】
RC/JNL機能は、リモートコピーにジャーナリング機能が用いられる。具体的には、主系のストレージ装置4Aは、副系のストレージ装置4Bからリモートコピーの要求を受け付けると、ジャーナルボリュームに格納されているジャーナルをストレージ装置4Bに転送する。ストレージ装置4Bは、受信したジャーナルをストレージ装置4Bのジャーナルボリュームに格納し、格納されているジャーナルに基づいて定期的に副系のストレージ装置4Bのデータボリュームを更新する。
【0033】
ジャーナリング機能は、データボリュームに格納されたデータを高速にバックアップする機能であり、ストレージ装置4に実装される。ホスト計算機3から書き込み要求を受け付けた場合に、ストレージ装置4は、ジャーナリング機能によって、受け付けた書き込み要求に含まれるライトデータと、書き込み要求に基づいて作成される更新情報とをジャーナルとして、ジャーナルボリュームに格納する。ライトデータは、書き込み要求に含まれる書き込みデータであって、これから書き込まれるデータである。
【0034】
更新情報は、ライトデータを管理する情報であり、ライト命令(書き込み要求)を受信した時刻(タイムスタンプ)、データボリュームが属するジャーナルグループのジャーナルグループ番号、ジャーナルグループに属するデータボリュームに格納されるデータの更新順序を示すシーケンシャル番号、書き込み要求によって指定されたデータボリュームのボリューム番号及びアドレス、書き込み要求に含まれるライトデータのサイズ(容量)、及び、書き込み要求に含まれるライトデータを格納したジャーナルボリュームのボリューム番号及びアドレス等を含む。
【0035】
図8は、本発明の第1の実施の形態の更新情報の構造を示す。図8に示した項目以外に、ライトデータの暗号化状態及びライトデータを暗号化するために用いられるジャーナル用暗号鍵を識別する識別子等を含んでもよい。なお、ジャーナル用暗号鍵を識別する情報を用いる場合には、各暗号鍵に識別情報が割り当てられる必要がある。なお、ライトデータの暗号化状態は、ライトデータが暗号化されているか否かを示す情報である。
【0036】
また、図5に示すように、ジャーナルボリュームは、一つのボリュームを、更新情報を格納する記憶領域(更新情報領域)とライトデータを格納する記憶領域(ライトデータ領域)とに分ける。更新情報は、更新情報領域の先頭から、更新番号(シーケンシャル番号)の順に格納され、更新情報領域の終端まで格納されると、更新情報領域の先頭から格納される。ライトデータは、ライトデータ領域の先頭から格納され、ライトデータ領域の終端まで格納されると、ライトデータ領域の先頭から格納される。本実施の形態のジャーナルボリュームは、リモートコピーに用いられるジャーナルをストレージ装置4Bに転送する際の中間的なバッファとして、主系ストレージ装置4A及び副系ストレージ装置4Bにそれぞれ備わる。
【0037】
なお、本実施の形態では、ジャーナルボリュームの記憶領域が、更新情報を格納する記憶領域(更新情報領域)とライトデータを格納する記憶領域(ライトデータ領域)とに分かれているが、更新情報を格納するボリュームとライトデータを格納するボリュームとが別々にディスクドライブ41に備わっていてもよい。また、ジャーナルボリュームの記憶領域が、更新情報領域とライトデータ領域とに分かれずに、更新情報とライトデータとが交互に格納されてもよい。
【0038】
リモートコピーは、ストレージ装置4に実装される機能であり、ペア関係が定義されたボリューム(ペアボリューム)間で、ホスト計算機3からの書き込み要求と同期又は非同期にデータが複製され、一方のボリュームに格納されたデータを二重化する。リモートコピーは、例えば、ストレージ装置4に備わるプロセッサが、メモリに格納されたリモートコピープログラムを実行することによって実現することができる。ストレージ装置4A及びストレージ装置4Bの各ボリューム間で新たなペア関係が定義された場合には、初期コピーとして、主系のストレージ装置4Aのボリュームから、新たにペア関係が定義された副系のストレージ装置4Bのボリュームにデータが複製される。
【0039】
書き込み要求と同期してデータをコピーするリモートコピーでは、ホスト計算機3から書き込み要求を受け付けた主系のストレージ装置4Aは、書き込み要求に含まれるライトデータを自身のボリュームに格納するとともに、ペア関係が定義された副系のストレージ装置4Bのボリュームに、書き込み要求に含まれるライトデータを転送する。副系のストレージ装置4Bは、ペア関係が定義されたボリュームに転送されたライトデータを格納した時点で、ホスト計算機3に書き込み要求の完了を応答する。
【0040】
一方、書き込み要求と非同期にデータをコピーするリモートコピーでは、ホスト計算機3からの書き込み要求とは独立(非同期)に、ペアボリューム間でコピーが行われる。すなわち、ストレージ装置4Aは、書き込み要求に含まれるライトデータを自身のボリュームに格納した時点で、ホスト計算機3に書き込み要求の完了を応答する。本実施の形態では、副系のストレージ装置4Bが、主系のストレージ装置4Aにリモートコピーを要求する非同期のリモートコピーが用いられる。
【0041】
暗号化/復号化機能は、ストレージ装置4のプロセッサが、メモリに格納された暗号/復号プログラムを実行することによって実現される。なお、暗号化/復号化機能は、ハードウェアが実装されることによって実現されていてもよい。ストレージ装置4は、暗号化状態にあるボリュームにデータを格納する場合には、暗号化/復号化機能によってデータを暗号化して格納する。なお、暗号化状態にあるボリュームとは、ボリュームに格納されるデータが暗号化されていることである。
【0042】
管理計算機5は、ストレージ装置4を管理するコンピュータであり、例えば、汎用のコンピュータを用いることができる。
【0043】
管理計算機5は、プロセッサ、メモリ、ネットワークインターフェース、及びローカル入出力デバイス等のハードウェア資源を備え、デバイスドライバ、OS、及び管理プログラム等のソフトウェア資源を備える。また、管理計算機5は、RC/JNL機能及び暗号化/復号化機能を備える。
【0044】
管理計算機5は、プロセッサの制御の下、各種のプログラムを実行して、他のハードウェア資源との協働作用によって、所望の処理を実現する。具体的には、プロセッサが、OS上で管理プログラムを実行することによって、システム管理者にストレージ装置4を管理するユーザインターフェースを提供し、システム管理者の操作を介して、ストレージ装置4の設定、実行指示、及び運用状況の監視等を管理する。例えば、管理計算機5は、システム管理者の操作に基づいて、リモートコピーの設定(ペアボリュームの定義及び初期コピーの実行等)、及び、データボリュームの暗号化状態を設定(暗号化機能の有効化/無効化)することができる。
【0045】
なお、本実施の形態では、ストレージ装置4Aを主系のストレージ装置とし、ストレージ装置4Bを副系のストレージ装置としているが、ストレージ装置4のボリューム単位で主系のボリュームと副系のボリュームとに分けて、主系のボリュームに格納されているデータを副系のボリュームに複製(リモートコピー)してもよい。
【0046】
図2は、本発明の第1の実施の形態のストレージ装置4の構成図を示す。
【0047】
ストレージ装置4は、ディスクドライブ41、及びコントローラ42を備える。ディスクドライブ41は、記憶媒体(例えば、ハードディスクドライブ及びフラッシュメモリ等)を含む物理デバイスである。ディスクドライブ41及びコントローラ42は、例えば、ディスクチャネルを介して相互に接続することができる。
【0048】
コントローラ42は、プロセッサ421、メモリ422、ホストインターフェース423、キャッシュメモリ424、ディスクインターフェース425、ストレージインターフェース426、及び管理インターフェース427を備える。各構成は、内部データ線428を介して相互に接続される。また、各構成を複数備えることによって、冗長化してもよい。
【0049】
プロセッサ421は、メモリ422に格納された各種のプログラムを実行することによって、ストレージ装置4の全体を制御する。
【0050】
メモリ422は、I/O処理プログラムP100、ジャーナリングプログラムP200、リモートコピープログラムP300、及び暗号/復号プログラムP400等を格納する。
【0051】
I/O処理プログラムP100は、ホスト計算機3からの書き込み要求又は読み出し要求に基づいたI/Oアクセスを制御し、ホスト計算機3にデータストレージサービスを提供する。
【0052】
ジャーナリングプログラムP200は、ホスト計算機3から書き込み要求を受け付けた場合に、受け付けた書き込み要求に含まれるライトデータに基づいてジャーナルエントリ(ジャーナル)を作成する。
【0053】
リモートコピープログラムP300は、複数のストレージ装置4の間(ストレージ装置4Aとストレージ装置4Bとの間)のリモートコピーの処理を実行する。なお、リモートコピープログラムP300は、リモートコピーを要求するサブプログラム及びリモートコピーが要求されるサブプログラムを含む。
【0054】
暗号/復号プログラムP400は、ディスクドライブ41上のボリュームに格納されるデータを暗号化して格納する。また、格納されたデータを読み出す際に復号化する。
【0055】
また、メモリ422は、ペア管理テーブルT100、ジャーナルグループ管理テーブルT200、ジャーナルボリューム管理テーブルT300、及び暗号管理テーブルT400を含むシステム構成情報及びキャッシュディレクトリ情報等を格納する。
【0056】
ペア管理テーブルT100は、リモートコピーが行われるデータボリュームのペア関係を管理する。なお、ペア管理テーブルT100は、図3を用いて後述する。
【0057】
ジャーナルグループ管理テーブルT200は、ジャーナルを格納するジャーナルボリュームをジャーナルグループ単位で管理する。なお、ジャーナルグループ管理テーブルT200は、図4を用いて後述する。
【0058】
ジャーナルボリューム管理テーブルT300は、ジャーナルグループのジャーナルボリュームを管理する。なお、ジャーナルボリューム管理テーブルT300は、図6を用いて後述する。
【0059】
暗号管理テーブルT400は、ストレージ装置4内のデータボリューム及びデータボリュームに格納されるジャーナルの暗号化の状態を管理する。なお、暗号管理テーブルT400は、図7を用いて後述する。
【0060】
各プログラム及び各テーブルの一部又は全部は、補助記憶装置(図示省略)から読み出され、メモリ422に格納される。また、システム管理者がシステム構成情報を設定及び変更する場合、管理計算機5は、メモリ422に格納されたシステム構成情報を取得し、ユーザインターフェースを介して、取得したシステム構成情報をシステム管理者に提供する。
【0061】
ホストインターフェース423は、プロトコルデバイス(図示省略)を備え、ストレージネットワーク2Aを介して接続されたホスト計算機3との間で通信する。なお、プロトコルデバイスは、各プロトコルに応じたプロトコル処理を行うプロセッサを備える。
【0062】
ホストインターフェース423が、ホスト計算機3から書き込み要求を受け付けると、プロセッサ421は、受け付けた書き込み要求に含まれるライトデータをキャッシュメモリ424に書き込む。
【0063】
キャッシュメモリ424は、ホスト計算機3とディスクドライブ41との間で入出力されるデータを一時的に格納(キャッシュ)する。すなわち、キャッシュメモリ424は、ホストインターフェース423とディスクインターフェース425との間のデータの受け渡すために用いられる。キャッシュメモリ424は、例えば、揮発性メモリ(例えば、DRAM)及び不揮発性メモリ(例えば、フラッシュRAM)等によって構成することができる。
【0064】
ディスクインターフェース425は、キャッシュメモリ424に格納されたデータを読み出し、読み出したデータをディスクドライブ41に格納する(デステージング)。また、ディスクインターフェース425は、ディスクドライブ41からデータを読み出し、読み出したデータをキャッシュメモリ424に格納する(ステージング)。例えば、ホスト計算機3から読み出し要求を受け付けた場合、ディスクインターフェース425は、要求されたデータがキャッシュメモリ424に存在するか否かを判断してもよい。要求されたデータがキャッシュメモリ424に存在しない場合、ディスクインターフェース425は、必要に応じてデステージングを行なうことによって、キャッシュ領域を確保した後、要求されたデータをキャッシュメモリ424にステージングする。
【0065】
ストレージインターフェース426は、ホストインターフェース423と同様に、プロトコルデバイス(図示省略)を備え、ストレージネットワーク2Aを介して接続された他のストレージ装置4との間で通信する。複数のストレージ装置4の間(ストレージ装置4Aとストレージ装置4Bとの間)でリモートコピーが行われる場合、ストレージインターフェース426を介してデータが転送される。
【0066】
管理インターフェース427は、プロトコルデバイス(図示省略)を備え、管理ネットワーク2Bを介して接続された管理計算機5との間で通信する。例えば、管理ネットワーク2BがTCP/IPベースのLANで構成されている場合、管理インターフェース427は、イーサネット(登録商標)ボードを用いることができる。
【0067】
図3は、本発明の第1の実施の形態のペア管理テーブルT100を示す。なお、ペア管理テーブルT100は、管理計算機5を操作するシステム管理者によって、作成及び更新される。
【0068】
図3に示すように、ペア管理テーブルT100は、複製元ストレージ装置番号T101、複製元データボリューム番号T102、複製先ストレージ装置番号T103、複製先データボリューム番号T104、及びジャーナルグループ番号T105を含む。
【0069】
複製元ストレージ装置番号T101には、リモートコピーによって複製されるデータボリュームを備えるストレージ装置4を識別するストレージ装置番号が登録される。ストレージ装置番号は、例えば、ストレージ装置4のベンダー名及び製造番号であってもよい。
【0070】
複製元データボリューム番号T102には、リモートコピーによって複製されるデータボリュームを識別するボリューム番号が登録される。登録されるボリューム番号は、複製元ストレージ装置番号T101によって識別されるストレージ装置4が備えるボリュームから特定のボリュームを一意に特定できる番号であればよい。すなわち、ボリューム番号は、ボリュームの種類(ボリュームがデータボリューム又はジャーナルボリュームであるか否か)に関わらず、一意の番号が割り当てられる。
【0071】
複製先ストレージ装置番号T103には、複製されたデータを格納するデータボリュームを備えるストレージ装置4を識別するストレージ装置番号が登録される。
【0072】
複製先データボリューム番号T104には、複製されたデータを格納するデータボリュームを識別するボリューム番号が登録される。複製先データボリューム番号T104は、複製先ストレージ装置番号T103によって識別されるストレージ装置4が備えるボリュームからデータボリュームを一意に特定できる番号であればよい。
【0073】
ジャーナルグループ番号T105には、各エントリのデータボリュームが属するジャーナルグループを識別するジャーナルグループの番号が登録される。ジャーナルグループ番号T105は、ペア関係が定義されたボリューム間のデータの更新順序を保証するために、一つ又は複数のデータボリューム(及び、これとペア関係が定義された一つ又は複数のデータボリューム)をジャーナルグループという単位で管理する。
【0074】
一つのジャーナルグループには、複数のデータボリュームが属してもよい。一つのジャーナルグループに複数のデータボリュームが属する場合には、複数のデータボリュームが、一つのジャーナルボリュームを共有する。すなわち、リモートコピーする場合には、複製元のストレージ装置4に備わる複数のデータボリュームに格納されているデータの更新順序が、複製先のストレージ装置4に備わるデータボリュームに格納されているデータの更新順序と同じになるように、一つ又は複数のデータボリュームにジャーナルグループが定義される。同じジャーナルグループ内では、データの更新順に、一意な更新番号(シーケンシャル番号)が割り当てられる。
【0075】
図4は、本発明の第1の実施の形態のジャーナルグループ管理テーブルT200を示す。
【0076】
図4に示すように、ジャーナルグループ管理テーブルT200は、ジャーナルグループ番号T201、更新情報末尾ポインタT202、ライトデータ末尾ポインタT203、更新情報先頭ポインタT204、ライトデータ先頭ポインタT205、及びライトデータ領域先頭ポインタT206を含む。
【0077】
ジャーナルグループ番号T201には、ジャーナルグループを識別する番号が登録される。すなわち、一つ又は複数のデータボリュームに対する書き込み要求に基づいて作成されるジャーナルは、書き込み要求を受け付けたデータボリュームが属するジャーナルグループのジャーナルボリュームに格納される。
【0078】
更新情報末尾ポインタT202には、ジャーナルグループ番号T201によって識別されるジャーナルグループに属するデータボリュームに格納されるデータが更新されたときに、更新情報が格納されるジャーナルボリュームのボリューム番号、及び、更新情報が格納される記憶領域のアドレスが登録される。アドレスには、直近に作成された更新情報が格納された記憶領域の末尾アドレスの次のアドレスが登録される。
【0079】
ライトデータ末尾ポインタT203には、ジャーナルグループ番号T201によって識別されるジャーナルグループに属するデータボリュームに格納されるデータが更新されたときに、ライトデータが格納されるジャーナルボリュームのボリューム番号、及び、ライトデータが格納される記憶領域のアドレスが登録される。アドレスには、最も新しく作成されたライトデータが格納された記憶領域の末尾アドレスの次のアドレスが登録される。
【0080】
更新情報先頭ポインタT204には、図10を用いて後述するジャーナル転送処理が実行される時に、ストレージ装置4Aが次にストレージ装置4Bに転送する更新情報が格納されているジャーナルボリュームのボリューム番号及び転送する更新情報が格納される記憶領域のアドレスが登録される。
【0081】
ライトデータ先頭ポインタT205には、図10を用いて後述するジャーナル転送処理が実行される時に、ストレージ装置4Aが次にストレージ装置4Bに転送するライトデータが格納されているジャーナルボリュームのボリューム番号及び転送するライトデータが格納される記憶領域のアドレスが登録される。
【0082】
ライトデータ領域先頭ポインタT206には、ジャーナルボリュームの記憶領域のうち、ライトデータを格納する記憶領域(ライトデータ領域)と更新情報を格納する記憶領域(更新情報領域)の境界を示すアドレスが登録される。
【0083】
図4及び図5に示す例では、更新情報領域は、ジャーナルボリューム#003の記憶領域の先頭から「699」のアドレスまでであり、ライトデータ領域は、ジャーナルボリューム#003の記憶領域の「700」のアドレスから「2999」のアドレスまでである。更新情報は、ジャーナルボリューム#003の記憶領域の「200」のアドレスから「399」のアドレスまで格納されており、次の更新情報は、ジャーナルボリューム#003の記憶領域の「400」のアドレスから格納される。ジャーナルのライトデータは、ジャーナルボリューム#003の記憶領域の「1800」のアドレスから「2599」のアドレスまで格納されており、次のライトデータは、ジャーナルボリューム#003の記憶領域の「2600」のアドレスから格納される。
【0084】
図6は、本発明の第1の実施の形態のジャーナルボリューム管理テーブルT300を示す。
【0085】
図6に示すように、ジャーナルボリューム管理テーブルT300は、ジャーナルグループ番号T301、ジャーナルボリューム番号T302、及び使用順序T303を含む。
【0086】
ジャーナルグループ番号T301には、ジャーナルグループを識別する番号が登録される。
【0087】
ジャーナルボリューム番号T302には、ジャーナルグループに対応するジャーナルボリュームの識別子が登録される。
【0088】
使用順序T303には、ジャーナルグループに対応するジャーナルボリュームを用いる順序の値が登録される。具体的には、図6に示すジャーナルボリューム管理テーブルT300の場合、ジャーナルグループ番号T301が「1」であるジャーナルグループに対応するジャーナルボリューム003、ジャーナルボリューム004、及びジャーナルボリューム005は、ジャーナルボリューム003、ジャーナルボリューム004、ジャーナルボリューム005の順番にジャーナルが格納される。ジャーナルボリューム005にジャーナルが格納された後は、ジャーナルボリューム003に戻り、循環して各ジャーナルボリュームにジャーナルが格納される。
【0089】
図7は、本発明の第1の実施の形態の暗号管理テーブルT400を示す。
【0090】
図7に示すように、暗号管理テーブルT400は、データボリューム番号T401、データボリューム暗号化状態T402、データボリューム用暗号鍵T403、ジャーナル暗号化状態T404、及びジャーナル用暗号鍵T405を含む。
【0091】
データボリューム番号T401には、データボリュームを識別する識別子が登録される。識別子には、前述したように、ボリューム番号等が用いられる。
【0092】
データボリューム暗号化状態T402には、データボリューム番号T401によって識別されるデータボリュームが暗号化されているか否かを示すフラグが登録される。データボリュームが暗号化されている場合には、暗号化状態は「オン」であり、暗号化されていない場合には、暗号化状態は「オフ」である。
【0093】
データボリューム用暗号鍵T403には、データボリュームを暗号化又は復号化するための暗号鍵が登録される。暗号鍵は、所定の暗号化/復号化アルゴリズムが用いられる。例えば、暗号鍵の長さが128ビットである暗号鍵が用いられてもよい。暗号化と復号化とは、相補関係であり、本実施の形態でいう暗号鍵は、復号鍵を含む。また、ボリュームが暗号化されているとは、暗号鍵(復号鍵)を用いなければ、ボリュームに格納されたデータにアクセス(データの書き込み及びデータの読み込み)することができない状態であり、暗号鍵を用いて暗号化されたデータがボリュームに格納されている状態である。
【0094】
ジャーナル暗号化状態T404には、データボリュームが更新されたときに作成されるジャーナルが暗号化されているか否かを示すフラグが登録される。ジャーナルが暗号化されている場合には、暗号化状態は「オン」であり、暗号化されていない場合には、暗号化状態は「オフ」である。
【0095】
ジャーナル用暗号鍵T405には、ジャーナルボリュームに格納するライトデータを暗号化又は復号化する暗号鍵が登録される。
【0096】
なお、複数のデータボリュームに、同じ暗号鍵が割り当てられてもよい。例えば、同じ管理者が管理するデータボリュームには、同じ暗号鍵を割り当てられてもよい。また、ジャーナルボリュームに格納されるライトデータを暗号化又は復号化する暗号鍵は、データボリュームを暗号化又は復号化する暗号鍵と同じであってもよい。また、本実施の形態では、一つのデータボリュームに、一つのジャーナル用暗号鍵T405が割り当てられているが、暗号鍵を更新する時には、一つのデータボリュームに二つ以上のジャーナル用暗号鍵T405が割り当てられる場合がある。
【0097】
なお、データボリュームを暗号化又は復号化する暗号鍵は、データボリューム暗号化状態T402が「オン」に切り替えられたタイミングで生成されてもよい。また、データボリューム暗号化状態T402が「オン」に切り替えられたタイミングと同じタイミングでジャーナル用暗号鍵T405が生成されてもよい。また、データボリューム用暗号鍵T403が更新されるタイミングと同じタイミングでジャーナル用暗号鍵T405が更新されてもよい。
【0098】
なお、ジャーナル用暗号鍵T405に登録された内容を削除する場合には、データボリュームに定義されているペア関係が解除されていることを確認してから削除する。
【0099】
図9は、本発明の第1の実施の形態のライト命令処理のフローチャートであり、具体的には、主系のストレージ装置4Aが、ホスト計算機3Aからデータボリュームに対する書き込み要求を受け付けた場合の処理を説明する。
【0100】
コントローラ42のプロセッサ421がメモリ422に格納されている各プログラムを実行することによって、図9に示すライト命令処理が実行される。
【0101】
まず、ストレージ装置4Aのコントローラ42(以下、コントローラ42Aとして説明する)は、ホスト計算機3Aから書き込み要求を受け付けると、メモリ422に格納されている暗号管理テーブルT400を参照し、受け付けた書き込み要求によって指定されたデータボリューム(D−VOL)の暗号化状態が「オン」であるか否か、すなわち、データボリュームが暗号化されているか否かを判断する(STEP901)。
【0102】
データボリュームが暗号化されている場合、書き込み要求に含まれるライトデータを暗号化するため、処理はSTEP902に進む。一方、データボリュームが暗号化されていない場合、処理はSTEP904に進む。
【0103】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、暗号化されていると判断されたデータボリュームに割り当てられたデータボリューム用暗号鍵T403を取得する(STEP902)。
【0104】
次に、コントローラ42Aは、STEP902で取得した暗号鍵を用いて、受け付けた書き込み要求に含まれるライトデータを暗号化する(STEP903)。具体的には、プロセッサ421は、キャッシュメモリ424に格納されたデータをディスクドライブ41にデステージングする際に、STEP902で取得した暗号鍵を用いてライトデータを暗号化する。また、キャッシュメモリ424に格納されたライトデータを暗号化し、再び、キャッシュメモリ424に格納してもよい。この場合、キャッシュメモリ424に格納される暗号化されたライトデータは、所定のタイミングで、メモリ422のキャッシュディレクトリ情報に従って、ディスクインターフェース425によってデステージングされる。また、ホスト計算機3から書き込み要求を受け付けて、書き込み要求に含まれるライトデータをキャッシュメモリ424に格納する前に暗号化してもよい。
【0105】
次に、コントローラ42Aは、ライトデータをデータボリュームに格納する(STEP904)。
【0106】
次に、コントローラ42Aは、ペア管理テーブルT100を参照し、受け付けた書き込み要求によって指定されたデータボリュームが複製元データボリューム番号T102に設定されているか否かを判断する(STEP905)。
【0107】
指定されたデータボリュームが複製元データボリューム番号T102に設定されている場合、書き込み要求に基づいて作成されるジャーナルの格納先(ジャーナルが格納されるジャーナルボリューム)を特定するため、処理はSTEP906に進む。
【0108】
一方、指定されたデータボリュームが複製元データボリューム番号T102に設定されていない場合、処理は終了する。この場合、コントローラ42Aは、受け付けた書き込み要求を送信したホスト計算機3Aに、処理が完了したことを通知する。
【0109】
次に、コントローラ42Aは、ジャーナル管理テーブルT200を参照し、更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、ライトデータ末尾ポインタT203に登録されたボリューム番号及びアドレスとをそれぞれ取得する(STEP906)。すなわち、コントローラ42Aは、受け付けた書き込み要求に基づいて、ジャーナル(更新情報及びライトデータ)を格納するジャーナルボリュームの記憶領域を特定する。
【0110】
次に、コントローラ42Aは、受け付けた書き込み要求に基づいて更新情報を作成する(STEP907)。
【0111】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、複製元のデータボリュームに対応するジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP908)。
【0112】
ジャーナルの暗号化状態が「オン」である場合、ライトデータを暗号化するため、処理はSTEP909に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP911に進む。
【0113】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、複製元のデータボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP909)。
【0114】
次に、コントローラ42Aは、STEP909で取得したジャーナル用暗号鍵T405を用いて、ライトデータを暗号化する(STEP910)。
【0115】
次に、コントローラ42Aは、更新情報及びライトデータをジャーナルとしてSTEP906で特定されたジャーナルボリュームに格納する(STEP911)。
【0116】
次に、コントローラ42Aは、ジャーナルグループ管理テーブルT200の更新情報末尾ポインタT202及びライトデータ末尾ポインタT203を更新する(STEP912)。具体的には、コントローラ42Aは、更新情報を格納した記憶領域の末尾アドレスの次のアドレスを更新情報末尾ポインタT202に登録し、ライトデータを格納した記憶領域の末尾アドレスの次のアドレスをライトデータ末尾ポインタT203に登録する。
【0117】
そして、処理は終了する。この場合、コントローラ42Aは、受け付けた書き込み要求を送信したホスト計算機3Aに処理が完了したことを通知する。
【0118】
なお、図9に示すフローチャートでは、コントローラ42Aは、STEP904でデータボリュームにライトデータを格納する処理を実行した後、STEP911でジャーナルボリュームにジャーナルを格納する処理を実行しているが、この順序で処理を実行しなくてもよい。すなわち、コントローラ42Aは、データボリュームにライトデータを格納する処理とジャーナルボリュームにジャーナルを格納する処理とを、非同期に実行してもよい。
【0119】
図10は、本発明の第1の実施の形態のジャーナル転送処理のフローチャートであり、具体的には、ストレージ装置4Aがストレージ装置4Bからリモートコピー要求(以下、ジャーナル読み出し要求として説明する)を受け付けた場合の処理を説明する。
【0120】
コントローラ42Aのプロセッサ421がメモリ422に格納されている各プログラムを実行することによって図10に示すジャーナル転送処理が実行される。
【0121】
ストレージ装置4Aは、通常の運用時、ホスト計算機3Aにデータストレージサービスを提供するとともに、ストレージ装置4Bからのジャーナル読み出し要求に応じて、送信側としてリモートコピー処理を行なう。
【0122】
まず、コントローラ42Aは、ストレージ装置4Aのデータボリュームとペア関係が定義されているデータボリュームを備えるストレージ装置4Bからジャーナル読み出し要求を受け付けると、ジャーナルグループ管理テーブルT200を参照し、ジャーナル読み出し要求に含まれるジャーナルグループ番号T201に対応するエントリを抽出し、抽出したエントリの更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスとをそれぞれ取得する(STEP1001)。
【0123】
次に、コントローラ42Aは、ストレージ装置4Bに転送されていないジャーナルがあるか否かを判断する(STEP1002)。具体的には、STEP1001で抽出したエントリの更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスとが一致しているか否かを判断する。
【0124】
転送されていないジャーナルがある、すなわち、更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスとが一致しない場合、転送されていないジャーナルを読み出すため、処理はSTEP1003に進む。
【0125】
一方、転送されていないジャーナルがない、すなわち、更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスとが一致している場合、処理はSTEP1009に進む。
【0126】
次に、コントローラ42Aは、更新情報先頭ポインタT204及びライトデータ先頭ポインタT205に登録されたボリューム番号及びアドレスに基づいて、ジャーナルボリュームに格納されたジャーナルのうち、転送されていないジャーナルの最も古い更新情報及び更新情報に対応するライトデータを読み出す(STEP1003)。
【0127】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、更新情報に含まれるデータボリュームのボリューム番号に基づいて、ジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP1004)。
【0128】
ジャーナルの暗号化状態が「オン」である場合、暗号化されているライトデータを復号化するため、処理はSTEP1005に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP1007に進む。
【0129】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、更新情報に含まれるボリューム番号によって識別されるデータボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP1005)。
【0130】
次に、コントローラ42Aは、STEP1005で取得したジャーナル用暗号鍵T405を用いて、STEP1003で読み出したライトデータを復号化する(STEP1006)。
【0131】
次に、コントローラ42Aは、ジャーナル(更新情報及びライトデータ)をストレージ装置4Bに送信する(STEP1007)。
【0132】
次に、コントローラ42Aは、STEP1007で送信した更新情報及びライトデータの容量に基づいて、ジャーナルグループ管理テーブルT200の対応するエントリの更新情報先頭ポインタT204及びライトデータ先頭ポインタT205を更新する(STEP1008)。具体的には、コントローラ42Aは、転送されていないジャーナルの更新情報を格納している記憶領域の先頭アドレスを更新情報先頭ポインタT204のアドレスに登録し、転送されていないジャーナルのライトデータを格納している記憶領域の先頭アドレスをライトデータ先頭ポインタT205に登録する。そして、処理は終了する。
【0133】
STEP1009では、コントローラ42Aは、転送されていないジャーナルがないことを示す応答をストレージ装置4Bのコントローラ42に送信する(STEP1009)。そして、処理は終了する。
【0134】
なお、本実施の形態では、ストレージ装置4Aは、ストレージ装置4Bからのジャーナル読み出し要求に応じて、ジャーナルを転送しているが、ストレージ装置4Aが、定期的に、ジャーナルをストレージ装置4Bに転送してもよい。また、ストレージ装置4Aは、ホスト計算機3Aから書き込み要求を受け付けるとともに、書き込み要求に基づいて作成されるジャーナルをストレージ装置4Bに転送してもよい。
【0135】
また、更新情報がジャーナルの暗号化状態を示すフラグを含み、STEP1004のジャーナルの暗号化状態を判断する処理で、更新情報に含まれるフラグを参照することによってジャーナルの暗号化状態を判断してもよい。また、更新情報がジャーナルの暗号鍵を示す識別子を含み、STEP1005の暗号鍵を取得する処理で、更新情報に含まれる識別子を参照することによって、ジャーナルの暗号鍵を取得してもよい。
【0136】
図11は、本発明の第1の実施の形態のジャーナルリード命令処理のフローチャートであり、具体的には、ストレージ装置4Bがストレージ装置4Aにジャーナル読み出し要求を送信する場合の処理を説明する。
【0137】
コントローラ42のプロセッサ421がメモリ422に格納されている各プログラムを実行することによって図11に示すジャーナルリード命令処理が実行される。
【0138】
まず、ストレージ装置4Bのコントローラ42(以下、コントローラ42Bとして説明する)は、ジャーナル読み出し要求をストレージ装置4Aに送信する(STEP1101)。
【0139】
次に、コントローラ42Bは、ストレージ装置4Aから送信されたジャーナル読み出し要求の応答を受信する(STEP1102)。
【0140】
次に、コントローラ42Bは、STEP1102で受信した応答がジャーナルであるか否かを判断する(STEP1103)。
【0141】
受信した応答がジャーナルである場合、処理はSTEP1104に進む。一方、受信した応答がジャーナルでない、すなわち、受信した応答が転送されていないジャーナルがない通知である場合、処理は終了する。
【0142】
次に、コントローラ42Bは、ジャーナルグループ管理テーブルT200を参照し、受信したジャーナルの更新情報に含まれる書き込み要求のアドレスに基づいて、受信したジャーナルが格納されるジャーナルボリュームのボリューム番号及びアドレスを取得し、ジャーナルの格納先(ジャーナルが格納されるジャーナルボリューム)を特定する(STEP1104)。
【0143】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、複製先のボリュームに対応するジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP1105)。
【0144】
ジャーナルの暗号化状態が「オン」である場合、受信したジャーナルのライトデータを暗号化するため、処理はSTEP1106に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP1108に進む。
【0145】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、更新情報に含まれるボリューム番号によって識別されるデータボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP1106)。
【0146】
次に、コントローラ42Bは、STEP1106で取得したジャーナル用暗号鍵T405を用いて、受信したジャーナルのライトデータを暗号化する(STEP1107)。
【0147】
次に、コントローラ42Bは、ジャーナル(更新情報及びライトデータ)をSTEP1104で特定したジャーナルボリュームに格納する(STEP1108)。
【0148】
次に、コントローラ42Bは、ジャーナルグループ管理テーブルT200の対応するエントリの更新情報末尾ポインタT202及びライトデータ末尾ポインタT203を更新する(STEP1109)。具体的には、コントローラ42Bは、更新情報を格納した記憶領域の末尾アドレスの次のアドレスを更新情報末尾ポインタT202に登録し、ライトデータを格納した記憶領域の末尾アドレスの次のアドレスをライトデータ末尾ポインタT203に登録する。そして、処理は終了する。
【0149】
なお、更新情報がジャーナルの暗号化状態を示すフラグを含み、STEP1105のジャーナルの暗号化状態を判断する処理で、更新情報に含まれるフラグを参照することによってジャーナルの暗号化状態を判断してもよい。また、更新情報がジャーナルの暗号鍵を示す識別子を含み、STEP1106の暗号鍵を取得する処理で、更新情報に含まれる識別子を参照することによって、ジャーナルの暗号鍵を取得してもよい。
【0150】
図12は、本発明の第1の実施の形態のリストア処理のフローチャートであり、具体的には、ストレージ装置4Bが、ストレージ装置4Aから受信したジャーナルに基づいて、データボリュームの複製を作成する処理を説明する。
【0151】
コントローラ42Bのプロセッサ421がメモリ422に格納されている各プログラムを実行することによって図12に示すリストア処理が実行される。
【0152】
まず、コントローラ42Bは、ジャーナルグループ管理テーブルT200を参照し、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスと、ライトデータ先頭ポインタT205に登録されたボリューム番号及びアドレスとを抽出し、ジャーナルを読み出すジャーナルボリュームを特定する(STEP1201)。
【0153】
次に、STEP1201で抽出したボリューム番号及びアドレスによって示される記憶領域から更新情報及びライトデータを読み出す(STEP1202)。
【0154】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、ジャーナルの更新情報に含まれる書き込み要求のアドレスに基づいて、複製先のデータボリュームに対応するジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP1203)。
【0155】
ジャーナルの暗号化状態が「オン」である場合、ジャーナルのライトデータを復号化するため、処理はSTEP1204に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP1206に進む。
【0156】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、複製先のデータボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP1204)。
【0157】
次に、コントローラ42Bは、STEP1204で取得したジャーナル用暗号鍵T405を用いて、暗号化されたライトデータを復号化する(STEP1205)。
【0158】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、複製先のデータボリュームの暗号化状態が「オン」であるか否かを判断する(STEP1206)。
【0159】
複製先のデータボリュームの暗号化状態が「オン」である場合、データボリュームに格納するライトデータを暗号化するため、処理はSTEP1207に進む。一方、複製先のデータボリュームの暗号化状態が「オフ」である場合、処理はSTEP1209に進む。
【0160】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、複製先のデータボリュームに割り当てられているデータボリューム用暗号鍵T403を取得する(STEP1207)。
【0161】
次に、コントローラ42Bは、STEP1207で取得したデータボリューム用暗号鍵T403を用いて、ライトデータを暗号化する(STEP1208)。
【0162】
次に、コントローラ42Bは、複製先のデータボリュームにライトデータを格納する(STEP1209)。
【0163】
次に、コントローラ42Bは、更新情報及びライトデータの容量に基づいて、ジャーナルグループ管理テーブルT200の対応するエントリの更新情報先頭ポインタT204及びライトデータ先頭ポインタT205を更新する(STEP1210)。具体的には、コントローラ42Bは、更新情報を格納している記憶領域の先頭アドレスを更新情報先頭ポインタT204のアドレスに登録し、ライトデータを格納している記憶領域の先頭アドレスをライトデータ先頭ポインタT205に登録する。そして、処理は終了する。
【0164】
本発明の第1の実施形態では、リモートコピーにおけるジャーナル転送処理の時に、更新情報に含まれるボリューム番号に基づいて、暗号管理テーブルT400を参照し、ジャーナルの暗号化状態、及び、ライトデータの暗号化に用いるジャーナル用暗号鍵を取得し、復号化したジャーナルを複製先のストレージ装置4に転送する。よって、異なる暗号鍵で暗号化されたジャーナルが同じジャーナルボリュームに混在する場合でも、適切な暗号鍵でジャーナルを復号化し、リモートコピーを実現することができる。
【0165】
また、第1の実施の形態では、ジャーナルの暗号鍵を管理するリストを作成する場合に、データボリュームに対応してジャーナルの暗号鍵を管理するリストを作成することによって、ジャーナルの暗号鍵を管理するリストの容量が増加することを抑制することができる。
【0166】
<第2の実施形態>
本発明の第2の実施の形態におけるストレージ装置4は、継続的データ保護機能(Continuous Data Protection)と呼ばれる、ジャーナリング機能を用いたバックアップ機能を提供する。継続データ保護機能とは、データボリュームを特定の時点のデータボリュームに復元する機能であり、特定の時点のデータボリュームのスナップショットと、スナップショットを作成した時点以降に受信した書き込み要求に基づいて作成されるジャーナルとを保持し、スナップショットを作成した時点にデータボリュームに格納されているデータに、書き込み要求を受信した順序でジャーナルを適用することによって実現される。
【0167】
また、スナップショットを作成した時点以前の書き込み要求に基づいて作成されるジャーナルを保持し、作成したスナップショットから、ジャーナルを書き戻すことによって、スナップショットを作成した時点以前の任意時点の状態に復元することもできる。
【0168】
以下、第1の実施の形態と異なる点を中心に説明する。
【0169】
図13は、本発明の第2の実施の形態のコンピュータシステムの構成図を示す。
【0170】
第2の実施の形態のストレージ装置4は、スナップショットが作成される特定の時点のデータボリュームのデータを格納する基底ボリューム(B−VOL)を備える。また、メモリ426は、スナップショットを管理するスナップショットプログラムP500を格納する。また、メモリ426は、第1の実施の形態のペア管理テーブルT100の代わりに、複製対象管理テーブルT500を格納する。
【0171】
図14は、本発明の第2の実施の形態の複製対象管理テーブルT500を示す。
【0172】
複製対象管理テーブルT500は、バックアップが行われるデータボリュームと、バックアップが行われるデータボリュームが属するジャーナルグループと、スナップショットが作成される特定の時点のデータボリュームのデータを格納する基底ボリュームと、スナップショットを作成した時刻とを管理する。なお、複製対象管理テーブルT500は、管理計算機5を操作するシステム管理者によって、作成又は更新される。
【0173】
図14に示すように、複製対象管理テーブルT500は、複製対象データボリューム番号T501、ジャーナルグループ番号T502、基底ボリューム番号T503、及びスナップショット取得時刻T504を含む。
【0174】
複製対象データボリューム番号T501には、バックアップが行われるデータボリュームを識別するボリューム番号が登録される。登録されるボリューム番号は、ストレージ装置4が備えるボリュームから特定のボリュームを一意に特定できる番号であればよい。
【0175】
ジャーナルグループ番号T502には、各エントリのデータボリュームが属するジャーナルグループを識別するジャーナルグループの番号が登録される。
【0176】
基底ボリューム番号T503には、スナップショットが作成される特定の時点のデータボリュームのデータが格納される基底ボリュームのボリューム番号が登録される。
【0177】
スナップショット取得時刻T504には、基底ボリュームに格納されるデータのスナップショットが作成された時刻が登録される。
【0178】
なお、バックアップが行われるデータボリュームに複数の基底ボリュームを対応させて、異なる時点で作成された複数のスナップショットがそれぞれ各基底ボリュームに格納されてもよい。
【0179】
図15は、本発明の第2の実施の形態の暗号管理テーブルT400を示す。第2の実施の形態の暗号管理テーブルT400は、ストレージ装置4に備わるデータボリューム、ジャーナルボリューム、及び基底ボリュームの暗号化状態及び暗号鍵を管理する。
【0180】
図15に示すように、第2の実施の形態の暗号管理テーブルT400は、データボリューム番号T401、データボリューム暗号化状態T402、データボリューム用暗号鍵T403、基底ボリューム暗号化状態T406、基底ボリューム用暗号鍵T407、ジャーナル暗号化状態T404、及びジャーナル用暗号鍵T405を含む。
【0181】
データボリューム番号T401、データボリューム暗号化状態T402、ジャーナル暗号化状態T404、及びジャーナル用暗号鍵T405は、第1の実施の形態の暗号管理テーブルT400と同じであるため説明を省略する。
【0182】
基底ボリューム暗号化状態T406には、複製対象管理テーブルT500の基底ボリューム番号T503によって識別される基底ボリュームが暗号化されているか否かを示すフラグが登録される。
【0183】
基底ボリューム用暗号鍵T407には、基底ボリュームの暗号化状態が「オン」である場合、基底ボリュームに格納されるデータを暗号化又は復号化する暗号鍵が登録される。
【0184】
図16は、本発明の第2の実施の形態の復元処理のフローチャートであり、具体的には、ストレージ装置4が、管理計算機5からデータボリュームの復元要求を受け付けた場合の処理を説明する。
【0185】
なお、復元要求とは、特定の時点のデータボリュームを復元する要求であり、復元を要求する時点を指定する所望ポインタが含まれる。
【0186】
コントローラ42のプロセッサ421がメモリ422に格納されている各プログラムを実行することによって図16に示す復元処理が実行される。
【0187】
まず、コントローラ42は、更新ポインタを初期化する(STEP1601)。具体的には、更新ポインタには、スナップショットに適用されていないジャーナルのうち、最も古いジャーナルが格納されているジャーナルボリュームのボリューム番号及びアドレスが設定される。
【0188】
次に、コントローラ42は、更新ポインタと更新情報末尾ポインタT202とが一致しているか否かを判断する、すなわち、スナップショットに適用されていないジャーナルがジャーナルボリュームにあるか否かを判断する(STEP1602)。
【0189】
更新ポインタと更新情報末尾ポインタT202が一致していない、すなわち、スナップショットに適用されていないジャーナルがジャーナルボリュームにある場合、処理はSTEP1603に進む。一方、更新ポインタと更新情報末尾ポインタT202が一致している、すなわち、スナップショットに適用されていないジャーナルがない場合、処理は終了する。
【0190】
次に、コントローラ42は、更新ポインタが示す記憶領域からジャーナル(更新情報及びライトデータ)を読み出す(STEP1603)。
【0191】
次に、コントローラ42は、STEP1603で読み出したジャーナルが復元要求に含まれる所望ポインタによって指定された時点以前に生成されたジャーナルであるか否かを判断する(STEP1604)。
【0192】
読み出したジャーナルが所望ポインタによって指定された時点以前に生成されたジャーナルである場合、処理はSTEP1605に進む。一方、読み出したジャーナルが所望ポインタによって指定された時点以前に生成されたジャーナルでない場合、すなわち、所望ポインタによって指定された時点のデータボリュームの復元が完了している場合、処理は終了する。
【0193】
次に、コントローラ42は、暗号管理テーブルT400を参照し、更新情報に含まれるデータボリューム番号T401に基づいて、ジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP1605)。
【0194】
ジャーナルの暗号化状態が「オン」である場合、ライトデータを復号化するため、処理はSTEP1606に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP1206に進む。
【0195】
次に、コントローラ42は、暗号管理テーブルT400を参照し、データボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP1606)。
【0196】
次に、コントローラ42は、STEP1606で取得したジャーナル用暗号鍵T405を用いて、暗号化されたライトデータを復号化する(STEP1607)。
【0197】
次に、コントローラ42は、複製対象管理テーブルT500を参照し、更新情報に含まれるデータボリューム番号T401に基づいて、ジャーナルを適用する基底ボリュームの暗号化状態が「オン」であるか否かを判断する(STEP1608)。
【0198】
基底ボリュームの暗号化状態が「オン」である場合、ライトデータを暗号化するため、処理はSTEP1609に進む。一方、基底ボリュームの暗号化状態が「オフ」である場合、処理はSTEP1611に進む。
【0199】
次に、コントローラ42は、暗号状態管理テーブルT400を参照し、基底ボリュームに割り当てられている基底ボリューム用暗号鍵T407を取得する(STEP1609)。
【0200】
次に、コントローラ42は、STEP1609で取得した基底ボリューム用暗号鍵T407を用いて、ライトデータを暗号化する(STEP1610)。
【0201】
次に、コントローラ42は、基底ボリュームにライトデータを格納することによって、スナップショットにジャーナルを適用する(STEP1611)。
【0202】
次に、コントローラ42は、更新ポインタを更新する(STEP1612)。具体的には、コントローラ42は、更新ポインタに、スナップショットに適用されていないジャーナルのうち、最も古いジャーナルが格納されているジャーナルボリュームのボリューム番号及びアドレスを新たに設定する。そして、処理はSTEP1602に戻る。
【0203】
本発明の第2の実施の形態では、継続的データ保護機能を用いたジャーナリング機能において、更新情報に含まれるボリューム番号に基づいて、ジャーナルの暗号化状態、及び、ライトデータの暗号化に用いるジャーナル用暗号鍵を取得し、適切な暗号鍵で復号化する。よって、異なる暗号鍵で暗号化されたジャーナルが同じジャーナルボリュームに混在する場合でも、適切な暗号鍵でジャーナルを復号化し、継続的データ保護機能を実現することができる。
【図面の簡単な説明】
【0204】
【図1】本発明の第1の実施の形態のコンピュータシステムの構成図を示す。
【図2】本発明の第1の実施の形態のストレージ装置の構成図を示す。
【図3】本発明の第1の実施の形態のペア管理テーブルを示す図を示す。
【図4】本発明の第1の実施の形態のジャーナルグループ管理テーブルを示す。
【図5】本発明の第1の実施の形態のジャーナルボリュームの構造を示す。
【図6】本発明の第1の実施の形態のジャーナルボリューム管理テーブルを示す。
【図7】本発明の第1の実施の形態の暗号管理テーブルを示す。
【図8】本発明の第1の実施の形態の更新情報の構造を示す。
【図9】本発明の第1の実施の形態のライト命令処理のフローチャートを示す。
【図10】本発明の第1の実施の形態のジャーナル転送処理のフローチャートを示す。
【図11】本発明の第1の実施の形態のジャーナルリード命令処理のフローチャートを示す。
【図12】本発明の第1の実施の形態のリストア処理のフローチャートを示す。
【図13】本発明の第2の実施の形態のコンピュータシステムの構成図を示す。
【図14】本発明の第2の実施の形態の複製対象管理テーブルを示す。
【図15】本発明の第2の実施の形態の暗号管理テーブルを示す。
【図16】本発明の第2の実施の形態の復元処理のフローチャートを示す。
【符号の説明】
【0205】
1 コンピュータシステム
2A ストレージネットワーク
2B 管理ネットワーク
3 ホスト計算機
4 ストレージ装置
41 ディスクドライブ
42 コントローラ
【技術分野】
【0001】
本発明は、計算機システムに関し、特に、ストレージ装置間におけるデータのリモートコピーに関する。
【背景技術】
【0002】
コンピュータシステムで発生するストレージ装置の障害によるデータの消失を防止するため、ストレージ装置の論理ボリュームに格納されたデータは、冗長的に構成された遠隔地のストレージ装置の論理ボリュームにバックアップされる。例えば、リモートコピー(又はリモートミラーリング)は、論理ボリュームに格納されたデータのバックアップを行う技術として知られている。
【0003】
具体的には、リモートコピーは、主系のストレージ装置の論理ボリューム(主論理ボリューム)と副系のストレージ装置の論理ボリューム(副論理ボリューム)との一組のボリュームをペアボリュームとして定義し、主論理ボリュームに格納されたデータを同期又は非同期に副論理ボリュームにコピーすることによって、データをバックアップする。よって、主系のストレージ装置に障害が発生した場合でも、副系のストレージ装置は、主系のストレージ装置から引き継いで、ホスト計算機からI/Oアクセスを受け付けることができる。
【0004】
また、データのバックアップ及びデータのリストアを高速に行なう技術として、ジャーナリングが知られている。ジャーナリングは、ホスト計算機からデータの書き込み要求(命令)を受け付けると、書き込まれるデータと書き込み要求を受け付けた時刻等を含む更新情報とをジャーナルとして論理ボリュームに格納する。なお、ジャーナルを格納する論理ボリュームは、ジャーナルボリュームと呼ばれる。
【0005】
特許文献1には、リモートコピーにジャーナリングの技術を用いる記憶システムが開示されている。具体的には、特許文献1に開示されている第1の記憶システムは、自身のボリュームに格納されたデータに対するライト命令(書き込み要求)を受け付けると、ライト命令を受け付けたボリュームに格納されたデータを更新するとともに、ライトデータにライト命令の受信時刻等が付加されたジャーナルを作成し、作成したジャーナルを第2の記憶システムに転送する。第2の記憶システムは、転送されたジャーナルに基づいて、自身のボリュームに格納されたデータを更新する。よって、第2の記憶システムのボリュームに、第1の記憶システムのボリュームの複製が作成される。
【0006】
また、データを格納する複数のボリューム(データボリューム)がジャーナルボリュームを共有することによって、複製元のデータボリュームが更新される順序と複製先のデータボリュームが更新される順序とを一致させることができる。
【0007】
また、セキュリティを保護するため、データは暗号化されてストレージ装置に格納される。データが暗号化されることによって、データの機密性が保証される。
【0008】
特許文献2には、記憶領域に格納されるデータを暗号化する場合、同じ暗号鍵を用いて暗号化されたデータの増加を防止する記憶システムが開示されている。具体的には、ボリュームミラー機能及びスナップショット機能を用いて、異なる記憶領域の間でデータを共有する記憶システムにおいて、複製元の記憶領域に格納されているデータが暗号化されている場合には、複製元の記憶領域に割り当てられている暗号鍵を用いて、暗号化されているデータを復号化する。そして、複製元の記憶領域とは異なる記憶領域に割り当てられている暗号鍵を用いてデータを暗号化し、複製先の記憶領域に暗号化されたデータを格納する。
【特許文献1】特開2005−018506号公報
【特許文献2】特開2007−028502号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
異なる管理者が管理するデータボリュームには、異なる暗号鍵が割り当てられる場合がある。一方、管理ボリューム(例えば、ジャーナルボリューム)は、管理者間で共有される場合がある。ジャーナルボリュームが管理者間で共有される場合、ジャーナルボリュームに異なる暗号鍵で暗号化されたジャーナルが混在する。しかし、従来技術では、異なる暗号鍵で暗号化されたジャーナルを同じジャーナルボリュームに混在させて管理することは考慮されていない。
【課題を解決するための手段】
【0010】
本発明の代表的な一例を示せば以下の通りである。すなわち、ホスト計算機と、前記ホスト計算機に接続される第1のストレージシステムと、を備える計算機システムであって、前記第1のストレージシステムは、前記第1のストレージシステムを制御する第1のコントローラと、前記ホスト計算機によって書き込まれたデータを格納する第1のボリュームと、前記第1のボリュームに格納されているデータが更新される場合に、前記更新されるデータを格納する第2のボリュームと、を備え、前記第1のコントローラは、前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、前記第2のボリュームに格納されるデータの暗号化状態及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵に基づいて、前記書き込みデータを暗号化し、前記作成された更新情報及び前記暗号化された書き込みデータを前記第2のボリュームに格納することを特徴とする。
【発明の効果】
【0011】
本発明の一実施形態によれば、異なる暗号鍵で暗号化されたジャーナルが同じジャーナルボリュームに混在する場合でも、適切な暗号鍵でジャーナルを復号化し、リモートコピーを実現することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態について、図面を参照して説明する。
【0013】
<第1の実施形態>
図1は、本発明の第1の実施の形態のコンピュータシステム1の構成図を示す。
【0014】
図1に示すように、コンピュータシステム1は、ホスト計算機3(3A、3B)、ストレージ装置4(4A、4B)、及び管理計算機5(5A、5B)を備える。以下、3A、3Bを区別しない場合には、単に3と説明することもある。また、4A、4Bを区別しない場合には、単に4と説明することもある。また、5A、5Bを区別しない場合には、単に5と説明することもある。
【0015】
ホスト計算機3及びストレージ装置4は、ストレージネットワーク2Aを介して相互に接続される。また、ストレージ装置4及び管理計算機5は、管理ネットワーク2Bを介して相互に接続される。コンピュータシステム1は、例えば、銀行の業務システム及び航空機の座席予約業務システム等として実現することができる。
【0016】
ストレージネットワーク2Aは、ホスト計算機3とストレージ装置4との間のI/Oアクセスに基づいた通信に用いられるネットワークシステムである。また、ストレージネットワーク2Aは、ストレージ装置4Aとストレージ装置4Bとの間のリモートコピーに基づいた通信に用いられる。
【0017】
ストレージネットワーク2Aは、例えば、LAN及びSAN(Storage Area Network)のいずれかによって構成することができる。なお、ストレージネットワーク2Aは、ネットワークスイッチ及びハブ等を備える。本実施の形態では、ストレージネットワーク2Aは、ファイバーチャネルプロトコルベースのSAN(FC−SAN)によって構成される。
【0018】
管理ネットワーク2Bは、管理計算機5がホスト計算機3及びストレージ装置4を管理する際の通信に用いられるネットワークである。
【0019】
管理ネットワーク2Bは、例えば、LAN及びSANのいずれかによって構成することができる。なお、管理ネットワーク2Bは、ネットワークスイッチ及びハブ等を備える。本実施の形態では、管理ネットワーク2Bは、IPプロトコルベースのLANによって構成される。
【0020】
なお、ストレージネットワーク2A及び管理ネットワーク2Bは、物理的に別のネットワークとして構成されていなくてもよい。例えば、ストレージネットワーク2AがIPプロトコルベースのSANによって構成される場合には、ストレージネットワーク2A及び管理ネットワーク2Bは、一つのネットワークシステムとして構成することができる。
【0021】
ホスト計算機3は、ストレージネットワーク2Aを介してストレージ装置4にI/Oアクセスの要求を送信し、その結果を受信する。ホスト計算機3は、例えば、銀行の業務システム及び航空機の座席予約業務システム等のコンピュータに用いることができる。
【0022】
また、ホスト計算機3は、プロセッサ、メモリ、ネットワークインターフェース、及びローカル入出力デバイス等のハードウェア資源を備え、デバイスドライバ、オペレーティングシステム(OS)、及びアプリケーションプログラム等のソフトウェア資源を備える。
【0023】
ホスト計算機3は、プロセッサの制御の下、各種のプログラムを実行して、他のハードウェア資源との協働作用によって、所望の処理を実現する。例えば、ホスト計算機3は、プロセッサが、OS上で業務アプリケーションプログラムを実行することによって、ストレージ装置4のボリュームにアクセスし、所望の業務システムを実現することができる。
【0024】
図1に示す例では、2台のホスト計算機3A及びホスト計算機3Bは、ストレージ装置4A及びストレージ装置4Bのそれぞれにアクセスする。
【0025】
ストレージ装置4は、ホスト計算機3にデータストレージサービスを提供するサブシステムであり、一つ又は複数のボリュームに格納されるデータのI/Oアクセスをホスト計算機3に提供する。また、ストレージ装置4は、データを保持する記憶媒体を含む物理デバイスである一つ又は複数のディスクドライブ41と、ディスクドライブ41に対する書き込み要求又は読み出し要求を含むI/Oアクセスを制御するコントローラ42と、を備える。
【0026】
ストレージ装置4Aの構成とストレージ装置4Bの構成とは同じであるが、運用上、異なる役割が割り当てられる。例えば、ストレージ装置4Aは、通常の運用時に稼働する主系のストレージ装置4Aであり、ストレージ装置4Bは、障害や保守作業の発生によってストレージ装置4Aが停止した場合に備えて待機する副系のストレージ装置4Bであってもよい。よって、主系のストレージ装置4A及び副系のストレージ装置4Bに定義される一組のペアボリュームには、後述するリモートコピー(リモートミラーリング)によって、それぞれ同じデータが格納される。
【0027】
ディスクドライブ41の記憶領域は、複数のボリュームに分割又は結合される。各ボリュームは、ホスト計算機3上のアプリケーションプログラムが一つの論理的なディスク装置として認識する記憶領域である。ディスクドライブ41に含まれる任意の容量の物理的な記憶領域が、各ボリュームに割り当てられる。
【0028】
また、複数のボリュームが分割又は結合されることによって、RAID(Redundant Arrays of Independence Disks)が構成されてもよい。
【0029】
各ボリュームには、ボリューム番号が割り当てられる。よって、ホスト計算機3は、ボリューム番号を用いて特定のボリュームを認識する。ボリューム番号には、ポート番号及びロジカルユニット番号(LUN:Logical Unit Number)が用いられる。また、ボリュームは、I/Oアクセスの最小単位であるブロックに分割され、各ブロックには、アドレス(論理アドレス)が割り当てられる。ホスト計算機3は、ボリューム番号及びアドレス(論理アドレス)を指定することによって、特定のボリュームにおける特定のブロックに格納されたデータにアクセスすることができる。
【0030】
ストレージ装置4は、目的及び用途に応じてボリュームを備える。本実施の形態では、ストレージ装置4は、ホスト計算機3からのI/Oアクセスに基づいてデータを格納する一つ又は複数のデータボリューム(D−VOL)と、ジャーナリング機能を用いて生成されるジャーナルを格納する一つ又は複数のジャーナルボリューム(J−VOL)とを備える。
【0031】
また、ストレージ装置4は、RC/JNL機能及び暗号/復号化機能を備える。
【0032】
RC/JNL機能は、リモートコピーにジャーナリング機能が用いられる。具体的には、主系のストレージ装置4Aは、副系のストレージ装置4Bからリモートコピーの要求を受け付けると、ジャーナルボリュームに格納されているジャーナルをストレージ装置4Bに転送する。ストレージ装置4Bは、受信したジャーナルをストレージ装置4Bのジャーナルボリュームに格納し、格納されているジャーナルに基づいて定期的に副系のストレージ装置4Bのデータボリュームを更新する。
【0033】
ジャーナリング機能は、データボリュームに格納されたデータを高速にバックアップする機能であり、ストレージ装置4に実装される。ホスト計算機3から書き込み要求を受け付けた場合に、ストレージ装置4は、ジャーナリング機能によって、受け付けた書き込み要求に含まれるライトデータと、書き込み要求に基づいて作成される更新情報とをジャーナルとして、ジャーナルボリュームに格納する。ライトデータは、書き込み要求に含まれる書き込みデータであって、これから書き込まれるデータである。
【0034】
更新情報は、ライトデータを管理する情報であり、ライト命令(書き込み要求)を受信した時刻(タイムスタンプ)、データボリュームが属するジャーナルグループのジャーナルグループ番号、ジャーナルグループに属するデータボリュームに格納されるデータの更新順序を示すシーケンシャル番号、書き込み要求によって指定されたデータボリュームのボリューム番号及びアドレス、書き込み要求に含まれるライトデータのサイズ(容量)、及び、書き込み要求に含まれるライトデータを格納したジャーナルボリュームのボリューム番号及びアドレス等を含む。
【0035】
図8は、本発明の第1の実施の形態の更新情報の構造を示す。図8に示した項目以外に、ライトデータの暗号化状態及びライトデータを暗号化するために用いられるジャーナル用暗号鍵を識別する識別子等を含んでもよい。なお、ジャーナル用暗号鍵を識別する情報を用いる場合には、各暗号鍵に識別情報が割り当てられる必要がある。なお、ライトデータの暗号化状態は、ライトデータが暗号化されているか否かを示す情報である。
【0036】
また、図5に示すように、ジャーナルボリュームは、一つのボリュームを、更新情報を格納する記憶領域(更新情報領域)とライトデータを格納する記憶領域(ライトデータ領域)とに分ける。更新情報は、更新情報領域の先頭から、更新番号(シーケンシャル番号)の順に格納され、更新情報領域の終端まで格納されると、更新情報領域の先頭から格納される。ライトデータは、ライトデータ領域の先頭から格納され、ライトデータ領域の終端まで格納されると、ライトデータ領域の先頭から格納される。本実施の形態のジャーナルボリュームは、リモートコピーに用いられるジャーナルをストレージ装置4Bに転送する際の中間的なバッファとして、主系ストレージ装置4A及び副系ストレージ装置4Bにそれぞれ備わる。
【0037】
なお、本実施の形態では、ジャーナルボリュームの記憶領域が、更新情報を格納する記憶領域(更新情報領域)とライトデータを格納する記憶領域(ライトデータ領域)とに分かれているが、更新情報を格納するボリュームとライトデータを格納するボリュームとが別々にディスクドライブ41に備わっていてもよい。また、ジャーナルボリュームの記憶領域が、更新情報領域とライトデータ領域とに分かれずに、更新情報とライトデータとが交互に格納されてもよい。
【0038】
リモートコピーは、ストレージ装置4に実装される機能であり、ペア関係が定義されたボリューム(ペアボリューム)間で、ホスト計算機3からの書き込み要求と同期又は非同期にデータが複製され、一方のボリュームに格納されたデータを二重化する。リモートコピーは、例えば、ストレージ装置4に備わるプロセッサが、メモリに格納されたリモートコピープログラムを実行することによって実現することができる。ストレージ装置4A及びストレージ装置4Bの各ボリューム間で新たなペア関係が定義された場合には、初期コピーとして、主系のストレージ装置4Aのボリュームから、新たにペア関係が定義された副系のストレージ装置4Bのボリュームにデータが複製される。
【0039】
書き込み要求と同期してデータをコピーするリモートコピーでは、ホスト計算機3から書き込み要求を受け付けた主系のストレージ装置4Aは、書き込み要求に含まれるライトデータを自身のボリュームに格納するとともに、ペア関係が定義された副系のストレージ装置4Bのボリュームに、書き込み要求に含まれるライトデータを転送する。副系のストレージ装置4Bは、ペア関係が定義されたボリュームに転送されたライトデータを格納した時点で、ホスト計算機3に書き込み要求の完了を応答する。
【0040】
一方、書き込み要求と非同期にデータをコピーするリモートコピーでは、ホスト計算機3からの書き込み要求とは独立(非同期)に、ペアボリューム間でコピーが行われる。すなわち、ストレージ装置4Aは、書き込み要求に含まれるライトデータを自身のボリュームに格納した時点で、ホスト計算機3に書き込み要求の完了を応答する。本実施の形態では、副系のストレージ装置4Bが、主系のストレージ装置4Aにリモートコピーを要求する非同期のリモートコピーが用いられる。
【0041】
暗号化/復号化機能は、ストレージ装置4のプロセッサが、メモリに格納された暗号/復号プログラムを実行することによって実現される。なお、暗号化/復号化機能は、ハードウェアが実装されることによって実現されていてもよい。ストレージ装置4は、暗号化状態にあるボリュームにデータを格納する場合には、暗号化/復号化機能によってデータを暗号化して格納する。なお、暗号化状態にあるボリュームとは、ボリュームに格納されるデータが暗号化されていることである。
【0042】
管理計算機5は、ストレージ装置4を管理するコンピュータであり、例えば、汎用のコンピュータを用いることができる。
【0043】
管理計算機5は、プロセッサ、メモリ、ネットワークインターフェース、及びローカル入出力デバイス等のハードウェア資源を備え、デバイスドライバ、OS、及び管理プログラム等のソフトウェア資源を備える。また、管理計算機5は、RC/JNL機能及び暗号化/復号化機能を備える。
【0044】
管理計算機5は、プロセッサの制御の下、各種のプログラムを実行して、他のハードウェア資源との協働作用によって、所望の処理を実現する。具体的には、プロセッサが、OS上で管理プログラムを実行することによって、システム管理者にストレージ装置4を管理するユーザインターフェースを提供し、システム管理者の操作を介して、ストレージ装置4の設定、実行指示、及び運用状況の監視等を管理する。例えば、管理計算機5は、システム管理者の操作に基づいて、リモートコピーの設定(ペアボリュームの定義及び初期コピーの実行等)、及び、データボリュームの暗号化状態を設定(暗号化機能の有効化/無効化)することができる。
【0045】
なお、本実施の形態では、ストレージ装置4Aを主系のストレージ装置とし、ストレージ装置4Bを副系のストレージ装置としているが、ストレージ装置4のボリューム単位で主系のボリュームと副系のボリュームとに分けて、主系のボリュームに格納されているデータを副系のボリュームに複製(リモートコピー)してもよい。
【0046】
図2は、本発明の第1の実施の形態のストレージ装置4の構成図を示す。
【0047】
ストレージ装置4は、ディスクドライブ41、及びコントローラ42を備える。ディスクドライブ41は、記憶媒体(例えば、ハードディスクドライブ及びフラッシュメモリ等)を含む物理デバイスである。ディスクドライブ41及びコントローラ42は、例えば、ディスクチャネルを介して相互に接続することができる。
【0048】
コントローラ42は、プロセッサ421、メモリ422、ホストインターフェース423、キャッシュメモリ424、ディスクインターフェース425、ストレージインターフェース426、及び管理インターフェース427を備える。各構成は、内部データ線428を介して相互に接続される。また、各構成を複数備えることによって、冗長化してもよい。
【0049】
プロセッサ421は、メモリ422に格納された各種のプログラムを実行することによって、ストレージ装置4の全体を制御する。
【0050】
メモリ422は、I/O処理プログラムP100、ジャーナリングプログラムP200、リモートコピープログラムP300、及び暗号/復号プログラムP400等を格納する。
【0051】
I/O処理プログラムP100は、ホスト計算機3からの書き込み要求又は読み出し要求に基づいたI/Oアクセスを制御し、ホスト計算機3にデータストレージサービスを提供する。
【0052】
ジャーナリングプログラムP200は、ホスト計算機3から書き込み要求を受け付けた場合に、受け付けた書き込み要求に含まれるライトデータに基づいてジャーナルエントリ(ジャーナル)を作成する。
【0053】
リモートコピープログラムP300は、複数のストレージ装置4の間(ストレージ装置4Aとストレージ装置4Bとの間)のリモートコピーの処理を実行する。なお、リモートコピープログラムP300は、リモートコピーを要求するサブプログラム及びリモートコピーが要求されるサブプログラムを含む。
【0054】
暗号/復号プログラムP400は、ディスクドライブ41上のボリュームに格納されるデータを暗号化して格納する。また、格納されたデータを読み出す際に復号化する。
【0055】
また、メモリ422は、ペア管理テーブルT100、ジャーナルグループ管理テーブルT200、ジャーナルボリューム管理テーブルT300、及び暗号管理テーブルT400を含むシステム構成情報及びキャッシュディレクトリ情報等を格納する。
【0056】
ペア管理テーブルT100は、リモートコピーが行われるデータボリュームのペア関係を管理する。なお、ペア管理テーブルT100は、図3を用いて後述する。
【0057】
ジャーナルグループ管理テーブルT200は、ジャーナルを格納するジャーナルボリュームをジャーナルグループ単位で管理する。なお、ジャーナルグループ管理テーブルT200は、図4を用いて後述する。
【0058】
ジャーナルボリューム管理テーブルT300は、ジャーナルグループのジャーナルボリュームを管理する。なお、ジャーナルボリューム管理テーブルT300は、図6を用いて後述する。
【0059】
暗号管理テーブルT400は、ストレージ装置4内のデータボリューム及びデータボリュームに格納されるジャーナルの暗号化の状態を管理する。なお、暗号管理テーブルT400は、図7を用いて後述する。
【0060】
各プログラム及び各テーブルの一部又は全部は、補助記憶装置(図示省略)から読み出され、メモリ422に格納される。また、システム管理者がシステム構成情報を設定及び変更する場合、管理計算機5は、メモリ422に格納されたシステム構成情報を取得し、ユーザインターフェースを介して、取得したシステム構成情報をシステム管理者に提供する。
【0061】
ホストインターフェース423は、プロトコルデバイス(図示省略)を備え、ストレージネットワーク2Aを介して接続されたホスト計算機3との間で通信する。なお、プロトコルデバイスは、各プロトコルに応じたプロトコル処理を行うプロセッサを備える。
【0062】
ホストインターフェース423が、ホスト計算機3から書き込み要求を受け付けると、プロセッサ421は、受け付けた書き込み要求に含まれるライトデータをキャッシュメモリ424に書き込む。
【0063】
キャッシュメモリ424は、ホスト計算機3とディスクドライブ41との間で入出力されるデータを一時的に格納(キャッシュ)する。すなわち、キャッシュメモリ424は、ホストインターフェース423とディスクインターフェース425との間のデータの受け渡すために用いられる。キャッシュメモリ424は、例えば、揮発性メモリ(例えば、DRAM)及び不揮発性メモリ(例えば、フラッシュRAM)等によって構成することができる。
【0064】
ディスクインターフェース425は、キャッシュメモリ424に格納されたデータを読み出し、読み出したデータをディスクドライブ41に格納する(デステージング)。また、ディスクインターフェース425は、ディスクドライブ41からデータを読み出し、読み出したデータをキャッシュメモリ424に格納する(ステージング)。例えば、ホスト計算機3から読み出し要求を受け付けた場合、ディスクインターフェース425は、要求されたデータがキャッシュメモリ424に存在するか否かを判断してもよい。要求されたデータがキャッシュメモリ424に存在しない場合、ディスクインターフェース425は、必要に応じてデステージングを行なうことによって、キャッシュ領域を確保した後、要求されたデータをキャッシュメモリ424にステージングする。
【0065】
ストレージインターフェース426は、ホストインターフェース423と同様に、プロトコルデバイス(図示省略)を備え、ストレージネットワーク2Aを介して接続された他のストレージ装置4との間で通信する。複数のストレージ装置4の間(ストレージ装置4Aとストレージ装置4Bとの間)でリモートコピーが行われる場合、ストレージインターフェース426を介してデータが転送される。
【0066】
管理インターフェース427は、プロトコルデバイス(図示省略)を備え、管理ネットワーク2Bを介して接続された管理計算機5との間で通信する。例えば、管理ネットワーク2BがTCP/IPベースのLANで構成されている場合、管理インターフェース427は、イーサネット(登録商標)ボードを用いることができる。
【0067】
図3は、本発明の第1の実施の形態のペア管理テーブルT100を示す。なお、ペア管理テーブルT100は、管理計算機5を操作するシステム管理者によって、作成及び更新される。
【0068】
図3に示すように、ペア管理テーブルT100は、複製元ストレージ装置番号T101、複製元データボリューム番号T102、複製先ストレージ装置番号T103、複製先データボリューム番号T104、及びジャーナルグループ番号T105を含む。
【0069】
複製元ストレージ装置番号T101には、リモートコピーによって複製されるデータボリュームを備えるストレージ装置4を識別するストレージ装置番号が登録される。ストレージ装置番号は、例えば、ストレージ装置4のベンダー名及び製造番号であってもよい。
【0070】
複製元データボリューム番号T102には、リモートコピーによって複製されるデータボリュームを識別するボリューム番号が登録される。登録されるボリューム番号は、複製元ストレージ装置番号T101によって識別されるストレージ装置4が備えるボリュームから特定のボリュームを一意に特定できる番号であればよい。すなわち、ボリューム番号は、ボリュームの種類(ボリュームがデータボリューム又はジャーナルボリュームであるか否か)に関わらず、一意の番号が割り当てられる。
【0071】
複製先ストレージ装置番号T103には、複製されたデータを格納するデータボリュームを備えるストレージ装置4を識別するストレージ装置番号が登録される。
【0072】
複製先データボリューム番号T104には、複製されたデータを格納するデータボリュームを識別するボリューム番号が登録される。複製先データボリューム番号T104は、複製先ストレージ装置番号T103によって識別されるストレージ装置4が備えるボリュームからデータボリュームを一意に特定できる番号であればよい。
【0073】
ジャーナルグループ番号T105には、各エントリのデータボリュームが属するジャーナルグループを識別するジャーナルグループの番号が登録される。ジャーナルグループ番号T105は、ペア関係が定義されたボリューム間のデータの更新順序を保証するために、一つ又は複数のデータボリューム(及び、これとペア関係が定義された一つ又は複数のデータボリューム)をジャーナルグループという単位で管理する。
【0074】
一つのジャーナルグループには、複数のデータボリュームが属してもよい。一つのジャーナルグループに複数のデータボリュームが属する場合には、複数のデータボリュームが、一つのジャーナルボリュームを共有する。すなわち、リモートコピーする場合には、複製元のストレージ装置4に備わる複数のデータボリュームに格納されているデータの更新順序が、複製先のストレージ装置4に備わるデータボリュームに格納されているデータの更新順序と同じになるように、一つ又は複数のデータボリュームにジャーナルグループが定義される。同じジャーナルグループ内では、データの更新順に、一意な更新番号(シーケンシャル番号)が割り当てられる。
【0075】
図4は、本発明の第1の実施の形態のジャーナルグループ管理テーブルT200を示す。
【0076】
図4に示すように、ジャーナルグループ管理テーブルT200は、ジャーナルグループ番号T201、更新情報末尾ポインタT202、ライトデータ末尾ポインタT203、更新情報先頭ポインタT204、ライトデータ先頭ポインタT205、及びライトデータ領域先頭ポインタT206を含む。
【0077】
ジャーナルグループ番号T201には、ジャーナルグループを識別する番号が登録される。すなわち、一つ又は複数のデータボリュームに対する書き込み要求に基づいて作成されるジャーナルは、書き込み要求を受け付けたデータボリュームが属するジャーナルグループのジャーナルボリュームに格納される。
【0078】
更新情報末尾ポインタT202には、ジャーナルグループ番号T201によって識別されるジャーナルグループに属するデータボリュームに格納されるデータが更新されたときに、更新情報が格納されるジャーナルボリュームのボリューム番号、及び、更新情報が格納される記憶領域のアドレスが登録される。アドレスには、直近に作成された更新情報が格納された記憶領域の末尾アドレスの次のアドレスが登録される。
【0079】
ライトデータ末尾ポインタT203には、ジャーナルグループ番号T201によって識別されるジャーナルグループに属するデータボリュームに格納されるデータが更新されたときに、ライトデータが格納されるジャーナルボリュームのボリューム番号、及び、ライトデータが格納される記憶領域のアドレスが登録される。アドレスには、最も新しく作成されたライトデータが格納された記憶領域の末尾アドレスの次のアドレスが登録される。
【0080】
更新情報先頭ポインタT204には、図10を用いて後述するジャーナル転送処理が実行される時に、ストレージ装置4Aが次にストレージ装置4Bに転送する更新情報が格納されているジャーナルボリュームのボリューム番号及び転送する更新情報が格納される記憶領域のアドレスが登録される。
【0081】
ライトデータ先頭ポインタT205には、図10を用いて後述するジャーナル転送処理が実行される時に、ストレージ装置4Aが次にストレージ装置4Bに転送するライトデータが格納されているジャーナルボリュームのボリューム番号及び転送するライトデータが格納される記憶領域のアドレスが登録される。
【0082】
ライトデータ領域先頭ポインタT206には、ジャーナルボリュームの記憶領域のうち、ライトデータを格納する記憶領域(ライトデータ領域)と更新情報を格納する記憶領域(更新情報領域)の境界を示すアドレスが登録される。
【0083】
図4及び図5に示す例では、更新情報領域は、ジャーナルボリューム#003の記憶領域の先頭から「699」のアドレスまでであり、ライトデータ領域は、ジャーナルボリューム#003の記憶領域の「700」のアドレスから「2999」のアドレスまでである。更新情報は、ジャーナルボリューム#003の記憶領域の「200」のアドレスから「399」のアドレスまで格納されており、次の更新情報は、ジャーナルボリューム#003の記憶領域の「400」のアドレスから格納される。ジャーナルのライトデータは、ジャーナルボリューム#003の記憶領域の「1800」のアドレスから「2599」のアドレスまで格納されており、次のライトデータは、ジャーナルボリューム#003の記憶領域の「2600」のアドレスから格納される。
【0084】
図6は、本発明の第1の実施の形態のジャーナルボリューム管理テーブルT300を示す。
【0085】
図6に示すように、ジャーナルボリューム管理テーブルT300は、ジャーナルグループ番号T301、ジャーナルボリューム番号T302、及び使用順序T303を含む。
【0086】
ジャーナルグループ番号T301には、ジャーナルグループを識別する番号が登録される。
【0087】
ジャーナルボリューム番号T302には、ジャーナルグループに対応するジャーナルボリュームの識別子が登録される。
【0088】
使用順序T303には、ジャーナルグループに対応するジャーナルボリュームを用いる順序の値が登録される。具体的には、図6に示すジャーナルボリューム管理テーブルT300の場合、ジャーナルグループ番号T301が「1」であるジャーナルグループに対応するジャーナルボリューム003、ジャーナルボリューム004、及びジャーナルボリューム005は、ジャーナルボリューム003、ジャーナルボリューム004、ジャーナルボリューム005の順番にジャーナルが格納される。ジャーナルボリューム005にジャーナルが格納された後は、ジャーナルボリューム003に戻り、循環して各ジャーナルボリュームにジャーナルが格納される。
【0089】
図7は、本発明の第1の実施の形態の暗号管理テーブルT400を示す。
【0090】
図7に示すように、暗号管理テーブルT400は、データボリューム番号T401、データボリューム暗号化状態T402、データボリューム用暗号鍵T403、ジャーナル暗号化状態T404、及びジャーナル用暗号鍵T405を含む。
【0091】
データボリューム番号T401には、データボリュームを識別する識別子が登録される。識別子には、前述したように、ボリューム番号等が用いられる。
【0092】
データボリューム暗号化状態T402には、データボリューム番号T401によって識別されるデータボリュームが暗号化されているか否かを示すフラグが登録される。データボリュームが暗号化されている場合には、暗号化状態は「オン」であり、暗号化されていない場合には、暗号化状態は「オフ」である。
【0093】
データボリューム用暗号鍵T403には、データボリュームを暗号化又は復号化するための暗号鍵が登録される。暗号鍵は、所定の暗号化/復号化アルゴリズムが用いられる。例えば、暗号鍵の長さが128ビットである暗号鍵が用いられてもよい。暗号化と復号化とは、相補関係であり、本実施の形態でいう暗号鍵は、復号鍵を含む。また、ボリュームが暗号化されているとは、暗号鍵(復号鍵)を用いなければ、ボリュームに格納されたデータにアクセス(データの書き込み及びデータの読み込み)することができない状態であり、暗号鍵を用いて暗号化されたデータがボリュームに格納されている状態である。
【0094】
ジャーナル暗号化状態T404には、データボリュームが更新されたときに作成されるジャーナルが暗号化されているか否かを示すフラグが登録される。ジャーナルが暗号化されている場合には、暗号化状態は「オン」であり、暗号化されていない場合には、暗号化状態は「オフ」である。
【0095】
ジャーナル用暗号鍵T405には、ジャーナルボリュームに格納するライトデータを暗号化又は復号化する暗号鍵が登録される。
【0096】
なお、複数のデータボリュームに、同じ暗号鍵が割り当てられてもよい。例えば、同じ管理者が管理するデータボリュームには、同じ暗号鍵を割り当てられてもよい。また、ジャーナルボリュームに格納されるライトデータを暗号化又は復号化する暗号鍵は、データボリュームを暗号化又は復号化する暗号鍵と同じであってもよい。また、本実施の形態では、一つのデータボリュームに、一つのジャーナル用暗号鍵T405が割り当てられているが、暗号鍵を更新する時には、一つのデータボリュームに二つ以上のジャーナル用暗号鍵T405が割り当てられる場合がある。
【0097】
なお、データボリュームを暗号化又は復号化する暗号鍵は、データボリューム暗号化状態T402が「オン」に切り替えられたタイミングで生成されてもよい。また、データボリューム暗号化状態T402が「オン」に切り替えられたタイミングと同じタイミングでジャーナル用暗号鍵T405が生成されてもよい。また、データボリューム用暗号鍵T403が更新されるタイミングと同じタイミングでジャーナル用暗号鍵T405が更新されてもよい。
【0098】
なお、ジャーナル用暗号鍵T405に登録された内容を削除する場合には、データボリュームに定義されているペア関係が解除されていることを確認してから削除する。
【0099】
図9は、本発明の第1の実施の形態のライト命令処理のフローチャートであり、具体的には、主系のストレージ装置4Aが、ホスト計算機3Aからデータボリュームに対する書き込み要求を受け付けた場合の処理を説明する。
【0100】
コントローラ42のプロセッサ421がメモリ422に格納されている各プログラムを実行することによって、図9に示すライト命令処理が実行される。
【0101】
まず、ストレージ装置4Aのコントローラ42(以下、コントローラ42Aとして説明する)は、ホスト計算機3Aから書き込み要求を受け付けると、メモリ422に格納されている暗号管理テーブルT400を参照し、受け付けた書き込み要求によって指定されたデータボリューム(D−VOL)の暗号化状態が「オン」であるか否か、すなわち、データボリュームが暗号化されているか否かを判断する(STEP901)。
【0102】
データボリュームが暗号化されている場合、書き込み要求に含まれるライトデータを暗号化するため、処理はSTEP902に進む。一方、データボリュームが暗号化されていない場合、処理はSTEP904に進む。
【0103】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、暗号化されていると判断されたデータボリュームに割り当てられたデータボリューム用暗号鍵T403を取得する(STEP902)。
【0104】
次に、コントローラ42Aは、STEP902で取得した暗号鍵を用いて、受け付けた書き込み要求に含まれるライトデータを暗号化する(STEP903)。具体的には、プロセッサ421は、キャッシュメモリ424に格納されたデータをディスクドライブ41にデステージングする際に、STEP902で取得した暗号鍵を用いてライトデータを暗号化する。また、キャッシュメモリ424に格納されたライトデータを暗号化し、再び、キャッシュメモリ424に格納してもよい。この場合、キャッシュメモリ424に格納される暗号化されたライトデータは、所定のタイミングで、メモリ422のキャッシュディレクトリ情報に従って、ディスクインターフェース425によってデステージングされる。また、ホスト計算機3から書き込み要求を受け付けて、書き込み要求に含まれるライトデータをキャッシュメモリ424に格納する前に暗号化してもよい。
【0105】
次に、コントローラ42Aは、ライトデータをデータボリュームに格納する(STEP904)。
【0106】
次に、コントローラ42Aは、ペア管理テーブルT100を参照し、受け付けた書き込み要求によって指定されたデータボリュームが複製元データボリューム番号T102に設定されているか否かを判断する(STEP905)。
【0107】
指定されたデータボリュームが複製元データボリューム番号T102に設定されている場合、書き込み要求に基づいて作成されるジャーナルの格納先(ジャーナルが格納されるジャーナルボリューム)を特定するため、処理はSTEP906に進む。
【0108】
一方、指定されたデータボリュームが複製元データボリューム番号T102に設定されていない場合、処理は終了する。この場合、コントローラ42Aは、受け付けた書き込み要求を送信したホスト計算機3Aに、処理が完了したことを通知する。
【0109】
次に、コントローラ42Aは、ジャーナル管理テーブルT200を参照し、更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、ライトデータ末尾ポインタT203に登録されたボリューム番号及びアドレスとをそれぞれ取得する(STEP906)。すなわち、コントローラ42Aは、受け付けた書き込み要求に基づいて、ジャーナル(更新情報及びライトデータ)を格納するジャーナルボリュームの記憶領域を特定する。
【0110】
次に、コントローラ42Aは、受け付けた書き込み要求に基づいて更新情報を作成する(STEP907)。
【0111】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、複製元のデータボリュームに対応するジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP908)。
【0112】
ジャーナルの暗号化状態が「オン」である場合、ライトデータを暗号化するため、処理はSTEP909に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP911に進む。
【0113】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、複製元のデータボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP909)。
【0114】
次に、コントローラ42Aは、STEP909で取得したジャーナル用暗号鍵T405を用いて、ライトデータを暗号化する(STEP910)。
【0115】
次に、コントローラ42Aは、更新情報及びライトデータをジャーナルとしてSTEP906で特定されたジャーナルボリュームに格納する(STEP911)。
【0116】
次に、コントローラ42Aは、ジャーナルグループ管理テーブルT200の更新情報末尾ポインタT202及びライトデータ末尾ポインタT203を更新する(STEP912)。具体的には、コントローラ42Aは、更新情報を格納した記憶領域の末尾アドレスの次のアドレスを更新情報末尾ポインタT202に登録し、ライトデータを格納した記憶領域の末尾アドレスの次のアドレスをライトデータ末尾ポインタT203に登録する。
【0117】
そして、処理は終了する。この場合、コントローラ42Aは、受け付けた書き込み要求を送信したホスト計算機3Aに処理が完了したことを通知する。
【0118】
なお、図9に示すフローチャートでは、コントローラ42Aは、STEP904でデータボリュームにライトデータを格納する処理を実行した後、STEP911でジャーナルボリュームにジャーナルを格納する処理を実行しているが、この順序で処理を実行しなくてもよい。すなわち、コントローラ42Aは、データボリュームにライトデータを格納する処理とジャーナルボリュームにジャーナルを格納する処理とを、非同期に実行してもよい。
【0119】
図10は、本発明の第1の実施の形態のジャーナル転送処理のフローチャートであり、具体的には、ストレージ装置4Aがストレージ装置4Bからリモートコピー要求(以下、ジャーナル読み出し要求として説明する)を受け付けた場合の処理を説明する。
【0120】
コントローラ42Aのプロセッサ421がメモリ422に格納されている各プログラムを実行することによって図10に示すジャーナル転送処理が実行される。
【0121】
ストレージ装置4Aは、通常の運用時、ホスト計算機3Aにデータストレージサービスを提供するとともに、ストレージ装置4Bからのジャーナル読み出し要求に応じて、送信側としてリモートコピー処理を行なう。
【0122】
まず、コントローラ42Aは、ストレージ装置4Aのデータボリュームとペア関係が定義されているデータボリュームを備えるストレージ装置4Bからジャーナル読み出し要求を受け付けると、ジャーナルグループ管理テーブルT200を参照し、ジャーナル読み出し要求に含まれるジャーナルグループ番号T201に対応するエントリを抽出し、抽出したエントリの更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスとをそれぞれ取得する(STEP1001)。
【0123】
次に、コントローラ42Aは、ストレージ装置4Bに転送されていないジャーナルがあるか否かを判断する(STEP1002)。具体的には、STEP1001で抽出したエントリの更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスとが一致しているか否かを判断する。
【0124】
転送されていないジャーナルがある、すなわち、更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスとが一致しない場合、転送されていないジャーナルを読み出すため、処理はSTEP1003に進む。
【0125】
一方、転送されていないジャーナルがない、すなわち、更新情報末尾ポインタT202に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスとが一致している場合、処理はSTEP1009に進む。
【0126】
次に、コントローラ42Aは、更新情報先頭ポインタT204及びライトデータ先頭ポインタT205に登録されたボリューム番号及びアドレスに基づいて、ジャーナルボリュームに格納されたジャーナルのうち、転送されていないジャーナルの最も古い更新情報及び更新情報に対応するライトデータを読み出す(STEP1003)。
【0127】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、更新情報に含まれるデータボリュームのボリューム番号に基づいて、ジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP1004)。
【0128】
ジャーナルの暗号化状態が「オン」である場合、暗号化されているライトデータを復号化するため、処理はSTEP1005に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP1007に進む。
【0129】
次に、コントローラ42Aは、暗号管理テーブルT400を参照し、更新情報に含まれるボリューム番号によって識別されるデータボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP1005)。
【0130】
次に、コントローラ42Aは、STEP1005で取得したジャーナル用暗号鍵T405を用いて、STEP1003で読み出したライトデータを復号化する(STEP1006)。
【0131】
次に、コントローラ42Aは、ジャーナル(更新情報及びライトデータ)をストレージ装置4Bに送信する(STEP1007)。
【0132】
次に、コントローラ42Aは、STEP1007で送信した更新情報及びライトデータの容量に基づいて、ジャーナルグループ管理テーブルT200の対応するエントリの更新情報先頭ポインタT204及びライトデータ先頭ポインタT205を更新する(STEP1008)。具体的には、コントローラ42Aは、転送されていないジャーナルの更新情報を格納している記憶領域の先頭アドレスを更新情報先頭ポインタT204のアドレスに登録し、転送されていないジャーナルのライトデータを格納している記憶領域の先頭アドレスをライトデータ先頭ポインタT205に登録する。そして、処理は終了する。
【0133】
STEP1009では、コントローラ42Aは、転送されていないジャーナルがないことを示す応答をストレージ装置4Bのコントローラ42に送信する(STEP1009)。そして、処理は終了する。
【0134】
なお、本実施の形態では、ストレージ装置4Aは、ストレージ装置4Bからのジャーナル読み出し要求に応じて、ジャーナルを転送しているが、ストレージ装置4Aが、定期的に、ジャーナルをストレージ装置4Bに転送してもよい。また、ストレージ装置4Aは、ホスト計算機3Aから書き込み要求を受け付けるとともに、書き込み要求に基づいて作成されるジャーナルをストレージ装置4Bに転送してもよい。
【0135】
また、更新情報がジャーナルの暗号化状態を示すフラグを含み、STEP1004のジャーナルの暗号化状態を判断する処理で、更新情報に含まれるフラグを参照することによってジャーナルの暗号化状態を判断してもよい。また、更新情報がジャーナルの暗号鍵を示す識別子を含み、STEP1005の暗号鍵を取得する処理で、更新情報に含まれる識別子を参照することによって、ジャーナルの暗号鍵を取得してもよい。
【0136】
図11は、本発明の第1の実施の形態のジャーナルリード命令処理のフローチャートであり、具体的には、ストレージ装置4Bがストレージ装置4Aにジャーナル読み出し要求を送信する場合の処理を説明する。
【0137】
コントローラ42のプロセッサ421がメモリ422に格納されている各プログラムを実行することによって図11に示すジャーナルリード命令処理が実行される。
【0138】
まず、ストレージ装置4Bのコントローラ42(以下、コントローラ42Bとして説明する)は、ジャーナル読み出し要求をストレージ装置4Aに送信する(STEP1101)。
【0139】
次に、コントローラ42Bは、ストレージ装置4Aから送信されたジャーナル読み出し要求の応答を受信する(STEP1102)。
【0140】
次に、コントローラ42Bは、STEP1102で受信した応答がジャーナルであるか否かを判断する(STEP1103)。
【0141】
受信した応答がジャーナルである場合、処理はSTEP1104に進む。一方、受信した応答がジャーナルでない、すなわち、受信した応答が転送されていないジャーナルがない通知である場合、処理は終了する。
【0142】
次に、コントローラ42Bは、ジャーナルグループ管理テーブルT200を参照し、受信したジャーナルの更新情報に含まれる書き込み要求のアドレスに基づいて、受信したジャーナルが格納されるジャーナルボリュームのボリューム番号及びアドレスを取得し、ジャーナルの格納先(ジャーナルが格納されるジャーナルボリューム)を特定する(STEP1104)。
【0143】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、複製先のボリュームに対応するジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP1105)。
【0144】
ジャーナルの暗号化状態が「オン」である場合、受信したジャーナルのライトデータを暗号化するため、処理はSTEP1106に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP1108に進む。
【0145】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、更新情報に含まれるボリューム番号によって識別されるデータボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP1106)。
【0146】
次に、コントローラ42Bは、STEP1106で取得したジャーナル用暗号鍵T405を用いて、受信したジャーナルのライトデータを暗号化する(STEP1107)。
【0147】
次に、コントローラ42Bは、ジャーナル(更新情報及びライトデータ)をSTEP1104で特定したジャーナルボリュームに格納する(STEP1108)。
【0148】
次に、コントローラ42Bは、ジャーナルグループ管理テーブルT200の対応するエントリの更新情報末尾ポインタT202及びライトデータ末尾ポインタT203を更新する(STEP1109)。具体的には、コントローラ42Bは、更新情報を格納した記憶領域の末尾アドレスの次のアドレスを更新情報末尾ポインタT202に登録し、ライトデータを格納した記憶領域の末尾アドレスの次のアドレスをライトデータ末尾ポインタT203に登録する。そして、処理は終了する。
【0149】
なお、更新情報がジャーナルの暗号化状態を示すフラグを含み、STEP1105のジャーナルの暗号化状態を判断する処理で、更新情報に含まれるフラグを参照することによってジャーナルの暗号化状態を判断してもよい。また、更新情報がジャーナルの暗号鍵を示す識別子を含み、STEP1106の暗号鍵を取得する処理で、更新情報に含まれる識別子を参照することによって、ジャーナルの暗号鍵を取得してもよい。
【0150】
図12は、本発明の第1の実施の形態のリストア処理のフローチャートであり、具体的には、ストレージ装置4Bが、ストレージ装置4Aから受信したジャーナルに基づいて、データボリュームの複製を作成する処理を説明する。
【0151】
コントローラ42Bのプロセッサ421がメモリ422に格納されている各プログラムを実行することによって図12に示すリストア処理が実行される。
【0152】
まず、コントローラ42Bは、ジャーナルグループ管理テーブルT200を参照し、更新情報先頭ポインタT204に登録されたボリューム番号及びアドレスと、ライトデータ先頭ポインタT205に登録されたボリューム番号及びアドレスとを抽出し、ジャーナルを読み出すジャーナルボリュームを特定する(STEP1201)。
【0153】
次に、STEP1201で抽出したボリューム番号及びアドレスによって示される記憶領域から更新情報及びライトデータを読み出す(STEP1202)。
【0154】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、ジャーナルの更新情報に含まれる書き込み要求のアドレスに基づいて、複製先のデータボリュームに対応するジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP1203)。
【0155】
ジャーナルの暗号化状態が「オン」である場合、ジャーナルのライトデータを復号化するため、処理はSTEP1204に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP1206に進む。
【0156】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、複製先のデータボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP1204)。
【0157】
次に、コントローラ42Bは、STEP1204で取得したジャーナル用暗号鍵T405を用いて、暗号化されたライトデータを復号化する(STEP1205)。
【0158】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、複製先のデータボリュームの暗号化状態が「オン」であるか否かを判断する(STEP1206)。
【0159】
複製先のデータボリュームの暗号化状態が「オン」である場合、データボリュームに格納するライトデータを暗号化するため、処理はSTEP1207に進む。一方、複製先のデータボリュームの暗号化状態が「オフ」である場合、処理はSTEP1209に進む。
【0160】
次に、コントローラ42Bは、暗号管理テーブルT400を参照し、複製先のデータボリュームに割り当てられているデータボリューム用暗号鍵T403を取得する(STEP1207)。
【0161】
次に、コントローラ42Bは、STEP1207で取得したデータボリューム用暗号鍵T403を用いて、ライトデータを暗号化する(STEP1208)。
【0162】
次に、コントローラ42Bは、複製先のデータボリュームにライトデータを格納する(STEP1209)。
【0163】
次に、コントローラ42Bは、更新情報及びライトデータの容量に基づいて、ジャーナルグループ管理テーブルT200の対応するエントリの更新情報先頭ポインタT204及びライトデータ先頭ポインタT205を更新する(STEP1210)。具体的には、コントローラ42Bは、更新情報を格納している記憶領域の先頭アドレスを更新情報先頭ポインタT204のアドレスに登録し、ライトデータを格納している記憶領域の先頭アドレスをライトデータ先頭ポインタT205に登録する。そして、処理は終了する。
【0164】
本発明の第1の実施形態では、リモートコピーにおけるジャーナル転送処理の時に、更新情報に含まれるボリューム番号に基づいて、暗号管理テーブルT400を参照し、ジャーナルの暗号化状態、及び、ライトデータの暗号化に用いるジャーナル用暗号鍵を取得し、復号化したジャーナルを複製先のストレージ装置4に転送する。よって、異なる暗号鍵で暗号化されたジャーナルが同じジャーナルボリュームに混在する場合でも、適切な暗号鍵でジャーナルを復号化し、リモートコピーを実現することができる。
【0165】
また、第1の実施の形態では、ジャーナルの暗号鍵を管理するリストを作成する場合に、データボリュームに対応してジャーナルの暗号鍵を管理するリストを作成することによって、ジャーナルの暗号鍵を管理するリストの容量が増加することを抑制することができる。
【0166】
<第2の実施形態>
本発明の第2の実施の形態におけるストレージ装置4は、継続的データ保護機能(Continuous Data Protection)と呼ばれる、ジャーナリング機能を用いたバックアップ機能を提供する。継続データ保護機能とは、データボリュームを特定の時点のデータボリュームに復元する機能であり、特定の時点のデータボリュームのスナップショットと、スナップショットを作成した時点以降に受信した書き込み要求に基づいて作成されるジャーナルとを保持し、スナップショットを作成した時点にデータボリュームに格納されているデータに、書き込み要求を受信した順序でジャーナルを適用することによって実現される。
【0167】
また、スナップショットを作成した時点以前の書き込み要求に基づいて作成されるジャーナルを保持し、作成したスナップショットから、ジャーナルを書き戻すことによって、スナップショットを作成した時点以前の任意時点の状態に復元することもできる。
【0168】
以下、第1の実施の形態と異なる点を中心に説明する。
【0169】
図13は、本発明の第2の実施の形態のコンピュータシステムの構成図を示す。
【0170】
第2の実施の形態のストレージ装置4は、スナップショットが作成される特定の時点のデータボリュームのデータを格納する基底ボリューム(B−VOL)を備える。また、メモリ426は、スナップショットを管理するスナップショットプログラムP500を格納する。また、メモリ426は、第1の実施の形態のペア管理テーブルT100の代わりに、複製対象管理テーブルT500を格納する。
【0171】
図14は、本発明の第2の実施の形態の複製対象管理テーブルT500を示す。
【0172】
複製対象管理テーブルT500は、バックアップが行われるデータボリュームと、バックアップが行われるデータボリュームが属するジャーナルグループと、スナップショットが作成される特定の時点のデータボリュームのデータを格納する基底ボリュームと、スナップショットを作成した時刻とを管理する。なお、複製対象管理テーブルT500は、管理計算機5を操作するシステム管理者によって、作成又は更新される。
【0173】
図14に示すように、複製対象管理テーブルT500は、複製対象データボリューム番号T501、ジャーナルグループ番号T502、基底ボリューム番号T503、及びスナップショット取得時刻T504を含む。
【0174】
複製対象データボリューム番号T501には、バックアップが行われるデータボリュームを識別するボリューム番号が登録される。登録されるボリューム番号は、ストレージ装置4が備えるボリュームから特定のボリュームを一意に特定できる番号であればよい。
【0175】
ジャーナルグループ番号T502には、各エントリのデータボリュームが属するジャーナルグループを識別するジャーナルグループの番号が登録される。
【0176】
基底ボリューム番号T503には、スナップショットが作成される特定の時点のデータボリュームのデータが格納される基底ボリュームのボリューム番号が登録される。
【0177】
スナップショット取得時刻T504には、基底ボリュームに格納されるデータのスナップショットが作成された時刻が登録される。
【0178】
なお、バックアップが行われるデータボリュームに複数の基底ボリュームを対応させて、異なる時点で作成された複数のスナップショットがそれぞれ各基底ボリュームに格納されてもよい。
【0179】
図15は、本発明の第2の実施の形態の暗号管理テーブルT400を示す。第2の実施の形態の暗号管理テーブルT400は、ストレージ装置4に備わるデータボリューム、ジャーナルボリューム、及び基底ボリュームの暗号化状態及び暗号鍵を管理する。
【0180】
図15に示すように、第2の実施の形態の暗号管理テーブルT400は、データボリューム番号T401、データボリューム暗号化状態T402、データボリューム用暗号鍵T403、基底ボリューム暗号化状態T406、基底ボリューム用暗号鍵T407、ジャーナル暗号化状態T404、及びジャーナル用暗号鍵T405を含む。
【0181】
データボリューム番号T401、データボリューム暗号化状態T402、ジャーナル暗号化状態T404、及びジャーナル用暗号鍵T405は、第1の実施の形態の暗号管理テーブルT400と同じであるため説明を省略する。
【0182】
基底ボリューム暗号化状態T406には、複製対象管理テーブルT500の基底ボリューム番号T503によって識別される基底ボリュームが暗号化されているか否かを示すフラグが登録される。
【0183】
基底ボリューム用暗号鍵T407には、基底ボリュームの暗号化状態が「オン」である場合、基底ボリュームに格納されるデータを暗号化又は復号化する暗号鍵が登録される。
【0184】
図16は、本発明の第2の実施の形態の復元処理のフローチャートであり、具体的には、ストレージ装置4が、管理計算機5からデータボリュームの復元要求を受け付けた場合の処理を説明する。
【0185】
なお、復元要求とは、特定の時点のデータボリュームを復元する要求であり、復元を要求する時点を指定する所望ポインタが含まれる。
【0186】
コントローラ42のプロセッサ421がメモリ422に格納されている各プログラムを実行することによって図16に示す復元処理が実行される。
【0187】
まず、コントローラ42は、更新ポインタを初期化する(STEP1601)。具体的には、更新ポインタには、スナップショットに適用されていないジャーナルのうち、最も古いジャーナルが格納されているジャーナルボリュームのボリューム番号及びアドレスが設定される。
【0188】
次に、コントローラ42は、更新ポインタと更新情報末尾ポインタT202とが一致しているか否かを判断する、すなわち、スナップショットに適用されていないジャーナルがジャーナルボリュームにあるか否かを判断する(STEP1602)。
【0189】
更新ポインタと更新情報末尾ポインタT202が一致していない、すなわち、スナップショットに適用されていないジャーナルがジャーナルボリュームにある場合、処理はSTEP1603に進む。一方、更新ポインタと更新情報末尾ポインタT202が一致している、すなわち、スナップショットに適用されていないジャーナルがない場合、処理は終了する。
【0190】
次に、コントローラ42は、更新ポインタが示す記憶領域からジャーナル(更新情報及びライトデータ)を読み出す(STEP1603)。
【0191】
次に、コントローラ42は、STEP1603で読み出したジャーナルが復元要求に含まれる所望ポインタによって指定された時点以前に生成されたジャーナルであるか否かを判断する(STEP1604)。
【0192】
読み出したジャーナルが所望ポインタによって指定された時点以前に生成されたジャーナルである場合、処理はSTEP1605に進む。一方、読み出したジャーナルが所望ポインタによって指定された時点以前に生成されたジャーナルでない場合、すなわち、所望ポインタによって指定された時点のデータボリュームの復元が完了している場合、処理は終了する。
【0193】
次に、コントローラ42は、暗号管理テーブルT400を参照し、更新情報に含まれるデータボリューム番号T401に基づいて、ジャーナルの暗号化状態が「オン」であるか否かを判断する(STEP1605)。
【0194】
ジャーナルの暗号化状態が「オン」である場合、ライトデータを復号化するため、処理はSTEP1606に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はSTEP1206に進む。
【0195】
次に、コントローラ42は、暗号管理テーブルT400を参照し、データボリュームに割り当てられているジャーナル用暗号鍵T405を取得する(STEP1606)。
【0196】
次に、コントローラ42は、STEP1606で取得したジャーナル用暗号鍵T405を用いて、暗号化されたライトデータを復号化する(STEP1607)。
【0197】
次に、コントローラ42は、複製対象管理テーブルT500を参照し、更新情報に含まれるデータボリューム番号T401に基づいて、ジャーナルを適用する基底ボリュームの暗号化状態が「オン」であるか否かを判断する(STEP1608)。
【0198】
基底ボリュームの暗号化状態が「オン」である場合、ライトデータを暗号化するため、処理はSTEP1609に進む。一方、基底ボリュームの暗号化状態が「オフ」である場合、処理はSTEP1611に進む。
【0199】
次に、コントローラ42は、暗号状態管理テーブルT400を参照し、基底ボリュームに割り当てられている基底ボリューム用暗号鍵T407を取得する(STEP1609)。
【0200】
次に、コントローラ42は、STEP1609で取得した基底ボリューム用暗号鍵T407を用いて、ライトデータを暗号化する(STEP1610)。
【0201】
次に、コントローラ42は、基底ボリュームにライトデータを格納することによって、スナップショットにジャーナルを適用する(STEP1611)。
【0202】
次に、コントローラ42は、更新ポインタを更新する(STEP1612)。具体的には、コントローラ42は、更新ポインタに、スナップショットに適用されていないジャーナルのうち、最も古いジャーナルが格納されているジャーナルボリュームのボリューム番号及びアドレスを新たに設定する。そして、処理はSTEP1602に戻る。
【0203】
本発明の第2の実施の形態では、継続的データ保護機能を用いたジャーナリング機能において、更新情報に含まれるボリューム番号に基づいて、ジャーナルの暗号化状態、及び、ライトデータの暗号化に用いるジャーナル用暗号鍵を取得し、適切な暗号鍵で復号化する。よって、異なる暗号鍵で暗号化されたジャーナルが同じジャーナルボリュームに混在する場合でも、適切な暗号鍵でジャーナルを復号化し、継続的データ保護機能を実現することができる。
【図面の簡単な説明】
【0204】
【図1】本発明の第1の実施の形態のコンピュータシステムの構成図を示す。
【図2】本発明の第1の実施の形態のストレージ装置の構成図を示す。
【図3】本発明の第1の実施の形態のペア管理テーブルを示す図を示す。
【図4】本発明の第1の実施の形態のジャーナルグループ管理テーブルを示す。
【図5】本発明の第1の実施の形態のジャーナルボリュームの構造を示す。
【図6】本発明の第1の実施の形態のジャーナルボリューム管理テーブルを示す。
【図7】本発明の第1の実施の形態の暗号管理テーブルを示す。
【図8】本発明の第1の実施の形態の更新情報の構造を示す。
【図9】本発明の第1の実施の形態のライト命令処理のフローチャートを示す。
【図10】本発明の第1の実施の形態のジャーナル転送処理のフローチャートを示す。
【図11】本発明の第1の実施の形態のジャーナルリード命令処理のフローチャートを示す。
【図12】本発明の第1の実施の形態のリストア処理のフローチャートを示す。
【図13】本発明の第2の実施の形態のコンピュータシステムの構成図を示す。
【図14】本発明の第2の実施の形態の複製対象管理テーブルを示す。
【図15】本発明の第2の実施の形態の暗号管理テーブルを示す。
【図16】本発明の第2の実施の形態の復元処理のフローチャートを示す。
【符号の説明】
【0205】
1 コンピュータシステム
2A ストレージネットワーク
2B 管理ネットワーク
3 ホスト計算機
4 ストレージ装置
41 ディスクドライブ
42 コントローラ
【特許請求の範囲】
【請求項1】
ホスト計算機と、前記ホスト計算機に接続される第1のストレージシステムと、を備える計算機システムであって、
前記第1のストレージシステムは、
前記第1のストレージシステムを制御する第1のコントローラと、
前記ホスト計算機によって書き込まれたデータを格納する第1のボリュームと、
前記第1のボリュームに格納されているデータが更新される場合に、前記更新されるデータを格納する第2のボリュームと、を備え、
前記第1のコントローラは、
前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、
前記第2のボリュームに格納されるデータの暗号化状態及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵に基づいて、前記書き込みデータを暗号化し、
前記作成された更新情報及び前記暗号化された書き込みデータを前記第2のボリュームに格納することを特徴とする計算機システム。
【請求項2】
前記第1のコントローラは、前記第1のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、前記第1のボリュームに格納されるデータを暗号化する暗号鍵、前記第2のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵を含む暗号管理情報を管理することを特徴とする請求項1に記載の計算機システム。
【請求項3】
前記計算機システムは、前記第1のストレージシステムに接続される第2のストレージシステムを備え、
前記第1のコントローラは、
前記第2のボリュームに格納された前記更新情報及び前記書き込みデータを読み出し、
前記読み出された書き込みデータの暗号化状態、及び前記読み出された書き込みデータを復号化する暗号鍵に基づいて、前記書き込みデータを復号化し、
前記更新情報及び前記復号化された書き込みデータを前記第2のストレージシステムに送信することを特徴とする請求項1に記載の計算機システム。
【請求項4】
前記第2のストレージシステムは、
前記第2のストレージシステムを制御する第2のコントローラと、
前記第1のボリュームのデータの複製が格納される第3のボリュームと、
前記第3のボリュームに格納されているデータが更新されるときに、前記更新されるデータを格納する第4のボリュームと、を備え、
前記第2のコントローラは、
前記送信された更新情報及び書き込みデータが格納される前記第4のボリュームを特定し、
前記第4のボリュームに格納されたデータの暗号化状態に基づいて、前記書き込みデータを暗号化するか否かを判定し、
前記書き込みデータを暗号化する場合、前記第4のボリュームに格納されるデータを暗号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記送信された書き込みデータを暗号化し、
前記更新情報及び前記暗号化された書き込みデータを前記特定された第4のボリュームに格納することを特徴とする請求項3に記載の計算機システム。
【請求項5】
前記第2のコントローラは、
前記特定された第4のボリュームから前記更新情報及び前記書き込みデータを読み出し、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定し、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを復号化し、
前記復号化された書き込みデータを前記第3のボリュームに格納することを特徴とする請求項4に記載の計算機システム。
【請求項6】
前記第2のコントローラは、
前記特定された第4のボリュームから前記更新情報及び前記書き込みデータを読み出し、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定し、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを復号化し、
前記第3のボリュームに格納されるデータが暗号化されているか否かを判定し、
前記第3のボリュームに格納されるデータが暗号化されている場合、前記第3のボリュームに格納されるデータを暗号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化し、
前記暗号化された書き込みデータを前記第3のボリュームに格納することを特徴とする請求項4に記載の計算機システム。
【請求項7】
ストレージシステムを制御するコントローラと、
ホスト計算機によって書き込まれたデータを格納する第1のボリュームと、
前記第1のボリュームに格納されているデータが更新される場合に、前記更新されるデータを格納する第2のボリュームと、を備えるストレージシステムであって、
前記コントローラは、
前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、
前記第2のボリュームに格納されるデータの暗号化状態及び前記第2のボリュームに格納されるデータを暗号化する暗号化鍵に基づいて、前記書き込みデータを暗号化し、
前記作成された更新情報及び前記暗号化された書き込みデータを前記第2のボリュームに格納することを特徴とするストレージシステム。
【請求項8】
前記ストレージシステムは、スナップショットが作成された時点の前記第1のボリュームのデータが格納される第3のボリュームを備え、
前記コントローラは、
前記第2のボリュームに格納されているデータのうち、前記スナップショットが作成された時点以降に更新されたデータがあるか否かを判定し、
前記スナップショットが作成された時点以降に更新されたデータがある場合、前記スナップショットが作成された時点以降に前記第2のボリュームに格納された更新情報及び書き込みデータを読み出し、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定し、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを復号化し、
前記復号化された書き込みデータを前記第3のボリュームに格納することを特徴とする請求項7に記載のストレージシステム。
【請求項9】
前記コントローラは、
前記第3のボリュームに格納されるデータが暗号化されているか否か判定し、
前記第3のボリュームに格納されるデータが暗号化されている場合、前記第3のボリュームに格納されるデータを暗号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化し、
前記暗号化した書き込みデータを前記第3のボリュームに格納することを特徴とする請求項8に記載のストレージシステム。
【請求項10】
ホスト計算機と、前記ホスト計算機に接続される第1のストレージシステムと、を備える計算機システムで実行されるリモートコピー方法であって、
前記第1のストレージシステムは、
前記ホスト計算機によって書き込まれたデータを格納する第1のボリュームと、
前記第1のボリュームに格納されているデータが更新されるときに、前記更新されるデータを格納する第2のボリュームと、を備え、
前記リモートコピー方法は、
前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成するステップと、
前記第2のボリュームに格納されるデータの暗号化状態及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵に基づいて、前記書き込みデータを暗号化するステップと、
前記作成された更新情報及び前記暗号化された書き込みデータを前記第2のボリュームに格納するステップと、を含むことを特徴とするリモートコピー方法。
【請求項11】
前記第1のストレージシステムは、前記第1のストレージシステムを制御する第1のコントローラを備え、
前記第1のコントローラは、前記第1のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、前記第1のボリュームに格納されるデータを暗号化する暗号鍵、前記第2のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵を含む暗号管理情報を管理することを特徴とする請求項10に記載のリモートコピー方法。
【請求項12】
前記計算機システムは、前記第1のストレージシステムに接続される第2のストレージシステムを備え、
リモートコピー方法は、
前記第2のボリュームに格納された前記更新情報及び前記書き込みデータを読み出し、
前記読み出された書き込みデータの暗号化状態、及び前記読み出された書き込みデータを復号化する暗号鍵に基づいて、前記書き込みデータを復号化するステップと、
前記更新情報及び前記復号化された書き込みデータを前記第2のストレージシステムに送信するステップと、を含むことを特徴とする請求項10に記載のリモートコピー方法。
【請求項13】
前記第2のストレージシステムは、
前記第1のボリュームのデータの複製が格納される第3のボリュームと、
前記第3のボリュームに格納されているデータが更新されるときに、前記更新されるデータを格納する第4のボリュームと、を備え、
前記リモートコピー方法は、
前記送信された更新情報及び書き込みデータが格納される前記第4のボリュームを特定するステップと、
前記第4のボリュームに格納されたデータの暗号化状態に基づいて、前記書き込みデータを暗号化するか否かを判定するステップと、
前記書き込みデータを暗号化する場合、前記第4のボリュームに格納されるデータを暗号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記送信された書き込みデータを暗号化するステップと、
前記更新情報及び前記暗号化された書き込みデータを前記特定された第4のボリュームに格納するステップと、を含むことを特徴とする請求項12に記載のリモートコピー方法。
【請求項14】
前記リモートコピー方法は、
前記特定された第4のボリュームから前記更新情報及び前記書き込みデータを読み出すステップと、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定するステップと、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを復号化するステップと、
前記復号化された書き込みデータを前記第3のボリュームに格納するステップと、を含むことを特徴とする請求項13に記載のリモートコピー方法。
【請求項15】
前記リモートコピー方法は、
前記特定された第4のボリュームから前記更新情報及び前記書き込みデータを読み出すステップと、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定するステップと、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを復号化するステップと、
前記第3のボリュームに格納されるデータが暗号化されているか否かを判定するステップと、
前記第3のボリュームに格納されるデータが暗号化されている場合、前記第3のボリュームに格納されるデータを暗号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化するステップと、
前記暗号化された書き込みデータを前記第3のボリュームに格納するステップと、を含むことを特徴とする請求項13に記載のリモートコピー方法。
【請求項16】
前記第1のストレージシステムは、スナップショットが作成された時点の前記第1のボリュームのデータが格納される第5のボリュームを備え、
前記リモートコピー方法は、
前記第2のボリュームに格納されているデータのうち、前記スナップショットが作成された時点以降に更新されたデータがあるか否かを判定するステップと、
前記スナップショットが作成された時点以降に更新されたデータがある場合、前記スナップショットが作成された時点以降に前記第2のボリュームに格納された更新情報及び書き込みデータを読み出すステップと、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定するステップと、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを復号化するステップと、
前記復号化された書き込みデータを前記第5のボリュームに格納するステップと、を含むことを特徴とする請求項10に記載のリモートコピー方法。
【請求項17】
前記リモートコピー方法は、
前記第5のボリュームに格納されるデータが暗号化されているか否か判定するステップと、
前記第5のボリュームに格納されるデータが暗号化されている場合、前記第5のボリュームに格納されるデータを暗号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化するステップと、を含み、
前記第5のボリュームに格納するステップでは、前記暗号化した書き込みデータを前記第5のボリュームに格納することを特徴とする請求項16に記載のリモートコピー方法。
【請求項1】
ホスト計算機と、前記ホスト計算機に接続される第1のストレージシステムと、を備える計算機システムであって、
前記第1のストレージシステムは、
前記第1のストレージシステムを制御する第1のコントローラと、
前記ホスト計算機によって書き込まれたデータを格納する第1のボリュームと、
前記第1のボリュームに格納されているデータが更新される場合に、前記更新されるデータを格納する第2のボリュームと、を備え、
前記第1のコントローラは、
前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、
前記第2のボリュームに格納されるデータの暗号化状態及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵に基づいて、前記書き込みデータを暗号化し、
前記作成された更新情報及び前記暗号化された書き込みデータを前記第2のボリュームに格納することを特徴とする計算機システム。
【請求項2】
前記第1のコントローラは、前記第1のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、前記第1のボリュームに格納されるデータを暗号化する暗号鍵、前記第2のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵を含む暗号管理情報を管理することを特徴とする請求項1に記載の計算機システム。
【請求項3】
前記計算機システムは、前記第1のストレージシステムに接続される第2のストレージシステムを備え、
前記第1のコントローラは、
前記第2のボリュームに格納された前記更新情報及び前記書き込みデータを読み出し、
前記読み出された書き込みデータの暗号化状態、及び前記読み出された書き込みデータを復号化する暗号鍵に基づいて、前記書き込みデータを復号化し、
前記更新情報及び前記復号化された書き込みデータを前記第2のストレージシステムに送信することを特徴とする請求項1に記載の計算機システム。
【請求項4】
前記第2のストレージシステムは、
前記第2のストレージシステムを制御する第2のコントローラと、
前記第1のボリュームのデータの複製が格納される第3のボリュームと、
前記第3のボリュームに格納されているデータが更新されるときに、前記更新されるデータを格納する第4のボリュームと、を備え、
前記第2のコントローラは、
前記送信された更新情報及び書き込みデータが格納される前記第4のボリュームを特定し、
前記第4のボリュームに格納されたデータの暗号化状態に基づいて、前記書き込みデータを暗号化するか否かを判定し、
前記書き込みデータを暗号化する場合、前記第4のボリュームに格納されるデータを暗号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記送信された書き込みデータを暗号化し、
前記更新情報及び前記暗号化された書き込みデータを前記特定された第4のボリュームに格納することを特徴とする請求項3に記載の計算機システム。
【請求項5】
前記第2のコントローラは、
前記特定された第4のボリュームから前記更新情報及び前記書き込みデータを読み出し、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定し、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを復号化し、
前記復号化された書き込みデータを前記第3のボリュームに格納することを特徴とする請求項4に記載の計算機システム。
【請求項6】
前記第2のコントローラは、
前記特定された第4のボリュームから前記更新情報及び前記書き込みデータを読み出し、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定し、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを復号化し、
前記第3のボリュームに格納されるデータが暗号化されているか否かを判定し、
前記第3のボリュームに格納されるデータが暗号化されている場合、前記第3のボリュームに格納されるデータを暗号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化し、
前記暗号化された書き込みデータを前記第3のボリュームに格納することを特徴とする請求項4に記載の計算機システム。
【請求項7】
ストレージシステムを制御するコントローラと、
ホスト計算機によって書き込まれたデータを格納する第1のボリュームと、
前記第1のボリュームに格納されているデータが更新される場合に、前記更新されるデータを格納する第2のボリュームと、を備えるストレージシステムであって、
前記コントローラは、
前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、
前記第2のボリュームに格納されるデータの暗号化状態及び前記第2のボリュームに格納されるデータを暗号化する暗号化鍵に基づいて、前記書き込みデータを暗号化し、
前記作成された更新情報及び前記暗号化された書き込みデータを前記第2のボリュームに格納することを特徴とするストレージシステム。
【請求項8】
前記ストレージシステムは、スナップショットが作成された時点の前記第1のボリュームのデータが格納される第3のボリュームを備え、
前記コントローラは、
前記第2のボリュームに格納されているデータのうち、前記スナップショットが作成された時点以降に更新されたデータがあるか否かを判定し、
前記スナップショットが作成された時点以降に更新されたデータがある場合、前記スナップショットが作成された時点以降に前記第2のボリュームに格納された更新情報及び書き込みデータを読み出し、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定し、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを復号化し、
前記復号化された書き込みデータを前記第3のボリュームに格納することを特徴とする請求項7に記載のストレージシステム。
【請求項9】
前記コントローラは、
前記第3のボリュームに格納されるデータが暗号化されているか否か判定し、
前記第3のボリュームに格納されるデータが暗号化されている場合、前記第3のボリュームに格納されるデータを暗号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化し、
前記暗号化した書き込みデータを前記第3のボリュームに格納することを特徴とする請求項8に記載のストレージシステム。
【請求項10】
ホスト計算機と、前記ホスト計算機に接続される第1のストレージシステムと、を備える計算機システムで実行されるリモートコピー方法であって、
前記第1のストレージシステムは、
前記ホスト計算機によって書き込まれたデータを格納する第1のボリュームと、
前記第1のボリュームに格納されているデータが更新されるときに、前記更新されるデータを格納する第2のボリュームと、を備え、
前記リモートコピー方法は、
前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成するステップと、
前記第2のボリュームに格納されるデータの暗号化状態及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵に基づいて、前記書き込みデータを暗号化するステップと、
前記作成された更新情報及び前記暗号化された書き込みデータを前記第2のボリュームに格納するステップと、を含むことを特徴とするリモートコピー方法。
【請求項11】
前記第1のストレージシステムは、前記第1のストレージシステムを制御する第1のコントローラを備え、
前記第1のコントローラは、前記第1のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、前記第1のボリュームに格納されるデータを暗号化する暗号鍵、前記第2のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、及び前記第2のボリュームに格納されるデータを暗号化する暗号鍵を含む暗号管理情報を管理することを特徴とする請求項10に記載のリモートコピー方法。
【請求項12】
前記計算機システムは、前記第1のストレージシステムに接続される第2のストレージシステムを備え、
リモートコピー方法は、
前記第2のボリュームに格納された前記更新情報及び前記書き込みデータを読み出し、
前記読み出された書き込みデータの暗号化状態、及び前記読み出された書き込みデータを復号化する暗号鍵に基づいて、前記書き込みデータを復号化するステップと、
前記更新情報及び前記復号化された書き込みデータを前記第2のストレージシステムに送信するステップと、を含むことを特徴とする請求項10に記載のリモートコピー方法。
【請求項13】
前記第2のストレージシステムは、
前記第1のボリュームのデータの複製が格納される第3のボリュームと、
前記第3のボリュームに格納されているデータが更新されるときに、前記更新されるデータを格納する第4のボリュームと、を備え、
前記リモートコピー方法は、
前記送信された更新情報及び書き込みデータが格納される前記第4のボリュームを特定するステップと、
前記第4のボリュームに格納されたデータの暗号化状態に基づいて、前記書き込みデータを暗号化するか否かを判定するステップと、
前記書き込みデータを暗号化する場合、前記第4のボリュームに格納されるデータを暗号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記送信された書き込みデータを暗号化するステップと、
前記更新情報及び前記暗号化された書き込みデータを前記特定された第4のボリュームに格納するステップと、を含むことを特徴とする請求項12に記載のリモートコピー方法。
【請求項14】
前記リモートコピー方法は、
前記特定された第4のボリュームから前記更新情報及び前記書き込みデータを読み出すステップと、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定するステップと、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを復号化するステップと、
前記復号化された書き込みデータを前記第3のボリュームに格納するステップと、を含むことを特徴とする請求項13に記載のリモートコピー方法。
【請求項15】
前記リモートコピー方法は、
前記特定された第4のボリュームから前記更新情報及び前記書き込みデータを読み出すステップと、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定するステップと、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを復号化するステップと、
前記第3のボリュームに格納されるデータが暗号化されているか否かを判定するステップと、
前記第3のボリュームに格納されるデータが暗号化されている場合、前記第3のボリュームに格納されるデータを暗号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化するステップと、
前記暗号化された書き込みデータを前記第3のボリュームに格納するステップと、を含むことを特徴とする請求項13に記載のリモートコピー方法。
【請求項16】
前記第1のストレージシステムは、スナップショットが作成された時点の前記第1のボリュームのデータが格納される第5のボリュームを備え、
前記リモートコピー方法は、
前記第2のボリュームに格納されているデータのうち、前記スナップショットが作成された時点以降に更新されたデータがあるか否かを判定するステップと、
前記スナップショットが作成された時点以降に更新されたデータがある場合、前記スナップショットが作成された時点以降に前記第2のボリュームに格納された更新情報及び書き込みデータを読み出すステップと、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定するステップと、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを復号化するステップと、
前記復号化された書き込みデータを前記第5のボリュームに格納するステップと、を含むことを特徴とする請求項10に記載のリモートコピー方法。
【請求項17】
前記リモートコピー方法は、
前記第5のボリュームに格納されるデータが暗号化されているか否か判定するステップと、
前記第5のボリュームに格納されるデータが暗号化されている場合、前記第5のボリュームに格納されるデータを暗号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化するステップと、を含み、
前記第5のボリュームに格納するステップでは、前記暗号化した書き込みデータを前記第5のボリュームに格納することを特徴とする請求項16に記載のリモートコピー方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2009−157584(P2009−157584A)
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2007−334266(P2007−334266)
【出願日】平成19年12月26日(2007.12.26)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願日】平成19年12月26日(2007.12.26)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]