(57)【要約】      （修正有）【課題】システム内のいずれのサイトにもバックアップが存在しない時間を短縮する。【解決手段】互いに通信可能な複数のサイトの情報処理装置の１つに障害が生じた場合に、障害が生じた情報処理装置とは異なる他の情報処理装置が障害が生じた情報処理装置が行っていた処理を引き継ぐフェイルオーバに関する処理を行うフェイルオーバ処理部と、障害が生じた情報処理装置から他の情報処理装置にフェイルオーバが実行される場合に、障害が生じた情報処理装置を除く情報処理装置の何れかにおいて、フェイルオーバの対象となる処理を行うために必要となるデータである本番データが復元可能に管理されているかどうかを判断する復元可否判断部と、本番データが復元可能に管理されていない場合に、本番データを復元するために必要となるデータであるバックアップデータを生成するバックアップデータ生成部と、を備えることとする。【選択図】    図３
2005196683.tif 000002
【特許請求の範囲】
【請求項１】
複数のサイトの夫々に設置され、互いに通信可能に接続する情報処理装置と、
１つ以上の前記情報処理装置において実行されるプログラムにより実現される、
前記情報処理装置の１つに障害が生じた場合に、前記障害が生じた前記情報処理装置とは異なる他の前記情報処理装置が前記障害が生じた前記情報処理装置が行っていた処理を引き継ぐフェイルオーバに関する処理を行うフェイルオーバ処理部と、
前記障害が生じた前記情報処理装置から前記他の情報処理装置にフェイルオーバが実行される場合に、
前記障害が生じた前記情報処理装置を除く前記情報処理装置の何れかにおいて、前記フェイルオーバの対象となる処理を行うために必要となるデータである本番データが復元可能に管理されているかどうかを判断する復元可否判断部と、
前記本番データが復元可能に管理されていない場合に、前記本番データを復元するために必要となるデータであるバックアップデータを生成するバックアップデータ生成部と、を備えること、
を特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記復元可否判断部は、前記障害が生じた前記情報処理装置を除く前記情報処理装置の何れかにおいて、前記バックアップデータが生成されているかどうかを判断することにより、前記本番データが復元可能に管理されているかどうかを判断すること、
を特徴とする情報処理システム。
【請求項３】
請求項１に記載の情報処理システムであって、
１つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記フェイルオーバが実行される場合に、前記他の情報処理装置において前記本番データが復元可能に管理されているかどうかを問い合わせる問い合わせメッセージを前記他の情報処理装置に送信する問い合わせメッセージ送信部を備え、
前記復元可否判断部は、前記問い合わせメッセージ送信部が送信する前記問い合わせメッセージに対する、前記本番データが復元可能に管理されているかどうかを示す情報が設定されている応答を前記他の情報処理装置から受信し、受信した前記応答に応じて前記本番データが復元可能に管理されているかどうかを判断すること、
を特徴とする情報処理システム。
【請求項４】
請求項３に記載の情報処理システムであって、
前記問い合わせメッセージ送信部は、前記問い合わせメッセージに前記本番データの識別情報を付帯させて前記他の情報処理装置に送信し、
前記問い合わせメッセージを受信する前記情報処理装置は、
当該情報処理装置において実行されるプログラムによって実現される、
当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と前記本番データの識別情報とを対応付けて記憶するバックアップデータ管理情報記憶部と、
前記問い合わせメッセージを受信する問い合わせメッセージ受信部と、
前記問い合わせメッセージ受信部が受信する前記問い合わせメッセージに付帯される前記識別情報に対応する、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報を前記バックアップデータ管理情報記憶部から取得し、取得した当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信する問い合わせメッセージ応答部と、を備えること、
を特徴とする情報処理システム。
【請求項５】
請求項４に記載の情報処理システムであって、
前記バックアップデータ管理情報記憶部は、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報とを前記本番データの識別情報に対応付けて記憶し、
前記情報処理装置は、当該情報処理装置において実行されるプログラムによって実現される、前記バックアップデータを読み出すために必要な情報に基づいて前記バックアップデータを読み出すための処理を行うバックアップデータ読み出し部を備え、
前記問い合わせメッセージ応答部は、前記問い合わせメッセージ受信部が受信した前記問い合わせメッセージに付帯される前記識別情報に対応する、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報とを前記バックアップデータ管理情報記憶部から取得し、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報に応じて、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを判断し、
前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されていないと判断した場合、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信し、
前記問い合わせメッセージ応答部が当該情報処理装置において前記本番データが復元可能に管理されていると判断した場合、
前記バックアップデータ読み出し部は、前記識別情報に対応する前記バックアップデータを読み出すために必要な情報に基づいて、前記バックアップデータを読み出す処理を実行し、
前記処理が成功したときに、前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されている旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信し、
前記処理が失敗したときに、前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信すること、
を特徴とする情報処理システム。
【請求項６】
請求項４に記載の情報処理システムであって、
前記情報処理装置は、当該情報処理装置において実行されるプログラムにより実現される、前記本番データの識別情報と前記バックアップデータの有効期限を示す情報とを対応付けて記憶するバックアップデータ有効期限記憶部を備え、
前記問い合わせメッセージ応答部は、
前記問い合わせメッセージに付帯される前記識別情報に対応する前記バックアップデータの有効期限を示す情報を前記バックアップデータ有効期限記憶部から取得し、
前記有効期限が現在の日時以後である場合は、当該情報処理装置において前記本番データが復元可能に管理されている旨を示す情報を設定した前記応答を返信し、
前記有効期限が現在の日時よりも前である場合は、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を返信すること、
を特徴とする情報処理システム。
【請求項７】
請求項１に記載の情報処理システムであって、
１つ以上の前記情報処理装置において実行されるプログラムにより実現される、
前記本番データの識別情報と、前記本番データについて前記バックアップデータが前記情報処理装置の何れかにおいて管理される必要があるかどうかを示す情報である復元要否情報とを対応付けて記憶する復元要否管理部を備え、
前記復元可否判断部は、前記本番データに対応する前記復元要否情報を前記復元要否管理部から取得し、取得した前記復元要否情報が前記本番データについて前記バックアップデータが管理される必要があることを示す情報であった場合に、前記障害が生じた前記情報処理装置を除く前記情報処理装置の何れかにおいて、前記本番データが復元可能に管理されているかどうかの前記判断を行い、前記復元可否判断部が、前記本番データが復元可能に管理されていると判断したときに、バックアップデータ生成部は、前記バックアップデータを生成すること、
を特徴とする情報処理システム。
【請求項８】
請求項１に記載の情報処理システムであって、
１つ以上の前記情報処理装置において実行されるプログラムにより実現される、
前記本番データの識別情報と、前記本番データを復元可能に管理させる前記情報処理装置の識別情報とを対応付けて管理する復元データ管理先記憶部と、
前記バックアップデータ生成部は、前記復元データ管理先記憶部により前記本番データを管理させる前記情報処理装置を特定し、特定した前記情報処理装置に前記バックアップデータを生成させるように制御すること、
を特徴とする情報処理システム。
【請求項９】
請求項８に記載の情報処理システムであって、
１つ以上の前記情報処理装置において実行されるプログラムにより実現される、
前記本番データを管理させる情報処理装置に対して、前記本番データを復元可能に管理できるかどうかを問い合わせるバックアップ可否問い合わせメッセージを送信するバックアップ可否問い合わせメッセージ送信部を備え、
前記バックアップデータ生成部は、
前記バックアップ可否問い合わせメッセージ送信部が送信した前記バックアップ可否問い合わせに対する応答に前記本番データを復元可能に管理することができないことを示す情報が設定されていた場合、
前記障害が発生した前記情報処理装置及び前記特定した前記本番データを管理させる前記情報処理装置を除く前記情報処理装置の何れかに、前記バックアップデータを生成させるように制御すること、
を特徴とする情報処理システム。
【請求項１０】
請求項１に記載の情報処理システムであって、
少なくとも何れかの前記情報処理装置と通信可能に接続する第１及び第２の記憶装置を備え、
前記第１の記憶装置は前記本番データを記憶し、
１つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記バックアップデータ生成部が生成した前記バックアップデータを前記第２の記憶装置に記憶させるための制御を行うバックアップデータ制御部を備えること、
を特徴とする情報処理システム。
【請求項１１】
請求項１に記載の情報処理システムであって、
前記フェイルオーバ先となる前記情報処理装置と通信可能に接続する記憶装置を備え、
前記記憶装置は、当該記憶装置が提供する記憶領域に論理的に設定される記憶領域である第１及び第２の論理ボリュームを備え、
前記第１の論理ボリュームには、前記本番データが記憶され、
前記バックアップデータ生成部は、前記第１の論理ボリュームに記憶されている前記本番データの複製を前記第２の論理ボリュームに記憶するように制御すること、
を特徴とする情報処理システム。
【請求項１２】
請求項１に記載の情報処理システムであって、
前記情報処理装置は、当該情報処理装置において実行されるプログラムにより実現される、
当該情報処理装置に生じた障害を検出する障害検出部と、
他の前記情報処理装置との間で、検出した前記障害の種別を示す情報を含む障害情報を送受信する障害情報送受信部とを備え、
１つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記障害の種別を示す情報と、前記本番データについて復元可能に管理される必要があるかどうかを示す情報である復元要否情報とを対応付けて記憶する障害種別復元要否情報記憶部を備え、
前記フェイルオーバが実行された場合、
前記バックアップデータ生成部は、前記障害情報送受信部が受信した前記障害情報に含まれる前記障害の種別に対応する前記復元要否情報を前記障害種別復元要否情報記憶部から取得し、前記復元要否情報が前記本番データについて復元可能に管理される必要があることを示す情報である場合に、前記バックアップデータを生成すること、
を特徴とする情報処理システム。
【請求項１３】
請求項１に記載の情報処理システムであって、
前記情報処理装置は、当該情報処理装置において実行されるプログラムにより実現される、
当該情報処理装置に生じた障害を検出する障害検出部と、
他の前記情報処理装置との間で、検出した前記障害が生じた箇所を示す情報を含む障害情報を送受信する障害情報送受信部とを備え、
１つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記障害が生じた箇所を示す情報と、前記本番データについて復元可能に管理される必要があるかどうかを示す情報である復元要否情報とを対応付けて記憶する障害箇所復元要否情報記憶部を備え、
前記フェイルオーバが実行された場合、
前記バックアップデータ生成部は、前記障害情報送受信部が受信した前記障害情報に含まれる前記障害が生じた箇所に対応する前記復元要否情報を前記障害箇所復元要否情報記憶部から取得し、前記復元要否情報が前記本番データについて復元可能に管理される必要があることを示す情報である場合に、前記バックアップデータを生成すること、
を特徴とする情報処理システム。
【請求項１４】
請求項１に記載の情報処理システムであって、
第１の前記サイトに設置され、前記障害の生じた第１の前記情報処理装置に通信可能に接続する第１の記憶装置と、
前記第１の情報処理装置に障害が生じた場合に前記第１の情報処理装置が行っていた処理を引き継ぐ第２の情報処理装置及び前記第１の記憶装置の夫々に通信可能に接続し、前記第１の記憶装置に記憶されている前記本番データの複製を記憶する第２の記憶装置と、
前記第２の記憶装置に記憶されているデータを復元するために必要な前記バックアップデータを記憶するバックアップ装置と、
１つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記フェイルオーバが実行される場合に、前記バックアップデータ生成部が生成した前記バックアップデータを前記バックアップ装置に記憶させるように制御するバックアップ処理部と、を備えること、
を特徴とする情報処理システム。
【請求項１５】
請求項１４に記載の情報処理システムであって、
前記第１の記憶装置は、前記第１の記憶装置が提供する記憶領域に論理的に設定される記憶領域である第１の論理ボリュームを備え、前記第１の論理ボリュームに前記本番データを記憶し、
前記第２の記憶装置は、前記第１の論理ボリュームに記憶されているデータの複製を記憶する第２の論理ボリュームを備え、
前記第１の記憶装置は、前記第１の論理ボリュームにデータが書き込まれた場合に、書き込まれたデータの複製を前記第２の記憶装置に送信する書き込みデータ送信部を備え、
前記第２の記憶装置は、前記書き込みデータを受信する書き込みデータ受信部と、受信した書き込みデータを前記第２の論理ボリュームに書き込む論理ボリューム制御部と、を備えること、
を特徴とする情報処理システム。
【請求項１６】
複数のサイトの夫々に設置される情報処理装置であって、
他の前記サイトに設置される前記情報処理装置と通信可能に接続し、
前記他の情報処理装置に前記障害が生じた場合に、前記他の情報処理装置が行っていた処理を引き継ぐフェイルオーバに関する処理を行うフェイルオーバ処理部と、
前記フェイルオーバの対象となる処理を行うために必要となる本番データが、当該情報処理装置、又は前記障害が生じた前記情報処理装置を除く他の情報処理装置の何れかにおいて、復元可能に管理されているかどうかを判断する復元可否判断部と、
前記本番データが復元可能に管理されていない場合、前記データを復元するために必要となるバックアップデータを生成するバックアップデータ生成部と、を備えること、
を特徴とする情報処理装置。
【請求項１７】
請求項１６に記載の情報処理装置であって、
前記他の情報処理装置において前記本番データが復元可能に管理されているかどうかを問い合わせる問い合わせメッセージに前記本番データの識別情報を付帯させて前記他の前記情報処理装置に送信する問い合わせメッセージ送信部と、
前記問い合わせメッセージを受信する問い合わせメッセージ受信部と、
当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と前記識別情報とを対応付けて記憶するバックアップデータ管理情報記憶部と、
前記問い合わせメッセージ受信部が受信した前記問い合わせメッセージに付帯される前記識別情報に対応する、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信する問い合わせメッセージ応答部と、を備え、
前記復元可否判断部は、前記問い合わせメッセージ送信部が送信する前記問い合わせメッセージに対する前記応答に前記本番データが復元可能に管理されていることを示す情報が設定されているかどうかに応じて、前記本番データが復元可能に管理されているかどうかを判断すること、
を特徴とする情報処理装置。
【請求項１８】
請求項１７に記載の情報処理装置であって、
前記バックアップデータ管理情報記憶部は、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報とを前記本番データの識別情報に対応付けて記憶し、
前記バックアップデータを読み出すために必要な情報に基づいて前記バックアップデータを読み出すバックアップデータ読み出し部を備え、
前記問い合わせメッセージ応答部は、前記問い合わせメッセージ受信部が受信した前記問い合わせメッセージに付帯される前記識別情報に対応する、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報とを前記バックアップデータ管理情報記憶部から取得し、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを判断し、
前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されていないと判断した場合、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信し、
前記問い合わせメッセージ応答部が当該情報処理装置において前記本番データが復元可能に管理されていると判断した場合、
前記バックアップデータ読み出し部は、取得した前記バックアップデータを読み出すために必要な情報に基づいて前記バックアップデータを読み出す処理を実行し、
前記処理が成功したときに、前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されている旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信し、
前記処理が失敗したときに、前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を返信すること、
を特徴とする情報処理装置。
【請求項１９】
請求項１７に記載の情報処理装置であって、
前記バックアップデータ管理情報記憶部は、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報と、前記バックアップデータの有効期限を示す情報とを前記本番データの識別情報に対応付けて記憶し、
当該情報処理装置と共に前記フェイルオーバを実行するためのクラスタを構成する他の情報処理装置の夫々について、前記他の情報処理装置の識別情報を記憶するサイト情報記憶部と、
を備え、
前記問い合わせメッセージ送信部は、前記サイト情報記憶部が記憶している前記情報処理装置の識別情報に対応する前記情報処理装置の夫々に対して前記問い合わせメッセージを送信し、
前記問い合わせメッセージ応答部は、
前記問い合わせメッセージに付帯される前記本番データの識別情報に対応する前記バックアップデータの有効期限をバックアップデータ管理情報記憶部から取得し、
前記有効期限が現在の日時以後である場合は、当該情報処理装置において前記本番データが復元可能に管理されている旨を示す情報を設定した前記応答を返信し、
前記有効期限が現在の日時よりも前である場合は、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を返信すること、
を特徴とする情報処理装置。
【請求項２０】
複数のサイトの夫々に設置される情報処理装置が互いに通信可能に接続し、前記情報処理装置の１つに障害が生じた場合に、前記障害が生じた前記情報処理装置とは異なる他の前記情報処理装置が前記障害が生じた前記情報処理装置が行っていた処理を引き継ぐフェイルオーバ型クラスタを構成する情報処理システムの制御方法であって、
前記障害が生じた前記情報処理装置から他の前記情報処理装置にフェイルオーバが実行される場合に、
前記情報処理装置が前記フェイルオーバの対象となる処理を行うために必要となる本番データが、前記障害が生じた前記情報処理装置を除く一群の前記情報処理装置の何れかにおいて、復元可能な状態に管理されているかどうかを判断し、
前記本番データが復元可能な状態に管理されていない場合、前記データを復元するために必要となるバックアップデータを生成すること、
を特徴とする情報処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、及び情報処理システムの制御方法に関する。
【背景技術】
【０００２】
情報処理システムにおける災害復旧（ディザスタリカバリ）が注目されている。ディザスタリカバリを実現する技術として、プライマリサイトに設置されている記憶装置のデータの複製を、これとは遠隔したリモートサイトに設置されている記憶装置においても管理する技術が知られている。プライマリサイトの被災時に、リモートサイトのコンピュータは、プライマリサイトのコンピュータが行っていた処理を引き継ぐ、いわゆるフェイルオーバを行い、リモートサイトの記憶装置に複製されているデータを使用して処理を継続する。
【０００３】
また、情報処理システムでは、データに対するミスオペレーションやウイルスの感染等のデータに対する予期せぬ障害が発生することがある。そのような場合に過去の時点のデータを復旧できるように、プライマリサイト又はリモートサイトのいずれかにおいて定期的にデータの複製がバックアップされる。
【特許文献１】米国特許第５，１５５，８４５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、バックアップが実行されるサイトにおいて障害が発生した場合、そのサイトの処理は他のサイトによって引き継がれるが、データのバックアップが行われるまでの間はバックアップデータが存在しない。この場合、フェイルオーバ先となったサイトにおいて災害やその他の障害が発生してしまうと、データを復旧することができないというおそれがある。
【０００５】
本発明は、このような背景を鑑みてなされたものであり、システム内にバックアップの存在しない時間を短縮する情報処理システム、情報処理装置、及び情報処理システムの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明のうち主たる発明のひとつは、情報処理システムであって、複数のサイトの夫々に設置され、互いに通信可能に接続する情報処理装置と、１つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記情報処理装置の１つに障害が生じた場合に、前記障害が生じた前記情報処理装置とは異なる他の前記情報処理装置が前記障害が生じた前記情報処理装置が行っていた処理を引き継ぐフェイルオーバに関する処理を行うフェイルオーバ処理部と、前記障害が生じた前記情報処理装置から前記他の情報処理装置にフェイルオーバが実行される場合に、前記障害が生じた前記情報処理装置を除く前記情報処理装置の何れかにおいて、前記フェイルオーバの対象となる処理を行うために必要となるデータである本番データが復元可能に管理されているかどうかを判断する復元可否判断部と、前記本番データが復元可能に管理されていない場合に、前記本番データを復元するために必要となるデータであるバックアップデータを生成するバックアップデータ生成部と、を備えることとする。
【発明の効果】
【０００７】
本発明によれば、システム内にバックアップの存在しない時間を短縮する情報処理システム、情報処理装置、及び情報処理システムの制御方法を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を適用したクラスタシステムについて説明する。クラスタシステムとは、システムの冗長化を図るための手段の一つとして知られるクラスタ技術を用いた情報処理システムである。クラスタシステムでは、予めコンピュータに何らかの障害が発生した場合を想定し、処理を行う第１のコンピュータとは別の第２のコンピュータを準備する。なお、以下の説明において、クラスタを構成するコンピュータは、情報処理装置又はノードとも称する。
【０００９】
第１のコンピュータは、第１のコンピュータに発生した障害を検出する（障害検出部）と、第２のコンピュータに対して障害に関する情報を送信する（障害情報送受信部）。第２のコンピュータは、第１のコンピュータから障害に関する情報を受信したり（障害情報送受信部）、第１のコンピュータとの間での通信が行えなくなったことを検知したりすることにより、第１のコンピュータにおける障害を検出する（障害検出部）。
【００１０】
処理を行っている第１のコンピュータに何らかの障害が発生すると、第２のコンピュータが処理を引き継ぎ（フェイルオーバ）、システム全体として処理を継続することができる。このようにして、フェイルオーバ型のクラスタは、コンピュータシステムの信頼性及び可用性を高めている。そのため、クラスタは各種の重要なシステムに採用されている。
【００１１】
今日のコンピュータシステムでは、コンピュータが貴重な情報を持つようになり、天災などに遭遇してもデータを安全に保持することが求められている。そのため、上述したクラスタによる可用性の向上に加え、データの冗長化及びデータの回復手段をコンピュータシステムが有することが期待されている。
【００１２】
データの冗長化という面について、複数の記憶装置間でデータの複製（コピー）を保持する技術（以下、リモートコピーと称する）がある。記憶装置によってはコンピュータに介在されることなく、複数の記憶装置同士でリモートコピーを行うことができるものもある。リモートコピーの技術によれば、２つの記憶装置間で、指定された時点のデータの複製を記憶することができる。なお、以下の説明において、記憶装置のことを記憶システムとも称する。
【００１３】
また、第１の記憶装置に書き込まれたデータを随時第２の記憶装置に送信し、第２の記憶装置において受信したデータを書き込むようにすることもできる。２つの記憶装置のうちの１つ（第１の記憶装置）に書き込まれたデータは、第２の記憶装置に対して送信される（書き込みデータ送信部）。第２の記憶装置では、第１の記憶装置から書き込みデータを受信し（書き込みデータ受信部）、受信した書き込みデータを記憶する。これにより、第１の記憶装置に記憶されているデータと、第２の記憶装置に記憶されているデータとが同じ内容に更新される。このように、リモートコピーを中止するまでの間、リモートコピー元に書き込まれたデータがリモートコピー先にも書き込まれ、２つの記憶装置間でデータの内容を同期させることができる。
【００１４】
上記ようなリモートコピーの技術とクラスタの技術とを組み合わせ、システムとデータの冗長性を強化することができる。これにより、コンピュータシステムの信頼性や可用性を高めることができる。
【００１５】
一方、記憶装置の故障や災害等によるデータ喪失や、ユーザによるミスオペレーション等によるデータの破壊からデータを回復するために、データを復元可能な状態に管理するバックアップ技術が知られている。復元可能な状態に管理することとは、例えば、記憶装置に記憶されている情報処理を行う上で必要なデータ（以下、本番データと称する）の複製を他の記憶装置に記憶することである。バックアップ処理において、あらかじめ定めた時刻や管理者が指示を行ったタイミングで、本番データを別の記憶媒体にコピーする。記憶媒体としては、フロッピーディスクやハードディスク、磁気テープ、ＣＤ−Ｒ、ＤＶＤ−ＲＡＭ等が用いられる。なお、本番データを復元するために必要なデータ（以下、バックアップデータと称する）は、データの単純な複製に限らず、例えば、圧縮されたデータや、元の本番データを再現するために必要なハッシュ値などとしてもよい。
【００１６】
上述したリモートコピーの技術とクラスタの技術とを組み合わせるシステムにおいて、リモートコピーにより、あるサイトの記憶装置が記憶するデータが、他サイト（遠隔地であることが多い）の記憶装置に複製（コピー）される。この場合、コピー元のデータに対する変更はコピー先にも反映される。従って、例えば、コピー元のデータを誤って修正してしまった場合や、コピー元のデータがウィルスに感染した場合等、コピー元のデータが破壊されてしまった場合、コピー先データも同様に破壊されてしまう。このような事態に備えるため、前記リモートコピーによるコピーとは別に、バックアップによりデータの複製を取ることが望ましい。
【００１７】
また、リモートコピーでは常に最新のデータが保たれるものの、データ間の一貫性が保障されているわけではない。すなわち、データＡとデータＢの両方で１つの情報をあらわす場合、データＡのみを更新した時点のデータでは一貫性がなく、データＡとデータＢの両方を更新した時点で一貫性が取られる。そのため、記録するデータによっては、データ間の一貫性が保たれた状態でデータを保管しておくために、バックアップを行うこともある。
【００１８】
バックアップを行う場合、どこにバックアップするかが重要である。例えば、記憶装置内のデータを記憶している物理ディスクが故障してもデータを喪失しないようにするには、別の物理ディスクにバックアップすればよい。また、記憶装置が設置されている場所（サイト）に災害が発生した場合等に本番データを喪失しないようにするために、同じ記憶装置内にバックアップする以外にも、例えば、上述したリモートコピーの技術を利用し、地理的に遠隔した場所にバックアップすることもできる。
【００１９】
また、バックアップを行う場合、どの程度の間隔でバックアップの処理を行うのかも重要である。今日の情報処理において取り扱われるデータの量は増加しており、あまり頻度多くバックアップを行うと、バックアップ処理にかかる負荷により、システム全体の処理効率が低下してしまうおそれがある。一般的に、クラスタシステムにおいて、数時間から１日毎にバックアップ処理が行われる。バックアップ処理の頻度は、バックアップ処理が行われてから、次にバックアップ処理が行われるまでの間に本番データを喪失しても、何らかの方法でそのデータを復旧することができる期間を指定するのが一般的である。そのため、バックアップデータから本番データを復旧することができなくなる恐れのある時点をそのバックアップデータの有効期限として設定し、有効期限よりも前にバックアップ処理を行うことが期待されている。
【００２０】
＝＝＝第１の実施の形態＝＝＝
以下に、２台のコンピュータ（情報処理装置）によりクラスタを構成しているクラスタシステムに本発明を適用した実施の形態を説明する。図１は、本実施の形態に係るクラスタシステムの全体構成を示す図である。図１に示すコンピュータシステムでは、クライアント装置６０から第１の情報処理装置１０に対してリクエストが送信され、第１の情報処理装置１０は受信したリクエストに応じて各種の情報処理を行う。
【００２１】
第１の情報処理装置１０は、第１のサイトに設置されている。第１の情報処理装置１０はネットワーク６０に接続し、クライアント装置５０との間で通信を行う。また、第１のサイトから遠隔した第２のサイトに第２の情報処理装置２０が設置されている。第１及び第２のサイトは、例えば、コンピュータや記憶装置が設置されるデータセンタである。第２の情報処理装置２０もネットワーク６０に接続し、第１の情報処理装置１０及びクライアント装置５０との間で通信を行うことができる。
【００２２】
第１の情報処理装置１０及び第２の情報処理装置２０はいずれも、ＣＰＵ（Central Processing Unit）やメモリを備えるコンピュータである。第１の情報処理装置１０及び第２の情報処理装置２０は、例えば、パーソナルコンピュータやワークステーション、メインフレームなどである。第１の情報処理装置１０及び第２の情報処理装置２０が備えるＣＰＵは、例えば、Ｗｉｎｄｏｗｓ（登録商標）やＵＮＩＸ（登録商標）等のオペレーティングシステムを実行する。上記オペレーティングシステムを実現するためのプログラムは、第１の情報処理装置１０及び第２の情報処理装置２０のメモリに記憶されている。また、第１の情報処理装置１０及び第２の情報処理装置２０が備えるＣＰＵは、メモリに記憶されている各種のアプリケーションプログラムをオペレーティングシステム上で実行し、各種の情報処理サービスや、クラスタサービス、後述するバックアップ処理等の機能を提供する。なお、上記オペレーティングシステムを実現するプログラムやアプリケーションプログラムは、例えば、ハードディスクや半導体ディスク、光ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記憶媒体に記憶され、メモリに読み出されるようにしてもよい。
【００２３】
第１の情報処理装置１０及び第２の情報処理装置２０はそれぞれ記憶装置と接続している。第１の記憶装置３０は第１の情報処理装置１０に接続し、第１の情報処理装置１０に記憶ボリュームを提供している。第２の記憶装置４０は第２の情報処理装置２０に接続し、第２の情報処理装置２０に記憶ボリュームを提供している。ここで、記憶ボリュームとは、ハードディスク装置や半導体記憶装置等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む記憶リソースである。第１の記憶装置３０及び第２の記憶装置４０は、記憶ボリュームを複数備えることができる。図１に示すように、第１の記憶装置３０及び第２の記憶装置４０は夫々２つの記憶ボリュームを備えている。第１の記憶装置３０が備える記憶ボリューム３１は、第１の記憶装置３０が第１の情報処理装置１０に提供する記憶リソースである。記憶ボリューム３１には第１の情報処理装置１０において実行されるアプリケーションプログラムがアクセスする本番データが記憶されている。本番データは、例えば、データベースの表領域として確保された記憶領域やファイルシステム上のファイルといった単位で記憶されているデータである。本番データは、論理ボリュームに記憶されているデータ全体としてもよいし、任意の記憶領域に記憶されているデータとしてもよい。第１の情報処理装置１０は、記憶ボリューム３１に記憶されている本番データに適宜アクセスしながら情報処理を行う。なお、第１の情報処理装置１０のＣＰＵが実行するアプリケーションプログラムは第１の記憶装置３０の記憶ボリュームに記憶されるようにしてもよい。同様に、第２の情報処理装置２０において実行されるアプリケーションプログラムは、第２の記憶装置４０の記憶ボリュームに記憶されるようにしてもよい。
【００２４】
第１の記憶装置３０と第２の記憶装置４０とは通信経路７０で接続している。図１において、通信経路７０はネットワーク６０とは異なる通信経路であるが、ネットワーク６０を介して接続するようにしてもよい。
【００２５】
第１の記憶装置３０と第２の記憶装置４０との間ではリモートコピーが行われる。第１の記憶装置３０がリモートコピー元となり、第２の記憶装置４０がリモートコピー先となる。第１の記憶装置３０が記憶ボリューム３１に記憶している本番データの複製を、第２の記憶装置４０の記憶ボリューム４１が記憶する。第１の記憶装置３０は、記憶ボリューム３１に対して書き込まれた書き込みデータを第２の記憶装置４０に送信する（書き込みデータ送信部）。第２の記憶装置４０は第１の記憶装置３０から書き込みデータを受信し（書き込みデータ受信部）、記憶ボリューム４１に書き込み（論理ボリューム制御部）、記憶ボリューム３１に記憶されているデータの内容と記憶ボリューム４１に記憶されているデータの内容とが同じになるようにする。リモートコピーにより第１の記憶装置３０に記憶されている本番データの複製が第２の記憶装置４０にも記憶されることにより、本番データの冗長度が上がり、本番データの保全性が高まる。なお、第１の情報処理装置１０において実行されるアプリケーションプログラムが第１の記憶装置３０に記憶されている場合、第１の記憶装置３０に記憶されているアプリケーションプログラムの複製がリモートコピーにより第２の記憶装置４０に記憶されるようにしてもよい。この場合、第２の情報処理装置２０は、第２の記憶装置４０にリモートコピーされたアプリケーションプログラムを実行することができる。これにより、第１の情報処理装置１０が実行するアプリケーションプログラムと、第２の情報処理装置２０が実行するアプリケーションプログラムとの整合性を保つことができる。
【００２６】
また、本実施の形態では、第１の記憶装置３０から第２の記憶装置４０へのリモートコピー以外にも、第１の記憶装置３０が記憶しているデータのバックアップをとることにより本番データの保全性を高めている。第１の情報処理装置１０がバックアップを指示するコマンド（バックアップコマンド）を第１の記憶装置３０に送信し（バックアップデータ生成部）、第１の記憶装置３０がバックアップを行う。第１の記憶装置３０は、記憶ボリューム３１（第１の論理ボリューム）に記憶されている本番データの複製を記憶ボリューム３２（第２の論理ボリューム）に記憶させてバックアップを行う。ここで、第１の情報処理装置１０は、例えば、本番データの識別情報と記憶ボリューム３２の識別情報とを対応付けて記憶し、第１の記憶装置３０が本番データを復元可能にするためのバックアップデータを記憶していることを管理することができる。バックアップにより、例えば、本番データに対して管理者がミスオペレーションを行ったり、本番データにウイルスが感染したりしてしまった場合にも、過去の時点のデータに復旧できるようにすることができる。  なお、上記の記憶装置３０が行うバックアップに替えて、第１の情報処理装置１０が記憶ボリューム３１からデータを読み出し、バックアップ装置にデータを書き込むというバックアップ処理を第１の情報処理装置１０が行うようにしてもよい。第１の情報処理装置１０がバックアップ処理を担当することにより、記憶装置の処理負荷を軽減することができる。
【００２７】
また、本実施の形態においては、本番データは論理ボリューム単位でリモートコピー及びバックアップされるものとするが、論理ボリューム単位ではなく、物理ボリューム単位としてもよいし、記憶ボリュームの一部の記憶領域単位としてもよい。
【００２８】
また、本番データは記憶装置とは別体のバックアップ装置にバックアップされるようにしてもよい。バックアップ装置としては、例えば、フロッピーディスクドライブやハードディスクドライブ、磁気テープ装置、ＣＤ−Ｒドライブ、ＤＶＤ−ＲＡＭドライブ等を用いることができる。この場合、例えば、バックアップ装置は、情報処理装置や記憶装置に直接接続する形態としてもよいし、ネットワーク６０に接続し、ネットワーク経由でバックアップするデータを送信するような形態としてもよい。
【００２９】
このようなクラスタシステムにおいて、第１の情報処理装置１０で実行されるクラスタサービスは、例えば、第２の情報処理装置２０に対して定期的にメッセージを送信し、第２の情報処理装置２０が応答を返すかどうかを確認するハートビート処理を行う。また、クラスタサービスは、第１の情報処理装置１０で発生した障害や、第１の情報処理装置１０に接続する機器に発生した障害、通信経路におけるエラー等を示すメッセージを第２の情報処理装置２０に送信する障害通知処理も行う。このような、ハートビート処理や障害通知処理は、第２の情報処理装置２０においても同様に実現され、互いに障害に関する情報を送受信する（障害情報送受信部）ことにより、情報処理装置に生じた障害を検出する。
【００３０】
第２の情報処理装置２０は、上記のハードビート処理や第１の情報処理装置１０からの障害通知によって、第１のサイトにおける障害を検出する（障害検出部）。第２の情報処理装置２０が第１のサイトにおける障害を検出した場合、第１の情報処理装置１０が実行していた処理を引き継ぐ（フェイルオーバする：フェイルオーバ処理部）。
【００３１】
第１の情報処理装置１０が実行していた処理が第２の情報処理装置２０に引き継がれると、第２の情報処理装置２０は、第２の記憶装置４０に対して利用を開始する旨のメッセージを送信する等の利用開始処理を行う。この利用開始処理を、ディスクリソースをオンラインにすると呼ぶ。第２の記憶装置４０には、第１の記憶装置３０に記憶さていた本番データの複製が記憶されているため、第２の情報処理装置２０は第２の記憶装置４０にアクセスすることにより、第１の情報処理装置が行っていた処理に用いられる本番データを取り扱うことができる。
【００３２】
このとき、第１の記憶装置３０に障害が発生していなければ、第２の情報処理装置２０に接続される第２の記憶装置４０をリモートコピー元とし、第１の記憶装置３０をリモートコピー先となるように設定することもできる。記憶装置のリモートコピーの向きを入れ替える（コピー元とコピー先を入れ替える）ことにより、クラスタシステム全体の稼動を停止することなくリモートコピーを継続することができる。クラスタシステム内でのリモートコピーを継続することにより、クラスタシステム内に記憶されているデータの冗長性を保ち、データの保全性を高めることができる。
【００３３】
また、第１の情報処理装置１０が第１の記憶装置３０に対して行っていたバックアップを、第２の情報処理装置２０も行う。第２の情報処理装置は、第２の記憶装置４０に対してバックアップコマンドを送信し（バックアップデータ生成部）、第２の記憶装置４０が記憶ボリューム４１（第１の論理ボリューム）に記憶されているデータを記憶ボリューム４２（第２の論理ボリューム）に複製することによりバックアップを行う。第２の記憶装置４０は、記憶ボリューム４２にバックアップを取ることにより、可搬型媒体に比べ一般的に高速なバックアップが可能となる。しかしながら、第１の記憶装置３０及び第２の記憶装置４０において、バックアップ先となる装置は記憶ボリュームに限らず、例えば、外部のバックアップ機器を用いることもできる。外部のバックアップ装置としては、例えば、テープドライブや光ディスクドライブ、ハードディスクドライブ等の記憶装置を用いることができる。バックアップ先として可搬型記憶媒体を用いることにより、例えば、物理的に遠隔した場所に記憶媒体を保存することにより、データの保全性を高めることができる。
【００３４】
図１に示したクラスタシステムのように、リモートコピーの技術とクラスタの技術を組み合わせて構築したシステムでは、例えば、第１のサイトにおいて機器の故障や被災等の障害が発生すると、第１の情報処理装置１０で行われていた処理を第２の情報処理装置２０が引き継ぐ。これにより、第１の情報処理措置１０で行われていた処理は継続される。しかしながら、第１のサイトで本番データのバックアップを定期的に行っていた場合、上記のような障害により、バックアップしたデータを失う可能性がある。このとき、第２のサイトにおいて次のバックアップが行われるまでの間、バックアップされたデータはシステム内に存在しない。そのため、例えば、この間に本番データが破壊されてしまうと、バックアップから本番データの復旧を行うことができなくなってしまうおそれがある。この危険性を減らすため、以下のようなバックアップの処理を行う。
【００３５】
＝＝＝フェイルオーバ後のバックアップ処理概要＝＝＝
次に、第１の情報処理装置１０から第２の情報処理装置２０へのフェイルオーバが行われた際に行われるバックアップ処理の概要を説明する。
【００３６】
図２は、フェイルオーバ時に第２の情報処理装置２０において行われる処理の流れの概略を示す図である。以下の処理は、第２の情報処理装置２０のＣＰＵが、メモリに記憶されているアプリケーションプログラムを実行することによって実現される。  
第２の情報処理装置２０は、第１のサイトにおける障害を検出すると（ステップ２０１）、第１の情報処理装置１０の処理を引き継ぐフェイルオーバ処理を行う（ステップ２０２）。第２の情報処理装置２０は後述するようにバックアップが必要であるかどうかを判断（ステップ２０３）する。第２の情報処理装置２０は、バックアップが必要と判断した場合（ステップ２０３：Ｎｏ）、バックアップ処理を行う（ステップ２０４）。なお、バックアップ処理は、第２の情報処理装置２０が第２の記憶装置４０にバックアップを指示するコマンドを送信することにより行われる。  
バックアップが必要であるかどうかを判断するために、第２の情報処理装置２０は、バックアップ保持条件とデータ一覧表とをメモリに記憶している。以下にこれらについて説明する。
【００３７】
＝＝＝バックアップ保持条件＝＝＝
バックアップ保持条件（復元要否管理部）は、本番データがバックアップを必要としているかどうか（復元要否情報）と、バックアップが必要である場合にはどれくらいの間隔でバックアップを行う必要があるのか、といった情報を設定するためのテーブルである。図３は、バックアップ保持条件の一例を示す図である。図３に示すように、バックアップ保持条件は、本番データ識別情報欄３０１、バックアップ要否欄３０２、バックアップ間隔欄３０３を備える。  
本番データ識別情報欄３０１には、第１の記憶装置３０の記憶ボリューム３１に記憶されている本番データを識別する名称が設定される。本番データ識別情報欄３０１には、例えば「Ａ社顧客データ」や「テーブル領域」等の名称を設定するようにしてもよいし、各データに割り当てた番号等を設定するようにしてもよい。  
バックアップ要否欄３０２には、データ名欄３０１が示す本番データがバックアップを必要としているかどうかを示す情報が設定される。当該本番データがバックアップを必要としている場合、バックアップ間隔欄３０３に、定期的に本番データがバックアップされる時間間隔が設定される。
【００３８】
＝＝＝データ一覧表＝＝＝
次に、データ一覧表について説明する。データ一覧表は、情報処理装置がアクセスすることができるデータの一覧を設定するテーブルである。図４は、データ一覧表の一例を示す図である。図４に示すように、データ一覧表は、論理ボリューム識別情報欄４０１、本番データ識別情報欄４０２、データ種別欄４０３を備える。
【００３９】
論理ボリューム識別情報欄４０１には、情報処理装置が本番データ又はバックアップデータにアクセスするために必要な情報が設定される。本実施の形態では、本番データは論理ボリューム単位にバックアップされるため、論理ボリュームの識別情報であるＬＵＮ（Logical Unit Number）が論理ボリューム識別情報欄４０２に設定される。
【００４０】
本番データ識別情報欄４０２には、上記バックアップ保持条件の本番データ識別情報欄３０１と同様に、本番データを識別する名称が設定される。本番データ識別情報欄４０２に設定される名称によって、バックアップ保持条件とデータ一覧表とが対応付けられる。
【００４１】
第２の情報処理装置２０は、例えば、「Ａ社顧客データ」についてのバックアップデータが「ボリューム２」に記憶されていることを判断し、「ボリューム２」が示す論理ボリュームに対する読み出し要求を第２の記憶装置４０に送信することで、バックアップデータを読み出す（バックアップデータ読み出し部）ことができる。
【００４２】
データ種別欄４０３には、第２の記憶装置４０に記憶されているデータの種別を示す情報が設定される。第１の記憶装置３０からリモートコピーによって第２の記憶装置４０に複製されたバックアップデータを記憶している論理ボリュームに対応するデータ種別欄４０３には「リモートコピーデータ」が設定される。また、第２の記憶装置４０内でバックアップデータを他の論理ボリュームにバックアップした場合、バックアップ先となる論理ボリュームに対応するデータ種別欄４０３には「バックアップデータ」が設定される。また、第２の情報処理装置２０から第２の記憶装置４０に対して読み書きされる本番データについてはデータ種別に「マスタデータ」が設定される。また、データ種別欄４０３に「バックアップデータ」が設定される場合、バックアップが行われた日時（バックアップ日時）が付帯されて設定される。
【００４３】
第２の情報処理装置２０は、データ一覧表（バックアップデータ管理情報管理部）によりバックアップデータが存在するかどうかを判断することができる。また、第２の情報処理装置２０は、バックアップデータについて、データ一覧表のデータ種別欄４０３からバックアップされた日時を把握することができる。これにより、例えば、第２の情報処理装置２０は、バックアップされた日時から上記バックアップ保持条件に設定されているバックアップ間隔後をバックアップデータの有効期限として、有効なバックアップデータが存在するかどうかを判断することができる。すなわち、バックアップデータの有効期限を設定することができる（バックアップ有効期限記憶部）。なお、データ一覧表には、バックアップの履歴として、複数のレコードを記憶するようにしてもよい。
【００４４】
なお、バックアップ保持条件及びデータ一覧表は、例えば、管理者が設定し、情報処理装置のＲＡＭやハードディスク等の記憶装置に記憶しておくことができる。データ一覧表は、例えば、定期的に記憶装置にアクセスし、記憶装置に記憶されているデータに関する情報を記憶装置から取得するようにしてデータ一覧表を作成や更新をするようにしてもよい。
【００４５】
また、バックアップ保持条件及びデータ一覧表は、第１の情報処理装置１０においても記憶される。第１の情報処理装置１０は、バックアップ保持条件を参照し、バックアップの必要なデータ名を取得する。取得したデータ名をキーとして、データ一覧表からバックアップ対象となる論理ボリュームの識別情報を取得する。取得した論理ボリュームの識別情報が示す論理ボリュームについて、記憶ボリューム３１から記憶ボリューム３２へバックアップを行う。
【００４６】
なお、バックアップ保持条件及びデータ一覧表は、第１の情報処理装置１０と第２の情報処理装置２０との間で共有するようにしてもよい。例えば、第１の情報処理装置１０は、記憶しているバックアップ保持条件及びデータ一覧表を、定期的に第２の情報処理装置２０に送信するようにしてもよい。これにより、例えば、管理者は第１の情報処理装置１０が記憶しているバックアップ保持条件及びデータ一覧表を更新するのみで、第２の情報処理装置２０にもその更新を反映することができる。従って、複数のサイトに設定を行う管理者の負担が軽減される。
【００４７】
また、バックアップ保持条件及びデータ一覧表は、第１の情報処理装置１０及び第２の情報処理装置２０のメモリに限らず、例えば、情報処理装置が備えるハードディスク等の記憶媒体に記憶されるようにしてもよい。また、バックアップ保持条件及びデータ一覧表は、第１の記憶装置３０及び第２の記憶装置４０に記憶されるようにしてもよい。
【００４８】
＝＝＝フェイルオーバ後のバックアップ処理＝＝＝
図５は、第２の情報処理装置２０において行われるバックアップ処理の流れを示すフローチャートである。第２の情報処理装置２０は、第１の情報処理装置１０からのフェイルオーバに関するフェイルオーバ処理が行われた後に、以下の処理を行う。
【００４９】
第２の情報処理装置２０は、バックアップ保持条件の各レコードに対応する本番データについて、以下の処理を行う。  
バックアップ要否欄３０２を参照し、本番データがバックアップを取ることを必要としているかどうかを判断する（ステップ５０１）。  
当該レコードに対応する本番データがバックアップを取ることを必要としていれば（ステップ５０１:必要）、バックアップ間隔欄３０３からバックアップを取る間隔を取得する（ステップ５０２）。  
データ一覧表から、データ名をキーとし、データ種別欄３０１に「バックアップ」が設定されており、データ種別欄４０３に付帯されている日時が、現在の日時から上記バックアップ間隔以前よりも新しいという条件に適合するレコードを検索する（ステップ５０３）。  
上記の条件に適合するレコードがある場合（ステップ５０４：Ｙｅｓ）、バックアップが存在していると判断し（バックアップ決定部）、処理を終了する。  
上記条件に適合するレコードが存在しない場合（ステップ５０４：Ｎｏ）、当該本番データについてバックアップが存在しないと判断し、バックアップを行う（ステップ５０５）。
【００５０】
このように、フェイルオーバ先となった第２の情報処理装置２０は、引き継いだ処理により必要とされる本番データについて、バックアップが存在するかどうかを判断し（復元可否判断部）、バックアップが存在しなければバックアップを行う。これにより、システム内に本番データのバックアップが存在しない期間を短縮することができる。従って、本番データを喪失するリスクを減らすことができる。また、このとき、第２のサイトにおいて更に障害が発生したとしても、バックアップから本番データを復元することができる。従って、システム全体におけるデータの保全性を高めることが可能となる。
【００５１】
また、バックアップにかかる処理負荷を無視することはできないため、バックアップは多すぎても好ましくない。本発明によれば、システム全体において、バックアップが存在しているかどうかを確認することができる。また、予め定めておいた期間内のデータがシステム内に存在するかどうかを確認することもできる。バックアップが存在しない場合には、バックアップを行うように設定されている時刻でなくてもバックアップを行う。従って、余分なバックアップを作成することなく、確実にバックアップをとることができる。
【００５２】
なお、上記のバックアップ処理は、例えば、第２のサイトにおいて障害が発生したことを第１の情報処理装置１０が検出した場合に用いることも可能である。本実施の形態において、バックアップは第１の記憶装置３０において行われているが、第２の記憶装置４０においてバックアップが行われていた場合、第１の情報処理装置１０が第２のサイトにおける障害を検出し、第１の記憶装置３０内でバックアップが行われるようにする。これにより、システム内に確実にバックアップされたデータが存在するようにすることができる。従って、システム全体におけるデータの保全性を高めることができる。
【００５３】
＝＝＝第２の実施の形態＝＝＝
次に、第２の実施の形態として、３つ以上のデータセンタ（サイト）からなり、そのうち２つのデータセンタ間でリモートコピーが行われているコンピュータシステムに本発明を適用した例について概要を説明する。
【００５４】
図６は、第２の実施の形態に係る３つのノードを含んで構成されるクラスタシステムの構成を示す図である。なお、ノードはクラスタサービスを提供するコンピュータであり、上記第１の実施形態における情報処理装置に対応する。本実施形態に係るクラスタシステムでは、２つのデータセンタのうちリモートコピー先のデータセンタに災害が発生し、リモートコピーの継続ができなくなった場合、上記２つのデータセンタとは異なるデータセンタを新たなリモートコピー先としてリモートコピーを行う。
【００５５】
図６に示すクラスタシステムにおいて、３つのノード（ノードＡ１０００、ノードＢ１１００、及びノードＣ１２００）が通信路１０１０で接続されている。各ノードには、それぞれ記憶システムＡ１０５０、記憶システムＢ１１５０、及び記憶システムＣ１２５０が接続されている。記憶システムＡ１０５０は、ハードディスクドライブ１０５２及び１０５４を備えている。記憶システムＢ１１５０は、ハードディスクドライブ１１５２及び１１５４を備えている。記憶システムＣ１２５０は、ハードディスクドライブ１２５２及び１２５４を備えている。ノードＡ１０００と記憶システムＡ１０５０とは、データセンタＡに設置されている。ノードＢ１１００と記憶システムＢ１１５０とは、データセンタＢに設置されている。ノードＣ１２００と記憶システムＣ１２５０とは、データセンタＢに設置されている。なお、本実施の形態において、各記憶システムが備えるハードディスクドライブは、物理的なハードディスクではなく、記憶ボリュームを表すものとする。
【００５６】
記憶システムＡ１０５０と記憶システムＢ１１５０とは通信経路１０２０を介して接続しており、記憶システムＡ１０５０から記憶システムＢ１１５０へのリモートコピーが可能となっている。また、記憶システムＡ１０５０と記憶システムＣ１２５０とは通信路１０３０を介して接続しており、記憶システムＡ１０５０から記憶システムＣ１２５０へのリモートコピーが可能となっている。
【００５７】
各ノードは、ＣＰＵやメモリを備えるコンピュータである。各ノード上のメモリに記憶されているプログラムをＣＰＵが実行することにより、クラスタを実現している。ノードＡ１０００、ノードＢ１１００、及びノードＣ１２００がクラスタを構成している。ノードＡ１０００では、ハードディスクドライブ１０５４を使用するアプリケーションプログラムが実行されている。ハードディスクドライブ１０５４に記憶されているデータの複製は、ハードディスクドライブ１２５２にリモートコピーされる。また、８時間に一回、ハードディスクドライブ１２５２の内容はハードディスクドライブ１２５４にバックアップされる。すなわち、ハードディスクドライブ１２５４には、常に少なくとも８時間以内にハードディスクドライブ１０５４に記憶されていたデータがバックアップされていることになる。
【００５８】
ここで、記憶システムＣ１２５０に障害が発生すると、記憶システムＡ１０５０のリモートコピー先は、記憶システムＣ１２５０内のハードディスクドライブ１２５２から、記憶システムＢ１１５０内のハードディスクドライブ１１５２に切り替わる。また、ノードＣ１２００で行われていた処理はノードＢ１１００に引き継がれる。ノードＢ１１００は、ノードＣ１２００が行っていた処理を引き継ぐ。ノードＢ１１００は、ノードＣ１２００が行っていたリモートコピーされたデータのバックアップ処理も行う。つまり、ハードディスクドライブ１１５２にリモートコピーされたデータをハードディスク１１５４にバックアップする。しかしながら、ノードＣ１２００からノードＢ１１００にフェールオーバが行われた時点で、ノードＢ１１００によるバックアップが行われないと、ハードディスクドライブ１０５４に記憶されている本番データのバックアップはクラスタシステム内の何処にも存在しないことになる。そのため、次のバックアップ時刻（最長８時間後）までの間にハードディスクドライブ１０５４の内容が破壊されると、そのコピー先であるハードディスクドライブ１１５２の内容も破壊される。つまり本番データは失われてしまい、バックアップからの復旧ができないことになってしまう。
【００５９】
そこで本実施形態では、記憶システムＣ１２５０に障害が発生し、リモートコピー先が記憶システムＢ１１５０のハードディスクドライブ１１５２に切り替えられると、ノードＢ１１００は、クラスタシステム内の何れかの記憶システムに記憶されている過去８時間以内のバックアップデータにアクセスできるかどうかを調べ、バックアップデータにアクセスできない場合、ハードディスクドライブ１１５２の内容をハードディスクドライブ１１５４にバックアップする。
【００６０】
上述したノードＢ１１００がバックアップデータにアクセスできるかどうかを調べる方法として、本実施の形態では以下の２つの方法を示す。
【００６１】
第１の方法は、ノードＢ１１００が全てのノード（ノードＡ１０００、ノードＢ１１００、ノードＣ１２００）に対して、バックアップされたデータにアクセスできるかどうか（バックアップアクセス可否）を問い合わせる方法である。各ノードでは、バックアップが行われた時刻（バックアップ時刻）が記憶されている。ノードＢ１１００が、バックアップアクセス可否を問い合わせるコマンド（問い合わせメッセージ）を上記の全てのノードの夫々に送信する（問い合わせメッセージ送信部）。各ノードは、コマンドを受信する（問い合わせメッセージ受信部）と、記憶しているバックアップ時刻を参照し、例えば、時刻が記憶されていない、又は、バックアップが行われていないことを示す値が設定されている場合には、バックアップされたデータにアクセスできない旨の応答をノードＢ１１００に返信する（問い合わせメッセージ応答部）。バックアップ時刻が記憶されている場合、各ノードは、その時刻が現在の時刻から所定の時間（本実施の形態においては８時間）前の時刻よりも後であるかどうかを判断する。バックアップ時刻が現在の時刻から所定の時間前の時刻よりも後であった場合、各ノードは、バックアップされたデータにアクセスできる旨の応答をノードＢ１１００に返信し、そうでない場合は、バックアップデータにアクセスできない旨の応答を返信する。ノードＢ１１００は、１つでもバックアップされたデータにアクセスできる旨の応答を１つでも受信した場合は何も行わない。１つもなければ、ノードＢ１１００は、記憶システムＢ１１５０においてバックアップを行うように制御を行う。
【００６２】
第２の方法は、ノードＢ１１００が、障害の種別からバックアップアクセス可否を推定する方法である。記憶システムＣ１２５０の障害の種別は、「記憶システム障害」としてノードＢ１１００は検出する。ノードＢ１１００は、例えば、「記憶システム障害」であればバックアップにアクセスできなくなっている可能性があると判断する。ノードＢ１１００は、バックアップが必要であると判断するとバックアップをするための制御を行う。
【００６３】
上記の２つの方法の具体的な動作は、次の実施の形態において説明する。
【００６４】
＝＝＝第３の実施の形態＝＝＝
次に、第３の実施の形態として、複数のデータセンタ（サイト）からなるデータセンタシステムに本発明を適用したの例について説明する。本実施の形態は、３つのデータセンタからなるデータセンタシステムにおいて、業務処理を行っているデータセンタとは別のデータセンタでバックアップを行っているシステムである。
【００６５】
図７に本実施の形態のデータセンタシステム２０００の全体構成を示す。データセンタシステム２０００は、データセンタＡ２１００、データセンタＢ２２００、及びデータセンタＣ２３００の、３つのデータセンタから構成されている。各データセンタには、コンピュータ（ノード）と記憶装置（記憶システム）が設定されている。ノードと記憶システム間は通信経路で接続されている。  
ノードＡ２１１０、ノードＢ２２１０、及びノードＣ２３１０の夫々は通信路２０１０に接続しており、夫々の間で通信が可能となっている。
【００６６】
また、記憶システム間も通信可能に接続されている。記憶システムＡ２１２０と記憶システムＢ２２２０は通信路２０２０で接続されている。記憶システムＡ２１２０と記憶システムＣ２３２０は通信路２０３０で接続されている。記憶システムＢ２２２０と記憶システムＣ２３２０は通信路２０４０で接続されている。
【００６７】
記憶システムは１台以上のハードディスクドライブを備える記憶装置である。記憶システムＡ２１２０は、ハードディスクドライブ２１２４及びハードディスクドライブ２１２５を備える。記憶システムＢ２２２０は、ハードディスクドライブ２２２４及びハードディスクドライブ２２２５を備える。記憶システムＣ２３２０は、ハードディスクドライブ２３２４及びハードディスクドライブ２３２５を備える。なお、ハードディスクドライブに替えて、フラッシュディスクや半導体ディスク等を用いても良い。
【００６８】
記憶システムは、ハードディスクをＲＡＩＤ（Redundant Array of Inexpensive Disks）方式に規定されるＲＡＩＤレベル（例えば、０、１、５）で制御する機能を備えている。また、記憶システムは論理ボリュームをノードに提供している。ノードは、論理ボリュームの識別情報（ＬＵＮ）と、論理ボリューム上に割り当てられたアドレスとを指定してデータの入出力要求を記憶システムに送信する。
【００６９】
＝＝＝構成情報＝＝＝
記憶システムは、ハードディスクドライブに関する構成情報を記憶している。図８は記憶システムが記憶している構成情報を説明する図である。図８に示すように、構成情報は、論理ボリューム識別情報欄５０１０、ディスクドライブ識別情報欄５０２０、記憶容量欄５０３０、使用中フラグ欄５０４０、リモートコピー情報欄５０５０を備える。
【００７０】
論理ボリューム識別情報欄５０１０には、論理ボリュームの識別情報が設定される。構成情報の各レコードは論理ボリュームに対応する情報が設定される。  
ディスクドライブ識別情報欄５０２０には、論理ボリュームが設定されているハードディスクドライブを識別する情報が設定される。本実施の形態では、論理ボリュームはハードディスクドライブの提供する物理ボリューム全体に設定されるものとする。もちろん、複数のディスクドライブにより提供される記憶領域に跨って論理ボリュームを設定するようにしてもよい。
【００７１】
記憶容量欄５０３０には、設定された論理ボリュームが提供する記憶領域の記憶容量が設定される。使用中フラグ欄５０４０には、対応する論理ボリュームが使用されているかどうかを示す情報が設定される。使用中フラグ欄５０４０に「使用中」が設定されている場合、例えば、対応する論理ボリュームが、リモートコピーによって他の記憶システムに記憶されているデータの複製が記憶されるようになっている、又は、他の論理ボリュームのデータのバックアップが記憶されている、といった状態（使用中）であることを示している。また、論理ボリュームが使用中でない場合には、使用中フラグ欄５０４０には、「未使用」が設定される。
【００７２】
リモートコピー情報欄５０５０には、論理ボリュームがリモートコピーのコピー元あるいはコピー先となっている場合に、そのコピー先或いはコピー元となる記憶システムに関する情報が設定される。例えば、図８に示すレコードには、記憶システムＡ２１２０の論理ボリューム１（ボリューム１）は、リモートコピーのコピー元となり、記憶システムＣ２３２０内の「ボリューム２」が示す論理ボリュームにコピーされていることが設定されている。
【００７３】
図９乃至図１１は、夫々、記憶システムＡ２１２０が記憶している構成情報２１２２、記憶Ｂシステム２２２０が記憶している構成情報２２２２、及び記憶システムＣ２３２０が記憶している構成情報２３２２の一例を示している。
【００７４】
ノードは、記憶システムが記憶している構成情報にアクセスし、構成情報を参照することにより、記憶システムの構成を容易に把握することができる。  
なお、ノードは、記憶システムの構成を取得したり、変更したりするための構成変更プログラムを実行し、構成変更プログラムが記憶システムの構成を取得し、上記の構成情報を作成・更新する。また、ノードは、例えば、記憶システムの構成を問い合わせるコマンドを送信することにより、記憶システムの構成を取得し、上記構成情報を作成・更新するようにしてもよい。また、例えば、管理者により予め設定されるようにしてもよい。  
また、構成情報は、各記憶システムが備えるハードディスクに記憶されている。記憶システムがメモリを備え、メモリ上に記憶するようにしてもよい。
【００７５】
＝＝＝ノードの構成＝＝＝
次に、記憶システムにアクセスするノードについて説明する。ノードはＣＰＵやメモリを備えるコンピュータである。ノードで実行されるアプリケーションプログラムは、適宜記憶システムにアクセスしながら各種の情報処理を行う。  
図１２に、ノードＡ２１１０の構成を示す。ノードＡ２１１０は、メモリ４０００と、ＣＰＵ４１００、入力部４１１０、出力部４１２０、クロック部２１３０、通信部４１４０及び４１５０を備える。
【００７６】
メモリ４０００は、プログラムやデータを記憶する、ＲＡＭ等のデバイスである。ＣＰＵ４１００は、ノードＡ２１１０全体の制御を司るものである。ＣＰＵ４１００は、メモリ４０００に記憶されているプログラムを実行することにより、クラスタサービスや、メモリ４０００に記憶されているデータの加工等の各種機能を実現する。
【００７７】
入力部４１１０は、例えば、キーボードやマウス、ペンタブレット、マイク等の、ユーザからの指示を入力する装置である。出力部４１２０は、例えば、ディスプレイやプリンタ、スピーカ等の、ユーザ対してに情報を出力する装置である。
【００７８】
クロック部２１３０は、時刻を管理しているデバイスである。ＣＰＵ４１００が実行するプログラムから、クロック部２１３０に時刻を問い合わせることにより、プログラムは問い合わせ時点の時刻を取得することができる。
【００７９】
通信部４１４０及び４１５０は、イーサネット（登録商標）や、ＡＴＭ（Asynchronous Transfer Mode）、公衆回線、ＳＣＳＩ（Small Computer System Interface）等の通信経路に接続するインタフェースである。前記通信部４１４０は通信路２０１０に接続し、他のノードとの間で通信を行う。また、通信部４１５０は通信路２１３０に接続し、記憶システムＡ２１２０との間で通信を行う。
【００８０】
メモリ４０００は、クラスタサービス２１１２、バックアッププログラム２１１４、緊急バックアップ制御プログラム２１１６、データ一覧表２１１７、バックアップ保持条件２１１８、データセンタ一覧２１１９を記憶している。データ一覧表２１１７、バックアップ保持条件２１１８、データセンタ一覧２１１９の詳細については後述する。なお、これらのプログラムやデータは、ノードＡ２１１０からアクセス可能な記憶システム（例えば、記憶システムＡ２１２０）に記憶しておき、ノードＡ２１１０が必要に応じて読み出す形態とすることもできる。
【００８１】
以上がノードＡ２１１０の構成であるが、ノードＢ２２１０、ノードＣ２３１０も同様の構成である。  
ノードＡ２１１０上ではクラスタサービス２１１２が動作している。ノードＢ２２１０上ではクラスタサービス２２１２が動作している。ノードＣ２３１０上ではクラスタサービス２３１２が動作している。前記３つのクラスタサービスは互いに連携し、１つのクラスタとしての機能を構成する。すなわち、ノードＡ２１１０、ノードＢ２２１０、及びノードＣ２３１０上で実行されるアプリケーションプログラムが、障害により当該ノード上で処理が継続できなくなると、他のノードに処理をフェイルオーバーする。
【００８２】
また、各ノードでは、バックアッププログラムや後述する緊急バックアップ制御プログラムが実行されている。バックアッププログラムや緊急バックアップ制御プログラムはメモリ上に記憶されており、ＣＰＵがそれらを実行している。
【００８３】
ノードＡ２１１０では、バックアッププログラム２１１４及び緊急バックアップ制御プログラム２１１６が実行されている。ノードＢ２２１０では、バックアッププログラム２２１４及び緊急バックアップ制御プログラム２２１６が実行されている。ノードＣ２３１０では、バックアッププログラム２３１４及び緊急バックアップ制御プログラム２３１６が実行されている。
【００８４】
各ノード上で実行されるバックアッププログラムは、予め決められた時刻に、記憶システムのハードディスクドライブに記憶されているデータをバックアップする処理を行う。なお、予め決められた時刻ではなく、例えば、管理者からの入力を契機にバックアップを行うようにしてもよい。各ノードにおけるバックアップの処理は、コピー元とコピー先のハードディスクドライブを指定したバックアップ指示コマンドを記憶システムに対して送信することにより行われる。記憶システムはバックアップ指示コマンドを受信すると、指定されたコピー元のハードディスクドライブに記憶されているデータを、コピー先のハードディスクドライブにコピーすることによりバックアップを行う。
【００８５】
なお、各ノードは、メモリ以外に、例えば、ハードディスクや半導体ディスク、光ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記憶デバイスを備えている場合、プログラムや、データ一覧表、バックアップ保持条件、データセンター一覧表等のデータやプログラムをその記憶デバイスに記憶するようにしてもよい。また、データやプログラムを、各ノードが接続している記憶システムに記憶するようにしてもよい。
【００８６】
＝＝＝データセンタ一覧＝＝＝
各ノードが記憶しているデータセンタ一覧（サイト情報記憶部）を説明する。データセンタ一覧に記憶されるレコードであるデータセンタ情報（サイト情報）には、データセンタシステム２０００に含まれる各データセンタと、各データセンタに設置されているノードが設定される。図１３は、データセンタ一覧を説明する図である。図１３に示すように、データセンタ情報は、データセンタ名欄１２０１０及びノード識別情報欄１２０２０を備える。
【００８７】
データセンタ名欄１２０１０には、データセンタを識別する名称が設定される。ノード識別情報欄１２０２０は、各ノードを識別する情報が設定される。
【００８８】
ノードはデータセンタ一覧を参照することにより、クラスタを構成するノードと、各ノードが設置されているデータセンタ（サイト）とを把握することができる。各ノードは、処理のフェイルオーバ先や記憶システムに記憶されているデータのリモートコピー先等を決定する際にデータセンタ一覧を参照する。
【００８９】
各ノードが記憶しているデータセンタ一覧は、例えば、管理者により予め入力されている。データセンタシステム２０００にデータセンタやノードが追加されたり、データセンタやノードが削除される場合、データセンタ一覧は、各ノード毎に管理者によって更新される。なお、１つのノードが記憶しているデータセンタ一覧が更新されると、他のノードにデータセンタ一覧を送信し、各ノードのデータセンタ一覧が同じ内容になるようにしてもよい。また、データセンタ一覧は、管理者により設定される以外にも、例えば、ノードＡ２１１０が通信経路２０１０にブロードキャストメッセージを送信し、各ノード間がそのメッセージに応答することにより、ノードＡ２１１０がデータセンタ一覧を更新するようにすることもできる。
【００９０】
各ノードは、管理者がデータセンタ一覧を設置するためのユーザインタフェースを備えるようにしてもよい。ユーザインタフェースには、例えば、サイトの名称を入力する欄とノードの名称やアドレス等を設定する欄とを設け、ノードはユーザインタフェースから管理者からの入力を受け付ける。ノードは、ユーザインタフェースからの入力を受け付けると、データセンタ一覧に登録する（サイト情報管理部）。ユーザインタフェースは、例えば、ノードＡ２１１０が備える出力部４１２０等にウィンドウとして表示したり、ＨＴＭＬやＸＭＬのようなデータを生成し、管理者の使用する端末に送信したりすることができる。
【００９１】
＝＝＝データ一覧表＝＝＝
ノードに記憶されているデータ一覧表は、前記バックアッププログラムで取得したバックアップデータも含め、当該ノード上からアクセス可能なデータの一覧を記録した表である。データは、同じ内容でもコピーされていれば別のデータとする。以下、各データの実体をデータインスタンスと称する。
【００９２】
図１４は、ノードが記憶しているデータ一覧表を説明する図である。図１４に示すように、本実施形態にかかるデータ一覧表は、上述した図４のデータ一覧表の各欄に加え、記憶システム識別情報欄８０１０を備えている。  
記憶システム識別情報欄８０１０には、記憶システムを特定するための情報である記憶システム識別情報が設定される。記憶システム識別情報とは、例えば、記憶システム付与されたＩＤや名称などである。  
論理ボリューム識別情報欄４０１には、記憶システム識別情報欄８０１０が示す記憶システムの論理ボリュームの論理ボリューム識別情報が設定される。  
本番データ識別情報欄４０２には、本番データを特定するための情報が設定される。本番データを特定するための情報とは、例えば、本番データに付与されたＩＤやファイル名等の名称である。  
データ種別欄４０３には、データインスタンスの種別が設定される。データインスタンスの種別には、例えば、ノードで実行されるアプリケーションプログラムから直接読み書きされる本番データを示す「マスタデータ」、マスタデータがリモートコピーされたデータである「リモートコピーデータ」、本番データをバックアップしたデータであることを示す「バックアップデータ」がある。なお、データインスタンスの種別がバックアップデータである場合は、バックアップが行われた日時が付帯されて設定される。  
データ一覧表により、本番データがどのような種別でどの記憶システムのどの論理ボリュームに記憶されているかを把握することができる。
【００９３】
図１５乃至図１７は、夫々ノードＡ２１１０が記憶しているデータ一覧表２１１７、ノードＢ２２１０が記憶しているデータ一覧表２２１７、及びノードＣ２３１０が記憶しているデータ一覧表２３１７の一例を示す図である。  
なお、データ一覧表２１１７、２２１７、２３１７は夫々、管理者によって予め設定され、バックアッププログラム２１１４、２２１４、２３１４がバックアップを行ったときに更新する。
【００９４】
＝＝＝バックアップ保持条件＝＝＝
ノードに記憶されているバックアップ保持条件は、本番データを定期的にバックアップするとき、バックアップを行う間隔を設定するためのテーブルである。バックアップ保持条件を設定することにより、本番データ毎にバックアップデータの有効期間、すなわちどれくらい前のバックアップデータを保持しておかなければならないかを設定することができる。例えば、「常に８時間以内のバックアップを保持しておく必要がある」といった条件を設定することができる。また、バックアップデータを管理する場所に関する条件も設定することができる（復元データ管理先決定情報記憶部）。データセンタ内に障害が発生すると、ノードはバックアップ保持条件に設定されている条件を満たすバックアップデータにアクセスできるかどうかを上述したデータ一覧表から取得できるかどうかを判断することをもって、バックアップが必要であるかどうかを判断する。
【００９５】
図１８には、ノードＡ２１１０が記憶しているバックアップ保持条件２１１８の一例を示している。図１８に示すように、本実施形態にかかるバックアップ保持条件２１１８は、上述した図３のバックアップ保持条件の各欄に加え、バックアップ条件欄１１０４０を備えている。
【００９６】
本番データ識別情報欄３０１には、本番データの識別情報が設定される。  
バックアップ要否欄３０２には、対応する本番データをバックアップする必要があるかどうかを示す、「必要」又は「不要」が設定される。  
バックアップ間隔欄３０３には、バックアップ要否欄３０２に「必要」と設定されている場合に、バックアップを行う間隔を設定する。ノードはバックアップ間隔欄３０３に設定される時間毎に記憶システムに記憶されている本番データのバックアップが行われるように制御する。これにより、バックアップ間隔欄３０３に設定されている時間以内にバックアップされた本番データが、ノードからアクセス可能になっているように設定することができる。
【００９７】
バックアップ条件欄３０４には、バックアップデータがどこで管理されるかを決定するための情報が設定される。バックアップデータが何処で管理されるかを決定するための情報とは、例えば、バックアップが本番データを記憶する記憶装置が設置されているデータセンタにおいて行われるかどうか示す情報である。本実施の形態において、バックアップ条件欄３０４には、「ローカルバックアップ」又は「リモートバックアップ」が設定される。ここで、ローカルバックアップとは、例えば、本番データを記憶する記憶装置の論理ボリューム間で複製を行うことであり、同一のデータセンタにおいて本番データとバックアップデータとが管理されることを示す。逆にリモートバックアップとは、例えば、リモートコピーによって本番データを記憶する記憶装置から、他のデータセンタに設置される記憶装置に本番データの複製が記憶されることであり、本番データが管理される記憶装置が設置されるデータセンタとは異なるデータセンタにおいてバックアップデータが管理されることを示す。また、バックアップ条件欄１１０４０には、「リモートバックアップ優先」を設定することができる。バックアップ条件欄１１０４０に「リモートバックアップ優先」が設定されている場合、ノードは、設置されているデータセンタとは異なるデータセンタの記憶装置に本番データのバックアップを行うようにする。他のデータセンタにバックアップできない場合は、ローカルバックアップが行われる。他のデータセンタにバックアップできない場合とは、例えば、通信経路に障害が発生し、ノード又は記憶装置が、他のサイトの記憶装置との間で通信ができないような場合や、他のサイトの記憶装置が記憶容量に空きがない場合などである。
【００９８】
また、バックアップ条件欄１１０４０に「ローカルバックアップ」が設定されている場合、ノードは、接続している記憶装置内あるいは同じデータセンタ内に設置されているバックアップ装置（又は、同一の記憶装置内の記憶ボリューム）にバックアップを行う。この場合、ローカルバックアップができないときは、バックアップは行われない。
【００９９】
なお、バックアップ条件欄１１０４０に、バックアップを行うための、又はバックアップデータを管理するためのノードの識別情報を設定するようにしてもよい。この場合、バックアップ保持条件のバックアップ条件欄１１０４０に設定される識別情報に対応するノードが、バックアップを行う。
【０１００】
なお、図１８にはノードＡ２１１０が記憶するバックアップ保持条件２１１８を示したが、ノードＢ２２１０が記憶するバックアップ保持条件２２１８及びノードＣ２３１０が記憶するバックアップ保持条件２３１８についても同様の内容となる。
【０１０１】
各ノードが記憶するバックアップ保持条件２１１８、２２１８、２３１８は夫々、管理者により予め設定されるが、例えば、バックアップ保持条件２１１８を管理者が設定すると、ノードＡ２１１０は通信路２０１０を介して、ノードＢ２２１０及びノードＣ２３１０にバックアップ保持条件２１１８の内容を送信し、各ノードで同じ内容になるようにしてもよい。
【０１０２】
＝＝＝動作概要＝＝＝
各ノードが実行している緊急バックアップ制御プログラムは、ノードがフェイルオーバ先となった場合にバックアップの処理を行うアプリケーションプログラムである。あるデータセンタにおいて、ノードや記憶システム、通信経路等に障害が発生すると、他のノードに処理が引き継がれるフェイルオーバが行われる。フェイルオーバ先となったノードでは、各本番データについてバックアップが必要であるかどうかを判断し、バックアップが必要である場合、バックアッププログラムは予め決められた時刻でなくても、バックアップを行う。
【０１０３】
図１９は、上記緊急バックアップ制御プログラムの動作の概要を説明する図である。
【０１０４】
ノードＡ２１１０上では、記憶システムＡ２１２０内のハードディスクドライブ２１２４を使用するアプリケーションプログラムが実行されている。ハードディスクドライブ２１２４に記憶されているデータは、通信路２０３０を介してデータセンタＣ２３００の記憶システムＣ２３２０が備えるハードディスクドライブ２３２４にリモートコピーされている（３０００）。データセンタＣ２３００において、ハードディスクドライブ２３２４のデータは、８時間毎にハードディスクドライブ２３２５にバックアップされている（３０５０）。
【０１０５】
クラスタサービス２１１２は、データセンタＣ２３００の記憶システムＣ２３２０に障害が発生したことを検知すると（３１００）、リモートコピー先をデータセンタＢの記憶システムＢ２２２０が備えるハードディスクドライブ２２２４に切り替える。また、クラスタサービス２１１２は、緊急バックアップ制御プログラム２１１６に障害を通知する。
【０１０６】
緊急バックアッププログラム２１１６は、上記の障害の通知を受信し、データ一覧表に設定されている各本番データについて、バックアップデータにアクセスできるかどうかデータセンタ一覧に登録されている各ノードに問い合わせを行い、バックアップの要否を判断する。各ノードへの問い合わせは、例えば、ノードＡ２１１０が、ノードＢ２２１０及びノードＣ２３１０の夫々に対して、「データ１」という名称（識別情報）の本番データについてのバックアップデータにアクセスできるかどうかを問い合わせるコマンドであるバックアップアクセス可否チェック要求（問い合わせメッセージ）を送信することにより行われる（問い合わせメッセージ送信部）。バックアップアクセス可否チェック要求には、本番データの識別情報と、バックアップ保持条件に設定されているバックアップ間隔とが設定される。ノードＢ２２１０及びノードＣ２３１０の夫々はコマンドを受信し（問い合わせメッセージ受信部）、バックアップにアクセスできるかどうかを調べて応答する（応答メッセージ応答部）。各ノードがバックアップにアクセスデータできるかどうかを調べる処理は後述する。
【０１０７】
図１９に示す例の場合、記憶システムＣ２３２０に障害が発生しているため、ノードＣ２３１０はバックアップデータを保持しているハードディスクドライブ２３２５にはアクセスできない。また、データセンタＢ２２００の記憶システムＢ２２２０には、ハードディスクドライブ２１２４に記憶されている本番データ（例えば、データ１という名称とする）についてのバックアップデータが記憶されていない。従って、ノードＡ２１１０が、ノードＢ２２１０及びノードＣ２３１０の夫々に、「データ１」のバックアップデータが記憶されているかどうかを問い合わるメッセージを送信すると、ノードＢ２２１０及びノードＣ２３１０は共に、バックアップデータを記憶していない旨の応答を返信する
これにより、ノードＡ２１１０は、データセンタシステム２０００内にはバックアップが存在しない（バックアップデータにアクセスできない）ため、バックアップが必要であると判断する（３２００）。そこで、ノードＡ２１１０は、ノードＢに対し、記憶システムＢ２２２０のハードディスクドライブ２２２４が記憶しているデータを、ハードディスクドライブ２２２５にバックアップするように指示するバックアップコマンドを送信する。ノードＢ２２１０はバックアップコマンドを受信し、記憶システムＢ２２２０ではハードディスクドライブ２２２４が記憶しているデータを、ハードディスクドライブ２２２５にバックアップする処理が行われる（３２５０）。
【０１０８】
一方、データセンタＡ２１００全体に障害が発生した場合、データセンタＣ２３００のノードＣ２３１０で実行されているクラスタサービス２３１２は、ノードＡ２１１０上で動作しているプログラムをノードＣ２３１０にフェイルオーバーする。また、クラスタサービス２３１２は、記憶システムＣ２３２０のハードディスクドライブ２３２４に記憶されているデータをマスタデータとし、ハードディスクドライブ２３２４に記憶されているデータをハードディスクドライブ２２２４にリモートコピーするように設定する。また、クラスタサービス２３１２は、フェイルオーバが行われた旨を緊急バックアップ制御プログラム２３１６に通知する。
【０１０９】
通知を受けた緊急バックアップ制御プログラム２３１６は、ノードＡ２１１０及びノードＢ２２１０にバックアップアクセス可否チェック要求を送信する。緊急バックアップ制御プログラム２３１６は、ノードＡ２１１０及びノードＢ２２１０の夫々からバックアップデータにアクセスできない旨の応答を受信すると（応答メッセージ受信部）、次に、ノードＡ２１１０及びノードＢ２２１０に、本番データをバックアップすることができるかどうかを問い合わせるコマンド（以下、バックアップ可否チェック要求と称する）を送信する（バックアップ可否問い合わせメッセージ送信部）。バックアップ可否チェック要求（バックアップ可否問い合わせメッセージ）には、本番データの識別情報が設定される。ここで、例えば、ノードＢ２２１０からバックアップをすることができる旨の応答を受信した場合、ノードＢ２２１０に対して本番データのバックアップを行うように指示するコマンド（以下、バックアップ作成要求と称する）を送信する。ノードＢ２２１０はバックアップ作成要求を受信し、記憶システムＢ２２２０において本番データのバックアップが作成されるように制御を行う。
【０１１０】
＝＝＝緊急バックアップ制御プログラム＝＝＝
クラスタサービス２１１２は、データセンタＡ２１１０、データセンタＢ２２００、又はデータセンタＣ２３００のいずれかに障害が発生した場合、障害が発生した旨を示す障害発生イベントを緊急バックアップ制御プログラム２１１６に送信する。  
また、クラスタサービス２１１２は、記憶システムＡ２１２０のハードディスクドライブをコピー元もしくはコピー先とするリモートコピーのコピー先又はコピー元が変更になった場合等に、記憶システムＡ２１２０の利用を開始することを示すオンラインイベントを緊急バックアップ制御プログラム２１１６に送信する。  
緊急バックアップ制御プログラム２１１６は、上記の障害発生イベントやオンラインイベントの通知を受けて、以下のに説明する処理を行う。また、緊急バックアップ制御プログラム２１１６は、上述したバックアップアクセス可否チェック要求やバックアップ可否チェック要求、バックアップ作成要求といったコマンドを受信し、受信したコマンドに応じた処理も行う。
【０１１１】
図２０に、緊急バックアップ制御プログラム２１１６の処理の流れを示す。なお、緊急バックアップ制御プログラム２２１６及び２３１６の処理の流れについても、以下で示す緊急バックアップ制御プログラム２１１６の処理の流れと同様である。  
処理を開始（ステップ１３０００）すると、障害発生イベント、オンラインイベント、又はコマンドの到達を待つ（ステップ１３０２０）。イベント又はコマンドを受信（問い合わせメッセージ受信部）した場合、それがコマンドであるかどうかを判断する（ステップ１３０４０）。
【０１１２】
コマンドを受信した場合、受信したコマンドがバックアップ可否チェック要求であるかどうかを判断し（ステップ１３２００）、バックアップ可否チェック要求であれば（ステップ１３２００：Ｙｅｓ）、後述するバックアップ可否チェック処理を行い（ステップ１３２２０）、処理の結果を応答し（ステップ１３２４０）、（ステップ１３０２０）からの処理を継続する。
【０１１３】
受信したコマンドがバックアップ可否チェック要求でない場合（ステップ１３２００：Ｎｏ）、受信したコマンドがバックアップを実行することを示すコマンドであるバックアップ実行要求かどうかを判断する（ステップ１３２８０）。受信したコマンドがバックアップ実行要求であれば（ステップ１３２８０：Ｙｅｓ）、バックアッププログラムにバックアップ処理を実行するようにように通知することによりバックアップを行い（ステップ１３３００）、バックアッププログラムの処理の結果を応答し（ステップ１３２４０）、（ステップ１３０２０）からの処理を継続する。なお、バックアップを行った際に、バックアップ先となった論理ボリュームに対応するデータ一覧表２１１７のデータ種別欄８０４０のバックアップが行われた日時を現在時刻に更新する。
【０１１４】
受信したコマンドがバックアップ可否チェック要求でもバックアップ実行要求でもない場合（ステップ１３２８０：Ｎｏ）、後述するバックアップアクセス可否チェック処理を行い（ステップ１３２６０）、処理の結果を応答し（ステップ１３２４０）、（ステップ１３０２０）からの処理を継続する。
【０１１５】
一方、障害発生イベント又はオンラインイベントを受信した場合（ステップ１３０４０：Ｎｏ）、ノードＡ２１１０が既に記憶システムＡ２１２０を利用している（記憶リソースがオンライン状態にある）か、もしくはオンラインイベントを受信したか、のいずれかであるかどうかを判断する（ステップ１３０６０）。記憶システムＡ２１２０が提供する記憶リソースがオンライン中であるか、もしくはオンラインイベントを受信した場合（ステップ１３０６０：Ｙｅｓ）、後述するバックアップ要否決定処理を行う（ステップ１３０８０）。それ以外は（ステップ１３０２０）に進み、処理を継続する。
【０１１６】
バックアップ要否決定処理の結果、バックアップが必要である場合（ステップ１３１００：Ｙｅｓ）、バックアップをどのデータセンタにおいて作成するかを決定する後述のバックアップ先決定処理を行う（ステップ１３１２０）。バックアップ先決定処理により決定したデータセンタに設置されているノードに対し、バックアップ実行要求を送信し（ステップ１３１４０）、送信したバックアップ実行要求に対する応答を受信し、バックアップが成功したかどうかを判断する（ステップ１３１６０）。バックアップが失敗した場合（ステップ１３１６０：Ｎｏ）、バックアップ実行要求を送信した先のノードが自分自身（ノードＡ２１１０）であるかどうかにより、バックアップ処理がローカルバックアップであったかかどうかを判断する（ステップ１３１８０）。バックアップがローカルバックアップではなかった場合（ステップ１３１８０：Ｎｏ）、バックアップ実行要求を送信した先のノード以外のバックアップ先を決定するため、（ステップ１３１２０）に進む。
【０１１７】
なお、バックアップ要否決定処理（ステップ１３０８０）によってバックアップが必要と判断された場合（ステップ１３１００：Ｙｅｓ）、バックアップ先決定処理（ステップ１３１２０）から、結果を返す（１３２４０）までの処理は、データ一覧表２１１７に登録されている本番データのうち、「マスタデータ」として設定されているものに対して行われるものとする。
【０１１８】
＝＝＝バックアップ要否決定処理＝＝＝
緊急バックアップ制御プログラム２１１６が、障害発生イベントを受信し、記憶システムＡ２１２０がオンラインであった場合、又は、オンラインイベントを受信した場合（図２０におけるステップ１３０７６０：Ｙｅｓ）に行われる、バックアップ要否決定処理（図２０におけるステップ１３０８０）について説明する。図２１に、バックアップ要否決定処理の流れを示す。
【０１１９】
処理を開始（ステップ１４０００）すると、バックアップ保持条件２１１８から、バックアップ要否欄３０２に「必要」が設定されている本番データを抽出する（ステップ１４０２０）。バックアップ保持条件２１１８のバックアップ要否欄３０２に「必要」が設定されているものを抽出できない場合、バックアップ要否決定処理はバックアップ不要であると判断し、バックアップ要否決定処理を終了する（ステップ１４１４０）。
【０１２０】
バックアップ保持条件２１１８のバックアップ要否欄３０２に「必要」が設定されているものを抽出できた場合、データセンタ一覧に登録されている全てのノードのうち１つを選択する（ステップ１４０４０）。ここで、バックアップ保持条件２１１８のバックアップ条件欄１１０４０に「リモートバックアップ優先」が設定されている場合、ノードＡ２１１０は選択せず、他のノードを選択するようにする。
【０１２１】
選択したノードに対し、本番データの識別情報と、バックアップ保持条件２１１８のバックアップ間隔欄３０３に設定されている時間とを設定したバックアップアクセス可否チェック要求を送信し（ステップ１４０６０）、送信した要求に対する応答を受信する。受信した応答を参照し、バックアップアクセス可否チェック要求の送信先となったノードにおいて、バックアップされたデータにアクセスできるかどうかを判断する（ステップ１４０８０）。他のノードにおいてバックアップデータにアクセスできる場合（ステップ１４０８０：Ｙｅｓ）、バックアップが不要であると判断し、バックアップ要否決定処理を終了する（ステップ１４１４０）。
【０１２２】
一方、他のノードにおいてバックアップされたデータにアクセスすることができないと判断した場合（ステップ１４０８０：Ｎｏ）、データセンタ一覧から、次にバックアップアクセス可否チェック要求を送信する先となるノードを選択し、（ステップ１４０６０）に進む。次のノードが選択できない場合（問い合わせていないノードがある場合：ステップ１４１２０）、バックアップが必要であると判断し、バックアップ要否決定処理を終了する（ステップ１４１２０）。
【０１２３】
＝＝＝バックアップ先決定処理＝＝＝
次に、緊急バックアップ制御プログラム２１１６が、バックアップ要否決定処理によってバックアップが必要であると判断した場合（図２０におけるステップ１３１００：Ｙｅｓ）に行われる、バックアップ先決定処理（図２０におけるステップ１３１２０）について説明する。図２２に、バックアップ先決定処理の流れを示す。なお、緊急バックアップ制御プログラム２１１６のバックアップ先決定処理が実行される際に、処理の対象となる本番データが特定されているものとする。
【０１２４】
処理を開始する（ステップ１５０００）と、対象となる本番データに対応するバックアップ保持条件２１１８のバックアップ条件欄１１０４０に「リモートバックアップ優先」が設定されているかどうかを判断する（ステップ１５０１０）。「リモートバックアップ優先」が設定されている場合（ステップ１５０１０Ｙｅｓ）、データセンタ一覧から、データセンタＡ２１００以外のデータセンタに設置されているノードに後述するバックアップ可否要求を送信し、応答を受信して、他のデータセンタにおいて本番データのバックアップを行うこと（リモートバックアップ）が可能かどうかを判断する（ステップ１５０２０）。リモートバックアップが可能である場合（ステップ１５０２０：Ｙｅｓ）には、ここで選択したノードをバックアップ先として決定し、バックアップ先決定処理を終了する（１５０４０）。
【０１２５】
一方、バックアップ保持条件２１１８のバックアップ条件欄１１０４０に「リモートバックアップ優先」が設定されていない場合（ステップ１５０１０：Ｎｏ）又は、リモートバックアップが可能でない場合（ステップ１５０２０：Ｎｏ）には、データセンタＡ２１００内においてデータをバックアップを行う（ローカルバックアップ）ことを決定し、バックアップ先決定処理を終了する（１５０３０）。
【０１２６】
なお、バックアップ先決定処理においてリモートバックアップを行うと決定した場合（ステップ１５０４０）、バックアップ先として複数のノードからバックアップができる旨の応答を受信することが考えれる。この場合、最初にバックアップ可能と応答したノードが設置されているデータセンタにおいてバックアップが行われるようにしてもよいし、予めバックアップ先となるデータセンタに優先度を決めておき、前記優先度順にバックアップ可否の問い合わせを行い、最初にバックアップ可能と答えたデータセンタにバックアップを行うようにしてもよい。例えば、データセンタ一覧に優先度を設定する欄を設けるようにすることができる。なお、複数のデータセンタにおいてバックアップをとるようにしてもよい。
【０１２７】
＝＝＝バックアップアクセス可否チェック処理＝＝＝
次に、緊急バックアップ制御プログラム２１１６が、バックアップアクセス可否チェック要求を受信した場合に（図２０におけるステップ１３２８０：Ｎｏ）行われるバックアップアクセス可否チェック処理（図２０におけるステップ１３２６０）について説明する。図２３に、バックアップアクセス可否チェック処理の流れを示す。
【０１２８】
処理を開始する（ステップ１６０００）と、ノードＡ２１１０で保持しているデータ一覧表２１１７に登録されているレコードの夫々について（ステップ１６０２０、ステップ１６０３０）、以下の処理を行う。
【０１２９】
バックアップアクセス可否チェック要求に設定されている本番データに対応する、データ一覧表２１１７のデータ種別欄８０４０に「バックアップデータ」が設定されており、付帯されているバックアップされた日時が、現在の時刻からバックアップ可否チェック要求に設定されている時間分前の時刻よりも後であるかどうか、すなわち指定された期間内のバックアップデータであるかどうかを判断する（ステップ１６０４０）。  
指定された期間内のバックアップデータである場合（ステップ１６０４０：Ｙｅｓ）、データ一覧表２１１７の論理ボリューム識別情報欄４０１が示す論理ボリュームに対するデータの入出力要求を記憶システムＡ２１２０に送信し、論理ボリュームにアクセスできるかどうかを判断する（ステップ１６０５０）。当該論理ボリュームにアクセスできた場合（ステップ１６０６０）、バックアップにアクセスできると判断し、バックアップアクセス可否チェック処理を終了する（ステップ１６０７０）。
【０１３０】
指定された期間内のバックアップデータでない場合（ステップ１６０４０：Ｎｏ）、又は記憶システムＡ２１２０の論理ボリュームに対してアクセスができなかった場合（ステップ１６０６０）には、データ一覧表２１１７に登録されている他のレコードを調べるべく、（ステップ１６０２０）に進む。
【０１３１】
一方、データ一覧表２１１７に登録されているレコードの全てについてバックアップデータにアクセスできると判断できなかった場合（ステップ１６０２０：Ｎｏ）、バックアップデータにアクセスができないと判断し、バックアップアクセス可否チェック処理を終了する（ステップ１６０８０）。  
なお、現在時刻はノードＡ２１１０のクロック部４１３０から取得する。
【０１３２】
＝＝＝バックアップ可否チェック処理＝＝＝
次に、緊急バックアップ制御プログラム２１１６が、バックアップ可否チェック要求を受信した場合に（図２０におけるステップ１３２００：Ｙｅｓ）行われるバックアップ可否チェック処理（図２０におけるステップ１３２２０）について説明する。図２４に、バックアップ可否チェック処理の流れを示す。
【０１３３】
処理を開始する（ステップ１７０００）と、データ一覧表２１１７から、バックアップ可否チェック要求に設定されている本番データの識別情報に対応する論理ボリュームを取得する。取得した論理ボリュームからデータを読み出す処理が成功したかどうかをもって、本番データにアクセスできるかどうかを判断する（ステップ１７０２０）。論理ボリュームからデータを読み出す処理とは、例えば、論理ボリュームを指定したリード要求を記憶システムＡ２１２０に送信することである。記憶システムＡ２１２０が返信する、リード要求に対する応答により、データを読み出す処理が成功したかどうかを判断することができる。なお、データ一覧表２１１７のデータ種別欄８０４０に「バックアップデータ」が設定されている場合には、本番データにアクセスできないと判断する。
【０１３４】
本番データにアクセスできないと判断した場合（ステップ１７０２０：Ｎｏ）、バックアップができない（バックアップ不可）と判断して、バックアップ可否チェック処理を終了する（ステップ１７０８０）。  
本番データにアクセスできると判断した場合（ステップ１７０２０：Ｙｅｓ）、記憶システムＡ２１２０が記憶している構成情報２１２２を参照し、未使用で本番データの容量以上の空き容量を持つ論理ボリュームがあるかどうかを判断する（ステップ１７０４０）。そのような論理ボリュームがある場合（ステップ１７０４０：Ｙｅｓ）、バックアップができる（バックアップ可）と判断し、バックアップ可否チェック処理を終了する（ステップ１７０６０）。
【０１３５】
以上説明した各処理により、緊急バックアップ制御プログラム２１１６が実現されている。なお、ノードＢ２２１０で実行される緊急バックアップ制御プログラム２２１６、及びノードＣ２３１０で実行される緊急バックアップ制御プログラム２３１６も同様の処理を行う。
【０１３６】
ここまでに、緊急バックアップ制御プログラム処理のバックアップ要否決定処理（図２０におけるステップ１３０８０）において、各ノードにバックアップデータにアクセスできるかどうかを問い合わせることにより、バックアップが必要であるかどうかを判断する処理を説明したが、緊急バックアップ制御プログラム２１１６が障害発生イベントを受信し、障害の種別に応じてバックアップが必要であるかどうかを判断するようにすることもできる。
【０１３７】
＝＝＝障害別バックアップ要否一覧表＝＝＝
以下に、障害種別によるバックアップの要否を判断する処理について説明する。
【０１３８】
障害種別によりバックアップ要否を決定する場合、各ノードはメモリ４０００に、障害種別と、バックアップの要否とを対応付ける障害別バックアップ要否一覧表（障害種別復元要否情報記憶部）を記憶する。  
図２５は、障害別バックアップ要否一覧表の一例を示す図である。図２５に示すように、障害別バックアップ要否一覧表は、障害種別欄１９０００と、バックアップ要否欄１９０１０とを備える。なお、クラスタサービスは、障害発生イベントに障害の種別を示す情報を設定して通知するものとする。  
障害種別欄１９０００には、クラスタサービス２１１２により障害発生イベントに設定される障害の種別を示す情報が設定される。障害の種別を示す情報としては、例えば、図２５に示すような名称である。また、障害の種別を示す情報として、例えば、エラーコード等を用いてもよい。  
バックアップ要否欄１９０１０は、障害種別欄１９０００に設定されている種別の障害が発生した場合にバックアップが必要であるかどうかを示す情報が設定される。
【０１３９】
＝＝＝障害種別によるバックアップ要否チェック処理＝＝＝
図２６は、障害種別に応じたバックアップ要否決定処理の流れを説明する図である。
【０１４０】
処理を開始する（ステップ１８０００）と、障害別バックアップ要否一覧表を検索し（ステップ１８０２０）、障害発生イベントに設定されている障害種別に対応するレコードが障害別バックアップ要否一覧表に登録されているかどうかを調べる（ステップ１８０４０）。障害別バックアップ要否一覧表に登録されていない場合（ステップ１８０４０：Ｎｏ）は、バックアップが必要であると判断し、バックアップ要否決定処理を終了する（ステップ１８１００）。
【０１４１】
障害別バックアップ要否一覧表より、当該障害種別に対応するバックアップ要否欄１９０１０を参照し、「必要」と設定されているかどうかをもって、バックアップが必要であるかどうかを判断し（ステップ１８０６０）、バックアップ要否決定処理を終了する（「不要」が設定されている場合：ステップ１８０８０、「必要」が設定されている場合：ステップ１８１００）。
【０１４２】
なお、緊急バックアップ制御プログラムが上記障害種別によるバックアップ要否チェック処理を行う場合、各ノードが記憶しているバックアップ保持条件２１１８、２２１８、２３１８を省略することもできる。また、緊急バックアップ制御プログラムは、バックアップアクセス可否チェック要求は送信することがなくなるため、図２０の処理の流れにおいてバックアップアクセス可否チェック要求の判断を行うステップ（ステップ１３２８０及びステップ１３２６０）を省略することができる。
【０１４３】
また、障害別バックアップ要否一覧表の障害種別欄１９０００に設定する情報は、障害種別に替えて障害箇所とすることもできる。障害箇所としては、例えば、「ノード」「記憶装置」「ディスクドライブ」「通信経路」等である。この場合、ノードは本番データの識別情報と障害箇所を示す情報とを対応付けて記憶する（障害箇所別復元要否情報記憶部）。
【０１４４】
＝＝＝その他＝＝＝
上述した第２及び第３の実施形態では、データセンタシステムは３つのデータセンタにより構成され、各データセンタ内に１つのノード及び１つの記憶システムが設置されている例を示した。しかしながら、データセンタの数、データセンタ内のノードの数、及びデータセンタ内の記憶システムの数は上記に限るものではなく、任意に設定することができる。
【０１４５】
また、構成情報２１２２、２２２２、２３２２、データ一覧表２１１７、２２１７、２３１７、バックアップ保持条件２１１８、２２１８、２３１８、データセンタ一覧２１１９、２２１９、２３１９のデータ形式は、バイナリフォーマットやデータベースとすることができる。また、これら構成情報、データ一覧表、及びバックアップ保持条件は各ノードに配置せず、いずれか１つ以上のノード上に配置し、必要に応じて各ノードから参照するようにしてもよい。また、各ノードから共有できる共有ディスクを設けて、構成情報、データ一覧表、及びバックアップ保持条件を、共有ディスク上に記憶するようにしてもよい。
【０１４６】
また、バックアップにアクセスできるかどうかを問い合わせるバックアップアクセス可否チェック要求には、バックアップの間隔を示す時間（何時間以内のバックアップを検索するか）を指定したが、時間は指定せず、バックアップアクセス可否チェック処理においてバックアップ保持条件を参照するようにしてもよい。
【０１４７】
また、上述した処理では、緊急バックアップ制御プログラムは、障害発生後、バックアップされたデータにアクセスできるかどうかによって、バックアップが必要であるかどうかを判断したが、これを、データがバックアップされた数に応じて判断するようにしてもよい。また、緊急バックアップ制御プログラムは、予め指定した数以上のデータセンタにおいてバックアップデータにアクセスできなければ、バックアップが必要であると判断するようにしてもよい。
【０１４８】
また、緊急バックアップ制御プログラムは、バックアップされたデータにアクセスできない場合に、バックアップを行う代わりに、出力装置に警告メッセージを出力し、利用者に放置するようにしてもよい。また、障害の種別により、警告メッセージを出力するかバックアップを実行するかを決定するようにしてもよい。
【０１４９】
また、本発明を、クラスタを構成しているデータセンタシステム以外にも、１台のコンピュータに適用することもできる。コンピュータ上で定期的にバックアップを行い、バックアップデータを格納したハードディスクドライブに障害が発生したことを検出すると、他のディスクや他のデバイスにデータをバックアップするようにすることができる。
【０１５０】
以上の説明は本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に本発明にはその等価物が含まれることは勿論である。
【図面の簡単な説明】
【０１５１】
【図１】本発明の一実施の形態による、クラスタシステムの全体構成を示す図である。
【図２】本発明の一実施の形態による、フェイルオーバ時に第２の情報処理装置２０において行われる処理の流れの概略を示す図である。
【図３】本発明の一実施の形態による、バックアップ保持条件の一例を示す図である。
【図４】本発明の一実施の形態による、データ一覧表の一例を示す図である。
【図５】本発明の一実施の形態による、第２の情報処理装置２０において行われるバックアップ処理の流れを示すフローチャートである。
【図６】本発明の一実施の形態による、３つのノードを含んで構成されるクラスタシステムの構成を示す図である。
【図７】本発明の一実施の形態による、データセンタシステム２０００の全体構成を示す図である。
【図８】本発明の一実施の形態による、記憶システムが記憶している構成情報を説明する図である。
【図９】本発明の一実施の形態による、記憶システムＡ２１２０が記憶している構成情報２１２２の一例を示す図である
【図１０】本発明の一実施の形態による、記憶システムＢ２２２０が記憶している構成情報２２２２の一例を示す図である
【図１１】本発明の一実施の形態による、記憶システムＣ２３２０が記憶している構成情報２３２２の一例を示す図である
【図１２】本発明の一実施の形態による、ノードＡ２１１０の構成を示す図である。
【図１３】本発明の一実施の形態による、データセンタ一覧を説明する図である。
【図１４】本発明の一実施の形態による、ノードが記憶しているデータ一覧表を説明する図である。
【図１５】本発明の一実施の形態による、ノードＡ２１１０が記憶しているデータ一覧表２１１７の一例を示す図である。
【図１６】本発明の一実施の形態による、ノードＢ２２１０が記憶しているデータ一覧表２２１７の一例を示す図である。
【図１７】本発明の一実施の形態による、ノードＣ２３１０が記憶しているデータ一覧表２３１７の一例を示す図である。
【図１８】本発明の一実施の形態による、ノードＡ２１１０が記憶しているバックアップ保持条件２１１８の一例を示す図である。
【図１９】本発明の一実施の形態による、上記緊急バックアップ制御プログラムの動作の概要を説明する図である。
【図２０】本発明の一実施の形態による、緊急バックアップ制御プログラム２１１６の処理の流れを示す図である。
【図２１】本発明の一実施の形態による、バックアップ要否決定処理の流れを示す図である。
【図２２】本発明の一実施の形態による、バックアップ先決定処理の流れを示す図である。
【図２３】本発明の一実施の形態による、バックアップアクセス可否チェック処理の流れを示す図である。
【図２４】本発明の一実施の形態による、バックアップ可否チェック処理の流れを示す図である。
【図２５】本発明の一実施の形態による、障害別バックアップ要否一覧表の一例を示す図である。
【図２６】本発明の一実施の形態による、障害種別に応じたバックアップ要否決定処理の流れを説明する図である。
【符号の説明】
【０１５２】
１０      第１の情報処理装置
２０      第２の情報処理装置
３０      第１の記憶装置
４０      第２の記憶装置
５０      クライアント装置
６０      ネットワーク
１０００  ノードＡ
１１００  ノードＢ
１２００  ノードＣ
１０５０  記憶システムＡ
１１５０  記憶システムＢ
１２５０  記憶システムＣ
２０００  データセンタシステム
２１００  データセンタＡ
２２００  データセンタＢ
２３００  データセンタＣ
２１１０  ノードＡ
２２１０  ノードＢ
２３１０  ノードＣ
２１２０、２２２０、２３２０  記憶システム
２１１２、２２１２、２３１２  クラスタサービス
２１１４、２２１４、２３１４  バックアッププログラム
２１１６、２２１６、２３１６  緊急バックアッププログラム
２１１７、２２１７、２３１７  データ一覧表
２１１８、２２１８、２３１８  バックアップ保持条件
２１１９、２２１９、２３１９  データセンタ一覧
２１２２、２２２２、２３２２  構成情報
【図１】
2005196683.tif 000003
【図２】
2005196683.tif 000004
【図３】
2005196683.tif 000005
【図４】
2005196683.tif 000006
【図５】
2005196683.tif 000007
【図６】
2005196683.tif 000008
【図７】
2005196683.tif 000009
【図８】
2005196683.tif 000010
【図９】
2005196683.tif 000011
【図１０】
2005196683.tif 000012
【図１１】
2005196683.tif 000013
【図１２】
2005196683.tif 000014
【図１３】
2005196683.tif 000015
【図１４】
2005196683.tif 000016
【図１５】
2005196683.tif 000017
【図１６】
2005196683.tif 000018
【図１７】
2005196683.tif 000019
【図１８】
2005196683.tif 000020
【図１９】
2005196683.tif 000021
【図２０】
2005196683.tif 000022
【図２１】
2005196683.tif 000023
【図２２】
2005196683.tif 000024
【図２３】
2005196683.tif 000025
【図２４】
2005196683.tif 000026
【図２５】
2005196683.tif 000027
【図２６】
2005196683.tif 000028