(57)【要約】【課題】  ミラーリングされたシステム内の障害を管理するための方法、システム、およびプログラムを提供することにある。【解決手段】  １次記憶位置に対する更新が２次記憶位置にコピーされるという１次記憶位置と２次記憶位置とのコピー関係が維持される。１次記憶位置に対する更新をアプリケーションが書き込むのを妨げる障害が検出される。障害を検出したことに応答してアプリケーションのためにアプリケーションに提供されない障害メッセージが受信される。１次記憶位置に対する更新の２次記憶位置へのコピーが中断される。コピーを中断したことに応答して障害メッセージがアプリケーションに提供される。【選択図】  図１
2007164769.tif 000002
【特許請求の範囲】
【請求項１】
１次記憶位置に対する更新が２次記憶位置にコピーされるという前記１次記憶位置と前記２次記憶位置とのコピー関係を維持するステップと、
前記１次記憶位置に対する更新をアプリケーションが書き込むのを妨げる障害を検出するステップと、
前記障害を検出したことに応答して前記アプリケーションのために前記アプリケーションに提供されない障害メッセージを受信するステップと、
前記１次記憶位置に対する更新の前記２次記憶位置へのコピーを中断するステップと、
前記コピーを中断したことに応答して前記障害メッセージを前記アプリケーションに提供するステップと、
を含む方法。
【請求項２】
データ・ムーバが、前記関係において前記１次記憶位置に対する更新を前記２次記憶位置に非同期式にコピーする、請求項１に記載の方法。
【請求項３】
検出された前記障害が、前記１次記憶位置が構成されている記憶装置、前記記憶装置へのアクセスを可能にする制御ユニット、または前記アプリケーションと前記記憶装置との間の通信を可能にするファブリック内のコンポーネントのうちの少なくとも１つの障害を含む、請求項１に記載の方法。
【請求項４】
前記障害メッセージが、前記アプリケーションを含むホスト・オペレーティング・システムまたは前記１次記憶位置へのアクセスを管理する制御ユニット・オペレーティング・システムによって生成される、請求項１に記載の方法。
【請求項５】
前記１次記憶位置および前記２次記憶位置が第１の１次記憶位置と第１の２次記憶位置とを含み、前記アプリケーションが、第２の２次記憶位置にコピーされる例外情報を第２の１次記憶位置にさらに書き込み、検出された前記障害が前記第１の１次記憶位置のアクセス可能性に関連する障害を含み、更新の前記コピーを中断することにより、前記第２の１次記憶位置内の前記例外情報に書き込まれた検出済みの前記障害に関する情報が前記第２の２次記憶位置にコピーされるのを防止する、請求項１に記載の方法。
【請求項６】
前記１次記憶位置から前記２次記憶位置にコピーされない更新が前記中断中にジャーナリングされ、
前記２次記憶位置のデータを１次記憶位置にコピーすることによってデータ回復操作を実行するステップと、
前記２次記憶位置のデータを前記１次記憶位置にコピーしたことに応答してジャーナリングされた前記更新を前記１次記憶位置に適用するステップと、
をさらに含む、請求項１に記載の方法。
【請求項７】
第１の組の１次記憶位置セットに関して前記障害が検出され、前記第１の組の１次記憶位置セットと第２の組の１次記憶位置セットが１つの一貫性グループ内に入っており、更新のコピーの前記中断が、前記第１および第２の組の１次記憶位置セットに対する更新を対応する第１および第２の組の２次記憶位置セットにコピーすることに適用される、請求項１に記載の方法。
【請求項８】
コピーの前記中断が、第３の組の１次記憶位置セットに対する更新を対応する第３の組の２次記憶位置セットにコピーすることに適用されず、前記第３の組の１次記憶位置セットが前記第１および第２の組の１次記憶位置セットを含む前記一貫性グループ内に入っていない、請求項７に記載の方法。
【請求項９】
前記第１および第２の組の１次記憶位置セットおよび２次記憶位置セットが異なるセッションを含み、前記第１の組の１次記憶位置セットに対する更新を前記第１の組の２次記憶位置セットにコピーするために第１のデータ・ムーバが使用され、前記第２の組の１次記憶位置セットに対する更新を前記第２の組の２次記憶位置セットにコピーするために第２のデータ・ムーバが使用される、請求項７に記載の方法。
【請求項１０】
前記障害を検出したことに応答して前記１次記憶位置に対する入出力要求を静止するステップと、
前記更新の前記コピーを中断したことに応答して前記１次記憶位置に対する入出力要求の続行を許可するステップと、
前記更新の前記コピーが中断されている間に前記入出力要求の続行を許可したことに応答して前記１次記憶位置に対する更新を示すステップと、
をさらに含む、請求項１に記載の方法。
【請求項１１】
前記障害メッセージに関連する情報が、前記中断中に前記１次記憶位置に書き込まれるが、前記２次記憶位置にコピーされず、前記２次記憶位置が、前記１次記憶位置に書き込まれた前記障害メッセージに関連する前記情報を含まない、請求項１に記載の方法。
【請求項１２】
１次および２次記憶位置と連絡しているシステムであって、コピー関係により、前記２次記憶位置にコピーされる前記１次記憶位置に対する更新が示され、
プロセッサと、
操作を実行するために前記プロセッサによって実行されるコードを含むコンピュータ可読媒体とを含み、前記操作が、
前記１次記憶位置に対する更新をアプリケーションが書き込むのを妨げる障害に関連し、前記アプリケーションに提供されない障害メッセージを受信するステップと、
前記１次記憶位置に対する更新の前記２次記憶位置へのコピーを中断するステップと、
前記コピーを中断したことに応答して前記障害メッセージを前記アプリケーションに提供するステップと、
を含む、システム。
【請求項１３】
受信された前記障害メッセージが、前記１次記憶位置が構成されている記憶装置、前記記憶装置へのアクセスを可能にする制御ユニット、または前記アプリケーションと前記記憶装置との間の通信を可能にするファブリック内のコンポーネントのうちの少なくとも１つの障害に帰因する、請求項１２に記載のシステム。
【請求項１４】
前記障害メッセージが、前記アプリケーションを含むホスト・オペレーティング・システムまたは前記１次記憶位置へのアクセスを管理する制御ユニット・オペレーティング・システムによって生成される、請求項１２に記載のシステム。
【請求項１５】
前記１次記憶位置および前記２次記憶位置が第１の１次記憶位置と第１の２次記憶位置とを含み、前記アプリケーションが、第２の２次記憶位置にコピーされる例外情報を第２の１次記憶位置にさらに書き込み、検出された前記障害が前記第１の１次記憶位置のアクセス可能性に関連する障害を含み、更新の前記コピーを中断することにより、前記第２の１次記憶位置内の前記例外情報に書き込まれた検出済みの前記障害に関する情報が前記第２の２次記憶位置にコピーされるのを防止する、請求項１２に記載のシステム。
【請求項１６】
前記障害が第１の組の１次記憶位置セットに関連し、前記第１の組の１次記憶位置セットと第２の組の１次記憶位置セットが１つの一貫性グループ内に入っており、更新のコピーの前記中断が、前記第１および第２の組の１次記憶位置セットに対する更新を対応する第１および第２の組の２次記憶位置セットにコピーすることに適用される、請求項１２に記載のシステム。
【請求項１７】
コピーの前記中断が、第３の組の１次記憶位置セットに対する更新を対応する第３の組の２次記憶位置セットにコピーすることに適用されず、前記第３の組の１次記憶位置セットが前記第１および第２の組の１次記憶位置セットを含む前記一貫性グループ内に入っていない、請求項１６に記載のシステム。
【請求項１８】
前記操作が、
前記障害メッセージを受信したことに応答して前記１次記憶位置に対する入出力要求を静止するステップと、
前記更新の前記コピーを中断したことに応答して前記１次記憶位置に対する入出力要求の続行を許可するステップと、
前記更新の前記コピーが中断されている間に前記入出力要求の続行を許可したことに応答して前記１次記憶位置に対する更新を示すステップと、
をさらに含む、請求項１２に記載のシステム。
【請求項１９】
前記障害メッセージに関連する情報が、前記中断中に前記１次記憶位置に書き込まれるが、前記２次記憶位置にコピーされず、前記２次記憶位置が、前記１次記憶位置に書き込まれた前記障害メッセージに関連する前記情報を含まない、請求項１２に記載のシステム。
【請求項２０】
１次および２次記憶位置と通信可能なコードを含むプログラムであって、コピー関係により、前記２次記憶位置にコピーされる前記１次記憶位置に対する更新が示され、前記コードにより操作を実行させることができ、前記操作が、
前記１次記憶位置に対する更新をアプリケーションが書き込むのを妨げる障害を検出するステップと、
前記１次記憶位置に対する更新をアプリケーションが書き込むのを妨げる障害に関連し、前記アプリケーションに提供されない障害メッセージを受信するステップと、
前記１次記憶位置に対する更新の前記２次記憶位置へのコピーを中断するステップと、
前記コピーを中断したことに応答して前記障害メッセージを前記アプリケーションに提供するステップと、
を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ミラーリングされたシステム内の障害を管理するための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
災害時回復システムは、典型的には、ある一時点での突然の破局障害、または、ある期間にわたるデータ損失という２つのタイプの障害に対処する。第２のタイプの漸進的な災害では、ボリュームに対する更新が失われる可能性がある。データ更新の回復を支援するために、データのコピーを遠隔地に設ける場合もある。このような二重コピーまたはシャドー・コピーは、典型的には、アプリケーション・システムが新しいデータを１次記憶装置（primary storage device）に書き込むときに作成される。２次サイトにデータのリモート・コピーを維持するために、インターナショナル・ビジネス・マシーンズ社（「ＩＢＭ」）のＥｘｔｅｎｄｅｄ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＸＲＣ）、Ｃｏｕｐｌｅｄ  ＸＲＣ（ＣＸＲＣ）、Ｇｌｏｂａｌ  Ｃｏｐｙ、およびＧｌｏｂａｌ  Ｍｉｒｒｏｒ  Ｃｏｐｙなど、種々のコピー技術を使用することができる。これらの種々のコピー技術は、「Ｔｈｅ  ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ  ＤＳ６０００  Ｓｅｒｉｅｓ：  Ｃｏｐｙ  Ｓｅｒｖｉｃｅｓ  ｉｎ  Ｏｐｅｎ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」（ＩＢＭ文書番号ＳＧ２４−６７８３−００、２００５年９月発行）および「ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）  Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）：  Ｉｍｐｌｅｍｅｎｔｉｎｇ  ＥＳＳ  Ｃｏｐｙ  Ｓｅｒｖｉｃｅｓ  ｗｉｔｈ  ＩＢＭ  ｅＳｅｒｖｅｒ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）  ｚＳｅｒｉｅｓ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）」（ＩＢＭ文書番号ＳＧ２４−５６８０−０４、２００４年７月発行）というＩＢＭの資料に記載されている。
【０００３】
データ・ミラーリング・システムでは、データはボリューム対（volume pair）として維持される。１つのボリューム対は、１次記憶装置内のボリュームと、１次ボリューム内に維持されているデータの同一コピーを含む２次記憶装置（secondary storage device）内の対応するボリュームから構成されている。１次および２次記憶装置へのアクセスを制御するために、１次および２次記憶コントローラを使用することができる。特定のバックアップ・システムでは、異なるアプリケーションによって異なる１次記憶装置に書き込まれた更新が一貫性のある時刻（ＴＯＤ：time-of-day）値をタイム・スタンプとして使用するように、シスプレックス・タイマ（sysplex timer）を使用して複数のシステムの全域で均一の時間を提供する。アプリケーション・システムは、１次記憶装置内のボリュームにこのようなデータ・セットを書き込むときにタイム・スタンプ・データ・セットを使用する。データ更新の保全性は、ボリューム対内の１次ボリュームについて行われたのと同じ順序で２次ボリュームに対して更新が行われることを保証することに関連する。アプリケーション・プログラムによって提供されるタイム・スタンプは、データ更新の論理的順序を決定する。
【０００４】
データベース・システムなどの多くのアプリケーション・プログラムでは、前の書込みが行われていなければ特定の書込みを行うことができず、さもなければ、データ保全性が脅かされるであろう。その保全性が前のデータ書込みの発生に依存するこのようなデータ書込みは、従属書込み（dependent write）として知られている。１次および２次記憶装置内のボリュームは、すべての書込みがその論理順序で転送されたときに、すなわち、それに依存する書込みの前にすべての従属書込みが先に転送されたときに、一貫したものになる。一貫性グループ（consistency group）は、一貫性タイム・スタンプに等しいかまたはそれより前のタイム・スタンプを有する一貫性グループ内のすべてのデータ書込みに関する一貫性時間（consistency time）を有する。一貫性グループは、従属書込みが一貫したやり方で保護されるような１次ボリュームに対する更新の集合である。一貫性時間は、その時間まで２次ボリュームに対する更新が一貫したものになることをシステムが保証する最新時間である。一貫性グループは、複数のボリュームおよび記憶装置の全域でデータ一貫性を維持する。したがって、データが２次ボリュームから回復されると、回復されたデータは一貫したものになる。
【０００５】
一貫性グループは１つのセッション内で形成される。あるセッションに割り当てられたすべてのボリューム対は、その更新が同じ一貫性グループ内に維持されることになる。したがって、１つの一貫性グループ内にまとめてグループ化されるボリュームを決定するために、セッションが使用される。一貫性グループは、１つのジャーナル・デバイスまたはボリューム内で形成される。ジャーナルから一貫性グループを形成するために収集された更新は２次ボリュームに適用される。ジャーナルからの更新が２次ボリュームに適用されている間にシステムの障害が発生した場合、回復操作中に、２次ボリュームへの書込みを完了しなかった更新は、ジャーナルから回復し、２次ボリュームに適用することができる。
【０００６】
データベース・アプリケーションなどの特定のアプリケーションは、あるセッション内に１組の１次ボリューム・セットにユーザ・データを書き込み、他のセッションまたは同じセッション内にもう１組の１次ボリューム・セットに例外情報を書き込むことができる。アプリケーションがユーザ・データを含む１次ボリュームへの書込みを続けることができないような障害が発生した場合、アプリケーションは依然として、例外情報を有する異なる１次ボリュームに障害に関する例外情報を書き込むことができる可能性があり、この障害例外情報は例外情報をミラーリングする２次ボリュームに伝搬される可能性がある。このような場合、２次ボリュームはエラーのないユーザ・データを有するが、２次ボリューム内のユーザ・データに関する例外情報は障害が発生したことを示す。例外情報の２次コピーはミラーリングされたユーザ・データ内に反映されない障害またはエラーを示すので、障害回復操作中に、管理者は、ミラーリングされたコピー内のこのデータ矛盾を修正するために２次サイトで広範な回復操作を実行しなければならない。
【非特許文献１】「Ｔｈｅ  ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ  ＤＳ６０００  Ｓｅｒｉｅｓ：  Ｃｏｐｙ  Ｓｅｒｖｉｃｅｓ  ｉｎ  Ｏｐｅｎ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」（ＩＢＭ文書番号ＳＧ２４−６７８３−００、２００５年９月発行）
【非特許文献２】「ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ  Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ：  Ｉｍｐｌｅｍｅｎｔｉｎｇ  ＥＳＳ  Ｃｏｐｙ  Ｓｅｒｖｉｃｅｓ  ｗｉｔｈ  ＩＢＭ  ｅＳｅｒｖｅｒ  ｚＳｅｒｉｅｓ」（ＩＢＭ文書番号ＳＧ２４−５６８０−０４、２００４年７月発行）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
これらの理由で、当技術分野では、ミラーリングされた環境内の障害を処理するための改良された技法が必要である。
【課題を解決するための手段】
【０００８】
ミラーリングされたシステム内の障害を管理するための方法、システム、およびプログラムが提供される。１次記憶位置に対する更新が２次記憶位置にコピーされるという１次記憶位置と２次記憶位置とのコピー関係が維持される。１次記憶位置に対する更新をアプリケーションが書き込むのを妨げる障害が検出される。障害を検出したことに応答してアプリケーションのためにアプリケーションに提供されない障害メッセージが受信される。１次記憶位置に対する更新の２次記憶位置へのコピーが中断される。コピーを中断したことに応答して障害メッセージがアプリケーションに提供される。
【０００９】
他の一実施形態では、データ・ムーバ（datamover）は、その関係において１次記憶位置に対する更新を２次記憶位置に非同期式にコピーする。
【００１０】
他の一実施形態では、検出された障害は、１次記憶位置が構成されている記憶装置、記憶装置へのアクセスを可能にする制御ユニット、またはアプリケーションと記憶装置との間の通信を可能にするファブリック内のコンポーネントのうちの少なくとも１つの障害を含む。
【００１１】
他の一実施形態では、障害メッセージは、アプリケーションを含むホスト・オペレーティング・システムまたは１次記憶位置へのアクセスを管理する制御ユニット・オペレーティング・システムによって生成される。
【００１２】
他の一実施形態では、１次記憶位置および２次記憶位置は、第１の１次記憶位置と第１の２次記憶位置とを含む。アプリケーションは、第２の２次記憶位置にコピーされる例外情報を第２の１次記憶位置にさらに書き込む。検出された障害は第１の１次記憶位置のアクセス可能性に関連する障害を含み、更新のコピーを中断することにより、第２の１次記憶位置内の例外情報に書き込まれた検出済みの障害に関する情報が第２の２次記憶位置にコピーされるのを防止する。
【００１３】
他の一実施形態では、１次記憶位置から２次記憶位置にコピーされない更新が中断中にジャーナリングされる。２次記憶位置のデータを１次記憶位置にコピーすることによってデータ回復操作が実行され、２次記憶位置のデータを１次記憶位置にコピーしたことに応答してジャーナリングされた更新が１次記憶位置に適用される。
【００１４】
他の一実施形態では、第１の組の１次記憶位置セットに関して障害が検出される。第１の組の１次記憶位置セットと第２の組の１次記憶位置セットは１つの一貫性グループ内に入っている。更新のコピーの中断は、第１および第２の組の１次記憶位置セットに対する更新を対応する第１および第２の組の２次記憶位置セットにコピーすることに適用される。
【００１５】
他の一実施形態では、コピーの中断は、第３の組の１次記憶位置セットに対する更新を対応する第３の組の２次記憶位置セットにコピーすることに適用されない。第３の組の１次記憶位置セットは第１および第２の組の１次記憶位置セットを含む一貫性グループ内に入っていない。
【００１６】
他の一実施形態では、第１および第２の組の１次記憶位置セットおよび２次記憶位置セットは異なるセッションを含む。第１の組の１次記憶位置セットに対する更新を第１の組の２次記憶位置セットにコピーするために第１のデータ・ムーバが使用され、第２の組の１次記憶位置セットに対する更新を第２の組の２次記憶位置セットにコピーするために第２のデータ・ムーバが使用される。
【００１７】
他の一実施形態では、障害を検出したことに応答して１次記憶位置に対する入出力要求が静止される。更新のコピーを中断したことに応答して１次記憶位置に対する入出力要求の続行が許可される。更新のコピーが中断されている間に入出力要求の続行を許可したことに応答して１次記憶位置に対する更新が示される。
【００１８】
他の一実施形態では、障害メッセージに関連する情報は、中断中に１次記憶位置に書き込まれるが、２次記憶位置にコピーされない。２次記憶位置は、１次記憶位置に書き込まれた障害メッセージに関連する情報を含まない。
【発明を実施するための最良の形態】
【００１９】
図１は、ネットワーク・コンピューティング環境の一実施形態を示している。ネットワーク２は、複数の１次制御ユニット４ａ・・・４ｎと、１次記憶装置６ａ・・・６ｎと、１次記憶装置６ａ・・・６ｎに対する更新を２次制御ユニット１０ａ・・・１０ｎおよび対応する２次記憶装置１２ａ・・・１２ｎにコピーすることを管理するデータ・ムーバ８ａ・・・８ｎと、１次記憶装置６ａ・・・６ｎに対する更新を書き込むホスト１４と、ホスト１４に対する１次記憶装置６ａ・・・６ｎの可用性の障害をモニターするモニター・システム１６と、システム・タイマ１８と、マスタ・データ・セット２０とを含む。コンポーネント４ａ・・・４ｎ、６ａ・・・６ｎ、８ａ・・・８ｎ、１０ａ・・・１０ｎ、１２ａ・・・１２ｎ、１４、１６、１８、および２０はネットワーク２に接続され、ネットワーク２はこれらのコンポーネント間の通信を可能にする。ネットワーク２は、ネットワーク２の異なるエレメント間に１つまたは複数の通信経路を提供するための１つまたは複数のスイッチを含むことができる。
【００２０】
システム・データ・ムーバ（ＳＤＭ：systemdata mover）プログラム８ａ・・・８ｎは、１次記憶装置６ａ・・・６ｎから更新を読み取り、対応する２次記憶装置１２ａ・・・１２ｎに書き込むために１次記憶装置６ａ・・・６ｎからの更新の一貫性グループを形成する。１次制御ユニット４ａ・・・４ｎでは、キャッシュ内のサイド・ファイル（side file）に更新を書き込むことができる。次に、ＳＤＭ８ａ・・・８ｎによって維持されるジャーナル２２ａ・・・２２ｎに更新を転送することができる。それぞれのジャーナル２２ａ・・・２２ｎ内では、一貫性グループ単位に更新が配置される。ジャーナル２２ａ・・・２２ｎは１つまたは複数の一貫性グループを記憶することができる。一貫性グループは、一貫性タイム・スタンプに等しいかまたはそれより前のタイム・スタンプを有する一貫性グループ内のすべてのデータ書込みに関する一貫性時間を有する。一貫性グループは、従属書込みが一貫したやり方で保護されるような１次ボリュームに対する更新の集合である。一貫性時間は、その時間まで２次ボリュームに対する更新が一貫したものになることをシステムが保証する最新時間である。一貫性グループは、複数のボリュームおよび記憶装置の全域でデータ一貫性を維持する。したがって、データが２次ボリュームから回復されると、回復されたデータは一貫したものになる。
【００２１】
一貫性グループは１つのセッション内で形成される。１つのセッションは、１つまたは複数のＳＤＭ８ａ・・・８ｎによって管理される１次／２次ボリューム対の操作と、ミラー・プログラム４によって管理されるボリューム対の操作とを含むことができる。あるセッションに割り当てられたすべてのボリューム対は、その更新が同じ一貫性グループ内に維持されることになる。したがって、１つの一貫性グループ内にまとめてグループ化されるボリュームを決定するために、セッションが使用される。ジャーナル２２ａ・・・２２ｎからの更新が２次ボリュームに適用されている間にシステムの障害が発生した場合、回復操作中に、２次ボリュームへの書込みを完了しなかった更新は、ジャーナルから回復し、２次ボリュームに適用することができる。
【００２２】
ＳＤＭ８ａ・・・８ｎは、システム内に実現されたプログラムを含むことができる。ＳＤＭ８ａ・・・８ｎは、１次制御ユニット４ａ・・・４ｎ、２次制御ユニット１０ａ・・・１０ｎ、または独立サイトおよびシステムに実現することができる。
【００２３】
マスタ・データ・セット２０は、管理されているセッションのリストと、管理された各セッションごとにこのようなセッション内のボリュームに対する最新更新の時間とを含む。マスタ・データ・セット２０は、記憶装置６ａ・・・６ｎ、１２ａ・・・１２ｎ内のボリューム上に存在することができる。１次／２次制御対に関するジャーナル・データ・セットは、どの装置上にも存在することができる。図１の各ＳＤＭ８ａ・・・８ｎは、その情報がマスタ・データ・セット２０内に示されている１つのセッションの一部である。各セッションには、１つまたは複数のＳＤＭ８ａ・・・８ｎを割り当てることができる。
【００２４】
システム・タイマ１８は、更新が順不同にミラーリングされないことを保証するために、すべてのＳＤＭ８ａ・・・８ｎの全域で共通時間を使用してボリュームに対する更新を書き込むアプリケーション・プログラムに関する共通時間基準を提供することを保証するために更新に関するタイム・スタンプを提供する。ジャーナル２２ａ・・・２２ｎ内の更新が一貫性グループ内で編成されると、一貫性グループ内の更新は２次記憶装置１２ａ・・・１２ｎに適用される。一貫性グループの作成は、どのタイプのデータについても更新順序を保全して、システムがリアルタイムでリモート・サイトにデータをシャドーイングすることを保証する。一貫性グループを使用することは、あるセッション内に２次記憶装置１２ａ・・・１２ｎに適用された更新が、一貫性グループの一貫性時間現在で一貫したものになり、セッション間で一貫したものになることを保証する。更新がジャーナル２２ａ・・・２２ｎから２次記憶装置１２ａ・・・１２ｎ内の２次ボリュームに書き込まれる間に障害が発生した場合、回復中に、システム障害中に割り込まれた更新は、ジャーナルから回復し、２次ボリュームに再適用することができる。このようにして、データは、ある時点現在の回復中にセッション内かつセッション全域で一貫していることが保証される。インターナショナル・ビジネス・マシーンズ社（「ＩＢＭ」）のＥｘｔｅｎｄｅｄ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＸＲＣ）、Ｃｏｕｐｌｅｄ  ＸＲＣ（ＣＸＲＣ）、Ｇｌｏｂａｌ  Ｃｏｐｙ、Ｇｌｏｂａｌ  Ｍｉｒｒｏｒ  Ｃｏｐｙ、およびＰｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＰＰＰＣ）などの同期ミラーリングなどのコピー操作では、複数セッションの全域で一貫性を維持するためにマスタ・データ・セット２０を使用する。
【００２５】
ネットワーク２は、ストレージ・エリア・ネットワーク（ＳＡＮ：Storage Area Network）、ローカル・エリア・ネットワーク（ＬＡＮ：Local Area Network）、イントラネット、インターネット、広域ネットワーク（ＷＡＮ：Wide Area Network）、ピアツーピア・ネットワーク、アービトレーテッド・ループ・ネットワークなどを含むことができる。記憶装置６ａ・・・６ｎ、１２ａ・・・１２ｎは、単純ディスク束（ＪＢＯＤ：Just a Bunch of Disks）、直接アクセス記憶装置（ＤＡＳＤ：Direct Access Storage Device）、冗長ディスク・アレイ（ＲＡＩＤ：Redundant Array of Independent Disks）というアレイ、仮想化装置、テープ記憶装置、フラッシュ・メモリなどの記憶装置のアレイを含むことができる。
【００２６】
特定の諸実施形態では、ホスト・オペレーティング・システム２６および１次制御ユニット・オペレーティング・システム２８ａ・・・２８ｎは、アプリケーション２４にエラー通知が送信される前にモニター・システム１６に特定の定義済みエラー通知を伝達するためのコードを含む。このようにして、モニター・システム１６は、アプリケーション２４の前にオペレーティング・システム２６および２８ａ・・・２８ｎによって検出された障害に関する情報を処理する。また、２次制御ユニット１０ａ・・・１０ｎもオペレーティング・システム３０ａ・・・３０ｎを含む。
【００２７】
モニター・システム１６は、図１に図示されているような制御ユニットの１つの内部にまたは個別のシステム内に実現することができる。
【００２８】
ホスト１４は、入出力要求を１次制御ユニット４ａ・・・４ｎに伝達する１つまたは複数のアプリケーション２４を含む。図２は、ホスト１４がデータベース・アプリケーション４０を含む、従来技術で知られている一実施形態を示している。データベース・アプリケーションは、データベースのテーブルおよびレコードを記憶するデータベース・テーブルスペース４２を更新するために、１次制御ユニット４ａを介して１次記憶装置６ａにユーザ・データ、すなわち、データベース・レコードを書き込む。ホスト１４が１次記憶装置６ａへの接続の障害を受信または検出したかあるいは書込みを完了することができず、データベース・アプリケーション４０にこのようなエラーを通知した場合、データベース・アプリケーション４０は、１次制御ユニット４ｂを介して１次記憶装置６ｂ内の例外テーブル４４にエラーに関する情報を書き込む。
【００２９】
図３は、非同期リモート・コピー技術、たとえば、ＸＲＣ、ＣＸＲＣなどを使用して異なるセッションに関するデータをコピーするＳＤＭ８ａ・・・８ｎによって実行される操作の一実施形態を示している。（ブロック１００で）リモート・コピー操作を開始したことに応答して、ＳＤＭ８ａ・・・８ｎは、（ブロック１０２で）１次記憶位置に対する更新を有する一貫性グループを形成する。前述の通り、ＳＤＭ８ａ・・・８ｎは、１次記憶装置６ａ・・・６ｎからの更新を、一貫性グループが形成されるジャーナル２２ａ・・・２２ｎに読み取ることにより、一貫性グループを形成することができる。ＳＤＭ８ａ・・・８ｎは、（ブロック１０４で）ジャーナル２２ａ・・・２２ｎ内の一貫性グループに追加される更新の時間をマスタ・データ・セット２０内に示す。ＳＤＭ８ａ・・・８ｎは、（ブロック１０６で）基準時間（最大限のセッション更新時間のうちの最小値）を決定するために、マスタ・データ・セット２０に対し定期的にポーリングすることができる。ＳＤＭ８ａ・・・８ｎは、（ブロック１０８で）そのタイム・スタンプが決定された基準時間より小さいかまたはそれに等しいそれぞれのジャーナル２２ａ・・・２２ｎ内の一貫性グループを、２次記憶装置１２ａ・・・１２ｎにコピーする。代替一実施形態では、データ・ムーバは同期式にデータをコピーすることができる。
【００３０】
図４は、（ブロック１２０で）モニター・システム１６によって最初に処理すべき認識済みトリガ・イベントである障害を検出したことに応答して、ホスト・オペレーティング・システム２６によって実行される操作の一実施形態を示している。このような検出に応答して、ホスト・オペレーティング・システム２６は、（ブロック１２２で）モニター・システム１６に障害を伝達する。ホスト・オペレーティング・システム２６は、ネットワーク２の接続、たとえば、ホスト１４と１次制御ユニット４ａ・・・４ｎとの間のスイッチ、ケーブルなどの障害を検出することができる。
【００３１】
図５は、（ブロック１３０で）モニター・システム１６によって最初に処理すべき認識済みトリガ・イベントである障害を検出したことに応答して、１次制御ユニット・オペレーティング・システム２８ａ・・・２８ｎによって実行される操作の一実施形態を示している。このような検出に応答して、制御ユニット・オペレーティング・システム２８ａ・・・２８ｎは、（ブロック１３２で）モニター・システム１６に障害を伝達する。１次制御ユニット・オペレーティング・システム２８ａ・・・２８ｎは、ホスト１４へのネットワーク２の接続の障害、１次記憶装置６ａ・・・６ｎのリソースの障害、たとえば、ディスク、アレイ、またはテープの障害、あるいは１次記憶装置６ａ・・・６ｎとそれぞれの１次制御ユニット４ａ・・・４ｎとの間の接続の障害を検出することができる。
【００３２】
図４および図５の諸実施形態では、検出された障害がアプリケーション２４に通知される前にモニター・システム１６が障害メッセージを処理するように、検出された障害はモニター・システム１６によって遮断される。たとえば、データベース・アプリケーション４０に関しては、障害を遮断し、それをモニター・システム１６に経路指定すると、データベース・アプリケーション４０が障害に関する情報を例外テーブル４４に書き込むのを防止し、それにより、例外テーブル４４を有する１次記憶装置４ｂをミラーリングする２次記憶装置１２ｂにエラー／例外に関する情報が伝搬されるのを防止する。このようにして、モニター・システム１６は、ネットワーク２内で生成される多種多様なタイプの障害通知をモニターすることができる。
【００３３】
図６は、ホスト・オペレーティング・システム２６または１次制御ユニット・オペレーティング・システム２８ａ・・・２８ｎによって伝達された障害を処理するためにモニター・システム１６によって実行される操作の一実施形態を示している。（ブロック１５０で）ホスト・オペレーティング・システム２６または１次制御ユニット・オペレーティング・システム２８ａ・・・２８ｎから１次サイト（たとえば、１次制御ユニットまたは１次記憶装置）の障害の情報を受信すると、モニター・システム１６は（ブロック１５２で）１次記憶装置６ａ・・・６ｎのボリュームに対する入出力要求を静止するためのコマンドを発行する。静止するためのこのコマンドは、１次制御ユニット４ａ・・・４ｎまたはホスト１４あるいはその両方に提供することができる。次にモニター・システム１６は、（ブロック１５４で）すべての１次記憶位置に対する更新を、障害の影響を受ける記憶位置を含む一貫性グループ内の２次記憶位置にコピーすることを中断する。障害が検出された後に行われるすべての更新が２次記憶装置１２ａ・・・１２ｎに伝搬されないように、モニター・システム１６は、障害が検出された１次記憶装置６ａのボリュームまたはデータ・セットを含む一貫性グループの形成を中断するためのコマンドをＳＤＭ８ａ・・・８ｎに送信することにより、中断を引き起こすことができる。しかし、ジャーナル２２ａ・・・２２ｎ内ですでに形成された一貫性グループは、２次記憶装置１２ａ・・・１２ｎにコピーすることができる。
【００３４】
特定の諸実施形態では、この中断は、障害条件の対象となる１次記憶装置６ａ・・・６ｎのボリュームに依存するかまたは障害の対象となる１次記憶装置６ａ・・・６ｎのボリュームが依存するすべてのデータに適用することができる。この従属データは、障害条件の対象となる１次ボリュームを含む一貫性グループ内にあるすべてのデータ、すなわち、それ自体に障害が発生しているかまたはホスト１４を１次記憶装置６ａ・・・６ｎに接続するコンポーネント内の障害のためにアクセスできないすべてのデータを含むことができる。さらに、この従属データは、その一貫性がマスタ・データ・セット２０により維持される他のセッション内のボリュームを含むことができる。したがって、その一貫性がマスタ・データ・セット２０により障害が発生したボリュームとともに維持されるすべてのセッション内のすべてのボリュームに関して中断を発行することができる。障害条件の対象となるボリュームの一貫性グループに依存しないボリュームに関してまたはそのような一貫性グループ内でミラーリング操作を実行し続けることができ、その他のボリュームは中断の対象となる。
【００３５】
障害条件の対象となるボリュームを含む一貫性グループ内のボリュームに対する入出力を中断した後、モニター・システム１６は、（ブロック１５６で）１次記憶装置６ａ・・・６ｎの位置に対する入出力要求の続行を許可するためのコマンドを１次制御ユニット４ａ・・・４ｎおよびホスト１４に対して発行することができる。この時点で、（ブロック１５８で）アプリケーション２４に障害メッセージを提供することができる。しかし、更新のミラーリングは中断されているので、アプリケーション２４が１次記憶装置６ａ・・・６ｎに書き込むエラー条件、たとえば、データベース・アプリケーション４０が例外テーブル４４（図２）に書き込むエラー条件は、いずれも２次記憶装置１２ａ・・・１２ｎに伝搬されない。この時点で、１次制御ユニット４ａ・・・４ｎは、中断された１次記憶装置６ａ・・・６ｎの位置に対する更新を追跡するために、各ボリュームに関するビットマップを維持する。
【００３６】
図７は、結果的に図５の操作が行われる障害メッセージを引き起こした障害に対処した後で、例外を反映しない２次記憶装置１２ａ・・・１２ｎ内のデータを、１次記憶装置６ａ・・・６ｎにコピーするための操作を示している。ブロック２００で障害の原因が修正され、その修正は、ネットワーク２、ホスト１４、１次制御ユニット４ａ・・・４ｎ、１次記憶装置６ａ・・・６ｎなどのコンポーネントを保守することを含む可能性がある。障害に対処した後、モニター・システム１６または管理者は、（ブロック２０２で）中断に関与するすべての２次ボリュームまたはデータ・セットを、対応する１次記憶装置６ａ・・・６ｎの位置にコピーするための回復操作を開始することができる。これは、異なる２次記憶装置内にあるか、異なる２次制御ユニットによって管理されるか、または異なるセッション内にあるか、あるいはそれらの組み合わせにある２次ボリュームからのデータをコピーすることを含む可能性がある。データが２次サイトから回復された後、（ブロック２０４で）中断された１次記憶装置６ａ・・・６ｎの位置に対するジャーナリングされた更新が更新済みの１次記憶位置に適用される（すなわち、形成された一貫性グループに更新が含まれない）。これらは、一貫性グループに含まれないジャーナル２２ａ・・・２２ｎ内の更新または１次制御ユニット４ａ・・・４ｎのサイド・ファイル内に維持される更新を含むことができる。（ブロック２０６で）中断されたボリュームに関する一貫性グループのミラーリングおよび形成の中断は終了するが、ミラー操作は続行される場合もある。
【００３７】
上述の諸実施形態では、他の１次記憶装置６ａ内の関連ユーザ・データ、たとえば、ミラーリングされたテーブルスペース４２がいかなるエラーも持っていない可能性がある場合、１次記憶装置６ｂ内の例外テーブル４４に書き込まれる例外などの障害の表示は２次記憶装置１２ｂに伝搬されない。対応する２次記憶装置１２ｂ内でミラーリングされる例外テーブルに例外が伝搬された場合、管理者は、２次記憶装置１２ａから１次記憶装置６ａ内のテーブルスペース４２（図２）を回復する前にエラーをクリアするために、２次記憶装置１２ｂでエラー回復操作を実行しなければならないであろう。しかし、上述の諸実施形態は例外がミラーリングされた例外テーブル４４に伝搬されるのを防止するので、伝搬された例外をクリアするために２次サイトで回復操作を実行する必要はない。このようにして、上述の諸実施形態はダウン時間を削減し、障害回復プロセスを簡略化する。
【００３８】
追加の実施形態の詳細
上述の操作は、ソフトウェア、ファームウェア、ハードウェア、または任意のそれらの組み合わせを生成するために標準のプログラミングまたはエンジニアリングあるいはその両方の技法を使用する方法、装置、またはプログラム（article of manufacture）として実現することができる。プロセッサが「コンピュータ可読媒体（computer readable medium）」からコードを読み取って実行できる場合、上述の操作は、コンピュータ可読媒体内に維持されたコードとして実現することができる。コンピュータ可読媒体は、磁気記憶媒体（たとえば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープなど）、光学記憶装置（ＣＤ−ＲＯＭ、ＤＶＤ、光ディスクなど）、揮発性および不揮発性メモリ・デバイス（たとえば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ・メモリ、ファームウェア、プログラマブル・ロジックなど）などの媒体を含むことができる。上述の操作を実現するコードは、ハードウェア・ロジック（たとえば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ：Programmable Gate Array）、特定用途向け集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）など）でさらに実現することができる。さらに、「伝送信号（transmission signal）」が空間を伝搬するかまたは光ファイバ、銅線などの伝送媒体を伝搬できる場合、上述の操作を実現するコードは、伝送信号で実現することができる。コードまたはロジックがコード化される伝送信号は、ワイヤレス信号、衛星伝送、電波、赤外線信号、Ｂｌｕｅｔｏｏｔｈなどをさらに含むことができる。伝送信号にコード化されるコードまたはロジックを受信局および送信局または受信装置および送信装置でハードウェアまたはコンピュータ可読媒体にデコードし記憶できる場合、コードまたはロジックがコード化される伝送信号は、送信局によって送信し、受信局によって受信することができる。「プログラム（article of manufacture）」は、コードを実現できるコンピュータ可読媒体、ハードウェア・ロジック、または伝送信号、あるいはこれらの組み合わせを含む。上述の操作の諸実施形態を実現するコードがコード化される装置は、コンピュータ可読媒体またはハードウェア・ロジックを含むことができる。当然のことながら、当業者であれば、本発明の範囲を逸脱せずにこの構成に対して多くの変更を行うことができ、プログラムが当技術分野で知られている適切な情報伝送媒体を含むことができることを認識するであろう。
【００３９】
「一実施形態（an embodiment）」、「実施形態（embodiment）」、「諸実施形態（embodiments）」、「この実施形態（the embodiment）」、「これらの実施形態（the embodiments）」、「１つまたは複数の実施形態（one or more embodiments）」、「いくつかの実施形態（some embodiments）」、および「ある実施形態（one embodiment）」という用語は、特に明記されていない限り、「本発明（複数も可）の１つまたは複数（だがすべてではない）実施形態」を意味する。
【００４０】
「含む（including）」、「含む（comprising）」、「有する（having）」という用語ならびにその変形は、特に明記されていない限り、「含むがそれに限定されない」ことを意味する。
【００４１】
列挙された項目のリストは、特に明記されていない限り、それらの項目の一部または全部が互いに排他的であることを示すわけではない。
【００４２】
「１つの（a）」、「ある（an）」、および「その（the）」という用語は、特に明記されていない限り、「１つまたは複数」を意味する。
【００４３】
互いに連絡している装置は、特に明記されていない限り、互いに連続的に連絡している必要はない。加えて、互いに連絡している装置は、直接的に、あるいは１つまたは複数の仲介を介して間接的に、通信することができる。
【００４４】
互いに連絡しているいくつかのコンポーネントを含む一実施形態の記述は、このようなコンポーネントがすべて必要であることを示しているわけではない。これに反して、本発明について考えられる多様な実施形態を例示するために、様々な任意選択のコンポーネントが記載されている。
【００４５】
さらに、プロセス・ステップ、方法ステップ、アルゴリズムなどは、ある順序で記述することができるが、このようなプロセス、方法、およびアルゴリズムは、代替順序で機能するように構成することもできる。換言すれば、記述可能な任意の順番または順序のステップは必ずしも、それらのステップがその順序で実行されるという要件を示すわけではない。本明細書に記載されているプロセスのステップは、実用的な任意の順序で実行することができる。さらに、いくつかのステップは同時に実行することができる。
【００４６】
単一の装置またはプログラム（article）が本明細書に記載されている場合、単一の装置／プログラムの代わりに２つ以上の装置／プログラム（それらが協働するかどうかは問わない）を使用できることは容易に明らかになるであろう。同様に、２つ以上の装置またはプログラム（それらが協働するかどうかは問わない）が本明細書に記載されている場合、２つ以上の装置またはプログラムの代わりに単一の装置／プログラムを使用できるか、あるいは示されている数の装置またはプログラムの代わりに異なる数の装置／プログラムを使用できることは容易に明らかになるであろう。ある装置の機能または特徴あるいはその両方は、その代わりに、このような機能／特徴を有するものとして明示的に記載されていない１つまたは複数の他の装置によって具体化することができる。したがって、本発明のその他の諸実施形態はその装置そのものを含む必要はない。
【００４７】
図３、図４、図５、図６、および図７に例示されている操作は、特定の順序で発生する特定のイベントを示している。代替諸実施形態では、特定の操作を異なる順序で実行するか、変更するか、または除去することもできる。その上、上述のロジックにステップを追加することができ、そのステップが依然として上述の諸実施形態に適合することができる。さらに、本明細書に記載されている操作は順次実行できるかまたは特定の複数の操作を並行して処理することができる。さらに、操作は単一の処理装置によって実行するかまたは複数の分散処理装置によって実行することができる。
【００４８】
本発明の様々な諸実施形態に関する上記の記述は、例示および説明のために提示されたものである。網羅することまたは開示された正確な形式に本発明を限定することは意図されていない。上記の教示を考慮すると、多くの変更および変形が可能である。本発明の範囲は、この詳細な説明ではなく、むしろ特許請求の範囲によって制限されることが意図されている。上記の仕様、例、およびデータは、本発明の構成の製造および使用に関する完全な説明を提供するものである。本発明の精神および範囲を逸脱せずに本発明の多くの実施形態を作成できるので、本発明は特許請求の範囲に存在するものである。
【図面の簡単な説明】
【００４９】
【図１】ネットワーク・コンピューティング環境の一実施形態を示す図である。
【図２】当技術分野で知られているやり方でデータベース・アプリケーションがユーザ・データおよび例外情報を２つの異なる１次記憶装置に書き込む方法の一例を示す図である。
【図３】１次記憶装置を２次記憶装置にミラーリングするための操作の一実施形態を示す図である。
【図４】検出された障害をモニター・システムに伝達するための操作の一実施形態を示す図である。
【図５】検出された障害をモニター・システムに伝達するための操作の一実施形態を示す図である。
【図６】検出された障害を処理するための操作の一実施形態を示す図である。
【図７】ミラーリングされた２次記憶装置からのデータ回復を実行するための操作の一実施形態を示す図である。
【符号の説明】
【００５０】
２：ネットワーク
４ａ・・・４ｎ：１次制御ユニット
６ａ・・・６ｎ：１次記憶装置
８ａ・・・８ｎ：データ・ムーバ（ＳＤＭ）
１０ａ・・・１０ｎ：２次制御ユニット
１２ａ・・・１２ｎ：２次記憶装置
１４：ホスト
１６：モニター・システム
１８：システム・タイマ
２０：マスタ・データ・セット
２２ａ・・・２２ｎ：ジャーナル
２４：アプリケーション
２６：オペレーティング・システム
２８ａ・・・２８ｎ：オペレーティング・システム
３０ａ・・・３０ｎ：オペレーティング・システム
【図１】
2007164769.tif 000003
【図２】
2007164769.tif 000004
【図３】
2007164769.tif 000005
【図４】
2007164769.tif 000006
【図５】
2007164769.tif 000007
【図６】
2007164769.tif 000008
【図７】
2007164769.tif 000009