(57)【特許請求の範囲】
【請求項１】
第１のホストに接続される第１のストレージサブシステムと、第２のホストに接続され、前記第１のストレージサブシステムとパスを経由して相互に接続されている第２のストレージサブシステムとを有するシステムのリストア方法であって、
前記第１のストレージサブシステムは、第１の論理ボリュームを有しており、
前記第２のストレージサブシステムは、前記第１の論理ボリュームと同期状態にあり、かつ前記第１の論理ボリュームをコピーしている論理ボリュームである第２の論理ボリュームと、所定の期間、前記第２の論理ボリュームと同期状態にあり、かつ前記第２の論理ボリュームをコピーしていた論理ボリュームである第３の論理ボリュームとを有しており、
前記第２のストレージサブシステムが、前記第２のホストにより前記第３の論理ボリュームから回復すべきファイルが指定されると、前記第１の論理ボリューム及び前記第２の論理ボリュームのペア状態を管理する管理テーブルを分割状態に変更することにより、前記第１の論理ボリューム及び前記第２の論理ボリュームの同期状態を分割する第１のステップと、
前記第２のストレージサブシステムが、前記回復すべきファイルを前記第３の論理ボリュームから読み出して前記第２の論理ボリュームに書き込むと共に、書き込まれた前記回復すべきファイルをビットマップにより管理する第２のステップと、
前記第２のストレージサブシステムが、前記ビットマップにより管理された前記回復すべきファイルを前記第２の論理ボリュームから読み出して前記第１の論理ボリュームに書き込み、前記第１の論理ボリュームを前記第２の論理ボリュームに再同期化することにより、前記第１の論理ボリュームを回復する第３のステップと
を備えることを特徴とするリストア方法。
【請求項２】
第１のホストに接続される第１のストレージサブシステムと、第２のホストに接続され、前記第１のストレージサブシステムとパスを経由して相互に接続されている第２のストレージサブシステムとを有するシステムであって、
前記第１のストレージサブシステムは、第１の論理ボリュームを有しており、
前記第２のストレージサブシステムは、前記第１の論理ボリュームと同期状態にあり、かつ前記第１の論理ボリュームをコピーしている論理ボリュームである第２の論理ボリュームと、所定の期間、前記第２の論理ボリュームと同期状態にあり、かつ前記第２の論理ボリュームをコピーしていた論理ボリュームである第３の論理ボリュームとを有しており、
前記第２のストレージサブシステムは、
前記第２のホストにより前記第３の論理ボリュームから回復すべきファイルが指定されると、前記第１の論理ボリューム及び前記第２の論理ボリュームのペア状態を管理する管理テーブルを分割状態に変更することにより、前記第１の論理ボリューム及び前記第２の論理ボリュームの同期状態を分割し、
前記回復すべきファイルを前記第３の論理ボリュームから読み出して前記第２の論理ボリュームに書き込むと共に、書き込まれた前記回復すべきファイルをビットマップにより管理し、
前記ビットマップにより管理された前記回復すべきファイルを前記第２の論理ボリュームから読み出して前記第１の論理ボリュームに書き込み、前記第１の論理ボリュームを前記第２の論理ボリュームに再同期化することにより、前記第１の論理ボリュームを回復する
ことを特徴とするシステム。
【発明の詳細な説明】
【発明の属する技術分野】
本発明は一般には記憶装置での複製の技術に関連し、特に遠隔地からの記憶装置での複製作成の技術に関する。
【従来の技術】
従来は、記憶装置を応用して複製を作成するのに２つのアプローチがあった。ローカルな複製とリモートからの複製である。どちらの技術も、ホストCPUの能力を用いることなく、ファイルやファイルシステムやボリュームのミラーを行うものである。ホストが製造データを有するボリューム（PVOL）にデータを書き込むと、ストレージシステムが自動的に複製ボリューム（SVOL）にデータを複写する。この機構ではPVOLとSVOLが同じであることを保証している。
ローカル複製手法では、１台のストレージシステムにあるボリュームを２重化するので、PVOLとSVOLは同じストレージシステムの中にある。ローカルで複製する手法ははバックアップを取る際に一般に用いられる。ユーザが手動で、あるいはバックアッププログラムでミラーされたペアを分割すると、ホストから書き込まれたデータは、もうSVOLにはコピーされない。従って、SVOLは、PVOLのバックアップを持つことになる。全ボリュームを回復するには、ユーザはPVOLをSVOLに再同期化させればよい。個々のファイルを回復するためには、ユーザはファイルをSVOLからPVOLに、ホストを介してコピーすればよい。
リモート複製方法では、２つ以上のストレージシステムをまたがってボリュームがコピーされる。データはESCONやファイバーチャネルや、T３そして／あるいはIPネットワークなどのパスを介して転送される。リモート複製は、一般に地震や洪水、火事などの災害からデータを回復させるために使用される。もし１次サイトのストレージシステムや全データセンターが災害で損害を受けたとしても、データはまだセカンダリサイトに残っているので、ビジネスは速やかに再開できる。
【発明が解決しようとする課題】
上述のような技術によりある程度の利点は認められているが、まだまだ改良の余地はある。たとえば、従来の複製手法では、データを回復させる時に問題が起こる可能性がある。データを回復する一つの方法は、テープからデータを回復し、それをネットワークを経由して送り、所望の場所でそれを回復させることである。この技術は、二つのサイトが地理的に離れており、ネットワークは公衆の、スループットが限られている、インターネットかもしれず、長時間を要する。また、もしネットワークが公衆であれば、安全の問題が生じる。
必要とされるものは、記憶装置ベースの複製を管理する改善された技術である。
【課題を解決するための手段】
本発明は、記憶装置ベースの複製を管理するための改良された技術を提供する。特定の実施例は、システムバックアップと回復を行うための技術を提供する。特定の実施例では、運用の際に第１のボリュームと第２のボリュームの間にリモートミラーを保持するような利点が提供される。リモートミラーは一般に災害回復の目的に使用されるので、ミラーは常に同期状態であることが必要で、リモートミラーを壊すことなくバックアップを取れるので、例えば緊急状態では、実行情報の二重化コピーを常に供給することが出来る。さらに、ある実施例では、ユーザは１個の１次ボリューム（PVOL）に対して、２ないしはそれ以上のセカンダリボリューム（SVOL）を設定して、複数の世代のバックアップを取ることが出来る。
ある代表的な実施例では、本発明はバックアップと回復の手順を提供する。この方法は特に第１のストレージサブシステムと第２のストレージサブシステムが、相互にパスを経由して接続されている環境で役立つ。第１のストレージサブシステムは第１のホストに、第２のストレージサブシステムは第２のホストに接続されている。この方法は、バックアップ手順と回復手順を行うことで構成される。バックアップ手順は、第１の論理ボリュームを第１のストレージサブシステムと、第２のストレージサブシステムにある第２の論理ボリュームと第３の論理ボリュームに供給する。第２の論理ボリュームは第１の論理ボリュームを複製した論理ボリュームであってもよい。第１の論理ボリュームと第２の論理ボリュームは同期状態であってもよい。第３の論理ボリュームは第２の論理ボリュームをコピーした論理ボリュームであってもよい。第２と第３の論理ボリュームは同期状態にあってもよい。本方法は、さらに第２の論理ボリュームと第３の論理ボリュームを分割することを含む。本方法は第１のストレージサブシステムなどからのコマンドに反応して開始することもある。
回復手順は第２のホストに第３の論理ボリュームをマウントすることで構成される。第３のボリュームから回復させるファイルを読み出すことと、そのファイルを第２のボリュームに書き込むことも、本方法の一部である。さらに、回復手順は第１のボリュームを第２のボリュームに再同期させることも含んでいる。特定の実施例では、回復手順はさらに、もしデータベースアプリケーションを第１のホスト上で稼働させることが出来る場合は、データベースを第１のボリュームに保存することを含め構成される。特定の実施例では、第１のボリュームを第２のボリュームに再同期させることは、さらに第２のボリュームのデータをプライマリボリュームの保留コピーに決めることを含む。
データ保留コピーは保留データビットマップや他のデータ構造や追跡手段で追跡が可能である。ある実施例では、本方法は、保留データビットマップにおいて、コマンドに続いて来る書き込みデータにマークを付け、それによりどのデータが変更されたか追跡が出来ることも含む。ここでは、本方法により作られた回復済みボリュームを説明する。
特定の実施例では、コマンドは第３のボリュームから回復され、第２のボリュームに書き込まれる１ないしは複数のファイルの識別記号で構成される。第３のボリュームから回復するべきファイルを第２のホストで読み出すことと、第２のホストで第２のボリュームにファイルを書き込むことは、第３のボリュームからコマンドで指定されたファイルだけを読み出し、そのファイルを第２のボリュームに読み出したとおりに書き込むことを含む。
ある代表的な実施例では、本発明は回復すべきファイルの表示の受信で構成される方法を提供する。回復すべきファイルがボリューム全体の内容で構成されるかどうかを判別することもまた、本方法の一部である。もしファイルが方法の全部であるならば、実行ボリュームとバックアップボリュームの間にあるリモートミラーの分割が行われる。本方法はまたバックアップボリュームとバックアップボリュームからコピーしたデータを保持するボリュームのあいだに存在するミラーを再同期させ、実行ボリュームとバックアップボリュームにたいするリモートミラーを再同期化させることも含んでいる。再同期化は二つのボリュームを同期状態にし、そこでは互いに内容が同じで、「ミラーを形成」とか「ミラー化したペアと呼ばれる。
特定の実施例では、バックアップボリュームとバックアップボリュームからコピーされたデータを保持するボリュームの間に存在するローカルミラーを再同期化することは、バックアップボリュームの保留ビットマップをバックアップボリュームからコピーされたデータを保持するボリュームの保留ビットマップとを比較し、差違データのセットを決めることと、バックアップボリュームからコピーしたデータを保持するボリュームから差違データをバックアップボリュームへコピーすることで構成される。
特定の実施例では、実行ボリュームとバックアップボリュームに対するリモートミラーを同期化させることは、実行ボリュームに対する保留ビットマップとバックアップボリュームに対する保留ビットマップを比較して、差違データのセットを決め、バックアップボリュームからの差違データを実行ボリュームにコピーすることをふくむ構成である。
他の代表的な実施例では、本発明はある手段を提供する。この手段は回復すべきファイルの表示を受信する方法で構成される。回復するファイルがボリューム全体で構成されるか否かを判定する方法もまたこの手段の一部である。手段は実行ボリュームとバックアップボリューム間に存在するリモートミラーを分割する方法も含んでいる。手段には、バックアップボリュームとバックアップボリュームからコピーしたデータを保持するボリュームとの間に存在するローカルミラーを再同期させる方法と、実行ボリュームとバックアップボリュームに対するリモートミラーを再同期させる方法も含む。
さらに代表的な実施例では、本発明はファイルの回復の方法を提供する。ファイルは第２のホストに接続された第２のストレージサブシステムから第１のホストに接続された第１のストレージサブシステムに回復することが出来る。この方法は第１のホストからの要求に応じて進行させることが出来る。第１のストレージサブシステムと第２のストレージサブシステムは相互にパス経由で接続される。第１のストレージサブシステムは第１の論理ボリュームを記憶し、第２のストレージサブシステムは第２の論理ボリュームと第３の論理ボリュームを記憶する。第２の論理ボリュームは第１の論理ボリュームをコピーした論理ボリュームでもよい。第３の論理ボリュームは第２の論理ボリュームをコピーした論理ボリュームであってもよい。
第１の論理ボリュームと第２の論理ボリュームは非同期の状態であってもよい。第２と第３の論理ボリュームは同期状態であってもよい。この方法は第３の論理ボリュームを第２のホストにのせることで構成される。第２のホストにおいて、第３のボリュームから回復されるファイルを読み出すことと、第２のホストにおいて第２のボリュームにファイルを書き込むこともまた、この方法の一部である。この方法はまた、第１のボリュームと第２のボリュームを再同期化することも含んでいる。特定の実施例では、第３の論理ボリュームを第２のホストにのせることは、コマンドに応じて、第２の論理ボリュームと第３の論理ボリュームの間の同期状態を分割することを含む構成である。特定の実施例では、回復済みボリュームはここで上記により説明した方法で作成される。
さらに代表的な実施例では、本発明は、第１の論理ボリュームと第２の論理ボリュームと、プライマリストレージサブシステムへの接続性を与えるパスへのインタフェースで構成されるストレージサブシステムを提供する。第２の論理ボリュームは第１の論理ボリュームをコピーした論理ボリュームであってもよい。第１の論理ボリュームは機能的であって、プライマリストレージサブシステムにおける論理ボリュームと選択的に同期状態にあるいは非同期状態になることが出来る。第１の論理ボリュームと第２の論理ボリュームは同期状態であってもよい。第２の論理ボリュームは機能的であって、コマンドに応じてホストがアクセスし、第２の論理ボリュームから回復済みファイルを読み出し、回復済みファイルを第１の論理ボリュームに書き込むことを許可する。第２のストレージサブシステムは機能的であって、第１の論理ボリュームと第２の論理ボリュームの間で同期状態を確立する。
またさらなる代表的な実施例では、本発明はコンピュータプログラムプロダクトを提供する。コンピュータプログラムプロダクトはコードを保持するコンピュータで読み出し可能な記憶媒体で構成される。例えば、回復されるファイルの表示を受信するコードはコンピュータプログラムプロダクトの一部であってもよい。
コンピュータプログラムプロダクトは、回復されるファイルが全ボリュームの内容で構成されるのか否かを判断するコードと、もしそうであるならば、実行ボリュームとバックアップボリュームとの間に存在するリモートミラーを分割するコードや、バックアップボリュームとバックアップボリュームからコピーされたデータを保持するボリュームとの間に存在するローカルミラーを再同期化するコードや、実行ボリュームとバックアップボリュームに対するリモートミラーを再同期化するコードなどの複数のコードを起動させる。
さらなる代表的な実施例では、本発明は手段を提供する。この手段はコマンドを受信する方法を含む。第２の記憶手段と第３の記憶手段の間に存在する同期状態を分割する方法は、この手段の一部である。この手段は、読み出しに使用できる第３の記憶手段について資料を作成する方法も含んでいる。さらに、この手段は第３の記憶手段から回復されるファイルを読み出す方法と、このファイルを第２の記憶手段に書き込む方法を含んでいる。さらに、第２の記憶手段を第１の記憶手段に再同期させる方法もこの手段の一部である。
特定の実施例では、読み出しに用いられる第３の記憶手段についての資料を作成する手段は、第３の記憶手段に記憶された情報を処理する手段に第３の記憶手段をのせる手段をさらに含む構成である。
またさらなる代表的な実施例では、本発明はコンピュータプログラムプロダクトを提供する。コンピュータプログラムプロダクトは種々のコードを保持するコンピュータプログラムプロダクトで構成される。コマンドを受信するコードもコンピュータプログラムプロダクトに含まれている。第２の記憶ユニットと第３の記憶ユニットの間に存在する同期状態を分割するコードと読み出しが可能な第３の記憶ユニットの資料を作成するコードはまたコンピュータプログラムプロダクトの一部である。
このプロダクトはまた第３の記憶ユニットから回復されるファイルを読むためのコードと、そのファイルを第２の記憶ユニットに書き込むためのコードとを含んでいる。さらに、プログラムプロダクトはまた第２の記憶ユニットを第１の記憶ユニットに再同期化させるためのコードを含む。
また、さらなる代表的な実施例では、本発明は第１のホストに接続された第１のストレージサブシステムと第２のホストに接続された第２のストレージサブシステムで構成される、システムを提供する。第１のストレージサブシステムと第２のストレージサブシステムはパスを経由して相互に接続されている。第１のストレージサブシステムは第１の論理ボリュームを記憶し、第２のストレージサブシステムは第２の論理ボリュームと第３の論理ボリュームを記憶する。第２の論理ボリュームは第１の論理ボリュームのコピーした論理ボリュームであってもよい。
第３の論理ボリュームは第２の論理ボリュームのコピーした論理ボリュームであってもよい。第１の論理ボリュームと第２の論理ボリュームは非同期状態にあってもよい。第２と第３の論理ボリュームは同期状態にあってもよい。第２のストレージサブシステムは機能的であって回復コマンドに応じて第３の論理ボリュームを第２のホストにのせる。ホストは機能的であって、第３のボリュームから回復されるファイルを読み出し、その回復されるファイルを第２のボリュームに書き込む。さらに、第２のストレージサブシステムは機能的であって、第１の論理ボリュームと第２の論理ボリュームの間に、同期状態を確立する。特定の実施例では、システムはさらに第３のストレージサブシステムを含む構成である。
第３のストレージサブシステムは、少なくとも時折は第２のストレージサブシステムの、第５のボリュームと同期状態にある、第４の記憶ボリュームを含んでいる。 同期状態では、第１のストレージサブシステムと第３のストレージサブシステムのデータを、第２のストレージサブシステムで収集できるようになる。これらの利点については、本明細書を通して説明される。本明細書の以下の部分や添付図を参照することで、ここに記載する本発明の本質と利点はさらによく理解されるはずである。
【発明の実施の形態】
本発明は記憶装置ベースの複製処理を管理する技術を提供する。特定の実施例はシステムバックアップと回復処理を行う技術を提供する。特定の実施例では、作動中のプライマリボリュームとセカンダリボリュームの間でリモートミラーを維持するというような利点が提供される。リモートミラーは通常は障害回復目的に用いられ、ミラーは常に同期状態になければならないが、リモートミラーを解除すること無しにバックアップを取れることは、例えば、緊急の場合にも実行情報の二重化コピーを絶えず提供できることになる。さらに、ある実施例では、ユーザは、一つのプライマリボリューム（PVOL）に対し、２ないしはそれ以上のセカンダリボリューム（SVOL）を設定することで、複数の世代のバックアップを取ることが出来る。
リモートコピーは可用性の高いシステムを確立する上でますます盛んになってきている。時には、PVOLとSVOLの双方を含むリモートコピーのセットが求められる。このようなコピーはリモートコピー本来の目的とは異なった各種の目的に使用される。例えば、障害回復試験、意志決定支援システム、データウェアハウスなどは本発明が使用される可能性のある多くのアプリケーションの数例である。二つの遠く離れた磁気ディスク装置がリモートリンクで接続され、ディスクのミラーがローカル磁気ディスクシステムとリモート磁気ディスクシステムにそれぞれ維持されている、リモートミラー技術は一般に知られている。読者には。説明目的で米国特許 ５,４５９,８５７と  ５,５４４,３４７ と５,９３３,６５３を参照頂きたい。 しかしながら、これらのアプローチはここで説明する本発明の特定の実施例で提供される多くの機能や利点に欠けている。
システム構成
図１は本発明の特定の実施例における、代表的なシステムを示す。図１では、実行ホスト１１０aは、実行データを用いてアプリケーションが作動する、ホストコンピュータである。次のホスト１１０bはホスト１１０aの「予備機」である。障害の時は、ホスト１１０aで稼働中のアプリケーションはセカンダリホストにフェイルオーバする。
プライマリストレージシステム１００aは実行データのコピーを含むボリュームを持つストレージシステムで構成される。実行ホスト１１０aはプライマリストレージシステム１００aに接続するので、ホストはストレージシステムの中にあるボリュームにアクセスできる。セカンダリストレージシステム１００bは実行データのコピーを含むボリュームを持つストレージシステムで構成される。セカンダリホスト１１０bはセカンダリストレージシステム１００bに接続するので、ホストはストレージシステムの中にあるボリュームにアクセスできる。
リモートミラー１３０は離れたところでミラーされたボリュームのセットで構成される。リモートミラー１３０はプライマリストレージシステム１００aにあるプライマリボリューム（PVOL）１０５aとセカンダリストレージシステム１００bにあるセカンダリボリューム（SVOL）とを含んでいる。リモートミラーが確立されると、プライマリボリューム１０５aとセカンダリボリューム１０５bは同期状態になり、これら二つのボリュームの内容は、ミラーが手動であるいは障害により不意に分割されない限り、同一である。
ローカルミラー１４０bはローカルでミラーされた、すなわち単一のストレージシステム内のボリュームのセットで構成される。ローカルミラー１４０bはプライマリボリューム（PVOL）とセカンダリボリューム（SVOL）で構成される。
例えば、図１で説明されたように、ボリューム１０５bと１０６bはローカルミラー１４０bのそれぞれプライマリボリューム（PVOL）とセカンダリボリューム（SVOL）である。ローカルミラー１４０bのプライマリボリュームとセカンダリボリュームの双方は同じストレージシステム１００bにあり、一方リモートミラー１３０のそれらは、それぞれ別のストレージシステム１００aと１００bにある。
特定の実施例では、リモートミラー１３０とローカルミラー１４０bは相互に関連づけて用いられるであろうことに注意。図１の例では、ボリューム１０５bはリモートミラー１３０のセカンダリボリューム（SVOL）であると同時に、ローカルミラー１４０bのプライマリボリューム（PVOL）でもある。したがって、ボリューム１０５bは時にはセカンダリプライマリボリューム（SPVOL）と呼ばれる。
記憶装置の相互接続パス１５０はプライマリストレージシステム１００aとセカンダリストレージシステム１００ｂの間の接続を行う。ボリューム１０５aへの書き込みデータは記憶装置相互接続パス１５０を経由して送信され、リモートコピーセカンダリボリューム１０５bに書き込まれる。この仕組みが二つのボリュームを同一に保っている。
図１に示すように、特定の実施例では、バックアップはプライマリストレージシステムにある情報が、セカンダリストレージシステムに取り込まれたものである。プライマリストレージシステム１００ａにあるデータがセカンダリストレージシステム１００ｂにリモートコピーで送られる。リモートミラー１３０のプライマリボリューム（PVOL）１０５aとセカンダリボリューム（SVOL）１０５bは両者の間に存在するリモートミラー１３０の働きにより、同一（同じデータを含む）に維持される。プライマリストレージシステム１００aから送られたデータは、さらにセカンダリストレージシステム１００bの中にあるローカルミラー１４０ｂのセカンダリボリュームである、セカンダリボリューム（SVOL）１０６bにコピーされる。
このことは、通常は、３個のボリューム、ボリューム１０５aと１０５bと１０６bは同じであることを意味している。バックアップが取られると、ホスト１１０aまたはその他のコントロールの下にローカルミラー１０４bは分割される。コラム１０６bは時間バックアップの時点を保持する。システムバックアップを行うこの技術は、特定の実施例では、リモートミラー１３０を継続的に作動させるというような利点がある。
リモートミラー１３０は、通常は、ミラーを常時同期状態におく必要のある、障害回復目的に使用される。もしバックアップを取るためにリモートミラー状態を壊し、そしてこの非同期状態の間に事故が発生すると、現時点ではデータの回復は行えない。さらに、ある実施例では、ユーザは、一つのプライマリボリューム（PVOL）に対し、２ないしはそれ以上のセカンダリボリューム（SVOL）を設定することで、複数の世代のバックアップを取ることが出来る。
例えば、図１において、ある実施例では、単一のボリューム１０５bに対して複数のボリューム１０６bを持つことが出来る。
図２は本発明の特定の実施例における、回復処理手順の図を示す。図２に示すように、回復処理手順の例は、セカンダリボリューム（SVOL）１０６bをホスト１１０ｂにのせ、回復させたいファイルをセカンダリボリューム（SVOL）１０６ｂからセカンダリプライマリボリューム（SPVOL）１０５bにコピーすることを含んでいる。
プライマリボリューム（PVOL）１０５aはセカンダリプライマリボリューム（SPVOL）１０５bと再同期することが可能で、このことは、ファイルがセカンダリプライマリボリューム(SPVOL)１０５bからプライマリボリューム(PVOL)１０５aにコピーされることを意味する。本発明の特定の実施例では、ストレージシステム１００bは、ミラーを分割した後で変更されたデータの追跡をするデルタビットマップを持っている。セカンダリボリューム（SVOL）１０６ｂからセカンダリプライマリボリューム(SPVOL)１０５bへコピーされたファイルはビットマップ上でマークされるので、ストレージシステム１００aではこれらのファイルしかプライマリボリューム(PVOL)１０５aへコピーされない。
本発明による特定の実施例により、幾つかの利点が得られる。たとえば、ある実施例では、ファイルを重ね書きする事故の危険を減らし、特定のファイルだけを回復できる。さらに、特定の実施例では、ストレージシステム１００aと１００bの間の接続１５０を確立するプライベートなネットワークを用いて回復処理を行うことが出来る。これにより、安全で高性能な接続ができる。このように、回復処理を、速やかに、またデータが盗まれたり、変えられたり、そして／あるいは壊されたりする可能性がずっと少なくて行うことが出来る。
図３は本発明の特定の実施例における、代表的なコピーマネージメントテーブルを示す。ある実施例では、ローカルとリモートのミラーされたペアは、図３に示すように、各ボリュームについて、コピーマネージメントテーブル３００のコピーを有している。ミラーされたペアのプライマリボリューム(PVOL)とセカンダリボリューム(SVOL)はコピーマネージメントテーブル３００を持つ。
例えば、図１においてはリモートミラー１３０のボリューム１０５aと１０５bはコピーマネージメントテーブル３００を持つ。このテーブルを用いて、ストレージシステムは本発明の技術に従って、二つのローカルミラーをatomicalに破壊することが出来る。
コピーマネージメントテーブル３００はコピーの型式によって、「リモートコピー」あるいは「ローカルコピー」のいずれかを記憶するコピータイプ３１０を有している。ペアシステムID３２０はペアになったボリュームを持つストレージシステムのIDを含んでいる。たとえば、ボリューム１０５aのコピーマネージメントテーブルにおいては、ペアシステムID３２０はセカンダリストレージシステム１００bのIDを含んでいる。各ストレージシステムは、ストレージシステムの追い番あるいは似たものであってもよいが、独自のIDを持っている。
ミラーボリュームID３３０はミラーボリュームのIDを含んでいる。例えば、プライマリボリューム１０５aのコピーマネージメントテーブルでは、ミラーボリュームID３３０はセカンダリボリューム１０５bのIDを含んでいる。
このIDはストレージシステムの中にあるボリュームの追い番、またはそのようなものであっても良い。プライマリー３４０は、もしボリュームがプライマリボリューム(PVOL)であるならば「YES」を、そうでないなら「NO」を含む。例えば、ボリューム１０５aのプライマリー３４０は「YES」を示し、ボリューム１０５bのそれは「NO」を示す。
ミラーステータス３５０はミラーの状態を示す。特定の実施例では、「コピー（COPY）」、「デュープレックス（DUPLEX）」、「スプリット（SPLIT）」そして「シンプレックス（SIMPLEX）」の４種類の状態が定義されている。シンプレックス状態はボリュームがミラーされていないことを示す。コピー状態はボリュームがミラーされており、データコピーが進行中であることを示す。
デュープレックス状態はボリュームがミラーされ、二つのボリュームが同じであることを示す。スプリット状態は、ボリュームがミラーされているが、ミラーは一時的に停止していることを示す。スプリット状態では、ボリュームに対する全ての更新は保留ビットマップ３６０に記録されるので、ミラーを再同期化する時は、変更されたデータのみがコピーされる。
保留ビットマップ３６０は、ボリュームに書き込まれたが、ペアになったボリュームには書き込まれていない保留データがあるかどうかを示す。一つの実施例では、各ビットはボリュームの一部、例えば８ＫＢに対応する。スプリット状態でデータがボリューム上のブロックに書き込まれると、保留ビットマップ３６０のブロックに対応するコラムビットがセットされる。
図４は本発明の特定の実施例における、バックアップを取るための代表的なプロセスのフローチャートを示す。図４で示すように、バックアップを取ることは、ホスト１１０aから分割コマンドを発行し、ローカルミラー１４０bを分割することで構成される。ステップ４００では、プライマリホスト１１０aにおいては、分割コマンドがローカルミラー１４０bを分割するために発行される。
ステップ４１０では、プライマリストレージシステム１００aは、もしあれば、全ての保留データをセカンダリストレージシステム１００bに送る。このような保留データは、もしリモートコピーが非同期で動作している場合に存在することがある。
ステップ４２０では、分割コマンドが発行された後に、プライマリホスト１１０aからプライマリストレージシステム１００aに到着する全ての書き込みデータは、セカンダリストレージシステム１００bには送られない。
したがって、変更されたデータを追跡するために、分割コマンドの後に到着する書き込みデータは、保留ビットマップ３６０にマークされる。このような保留データは全ての分割処理が終わったら送られる。
ステップ４３０では、プライマリストレージシステム１００aは分割コマンドをセカンダリストレージシステム１００bに送る。
ステップ４４０では、セカンダリストレージシステム１００bは分割コマンドで指定されたローカルミラー１４０bが同期しているかをチェックする。セカンダリストレージシステム１００bは、ミラーに対応するコピーマネージメントテーブル３００にあるミラー状態３５０を参照して、このチェックを行う。もしミラー状態３５０が「MIRROR」を示すならば、ミラーは同期状態にあり、その他の場合は、同期していない。
ステップ４６０では、もしローカルミラー１４０bが同期していない場合は、セカンダリストレージシステム１００bはボリューム１０６bをボリューム１０５bに再同期化させる。これらの二つのボリュームを同期状態に戻して、全ての保留データはボリューム１０５bからボリューム１０６bにコピーされる。
ステップ４５０では、もしミラーが同期している、あるいはステップ４６０が終わった後では、セカンダリストレージシステム１００bはローカルミラー１４０bを分割する。いまやボリューム１０５bはステップ４００で分割コマンドが発行された時点でのデータを保持している。ステップ４７０では、上記の全てのステップが完了したのち、プライマリストレージシステム１００aは保留ビットマップ３６０に保留とマークされたデータの送信を再開する。
図５は本発明の特定の実施例における、ファイルを回復させるための代表的なプロセスのフローチャートを示す。図５で示すように、バックアップからの回復ファイルは各種のステップで構成される。
ステップ５００においては、セカンダリホスト１００bでは  回復されるべきファイルを指定することで、回復処理の作業が開始される。
ステップ５１０では、ホスト１１０a上で動いていたアプリケーションが止まり、ボリューム１０５aの使用を止める。ボリューム１０５ａはホスト１１０aから外され、そのボリュームにホスト１１０aから書き込めないようにする。ステップ５２０では、ホスト１００bで動いていた回復処理のプログラムは、リモートミラー１３０を分割し、ホスト１１０bがデータをボリューム１０５bに書き込めるようにする。
ステップ５３０では、回復処理のプログラムはセカンダリボリューム(SVOL)１０６ｂからファイルを読み出し、それらをセカンダリプライマリボリューム(SPVOL)１０５bに書き込む。分割が行われた後の全ての書き込みデータは、ボリューム１０５bのコピーマネージメントテーブル３００にある保留ビットマップ３６０上で、ファイルのデータとしてマークが付けられる。
このボリューム１０５bの保留ビットマップ３６０はボリューム１０５aに対するものである。また、ファイルのデータは分割された後の書き込みデータのみである。ステップ５４０では、回復処理プログラムはリモートミラー１３０の、プライマリボリューム(PVOL)１０５aとセカンダリプライマリボリューム(SPVOL)１０５bを再同期化させる処理を開始させる。
ステップ５５０では、ストレージシステム１００aはセカンダリプライマリボリューム(SPVOL)１０５b上にある全ての保留データを、保留ビットマップ３６０に従い、プライマリボリューム(PVOL)１０５aにコピーする。
記憶装置１００aは、最初にストレージシステム１００bから、セカンダリプライマリボリューム(SPVOL)１０５bの保留ビットマップ３６０を読み出す。つぎに、ストレージシステム１００aはプライマリボリューム(PVOL)１０５aとセカンダリプライマリボリューム(SPVOL)の二つの保留ビットマップ３６０を眺める。二つのビットマップ３６０はプライマリボリューム(PVOL)１０５aとセカンダリプライマリボリューム(SPVOL)１０５bの差データを持っている。
次に、ストレージシステム１００aは、セカンダリプライマリボリューム(SPVOL)１０５bから、全ての差データをプライマリボリューム(PVOL)１０５aにコピーする。注目すべきことは、上記に示されたデータ、すなわち差データ、のみプライマリボリューム(PVOL)１０５aにコピーされ、それにより特定のファイルを回復させる手段が得られる。
ステップ５６０で、回復処理は完了する。ボリューム１０５aは搭載され、アプリケーションは再スタートする。もしアプリケーションがデータベースであったら、データベースはボリューム１０５ａへ回復される。
図６は本発明の特定の実施例における、ボリュームを回復させるための代表的なプロセスのフローチャートを示す。もし全ボリュームを回復させたい場合は、図５に示す処理は必要ない。むしろ、ボリューム１０５bは本発明による技術を用いて、ボリューム１０６bと再同期させることが出来る。
ステップ６００では、回復処理をするファイルを指定することで、回復処理動作を始動することが出来る。これはセカンダリホスト１００bでコマンドを入力するなどで行うことが出来る。
ステップ６１０では、セカンダリホスト１００bで作動している回復処理プログラムが、指定したファイルがボリュームに在るのか、そしてボリュームが指定したファイルのみを持っているのかをチェックする。もしそうであるなら、全ボリュームはを回復することが出来る。
ステップ６２０では、ホスト１１０a上で作動しているアプリケーションが止まり、ボリューム１０５aの使用を止める。
ボリューム１０５ａはホスト１１０aから外され、そのボリュームにホスト１１０aから書き込めないようにする。ステップ６３０では、回復処理プログラムはリモートミラー１３０を分割するので、セカンダリプライマリボリューム(SPVOL)１０５bは書き込みが出来るようになる。
ステップ６４０では、回復処理プログラムはセカンダリプライマリボリューム(SPVOL)１０５bをセカンダリボリューム(SVOL)１０６bと再同期化させる処理を始動させる。ステップ６５０では、ストレージシステム１００bはセカンダリプライマリボリューム(SPVOL)１０６b上にある全ての保留データを、保留ビットマップ３６０に従い、セカンダリボリューム(SVOL)１０５bにコピーする。
セカンダリボリューム(SVOL)１０６bはセカンダリプライマリボリューム(SPVOL)１０５bから分割され、一方ではセカンダリプライマリボリューム(SPVOL)１０５bは、プライマリボリューム(PVOL)１０５aとの間でリモートミラー１３０を保持する。セカンダリプライマリボリューム(SPVOL)１０５bはプライマリボリューム(PVOL)１０５aからの書き込みデータを持っている。これはセカンダリプライマリボリューム(SPVOL)１０５bがセカンダリプライマリボリューム(SPVOL)１０６bに書き込むべき保留データを持っていることを意味する。
セカンダリボリューム(SVOL)１０６bをセカンダリプライマリボリューム(SPVOL)１０５bと再同期化させるためには、ストレージシステム１００bは、まづセカンダリボリューム(SVOL)１０６bとセカンダリプライマリボリューム(SPVOL)１０５bの二つの保留ビットマップ３６０を見る。これらのビットマップ３６０はこれら二つのボリュームのデータの差違を示している。
ストレージシステム１００bは全ての差データをセカンダリボリューム(SVOL)１０６bからセカンダリプライマリボリューム(SPVOL)１０５bにコピーする。
次に、ステップ６６０では、回復処理プログラムは、プライマリボリューム(PVOL)１０５aとセカンダリプライマリボリューム(SPVOL)１０５bを再同期化させる処理を始動させる。
ステップ６７０では、ストレージシステム１００bは、リモートミラー１３０のために、セカンダリプライマリボリューム(SPVOL)１０５b上にある全ての保留データを、プライマリボリューム(PVOL)１０５aにコピーする。
ステップ６５０が終わると、セカンダリプライマリボリューム(SPVOL)１０５bはプライマリボリューム(PVOL)１０５aに対する保留データを持ち、それは保留ビットマップ３６０上にマークされる。ステップ６３０でリモートミラー１３０が分割された後に、ホスト１００aがデータをプライマリボリューム(PVOL)１０５aに書き込んだかもしれないので、プライマリボリューム(PVOL)１０５aもセカンダリプライマリボリューム(SPVOL)１０５bに対する書き込みデータを持つ可能性がある。
ストレージシステム１００aは先ずストレージシステム１００bからセカンダリプライマリボリューム(SPVOL)１０５bの保留ビットマップ３６０を読み出し、次にプライマリボリューム(PVOL)１０５aとセカンダリプライマリボリューム(SPVOL)１０５ｂの二つの保留ビットマップ３６０を見る。二つのビットマップ３６０はプライマリボリューム(PVOL)１０５aとセカンダリプライマリボリューム(SPVOL)１０５bの間の差データを持っている。
次に、ストレージシステム１００aは、セカンダリプライマリボリューム(SPVOL)１０５bから、全ての差データをプライマリボリューム(PVOL)１０５aにコピーする。
前述したのは、本発明の実施例の説明である。特許請求の範囲で定義される本発明の範囲を逸脱することなく、異なった案や変更が可能であることは認識されるものである。
【発明の効果】
本発明のやりかたにより、従来技術に対して数多くの利点が達成できる。本発明による特定の実施例により、幾つかの利点が得られる。たとえば、ある実施例では、ファイルを重ね書きする事故の危険を減らし、特定のファイルだけを回復できる。さらに、特定の実施例では、ストレージシステム間の接続を確立するプライベートなネットワークを用いて回復処理を行うことが出来る。これにより、確実で高性能な接続ができる。
このように、回復処理を、速やかに、またデータが盗まれたり、変えられたり、そして／あるいは壊されたりする可能性がずっと少なく行うことが出来る。リモートコピーを用いてバックアップや回復処理を行うことの利点は、単一のリモートサイトでバックアップデータを管理することが可能なことである。リモートコピーを用いて何箇所かの地点にあるデータを、一つのサイトで収集し、またそこで収集したデータをバックアップすることができる。システムバックアップを行うこの技術は、特定の実施例では、リモートミラーを継続的に動作させるというような利点がある。リモートミラーは、通常は、ミラーを常時同期状態におく必要のある、障害回復目的に使用される。
もしバックアップを取るためにリモートミラー状態を壊し、そしてこの非同期状態の間に事故が発生すると、現時点ではデータの回復は行えない。さらに、ある実施例では、ユーザは、ある実施例のプライマリボリューム（PVOL）に対し、２ないしはそれ以上の世代のセカンダリボリューム（SVOL）を設定することで、複数の世代のバックアップを取ることが出来る。
【図面の簡単な説明】
【図１】図１は本発明の特定の実施例における、代表的なシステムを示す。
【図２】図２は本発明の特定の実施例における、ファイルを回復処理する処理が具体化しているであろう代表的なシステムを示す。
【図３】図３は本発明の特定の実施例における、代表的なコピーマネージメントテーブルを示す。
【図４】図４は本発明の特定の実施例における、バックアップを取るための代表的なプロセスのフローチャートを示す。
【図５】図５は本発明の特定の実施例における、ファイルを回復させるための代表的なプロセスのフローチャートを示す。
【図６】図６は本発明の特定の実施例における、ボリュームを回復させるための代表的なプロセスのフローチャートを示す。
【符号の説明】
１１０ａ・・・プライマリホスト、１１０ｂ・・・セカンダリホスト、１３０・・・リモートミラー、１４０ｂ・・・ローカルミラー、１００ａ・・・プライマリストレージシステム、１００ｂ・・・セカンダリストレージシステム
【図１】
0004256153.tif 000002
【図２】
0004256153.tif 000003
【図３】
0004256153.tif 000004
【図４】
0004256153.tif 000005
【図５】
0004256153.tif 000006
【図６】
0004256153.tif 000007