JP2005196683A - 情報処理システム、情報処理装置、及び情報処理システムの制御方法 - Google Patents

情報処理システム、情報処理装置、及び情報処理システムの制御方法 Download PDF

Info

Publication number
JP2005196683A
JP2005196683A JP2004004670A JP2004004670A JP2005196683A JP 2005196683 A JP2005196683 A JP 2005196683A JP 2004004670 A JP2004004670 A JP 2004004670A JP 2004004670 A JP2004004670 A JP 2004004670A JP 2005196683 A JP2005196683 A JP 2005196683A
Authority
JP
Japan
Prior art keywords
information processing
information
data
backup
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004004670A
Other languages
English (en)
Inventor
Kenichi Soejima
健一 副島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004004670A priority Critical patent/JP2005196683A/ja
Priority to US10/817,862 priority patent/US7114094B2/en
Publication of JP2005196683A publication Critical patent/JP2005196683A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers

Abstract

【課題】システム内のいずれのサイトにもバックアップが存在しない時間を短縮する。
【解決手段】互いに通信可能な複数のサイトの情報処理装置の1つに障害が生じた場合に、障害が生じた情報処理装置とは異なる他の情報処理装置が障害が生じた情報処理装置が行っていた処理を引き継ぐフェイルオーバに関する処理を行うフェイルオーバ処理部と、障害が生じた情報処理装置から他の情報処理装置にフェイルオーバが実行される場合に、障害が生じた情報処理装置を除く情報処理装置の何れかにおいて、フェイルオーバの対象となる処理を行うために必要となるデータである本番データが復元可能に管理されているかどうかを判断する復元可否判断部と、本番データが復元可能に管理されていない場合に、本番データを復元するために必要となるデータであるバックアップデータを生成するバックアップデータ生成部と、を備えることとする。
【選択図】 図3

Description

本発明は、情報処理システム、情報処理装置、及び情報処理システムの制御方法に関する。
情報処理システムにおける災害復旧(ディザスタリカバリ)が注目されている。ディザスタリカバリを実現する技術として、プライマリサイトに設置されている記憶装置のデータの複製を、これとは遠隔したリモートサイトに設置されている記憶装置においても管理する技術が知られている。プライマリサイトの被災時に、リモートサイトのコンピュータは、プライマリサイトのコンピュータが行っていた処理を引き継ぐ、いわゆるフェイルオーバを行い、リモートサイトの記憶装置に複製されているデータを使用して処理を継続する。
また、情報処理システムでは、データに対するミスオペレーションやウイルスの感染等のデータに対する予期せぬ障害が発生することがある。そのような場合に過去の時点のデータを復旧できるように、プライマリサイト又はリモートサイトのいずれかにおいて定期的にデータの複製がバックアップされる。
米国特許第5,155,845号明細書
しかしながら、バックアップが実行されるサイトにおいて障害が発生した場合、そのサイトの処理は他のサイトによって引き継がれるが、データのバックアップが行われるまでの間はバックアップデータが存在しない。この場合、フェイルオーバ先となったサイトにおいて災害やその他の障害が発生してしまうと、データを復旧することができないというおそれがある。
本発明は、このような背景を鑑みてなされたものであり、システム内にバックアップの存在しない時間を短縮する情報処理システム、情報処理装置、及び情報処理システムの制御方法を提供することを目的とする。
上記目的を達成するための本発明のうち主たる発明のひとつは、情報処理システムであって、複数のサイトの夫々に設置され、互いに通信可能に接続する情報処理装置と、1つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記情報処理装置の1つに障害が生じた場合に、前記障害が生じた前記情報処理装置とは異なる他の前記情報処理装置が前記障害が生じた前記情報処理装置が行っていた処理を引き継ぐフェイルオーバに関する処理を行うフェイルオーバ処理部と、前記障害が生じた前記情報処理装置から前記他の情報処理装置にフェイルオーバが実行される場合に、前記障害が生じた前記情報処理装置を除く前記情報処理装置の何れかにおいて、前記フェイルオーバの対象となる処理を行うために必要となるデータである本番データが復元可能に管理されているかどうかを判断する復元可否判断部と、前記本番データが復元可能に管理されていない場合に、前記本番データを復元するために必要となるデータであるバックアップデータを生成するバックアップデータ生成部と、を備えることとする。
本発明によれば、システム内にバックアップの存在しない時間を短縮する情報処理システム、情報処理装置、及び情報処理システムの制御方法を提供することができる。
以下、本発明を適用したクラスタシステムについて説明する。クラスタシステムとは、システムの冗長化を図るための手段の一つとして知られるクラスタ技術を用いた情報処理システムである。クラスタシステムでは、予めコンピュータに何らかの障害が発生した場合を想定し、処理を行う第1のコンピュータとは別の第2のコンピュータを準備する。なお、以下の説明において、クラスタを構成するコンピュータは、情報処理装置又はノードとも称する。
第1のコンピュータは、第1のコンピュータに発生した障害を検出する(障害検出部)と、第2のコンピュータに対して障害に関する情報を送信する(障害情報送受信部)。第2のコンピュータは、第1のコンピュータから障害に関する情報を受信したり(障害情報送受信部)、第1のコンピュータとの間での通信が行えなくなったことを検知したりすることにより、第1のコンピュータにおける障害を検出する(障害検出部)。
処理を行っている第1のコンピュータに何らかの障害が発生すると、第2のコンピュータが処理を引き継ぎ(フェイルオーバ)、システム全体として処理を継続することができる。このようにして、フェイルオーバ型のクラスタは、コンピュータシステムの信頼性及び可用性を高めている。そのため、クラスタは各種の重要なシステムに採用されている。
今日のコンピュータシステムでは、コンピュータが貴重な情報を持つようになり、天災などに遭遇してもデータを安全に保持することが求められている。そのため、上述したクラスタによる可用性の向上に加え、データの冗長化及びデータの回復手段をコンピュータシステムが有することが期待されている。
データの冗長化という面について、複数の記憶装置間でデータの複製(コピー)を保持する技術(以下、リモートコピーと称する)がある。記憶装置によってはコンピュータに介在されることなく、複数の記憶装置同士でリモートコピーを行うことができるものもある。リモートコピーの技術によれば、2つの記憶装置間で、指定された時点のデータの複製を記憶することができる。なお、以下の説明において、記憶装置のことを記憶システムとも称する。
また、第1の記憶装置に書き込まれたデータを随時第2の記憶装置に送信し、第2の記憶装置において受信したデータを書き込むようにすることもできる。2つの記憶装置のうちの1つ(第1の記憶装置)に書き込まれたデータは、第2の記憶装置に対して送信される(書き込みデータ送信部)。第2の記憶装置では、第1の記憶装置から書き込みデータを受信し(書き込みデータ受信部)、受信した書き込みデータを記憶する。これにより、第1の記憶装置に記憶されているデータと、第2の記憶装置に記憶されているデータとが同じ内容に更新される。このように、リモートコピーを中止するまでの間、リモートコピー元に書き込まれたデータがリモートコピー先にも書き込まれ、2つの記憶装置間でデータの内容を同期させることができる。
上記ようなリモートコピーの技術とクラスタの技術とを組み合わせ、システムとデータの冗長性を強化することができる。これにより、コンピュータシステムの信頼性や可用性を高めることができる。
一方、記憶装置の故障や災害等によるデータ喪失や、ユーザによるミスオペレーション等によるデータの破壊からデータを回復するために、データを復元可能な状態に管理するバックアップ技術が知られている。復元可能な状態に管理することとは、例えば、記憶装置に記憶されている情報処理を行う上で必要なデータ(以下、本番データと称する)の複製を他の記憶装置に記憶することである。バックアップ処理において、あらかじめ定めた時刻や管理者が指示を行ったタイミングで、本番データを別の記憶媒体にコピーする。記憶媒体としては、フロッピーディスクやハードディスク、磁気テープ、CD−R、DVD−RAM等が用いられる。なお、本番データを復元するために必要なデータ(以下、バックアップデータと称する)は、データの単純な複製に限らず、例えば、圧縮されたデータや、元の本番データを再現するために必要なハッシュ値などとしてもよい。
上述したリモートコピーの技術とクラスタの技術とを組み合わせるシステムにおいて、リモートコピーにより、あるサイトの記憶装置が記憶するデータが、他サイト(遠隔地であることが多い)の記憶装置に複製(コピー)される。この場合、コピー元のデータに対する変更はコピー先にも反映される。従って、例えば、コピー元のデータを誤って修正してしまった場合や、コピー元のデータがウィルスに感染した場合等、コピー元のデータが破壊されてしまった場合、コピー先データも同様に破壊されてしまう。このような事態に備えるため、前記リモートコピーによるコピーとは別に、バックアップによりデータの複製を取ることが望ましい。
また、リモートコピーでは常に最新のデータが保たれるものの、データ間の一貫性が保障されているわけではない。すなわち、データAとデータBの両方で1つの情報をあらわす場合、データAのみを更新した時点のデータでは一貫性がなく、データAとデータBの両方を更新した時点で一貫性が取られる。そのため、記録するデータによっては、データ間の一貫性が保たれた状態でデータを保管しておくために、バックアップを行うこともある。
バックアップを行う場合、どこにバックアップするかが重要である。例えば、記憶装置内のデータを記憶している物理ディスクが故障してもデータを喪失しないようにするには、別の物理ディスクにバックアップすればよい。また、記憶装置が設置されている場所(サイト)に災害が発生した場合等に本番データを喪失しないようにするために、同じ記憶装置内にバックアップする以外にも、例えば、上述したリモートコピーの技術を利用し、地理的に遠隔した場所にバックアップすることもできる。
また、バックアップを行う場合、どの程度の間隔でバックアップの処理を行うのかも重要である。今日の情報処理において取り扱われるデータの量は増加しており、あまり頻度多くバックアップを行うと、バックアップ処理にかかる負荷により、システム全体の処理効率が低下してしまうおそれがある。一般的に、クラスタシステムにおいて、数時間から1日毎にバックアップ処理が行われる。バックアップ処理の頻度は、バックアップ処理が行われてから、次にバックアップ処理が行われるまでの間に本番データを喪失しても、何らかの方法でそのデータを復旧することができる期間を指定するのが一般的である。そのため、バックアップデータから本番データを復旧することができなくなる恐れのある時点をそのバックアップデータの有効期限として設定し、有効期限よりも前にバックアップ処理を行うことが期待されている。
===第1の実施の形態===
以下に、2台のコンピュータ(情報処理装置)によりクラスタを構成しているクラスタシステムに本発明を適用した実施の形態を説明する。図1は、本実施の形態に係るクラスタシステムの全体構成を示す図である。図1に示すコンピュータシステムでは、クライアント装置60から第1の情報処理装置10に対してリクエストが送信され、第1の情報処理装置10は受信したリクエストに応じて各種の情報処理を行う。
第1の情報処理装置10は、第1のサイトに設置されている。第1の情報処理装置10はネットワーク60に接続し、クライアント装置50との間で通信を行う。また、第1のサイトから遠隔した第2のサイトに第2の情報処理装置20が設置されている。第1及び第2のサイトは、例えば、コンピュータや記憶装置が設置されるデータセンタである。第2の情報処理装置20もネットワーク60に接続し、第1の情報処理装置10及びクライアント装置50との間で通信を行うことができる。
第1の情報処理装置10及び第2の情報処理装置20はいずれも、CPU(Central Processing Unit)やメモリを備えるコンピュータである。第1の情報処理装置10及び第2の情報処理装置20は、例えば、パーソナルコンピュータやワークステーション、メインフレームなどである。第1の情報処理装置10及び第2の情報処理装置20が備えるCPUは、例えば、Windows(登録商標)やUNIX(登録商標)等のオペレーティングシステムを実行する。上記オペレーティングシステムを実現するためのプログラムは、第1の情報処理装置10及び第2の情報処理装置20のメモリに記憶されている。また、第1の情報処理装置10及び第2の情報処理装置20が備えるCPUは、メモリに記憶されている各種のアプリケーションプログラムをオペレーティングシステム上で実行し、各種の情報処理サービスや、クラスタサービス、後述するバックアップ処理等の機能を提供する。なお、上記オペレーティングシステムを実現するプログラムやアプリケーションプログラムは、例えば、ハードディスクや半導体ディスク、光ディスク、CD−ROM、DVD−ROM等の記憶媒体に記憶され、メモリに読み出されるようにしてもよい。
第1の情報処理装置10及び第2の情報処理装置20はそれぞれ記憶装置と接続している。第1の記憶装置30は第1の情報処理装置10に接続し、第1の情報処理装置10に記憶ボリュームを提供している。第2の記憶装置40は第2の情報処理装置20に接続し、第2の情報処理装置20に記憶ボリュームを提供している。ここで、記憶ボリュームとは、ハードディスク装置や半導体記憶装置等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む記憶リソースである。第1の記憶装置30及び第2の記憶装置40は、記憶ボリュームを複数備えることができる。図1に示すように、第1の記憶装置30及び第2の記憶装置40は夫々2つの記憶ボリュームを備えている。第1の記憶装置30が備える記憶ボリューム31は、第1の記憶装置30が第1の情報処理装置10に提供する記憶リソースである。記憶ボリューム31には第1の情報処理装置10において実行されるアプリケーションプログラムがアクセスする本番データが記憶されている。本番データは、例えば、データベースの表領域として確保された記憶領域やファイルシステム上のファイルといった単位で記憶されているデータである。本番データは、論理ボリュームに記憶されているデータ全体としてもよいし、任意の記憶領域に記憶されているデータとしてもよい。第1の情報処理装置10は、記憶ボリューム31に記憶されている本番データに適宜アクセスしながら情報処理を行う。なお、第1の情報処理装置10のCPUが実行するアプリケーションプログラムは第1の記憶装置30の記憶ボリュームに記憶されるようにしてもよい。同様に、第2の情報処理装置20において実行されるアプリケーションプログラムは、第2の記憶装置40の記憶ボリュームに記憶されるようにしてもよい。
第1の記憶装置30と第2の記憶装置40とは通信経路70で接続している。図1において、通信経路70はネットワーク60とは異なる通信経路であるが、ネットワーク60を介して接続するようにしてもよい。
第1の記憶装置30と第2の記憶装置40との間ではリモートコピーが行われる。第1の記憶装置30がリモートコピー元となり、第2の記憶装置40がリモートコピー先となる。第1の記憶装置30が記憶ボリューム31に記憶している本番データの複製を、第2の記憶装置40の記憶ボリューム41が記憶する。第1の記憶装置30は、記憶ボリューム31に対して書き込まれた書き込みデータを第2の記憶装置40に送信する(書き込みデータ送信部)。第2の記憶装置40は第1の記憶装置30から書き込みデータを受信し(書き込みデータ受信部)、記憶ボリューム41に書き込み(論理ボリューム制御部)、記憶ボリューム31に記憶されているデータの内容と記憶ボリューム41に記憶されているデータの内容とが同じになるようにする。リモートコピーにより第1の記憶装置30に記憶されている本番データの複製が第2の記憶装置40にも記憶されることにより、本番データの冗長度が上がり、本番データの保全性が高まる。なお、第1の情報処理装置10において実行されるアプリケーションプログラムが第1の記憶装置30に記憶されている場合、第1の記憶装置30に記憶されているアプリケーションプログラムの複製がリモートコピーにより第2の記憶装置40に記憶されるようにしてもよい。この場合、第2の情報処理装置20は、第2の記憶装置40にリモートコピーされたアプリケーションプログラムを実行することができる。これにより、第1の情報処理装置10が実行するアプリケーションプログラムと、第2の情報処理装置20が実行するアプリケーションプログラムとの整合性を保つことができる。
また、本実施の形態では、第1の記憶装置30から第2の記憶装置40へのリモートコピー以外にも、第1の記憶装置30が記憶しているデータのバックアップをとることにより本番データの保全性を高めている。第1の情報処理装置10がバックアップを指示するコマンド(バックアップコマンド)を第1の記憶装置30に送信し(バックアップデータ生成部)、第1の記憶装置30がバックアップを行う。第1の記憶装置30は、記憶ボリューム31(第1の論理ボリューム)に記憶されている本番データの複製を記憶ボリューム32(第2の論理ボリューム)に記憶させてバックアップを行う。ここで、第1の情報処理装置10は、例えば、本番データの識別情報と記憶ボリューム32の識別情報とを対応付けて記憶し、第1の記憶装置30が本番データを復元可能にするためのバックアップデータを記憶していることを管理することができる。バックアップにより、例えば、本番データに対して管理者がミスオペレーションを行ったり、本番データにウイルスが感染したりしてしまった場合にも、過去の時点のデータに復旧できるようにすることができる。 なお、上記の記憶装置30が行うバックアップに替えて、第1の情報処理装置10が記憶ボリューム31からデータを読み出し、バックアップ装置にデータを書き込むというバックアップ処理を第1の情報処理装置10が行うようにしてもよい。第1の情報処理装置10がバックアップ処理を担当することにより、記憶装置の処理負荷を軽減することができる。
また、本実施の形態においては、本番データは論理ボリューム単位でリモートコピー及びバックアップされるものとするが、論理ボリューム単位ではなく、物理ボリューム単位としてもよいし、記憶ボリュームの一部の記憶領域単位としてもよい。
また、本番データは記憶装置とは別体のバックアップ装置にバックアップされるようにしてもよい。バックアップ装置としては、例えば、フロッピーディスクドライブやハードディスクドライブ、磁気テープ装置、CD−Rドライブ、DVD−RAMドライブ等を用いることができる。この場合、例えば、バックアップ装置は、情報処理装置や記憶装置に直接接続する形態としてもよいし、ネットワーク60に接続し、ネットワーク経由でバックアップするデータを送信するような形態としてもよい。
このようなクラスタシステムにおいて、第1の情報処理装置10で実行されるクラスタサービスは、例えば、第2の情報処理装置20に対して定期的にメッセージを送信し、第2の情報処理装置20が応答を返すかどうかを確認するハートビート処理を行う。また、クラスタサービスは、第1の情報処理装置10で発生した障害や、第1の情報処理装置10に接続する機器に発生した障害、通信経路におけるエラー等を示すメッセージを第2の情報処理装置20に送信する障害通知処理も行う。このような、ハートビート処理や障害通知処理は、第2の情報処理装置20においても同様に実現され、互いに障害に関する情報を送受信する(障害情報送受信部)ことにより、情報処理装置に生じた障害を検出する。
第2の情報処理装置20は、上記のハードビート処理や第1の情報処理装置10からの障害通知によって、第1のサイトにおける障害を検出する(障害検出部)。第2の情報処理装置20が第1のサイトにおける障害を検出した場合、第1の情報処理装置10が実行していた処理を引き継ぐ(フェイルオーバする:フェイルオーバ処理部)。
第1の情報処理装置10が実行していた処理が第2の情報処理装置20に引き継がれると、第2の情報処理装置20は、第2の記憶装置40に対して利用を開始する旨のメッセージを送信する等の利用開始処理を行う。この利用開始処理を、ディスクリソースをオンラインにすると呼ぶ。第2の記憶装置40には、第1の記憶装置30に記憶さていた本番データの複製が記憶されているため、第2の情報処理装置20は第2の記憶装置40にアクセスすることにより、第1の情報処理装置が行っていた処理に用いられる本番データを取り扱うことができる。
このとき、第1の記憶装置30に障害が発生していなければ、第2の情報処理装置20に接続される第2の記憶装置40をリモートコピー元とし、第1の記憶装置30をリモートコピー先となるように設定することもできる。記憶装置のリモートコピーの向きを入れ替える(コピー元とコピー先を入れ替える)ことにより、クラスタシステム全体の稼動を停止することなくリモートコピーを継続することができる。クラスタシステム内でのリモートコピーを継続することにより、クラスタシステム内に記憶されているデータの冗長性を保ち、データの保全性を高めることができる。
また、第1の情報処理装置10が第1の記憶装置30に対して行っていたバックアップを、第2の情報処理装置20も行う。第2の情報処理装置は、第2の記憶装置40に対してバックアップコマンドを送信し(バックアップデータ生成部)、第2の記憶装置40が記憶ボリューム41(第1の論理ボリューム)に記憶されているデータを記憶ボリューム42(第2の論理ボリューム)に複製することによりバックアップを行う。第2の記憶装置40は、記憶ボリューム42にバックアップを取ることにより、可搬型媒体に比べ一般的に高速なバックアップが可能となる。しかしながら、第1の記憶装置30及び第2の記憶装置40において、バックアップ先となる装置は記憶ボリュームに限らず、例えば、外部のバックアップ機器を用いることもできる。外部のバックアップ装置としては、例えば、テープドライブや光ディスクドライブ、ハードディスクドライブ等の記憶装置を用いることができる。バックアップ先として可搬型記憶媒体を用いることにより、例えば、物理的に遠隔した場所に記憶媒体を保存することにより、データの保全性を高めることができる。
図1に示したクラスタシステムのように、リモートコピーの技術とクラスタの技術を組み合わせて構築したシステムでは、例えば、第1のサイトにおいて機器の故障や被災等の障害が発生すると、第1の情報処理装置10で行われていた処理を第2の情報処理装置20が引き継ぐ。これにより、第1の情報処理措置10で行われていた処理は継続される。しかしながら、第1のサイトで本番データのバックアップを定期的に行っていた場合、上記のような障害により、バックアップしたデータを失う可能性がある。このとき、第2のサイトにおいて次のバックアップが行われるまでの間、バックアップされたデータはシステム内に存在しない。そのため、例えば、この間に本番データが破壊されてしまうと、バックアップから本番データの復旧を行うことができなくなってしまうおそれがある。この危険性を減らすため、以下のようなバックアップの処理を行う。
===フェイルオーバ後のバックアップ処理概要===
次に、第1の情報処理装置10から第2の情報処理装置20へのフェイルオーバが行われた際に行われるバックアップ処理の概要を説明する。
図2は、フェイルオーバ時に第2の情報処理装置20において行われる処理の流れの概略を示す図である。以下の処理は、第2の情報処理装置20のCPUが、メモリに記憶されているアプリケーションプログラムを実行することによって実現される。
第2の情報処理装置20は、第1のサイトにおける障害を検出すると(ステップ201)、第1の情報処理装置10の処理を引き継ぐフェイルオーバ処理を行う(ステップ202)。第2の情報処理装置20は後述するようにバックアップが必要であるかどうかを判断(ステップ203)する。第2の情報処理装置20は、バックアップが必要と判断した場合(ステップ203:No)、バックアップ処理を行う(ステップ204)。なお、バックアップ処理は、第2の情報処理装置20が第2の記憶装置40にバックアップを指示するコマンドを送信することにより行われる。
バックアップが必要であるかどうかを判断するために、第2の情報処理装置20は、バックアップ保持条件とデータ一覧表とをメモリに記憶している。以下にこれらについて説明する。
===バックアップ保持条件===
バックアップ保持条件(復元要否管理部)は、本番データがバックアップを必要としているかどうか(復元要否情報)と、バックアップが必要である場合にはどれくらいの間隔でバックアップを行う必要があるのか、といった情報を設定するためのテーブルである。図3は、バックアップ保持条件の一例を示す図である。図3に示すように、バックアップ保持条件は、本番データ識別情報欄301、バックアップ要否欄302、バックアップ間隔欄303を備える。
本番データ識別情報欄301には、第1の記憶装置30の記憶ボリューム31に記憶されている本番データを識別する名称が設定される。本番データ識別情報欄301には、例えば「A社顧客データ」や「テーブル領域」等の名称を設定するようにしてもよいし、各データに割り当てた番号等を設定するようにしてもよい。
バックアップ要否欄302には、データ名欄301が示す本番データがバックアップを必要としているかどうかを示す情報が設定される。当該本番データがバックアップを必要としている場合、バックアップ間隔欄303に、定期的に本番データがバックアップされる時間間隔が設定される。
===データ一覧表===
次に、データ一覧表について説明する。データ一覧表は、情報処理装置がアクセスすることができるデータの一覧を設定するテーブルである。図4は、データ一覧表の一例を示す図である。図4に示すように、データ一覧表は、論理ボリューム識別情報欄401、本番データ識別情報欄402、データ種別欄403を備える。
論理ボリューム識別情報欄401には、情報処理装置が本番データ又はバックアップデータにアクセスするために必要な情報が設定される。本実施の形態では、本番データは論理ボリューム単位にバックアップされるため、論理ボリュームの識別情報であるLUN(Logical Unit Number)が論理ボリューム識別情報欄402に設定される。
本番データ識別情報欄402には、上記バックアップ保持条件の本番データ識別情報欄301と同様に、本番データを識別する名称が設定される。本番データ識別情報欄402に設定される名称によって、バックアップ保持条件とデータ一覧表とが対応付けられる。
第2の情報処理装置20は、例えば、「A社顧客データ」についてのバックアップデータが「ボリューム2」に記憶されていることを判断し、「ボリューム2」が示す論理ボリュームに対する読み出し要求を第2の記憶装置40に送信することで、バックアップデータを読み出す(バックアップデータ読み出し部)ことができる。
データ種別欄403には、第2の記憶装置40に記憶されているデータの種別を示す情報が設定される。第1の記憶装置30からリモートコピーによって第2の記憶装置40に複製されたバックアップデータを記憶している論理ボリュームに対応するデータ種別欄403には「リモートコピーデータ」が設定される。また、第2の記憶装置40内でバックアップデータを他の論理ボリュームにバックアップした場合、バックアップ先となる論理ボリュームに対応するデータ種別欄403には「バックアップデータ」が設定される。また、第2の情報処理装置20から第2の記憶装置40に対して読み書きされる本番データについてはデータ種別に「マスタデータ」が設定される。また、データ種別欄403に「バックアップデータ」が設定される場合、バックアップが行われた日時(バックアップ日時)が付帯されて設定される。
第2の情報処理装置20は、データ一覧表(バックアップデータ管理情報管理部)によりバックアップデータが存在するかどうかを判断することができる。また、第2の情報処理装置20は、バックアップデータについて、データ一覧表のデータ種別欄403からバックアップされた日時を把握することができる。これにより、例えば、第2の情報処理装置20は、バックアップされた日時から上記バックアップ保持条件に設定されているバックアップ間隔後をバックアップデータの有効期限として、有効なバックアップデータが存在するかどうかを判断することができる。すなわち、バックアップデータの有効期限を設定することができる(バックアップ有効期限記憶部)。なお、データ一覧表には、バックアップの履歴として、複数のレコードを記憶するようにしてもよい。
なお、バックアップ保持条件及びデータ一覧表は、例えば、管理者が設定し、情報処理装置のRAMやハードディスク等の記憶装置に記憶しておくことができる。データ一覧表は、例えば、定期的に記憶装置にアクセスし、記憶装置に記憶されているデータに関する情報を記憶装置から取得するようにしてデータ一覧表を作成や更新をするようにしてもよい。
また、バックアップ保持条件及びデータ一覧表は、第1の情報処理装置10においても記憶される。第1の情報処理装置10は、バックアップ保持条件を参照し、バックアップの必要なデータ名を取得する。取得したデータ名をキーとして、データ一覧表からバックアップ対象となる論理ボリュームの識別情報を取得する。取得した論理ボリュームの識別情報が示す論理ボリュームについて、記憶ボリューム31から記憶ボリューム32へバックアップを行う。
なお、バックアップ保持条件及びデータ一覧表は、第1の情報処理装置10と第2の情報処理装置20との間で共有するようにしてもよい。例えば、第1の情報処理装置10は、記憶しているバックアップ保持条件及びデータ一覧表を、定期的に第2の情報処理装置20に送信するようにしてもよい。これにより、例えば、管理者は第1の情報処理装置10が記憶しているバックアップ保持条件及びデータ一覧表を更新するのみで、第2の情報処理装置20にもその更新を反映することができる。従って、複数のサイトに設定を行う管理者の負担が軽減される。
また、バックアップ保持条件及びデータ一覧表は、第1の情報処理装置10及び第2の情報処理装置20のメモリに限らず、例えば、情報処理装置が備えるハードディスク等の記憶媒体に記憶されるようにしてもよい。また、バックアップ保持条件及びデータ一覧表は、第1の記憶装置30及び第2の記憶装置40に記憶されるようにしてもよい。
===フェイルオーバ後のバックアップ処理===
図5は、第2の情報処理装置20において行われるバックアップ処理の流れを示すフローチャートである。第2の情報処理装置20は、第1の情報処理装置10からのフェイルオーバに関するフェイルオーバ処理が行われた後に、以下の処理を行う。
第2の情報処理装置20は、バックアップ保持条件の各レコードに対応する本番データについて、以下の処理を行う。
バックアップ要否欄302を参照し、本番データがバックアップを取ることを必要としているかどうかを判断する(ステップ501)。
当該レコードに対応する本番データがバックアップを取ることを必要としていれば(ステップ501:必要)、バックアップ間隔欄303からバックアップを取る間隔を取得する(ステップ502)。
データ一覧表から、データ名をキーとし、データ種別欄301に「バックアップ」が設定されており、データ種別欄403に付帯されている日時が、現在の日時から上記バックアップ間隔以前よりも新しいという条件に適合するレコードを検索する(ステップ503)。
上記の条件に適合するレコードがある場合(ステップ504:Yes)、バックアップが存在していると判断し(バックアップ決定部)、処理を終了する。
上記条件に適合するレコードが存在しない場合(ステップ504:No)、当該本番データについてバックアップが存在しないと判断し、バックアップを行う(ステップ505)。
このように、フェイルオーバ先となった第2の情報処理装置20は、引き継いだ処理により必要とされる本番データについて、バックアップが存在するかどうかを判断し(復元可否判断部)、バックアップが存在しなければバックアップを行う。これにより、システム内に本番データのバックアップが存在しない期間を短縮することができる。従って、本番データを喪失するリスクを減らすことができる。また、このとき、第2のサイトにおいて更に障害が発生したとしても、バックアップから本番データを復元することができる。従って、システム全体におけるデータの保全性を高めることが可能となる。
また、バックアップにかかる処理負荷を無視することはできないため、バックアップは多すぎても好ましくない。本発明によれば、システム全体において、バックアップが存在しているかどうかを確認することができる。また、予め定めておいた期間内のデータがシステム内に存在するかどうかを確認することもできる。バックアップが存在しない場合には、バックアップを行うように設定されている時刻でなくてもバックアップを行う。従って、余分なバックアップを作成することなく、確実にバックアップをとることができる。
なお、上記のバックアップ処理は、例えば、第2のサイトにおいて障害が発生したことを第1の情報処理装置10が検出した場合に用いることも可能である。本実施の形態において、バックアップは第1の記憶装置30において行われているが、第2の記憶装置40においてバックアップが行われていた場合、第1の情報処理装置10が第2のサイトにおける障害を検出し、第1の記憶装置30内でバックアップが行われるようにする。これにより、システム内に確実にバックアップされたデータが存在するようにすることができる。従って、システム全体におけるデータの保全性を高めることができる。
===第2の実施の形態===
次に、第2の実施の形態として、3つ以上のデータセンタ(サイト)からなり、そのうち2つのデータセンタ間でリモートコピーが行われているコンピュータシステムに本発明を適用した例について概要を説明する。
図6は、第2の実施の形態に係る3つのノードを含んで構成されるクラスタシステムの構成を示す図である。なお、ノードはクラスタサービスを提供するコンピュータであり、上記第1の実施形態における情報処理装置に対応する。本実施形態に係るクラスタシステムでは、2つのデータセンタのうちリモートコピー先のデータセンタに災害が発生し、リモートコピーの継続ができなくなった場合、上記2つのデータセンタとは異なるデータセンタを新たなリモートコピー先としてリモートコピーを行う。
図6に示すクラスタシステムにおいて、3つのノード(ノードA1000、ノードB1100、及びノードC1200)が通信路1010で接続されている。各ノードには、それぞれ記憶システムA1050、記憶システムB1150、及び記憶システムC1250が接続されている。記憶システムA1050は、ハードディスクドライブ1052及び1054を備えている。記憶システムB1150は、ハードディスクドライブ1152及び1154を備えている。記憶システムC1250は、ハードディスクドライブ1252及び1254を備えている。ノードA1000と記憶システムA1050とは、データセンタAに設置されている。ノードB1100と記憶システムB1150とは、データセンタBに設置されている。ノードC1200と記憶システムC1250とは、データセンタBに設置されている。なお、本実施の形態において、各記憶システムが備えるハードディスクドライブは、物理的なハードディスクではなく、記憶ボリュームを表すものとする。
記憶システムA1050と記憶システムB1150とは通信経路1020を介して接続しており、記憶システムA1050から記憶システムB1150へのリモートコピーが可能となっている。また、記憶システムA1050と記憶システムC1250とは通信路1030を介して接続しており、記憶システムA1050から記憶システムC1250へのリモートコピーが可能となっている。
各ノードは、CPUやメモリを備えるコンピュータである。各ノード上のメモリに記憶されているプログラムをCPUが実行することにより、クラスタを実現している。ノードA1000、ノードB1100、及びノードC1200がクラスタを構成している。ノードA1000では、ハードディスクドライブ1054を使用するアプリケーションプログラムが実行されている。ハードディスクドライブ1054に記憶されているデータの複製は、ハードディスクドライブ1252にリモートコピーされる。また、8時間に一回、ハードディスクドライブ1252の内容はハードディスクドライブ1254にバックアップされる。すなわち、ハードディスクドライブ1254には、常に少なくとも8時間以内にハードディスクドライブ1054に記憶されていたデータがバックアップされていることになる。
ここで、記憶システムC1250に障害が発生すると、記憶システムA1050のリモートコピー先は、記憶システムC1250内のハードディスクドライブ1252から、記憶システムB1150内のハードディスクドライブ1152に切り替わる。また、ノードC1200で行われていた処理はノードB1100に引き継がれる。ノードB1100は、ノードC1200が行っていた処理を引き継ぐ。ノードB1100は、ノードC1200が行っていたリモートコピーされたデータのバックアップ処理も行う。つまり、ハードディスクドライブ1152にリモートコピーされたデータをハードディスク1154にバックアップする。しかしながら、ノードC1200からノードB1100にフェールオーバが行われた時点で、ノードB1100によるバックアップが行われないと、ハードディスクドライブ1054に記憶されている本番データのバックアップはクラスタシステム内の何処にも存在しないことになる。そのため、次のバックアップ時刻(最長8時間後)までの間にハードディスクドライブ1054の内容が破壊されると、そのコピー先であるハードディスクドライブ1152の内容も破壊される。つまり本番データは失われてしまい、バックアップからの復旧ができないことになってしまう。
そこで本実施形態では、記憶システムC1250に障害が発生し、リモートコピー先が記憶システムB1150のハードディスクドライブ1152に切り替えられると、ノードB1100は、クラスタシステム内の何れかの記憶システムに記憶されている過去8時間以内のバックアップデータにアクセスできるかどうかを調べ、バックアップデータにアクセスできない場合、ハードディスクドライブ1152の内容をハードディスクドライブ1154にバックアップする。
上述したノードB1100がバックアップデータにアクセスできるかどうかを調べる方法として、本実施の形態では以下の2つの方法を示す。
第1の方法は、ノードB1100が全てのノード(ノードA1000、ノードB1100、ノードC1200)に対して、バックアップされたデータにアクセスできるかどうか(バックアップアクセス可否)を問い合わせる方法である。各ノードでは、バックアップが行われた時刻(バックアップ時刻)が記憶されている。ノードB1100が、バックアップアクセス可否を問い合わせるコマンド(問い合わせメッセージ)を上記の全てのノードの夫々に送信する(問い合わせメッセージ送信部)。各ノードは、コマンドを受信する(問い合わせメッセージ受信部)と、記憶しているバックアップ時刻を参照し、例えば、時刻が記憶されていない、又は、バックアップが行われていないことを示す値が設定されている場合には、バックアップされたデータにアクセスできない旨の応答をノードB1100に返信する(問い合わせメッセージ応答部)。バックアップ時刻が記憶されている場合、各ノードは、その時刻が現在の時刻から所定の時間(本実施の形態においては8時間)前の時刻よりも後であるかどうかを判断する。バックアップ時刻が現在の時刻から所定の時間前の時刻よりも後であった場合、各ノードは、バックアップされたデータにアクセスできる旨の応答をノードB1100に返信し、そうでない場合は、バックアップデータにアクセスできない旨の応答を返信する。ノードB1100は、1つでもバックアップされたデータにアクセスできる旨の応答を1つでも受信した場合は何も行わない。1つもなければ、ノードB1100は、記憶システムB1150においてバックアップを行うように制御を行う。
第2の方法は、ノードB1100が、障害の種別からバックアップアクセス可否を推定する方法である。記憶システムC1250の障害の種別は、「記憶システム障害」としてノードB1100は検出する。ノードB1100は、例えば、「記憶システム障害」であればバックアップにアクセスできなくなっている可能性があると判断する。ノードB1100は、バックアップが必要であると判断するとバックアップをするための制御を行う。
上記の2つの方法の具体的な動作は、次の実施の形態において説明する。
===第3の実施の形態===
次に、第3の実施の形態として、複数のデータセンタ(サイト)からなるデータセンタシステムに本発明を適用したの例について説明する。本実施の形態は、3つのデータセンタからなるデータセンタシステムにおいて、業務処理を行っているデータセンタとは別のデータセンタでバックアップを行っているシステムである。
図7に本実施の形態のデータセンタシステム2000の全体構成を示す。データセンタシステム2000は、データセンタA2100、データセンタB2200、及びデータセンタC2300の、3つのデータセンタから構成されている。各データセンタには、コンピュータ(ノード)と記憶装置(記憶システム)が設定されている。ノードと記憶システム間は通信経路で接続されている。
ノードA2110、ノードB2210、及びノードC2310の夫々は通信路2010に接続しており、夫々の間で通信が可能となっている。
また、記憶システム間も通信可能に接続されている。記憶システムA2120と記憶システムB2220は通信路2020で接続されている。記憶システムA2120と記憶システムC2320は通信路2030で接続されている。記憶システムB2220と記憶システムC2320は通信路2040で接続されている。
記憶システムは1台以上のハードディスクドライブを備える記憶装置である。記憶システムA2120は、ハードディスクドライブ2124及びハードディスクドライブ2125を備える。記憶システムB2220は、ハードディスクドライブ2224及びハードディスクドライブ2225を備える。記憶システムC2320は、ハードディスクドライブ2324及びハードディスクドライブ2325を備える。なお、ハードディスクドライブに替えて、フラッシュディスクや半導体ディスク等を用いても良い。
記憶システムは、ハードディスクをRAID(Redundant Array of Inexpensive Disks)方式に規定されるRAIDレベル(例えば、0、1、5)で制御する機能を備えている。また、記憶システムは論理ボリュームをノードに提供している。ノードは、論理ボリュームの識別情報(LUN)と、論理ボリューム上に割り当てられたアドレスとを指定してデータの入出力要求を記憶システムに送信する。
===構成情報===
記憶システムは、ハードディスクドライブに関する構成情報を記憶している。図8は記憶システムが記憶している構成情報を説明する図である。図8に示すように、構成情報は、論理ボリューム識別情報欄5010、ディスクドライブ識別情報欄5020、記憶容量欄5030、使用中フラグ欄5040、リモートコピー情報欄5050を備える。
論理ボリューム識別情報欄5010には、論理ボリュームの識別情報が設定される。構成情報の各レコードは論理ボリュームに対応する情報が設定される。
ディスクドライブ識別情報欄5020には、論理ボリュームが設定されているハードディスクドライブを識別する情報が設定される。本実施の形態では、論理ボリュームはハードディスクドライブの提供する物理ボリューム全体に設定されるものとする。もちろん、複数のディスクドライブにより提供される記憶領域に跨って論理ボリュームを設定するようにしてもよい。
記憶容量欄5030には、設定された論理ボリュームが提供する記憶領域の記憶容量が設定される。使用中フラグ欄5040には、対応する論理ボリュームが使用されているかどうかを示す情報が設定される。使用中フラグ欄5040に「使用中」が設定されている場合、例えば、対応する論理ボリュームが、リモートコピーによって他の記憶システムに記憶されているデータの複製が記憶されるようになっている、又は、他の論理ボリュームのデータのバックアップが記憶されている、といった状態(使用中)であることを示している。また、論理ボリュームが使用中でない場合には、使用中フラグ欄5040には、「未使用」が設定される。
リモートコピー情報欄5050には、論理ボリュームがリモートコピーのコピー元あるいはコピー先となっている場合に、そのコピー先或いはコピー元となる記憶システムに関する情報が設定される。例えば、図8に示すレコードには、記憶システムA2120の論理ボリューム1(ボリューム1)は、リモートコピーのコピー元となり、記憶システムC2320内の「ボリューム2」が示す論理ボリュームにコピーされていることが設定されている。
図9乃至図11は、夫々、記憶システムA2120が記憶している構成情報2122、記憶Bシステム2220が記憶している構成情報2222、及び記憶システムC2320が記憶している構成情報2322の一例を示している。
ノードは、記憶システムが記憶している構成情報にアクセスし、構成情報を参照することにより、記憶システムの構成を容易に把握することができる。
なお、ノードは、記憶システムの構成を取得したり、変更したりするための構成変更プログラムを実行し、構成変更プログラムが記憶システムの構成を取得し、上記の構成情報を作成・更新する。また、ノードは、例えば、記憶システムの構成を問い合わせるコマンドを送信することにより、記憶システムの構成を取得し、上記構成情報を作成・更新するようにしてもよい。また、例えば、管理者により予め設定されるようにしてもよい。
また、構成情報は、各記憶システムが備えるハードディスクに記憶されている。記憶システムがメモリを備え、メモリ上に記憶するようにしてもよい。
===ノードの構成===
次に、記憶システムにアクセスするノードについて説明する。ノードはCPUやメモリを備えるコンピュータである。ノードで実行されるアプリケーションプログラムは、適宜記憶システムにアクセスしながら各種の情報処理を行う。
図12に、ノードA2110の構成を示す。ノードA2110は、メモリ4000と、CPU4100、入力部4110、出力部4120、クロック部2130、通信部4140及び4150を備える。
メモリ4000は、プログラムやデータを記憶する、RAM等のデバイスである。CPU4100は、ノードA2110全体の制御を司るものである。CPU4100は、メモリ4000に記憶されているプログラムを実行することにより、クラスタサービスや、メモリ4000に記憶されているデータの加工等の各種機能を実現する。
入力部4110は、例えば、キーボードやマウス、ペンタブレット、マイク等の、ユーザからの指示を入力する装置である。出力部4120は、例えば、ディスプレイやプリンタ、スピーカ等の、ユーザ対してに情報を出力する装置である。
クロック部2130は、時刻を管理しているデバイスである。CPU4100が実行するプログラムから、クロック部2130に時刻を問い合わせることにより、プログラムは問い合わせ時点の時刻を取得することができる。
通信部4140及び4150は、イーサネット(登録商標)や、ATM(Asynchronous Transfer Mode)、公衆回線、SCSI(Small Computer System Interface)等の通信経路に接続するインタフェースである。前記通信部4140は通信路2010に接続し、他のノードとの間で通信を行う。また、通信部4150は通信路2130に接続し、記憶システムA2120との間で通信を行う。
メモリ4000は、クラスタサービス2112、バックアッププログラム2114、緊急バックアップ制御プログラム2116、データ一覧表2117、バックアップ保持条件2118、データセンタ一覧2119を記憶している。データ一覧表2117、バックアップ保持条件2118、データセンタ一覧2119の詳細については後述する。なお、これらのプログラムやデータは、ノードA2110からアクセス可能な記憶システム(例えば、記憶システムA2120)に記憶しておき、ノードA2110が必要に応じて読み出す形態とすることもできる。
以上がノードA2110の構成であるが、ノードB2210、ノードC2310も同様の構成である。
ノードA2110上ではクラスタサービス2112が動作している。ノードB2210上ではクラスタサービス2212が動作している。ノードC2310上ではクラスタサービス2312が動作している。前記3つのクラスタサービスは互いに連携し、1つのクラスタとしての機能を構成する。すなわち、ノードA2110、ノードB2210、及びノードC2310上で実行されるアプリケーションプログラムが、障害により当該ノード上で処理が継続できなくなると、他のノードに処理をフェイルオーバーする。
また、各ノードでは、バックアッププログラムや後述する緊急バックアップ制御プログラムが実行されている。バックアッププログラムや緊急バックアップ制御プログラムはメモリ上に記憶されており、CPUがそれらを実行している。
ノードA2110では、バックアッププログラム2114及び緊急バックアップ制御プログラム2116が実行されている。ノードB2210では、バックアッププログラム2214及び緊急バックアップ制御プログラム2216が実行されている。ノードC2310では、バックアッププログラム2314及び緊急バックアップ制御プログラム2316が実行されている。
各ノード上で実行されるバックアッププログラムは、予め決められた時刻に、記憶システムのハードディスクドライブに記憶されているデータをバックアップする処理を行う。なお、予め決められた時刻ではなく、例えば、管理者からの入力を契機にバックアップを行うようにしてもよい。各ノードにおけるバックアップの処理は、コピー元とコピー先のハードディスクドライブを指定したバックアップ指示コマンドを記憶システムに対して送信することにより行われる。記憶システムはバックアップ指示コマンドを受信すると、指定されたコピー元のハードディスクドライブに記憶されているデータを、コピー先のハードディスクドライブにコピーすることによりバックアップを行う。
なお、各ノードは、メモリ以外に、例えば、ハードディスクや半導体ディスク、光ディスク、CD−ROM、DVD−ROM等の記憶デバイスを備えている場合、プログラムや、データ一覧表、バックアップ保持条件、データセンター一覧表等のデータやプログラムをその記憶デバイスに記憶するようにしてもよい。また、データやプログラムを、各ノードが接続している記憶システムに記憶するようにしてもよい。
===データセンタ一覧===
各ノードが記憶しているデータセンタ一覧(サイト情報記憶部)を説明する。データセンタ一覧に記憶されるレコードであるデータセンタ情報(サイト情報)には、データセンタシステム2000に含まれる各データセンタと、各データセンタに設置されているノードが設定される。図13は、データセンタ一覧を説明する図である。図13に示すように、データセンタ情報は、データセンタ名欄12010及びノード識別情報欄12020を備える。
データセンタ名欄12010には、データセンタを識別する名称が設定される。ノード識別情報欄12020は、各ノードを識別する情報が設定される。
ノードはデータセンタ一覧を参照することにより、クラスタを構成するノードと、各ノードが設置されているデータセンタ(サイト)とを把握することができる。各ノードは、処理のフェイルオーバ先や記憶システムに記憶されているデータのリモートコピー先等を決定する際にデータセンタ一覧を参照する。
各ノードが記憶しているデータセンタ一覧は、例えば、管理者により予め入力されている。データセンタシステム2000にデータセンタやノードが追加されたり、データセンタやノードが削除される場合、データセンタ一覧は、各ノード毎に管理者によって更新される。なお、1つのノードが記憶しているデータセンタ一覧が更新されると、他のノードにデータセンタ一覧を送信し、各ノードのデータセンタ一覧が同じ内容になるようにしてもよい。また、データセンタ一覧は、管理者により設定される以外にも、例えば、ノードA2110が通信経路2010にブロードキャストメッセージを送信し、各ノード間がそのメッセージに応答することにより、ノードA2110がデータセンタ一覧を更新するようにすることもできる。
各ノードは、管理者がデータセンタ一覧を設置するためのユーザインタフェースを備えるようにしてもよい。ユーザインタフェースには、例えば、サイトの名称を入力する欄とノードの名称やアドレス等を設定する欄とを設け、ノードはユーザインタフェースから管理者からの入力を受け付ける。ノードは、ユーザインタフェースからの入力を受け付けると、データセンタ一覧に登録する(サイト情報管理部)。ユーザインタフェースは、例えば、ノードA2110が備える出力部4120等にウィンドウとして表示したり、HTMLやXMLのようなデータを生成し、管理者の使用する端末に送信したりすることができる。
===データ一覧表===
ノードに記憶されているデータ一覧表は、前記バックアッププログラムで取得したバックアップデータも含め、当該ノード上からアクセス可能なデータの一覧を記録した表である。データは、同じ内容でもコピーされていれば別のデータとする。以下、各データの実体をデータインスタンスと称する。
図14は、ノードが記憶しているデータ一覧表を説明する図である。図14に示すように、本実施形態にかかるデータ一覧表は、上述した図4のデータ一覧表の各欄に加え、記憶システム識別情報欄8010を備えている。
記憶システム識別情報欄8010には、記憶システムを特定するための情報である記憶システム識別情報が設定される。記憶システム識別情報とは、例えば、記憶システム付与されたIDや名称などである。
論理ボリューム識別情報欄401には、記憶システム識別情報欄8010が示す記憶システムの論理ボリュームの論理ボリューム識別情報が設定される。
本番データ識別情報欄402には、本番データを特定するための情報が設定される。本番データを特定するための情報とは、例えば、本番データに付与されたIDやファイル名等の名称である。
データ種別欄403には、データインスタンスの種別が設定される。データインスタンスの種別には、例えば、ノードで実行されるアプリケーションプログラムから直接読み書きされる本番データを示す「マスタデータ」、マスタデータがリモートコピーされたデータである「リモートコピーデータ」、本番データをバックアップしたデータであることを示す「バックアップデータ」がある。なお、データインスタンスの種別がバックアップデータである場合は、バックアップが行われた日時が付帯されて設定される。
データ一覧表により、本番データがどのような種別でどの記憶システムのどの論理ボリュームに記憶されているかを把握することができる。
図15乃至図17は、夫々ノードA2110が記憶しているデータ一覧表2117、ノードB2210が記憶しているデータ一覧表2217、及びノードC2310が記憶しているデータ一覧表2317の一例を示す図である。
なお、データ一覧表2117、2217、2317は夫々、管理者によって予め設定され、バックアッププログラム2114、2214、2314がバックアップを行ったときに更新する。
===バックアップ保持条件===
ノードに記憶されているバックアップ保持条件は、本番データを定期的にバックアップするとき、バックアップを行う間隔を設定するためのテーブルである。バックアップ保持条件を設定することにより、本番データ毎にバックアップデータの有効期間、すなわちどれくらい前のバックアップデータを保持しておかなければならないかを設定することができる。例えば、「常に8時間以内のバックアップを保持しておく必要がある」といった条件を設定することができる。また、バックアップデータを管理する場所に関する条件も設定することができる(復元データ管理先決定情報記憶部)。データセンタ内に障害が発生すると、ノードはバックアップ保持条件に設定されている条件を満たすバックアップデータにアクセスできるかどうかを上述したデータ一覧表から取得できるかどうかを判断することをもって、バックアップが必要であるかどうかを判断する。
図18には、ノードA2110が記憶しているバックアップ保持条件2118の一例を示している。図18に示すように、本実施形態にかかるバックアップ保持条件2118は、上述した図3のバックアップ保持条件の各欄に加え、バックアップ条件欄11040を備えている。
本番データ識別情報欄301には、本番データの識別情報が設定される。
バックアップ要否欄302には、対応する本番データをバックアップする必要があるかどうかを示す、「必要」又は「不要」が設定される。
バックアップ間隔欄303には、バックアップ要否欄302に「必要」と設定されている場合に、バックアップを行う間隔を設定する。ノードはバックアップ間隔欄303に設定される時間毎に記憶システムに記憶されている本番データのバックアップが行われるように制御する。これにより、バックアップ間隔欄303に設定されている時間以内にバックアップされた本番データが、ノードからアクセス可能になっているように設定することができる。
バックアップ条件欄304には、バックアップデータがどこで管理されるかを決定するための情報が設定される。バックアップデータが何処で管理されるかを決定するための情報とは、例えば、バックアップが本番データを記憶する記憶装置が設置されているデータセンタにおいて行われるかどうか示す情報である。本実施の形態において、バックアップ条件欄304には、「ローカルバックアップ」又は「リモートバックアップ」が設定される。ここで、ローカルバックアップとは、例えば、本番データを記憶する記憶装置の論理ボリューム間で複製を行うことであり、同一のデータセンタにおいて本番データとバックアップデータとが管理されることを示す。逆にリモートバックアップとは、例えば、リモートコピーによって本番データを記憶する記憶装置から、他のデータセンタに設置される記憶装置に本番データの複製が記憶されることであり、本番データが管理される記憶装置が設置されるデータセンタとは異なるデータセンタにおいてバックアップデータが管理されることを示す。また、バックアップ条件欄11040には、「リモートバックアップ優先」を設定することができる。バックアップ条件欄11040に「リモートバックアップ優先」が設定されている場合、ノードは、設置されているデータセンタとは異なるデータセンタの記憶装置に本番データのバックアップを行うようにする。他のデータセンタにバックアップできない場合は、ローカルバックアップが行われる。他のデータセンタにバックアップできない場合とは、例えば、通信経路に障害が発生し、ノード又は記憶装置が、他のサイトの記憶装置との間で通信ができないような場合や、他のサイトの記憶装置が記憶容量に空きがない場合などである。
また、バックアップ条件欄11040に「ローカルバックアップ」が設定されている場合、ノードは、接続している記憶装置内あるいは同じデータセンタ内に設置されているバックアップ装置(又は、同一の記憶装置内の記憶ボリューム)にバックアップを行う。この場合、ローカルバックアップができないときは、バックアップは行われない。
なお、バックアップ条件欄11040に、バックアップを行うための、又はバックアップデータを管理するためのノードの識別情報を設定するようにしてもよい。この場合、バックアップ保持条件のバックアップ条件欄11040に設定される識別情報に対応するノードが、バックアップを行う。
なお、図18にはノードA2110が記憶するバックアップ保持条件2118を示したが、ノードB2210が記憶するバックアップ保持条件2218及びノードC2310が記憶するバックアップ保持条件2318についても同様の内容となる。
各ノードが記憶するバックアップ保持条件2118、2218、2318は夫々、管理者により予め設定されるが、例えば、バックアップ保持条件2118を管理者が設定すると、ノードA2110は通信路2010を介して、ノードB2210及びノードC2310にバックアップ保持条件2118の内容を送信し、各ノードで同じ内容になるようにしてもよい。
===動作概要===
各ノードが実行している緊急バックアップ制御プログラムは、ノードがフェイルオーバ先となった場合にバックアップの処理を行うアプリケーションプログラムである。あるデータセンタにおいて、ノードや記憶システム、通信経路等に障害が発生すると、他のノードに処理が引き継がれるフェイルオーバが行われる。フェイルオーバ先となったノードでは、各本番データについてバックアップが必要であるかどうかを判断し、バックアップが必要である場合、バックアッププログラムは予め決められた時刻でなくても、バックアップを行う。
図19は、上記緊急バックアップ制御プログラムの動作の概要を説明する図である。
ノードA2110上では、記憶システムA2120内のハードディスクドライブ2124を使用するアプリケーションプログラムが実行されている。ハードディスクドライブ2124に記憶されているデータは、通信路2030を介してデータセンタC2300の記憶システムC2320が備えるハードディスクドライブ2324にリモートコピーされている(3000)。データセンタC2300において、ハードディスクドライブ2324のデータは、8時間毎にハードディスクドライブ2325にバックアップされている(3050)。
クラスタサービス2112は、データセンタC2300の記憶システムC2320に障害が発生したことを検知すると(3100)、リモートコピー先をデータセンタBの記憶システムB2220が備えるハードディスクドライブ2224に切り替える。また、クラスタサービス2112は、緊急バックアップ制御プログラム2116に障害を通知する。
緊急バックアッププログラム2116は、上記の障害の通知を受信し、データ一覧表に設定されている各本番データについて、バックアップデータにアクセスできるかどうかデータセンタ一覧に登録されている各ノードに問い合わせを行い、バックアップの要否を判断する。各ノードへの問い合わせは、例えば、ノードA2110が、ノードB2210及びノードC2310の夫々に対して、「データ1」という名称(識別情報)の本番データについてのバックアップデータにアクセスできるかどうかを問い合わせるコマンドであるバックアップアクセス可否チェック要求(問い合わせメッセージ)を送信することにより行われる(問い合わせメッセージ送信部)。バックアップアクセス可否チェック要求には、本番データの識別情報と、バックアップ保持条件に設定されているバックアップ間隔とが設定される。ノードB2210及びノードC2310の夫々はコマンドを受信し(問い合わせメッセージ受信部)、バックアップにアクセスできるかどうかを調べて応答する(応答メッセージ応答部)。各ノードがバックアップにアクセスデータできるかどうかを調べる処理は後述する。
図19に示す例の場合、記憶システムC2320に障害が発生しているため、ノードC2310はバックアップデータを保持しているハードディスクドライブ2325にはアクセスできない。また、データセンタB2200の記憶システムB2220には、ハードディスクドライブ2124に記憶されている本番データ(例えば、データ1という名称とする)についてのバックアップデータが記憶されていない。従って、ノードA2110が、ノードB2210及びノードC2310の夫々に、「データ1」のバックアップデータが記憶されているかどうかを問い合わるメッセージを送信すると、ノードB2210及びノードC2310は共に、バックアップデータを記憶していない旨の応答を返信する
これにより、ノードA2110は、データセンタシステム2000内にはバックアップが存在しない(バックアップデータにアクセスできない)ため、バックアップが必要であると判断する(3200)。そこで、ノードA2110は、ノードBに対し、記憶システムB2220のハードディスクドライブ2224が記憶しているデータを、ハードディスクドライブ2225にバックアップするように指示するバックアップコマンドを送信する。ノードB2210はバックアップコマンドを受信し、記憶システムB2220ではハードディスクドライブ2224が記憶しているデータを、ハードディスクドライブ2225にバックアップする処理が行われる(3250)。
一方、データセンタA2100全体に障害が発生した場合、データセンタC2300のノードC2310で実行されているクラスタサービス2312は、ノードA2110上で動作しているプログラムをノードC2310にフェイルオーバーする。また、クラスタサービス2312は、記憶システムC2320のハードディスクドライブ2324に記憶されているデータをマスタデータとし、ハードディスクドライブ2324に記憶されているデータをハードディスクドライブ2224にリモートコピーするように設定する。また、クラスタサービス2312は、フェイルオーバが行われた旨を緊急バックアップ制御プログラム2316に通知する。
通知を受けた緊急バックアップ制御プログラム2316は、ノードA2110及びノードB2210にバックアップアクセス可否チェック要求を送信する。緊急バックアップ制御プログラム2316は、ノードA2110及びノードB2210の夫々からバックアップデータにアクセスできない旨の応答を受信すると(応答メッセージ受信部)、次に、ノードA2110及びノードB2210に、本番データをバックアップすることができるかどうかを問い合わせるコマンド(以下、バックアップ可否チェック要求と称する)を送信する(バックアップ可否問い合わせメッセージ送信部)。バックアップ可否チェック要求(バックアップ可否問い合わせメッセージ)には、本番データの識別情報が設定される。ここで、例えば、ノードB2210からバックアップをすることができる旨の応答を受信した場合、ノードB2210に対して本番データのバックアップを行うように指示するコマンド(以下、バックアップ作成要求と称する)を送信する。ノードB2210はバックアップ作成要求を受信し、記憶システムB2220において本番データのバックアップが作成されるように制御を行う。
===緊急バックアップ制御プログラム===
クラスタサービス2112は、データセンタA2110、データセンタB2200、又はデータセンタC2300のいずれかに障害が発生した場合、障害が発生した旨を示す障害発生イベントを緊急バックアップ制御プログラム2116に送信する。
また、クラスタサービス2112は、記憶システムA2120のハードディスクドライブをコピー元もしくはコピー先とするリモートコピーのコピー先又はコピー元が変更になった場合等に、記憶システムA2120の利用を開始することを示すオンラインイベントを緊急バックアップ制御プログラム2116に送信する。
緊急バックアップ制御プログラム2116は、上記の障害発生イベントやオンラインイベントの通知を受けて、以下のに説明する処理を行う。また、緊急バックアップ制御プログラム2116は、上述したバックアップアクセス可否チェック要求やバックアップ可否チェック要求、バックアップ作成要求といったコマンドを受信し、受信したコマンドに応じた処理も行う。
図20に、緊急バックアップ制御プログラム2116の処理の流れを示す。なお、緊急バックアップ制御プログラム2216及び2316の処理の流れについても、以下で示す緊急バックアップ制御プログラム2116の処理の流れと同様である。
処理を開始(ステップ13000)すると、障害発生イベント、オンラインイベント、又はコマンドの到達を待つ(ステップ13020)。イベント又はコマンドを受信(問い合わせメッセージ受信部)した場合、それがコマンドであるかどうかを判断する(ステップ13040)。
コマンドを受信した場合、受信したコマンドがバックアップ可否チェック要求であるかどうかを判断し(ステップ13200)、バックアップ可否チェック要求であれば(ステップ13200:Yes)、後述するバックアップ可否チェック処理を行い(ステップ13220)、処理の結果を応答し(ステップ13240)、(ステップ13020)からの処理を継続する。
受信したコマンドがバックアップ可否チェック要求でない場合(ステップ13200:No)、受信したコマンドがバックアップを実行することを示すコマンドであるバックアップ実行要求かどうかを判断する(ステップ13280)。受信したコマンドがバックアップ実行要求であれば(ステップ13280:Yes)、バックアッププログラムにバックアップ処理を実行するようにように通知することによりバックアップを行い(ステップ13300)、バックアッププログラムの処理の結果を応答し(ステップ13240)、(ステップ13020)からの処理を継続する。なお、バックアップを行った際に、バックアップ先となった論理ボリュームに対応するデータ一覧表2117のデータ種別欄8040のバックアップが行われた日時を現在時刻に更新する。
受信したコマンドがバックアップ可否チェック要求でもバックアップ実行要求でもない場合(ステップ13280:No)、後述するバックアップアクセス可否チェック処理を行い(ステップ13260)、処理の結果を応答し(ステップ13240)、(ステップ13020)からの処理を継続する。
一方、障害発生イベント又はオンラインイベントを受信した場合(ステップ13040:No)、ノードA2110が既に記憶システムA2120を利用している(記憶リソースがオンライン状態にある)か、もしくはオンラインイベントを受信したか、のいずれかであるかどうかを判断する(ステップ13060)。記憶システムA2120が提供する記憶リソースがオンライン中であるか、もしくはオンラインイベントを受信した場合(ステップ13060:Yes)、後述するバックアップ要否決定処理を行う(ステップ13080)。それ以外は(ステップ13020)に進み、処理を継続する。
バックアップ要否決定処理の結果、バックアップが必要である場合(ステップ13100:Yes)、バックアップをどのデータセンタにおいて作成するかを決定する後述のバックアップ先決定処理を行う(ステップ13120)。バックアップ先決定処理により決定したデータセンタに設置されているノードに対し、バックアップ実行要求を送信し(ステップ13140)、送信したバックアップ実行要求に対する応答を受信し、バックアップが成功したかどうかを判断する(ステップ13160)。バックアップが失敗した場合(ステップ13160:No)、バックアップ実行要求を送信した先のノードが自分自身(ノードA2110)であるかどうかにより、バックアップ処理がローカルバックアップであったかかどうかを判断する(ステップ13180)。バックアップがローカルバックアップではなかった場合(ステップ13180:No)、バックアップ実行要求を送信した先のノード以外のバックアップ先を決定するため、(ステップ13120)に進む。
なお、バックアップ要否決定処理(ステップ13080)によってバックアップが必要と判断された場合(ステップ13100:Yes)、バックアップ先決定処理(ステップ13120)から、結果を返す(13240)までの処理は、データ一覧表2117に登録されている本番データのうち、「マスタデータ」として設定されているものに対して行われるものとする。
===バックアップ要否決定処理===
緊急バックアップ制御プログラム2116が、障害発生イベントを受信し、記憶システムA2120がオンラインであった場合、又は、オンラインイベントを受信した場合(図20におけるステップ130760:Yes)に行われる、バックアップ要否決定処理(図20におけるステップ13080)について説明する。図21に、バックアップ要否決定処理の流れを示す。
処理を開始(ステップ14000)すると、バックアップ保持条件2118から、バックアップ要否欄302に「必要」が設定されている本番データを抽出する(ステップ14020)。バックアップ保持条件2118のバックアップ要否欄302に「必要」が設定されているものを抽出できない場合、バックアップ要否決定処理はバックアップ不要であると判断し、バックアップ要否決定処理を終了する(ステップ14140)。
バックアップ保持条件2118のバックアップ要否欄302に「必要」が設定されているものを抽出できた場合、データセンタ一覧に登録されている全てのノードのうち1つを選択する(ステップ14040)。ここで、バックアップ保持条件2118のバックアップ条件欄11040に「リモートバックアップ優先」が設定されている場合、ノードA2110は選択せず、他のノードを選択するようにする。
選択したノードに対し、本番データの識別情報と、バックアップ保持条件2118のバックアップ間隔欄303に設定されている時間とを設定したバックアップアクセス可否チェック要求を送信し(ステップ14060)、送信した要求に対する応答を受信する。受信した応答を参照し、バックアップアクセス可否チェック要求の送信先となったノードにおいて、バックアップされたデータにアクセスできるかどうかを判断する(ステップ14080)。他のノードにおいてバックアップデータにアクセスできる場合(ステップ14080:Yes)、バックアップが不要であると判断し、バックアップ要否決定処理を終了する(ステップ14140)。
一方、他のノードにおいてバックアップされたデータにアクセスすることができないと判断した場合(ステップ14080:No)、データセンタ一覧から、次にバックアップアクセス可否チェック要求を送信する先となるノードを選択し、(ステップ14060)に進む。次のノードが選択できない場合(問い合わせていないノードがある場合:ステップ14120)、バックアップが必要であると判断し、バックアップ要否決定処理を終了する(ステップ14120)。
===バックアップ先決定処理===
次に、緊急バックアップ制御プログラム2116が、バックアップ要否決定処理によってバックアップが必要であると判断した場合(図20におけるステップ13100:Yes)に行われる、バックアップ先決定処理(図20におけるステップ13120)について説明する。図22に、バックアップ先決定処理の流れを示す。なお、緊急バックアップ制御プログラム2116のバックアップ先決定処理が実行される際に、処理の対象となる本番データが特定されているものとする。
処理を開始する(ステップ15000)と、対象となる本番データに対応するバックアップ保持条件2118のバックアップ条件欄11040に「リモートバックアップ優先」が設定されているかどうかを判断する(ステップ15010)。「リモートバックアップ優先」が設定されている場合(ステップ15010Yes)、データセンタ一覧から、データセンタA2100以外のデータセンタに設置されているノードに後述するバックアップ可否要求を送信し、応答を受信して、他のデータセンタにおいて本番データのバックアップを行うこと(リモートバックアップ)が可能かどうかを判断する(ステップ15020)。リモートバックアップが可能である場合(ステップ15020:Yes)には、ここで選択したノードをバックアップ先として決定し、バックアップ先決定処理を終了する(15040)。
一方、バックアップ保持条件2118のバックアップ条件欄11040に「リモートバックアップ優先」が設定されていない場合(ステップ15010:No)又は、リモートバックアップが可能でない場合(ステップ15020:No)には、データセンタA2100内においてデータをバックアップを行う(ローカルバックアップ)ことを決定し、バックアップ先決定処理を終了する(15030)。
なお、バックアップ先決定処理においてリモートバックアップを行うと決定した場合(ステップ15040)、バックアップ先として複数のノードからバックアップができる旨の応答を受信することが考えれる。この場合、最初にバックアップ可能と応答したノードが設置されているデータセンタにおいてバックアップが行われるようにしてもよいし、予めバックアップ先となるデータセンタに優先度を決めておき、前記優先度順にバックアップ可否の問い合わせを行い、最初にバックアップ可能と答えたデータセンタにバックアップを行うようにしてもよい。例えば、データセンタ一覧に優先度を設定する欄を設けるようにすることができる。なお、複数のデータセンタにおいてバックアップをとるようにしてもよい。
===バックアップアクセス可否チェック処理===
次に、緊急バックアップ制御プログラム2116が、バックアップアクセス可否チェック要求を受信した場合に(図20におけるステップ13280:No)行われるバックアップアクセス可否チェック処理(図20におけるステップ13260)について説明する。図23に、バックアップアクセス可否チェック処理の流れを示す。
処理を開始する(ステップ16000)と、ノードA2110で保持しているデータ一覧表2117に登録されているレコードの夫々について(ステップ16020、ステップ16030)、以下の処理を行う。
バックアップアクセス可否チェック要求に設定されている本番データに対応する、データ一覧表2117のデータ種別欄8040に「バックアップデータ」が設定されており、付帯されているバックアップされた日時が、現在の時刻からバックアップ可否チェック要求に設定されている時間分前の時刻よりも後であるかどうか、すなわち指定された期間内のバックアップデータであるかどうかを判断する(ステップ16040)。
指定された期間内のバックアップデータである場合(ステップ16040:Yes)、データ一覧表2117の論理ボリューム識別情報欄401が示す論理ボリュームに対するデータの入出力要求を記憶システムA2120に送信し、論理ボリュームにアクセスできるかどうかを判断する(ステップ16050)。当該論理ボリュームにアクセスできた場合(ステップ16060)、バックアップにアクセスできると判断し、バックアップアクセス可否チェック処理を終了する(ステップ16070)。
指定された期間内のバックアップデータでない場合(ステップ16040:No)、又は記憶システムA2120の論理ボリュームに対してアクセスができなかった場合(ステップ16060)には、データ一覧表2117に登録されている他のレコードを調べるべく、(ステップ16020)に進む。
一方、データ一覧表2117に登録されているレコードの全てについてバックアップデータにアクセスできると判断できなかった場合(ステップ16020:No)、バックアップデータにアクセスができないと判断し、バックアップアクセス可否チェック処理を終了する(ステップ16080)。
なお、現在時刻はノードA2110のクロック部4130から取得する。
===バックアップ可否チェック処理===
次に、緊急バックアップ制御プログラム2116が、バックアップ可否チェック要求を受信した場合に(図20におけるステップ13200:Yes)行われるバックアップ可否チェック処理(図20におけるステップ13220)について説明する。図24に、バックアップ可否チェック処理の流れを示す。
処理を開始する(ステップ17000)と、データ一覧表2117から、バックアップ可否チェック要求に設定されている本番データの識別情報に対応する論理ボリュームを取得する。取得した論理ボリュームからデータを読み出す処理が成功したかどうかをもって、本番データにアクセスできるかどうかを判断する(ステップ17020)。論理ボリュームからデータを読み出す処理とは、例えば、論理ボリュームを指定したリード要求を記憶システムA2120に送信することである。記憶システムA2120が返信する、リード要求に対する応答により、データを読み出す処理が成功したかどうかを判断することができる。なお、データ一覧表2117のデータ種別欄8040に「バックアップデータ」が設定されている場合には、本番データにアクセスできないと判断する。
本番データにアクセスできないと判断した場合(ステップ17020:No)、バックアップができない(バックアップ不可)と判断して、バックアップ可否チェック処理を終了する(ステップ17080)。
本番データにアクセスできると判断した場合(ステップ17020:Yes)、記憶システムA2120が記憶している構成情報2122を参照し、未使用で本番データの容量以上の空き容量を持つ論理ボリュームがあるかどうかを判断する(ステップ17040)。そのような論理ボリュームがある場合(ステップ17040:Yes)、バックアップができる(バックアップ可)と判断し、バックアップ可否チェック処理を終了する(ステップ17060)。
以上説明した各処理により、緊急バックアップ制御プログラム2116が実現されている。なお、ノードB2210で実行される緊急バックアップ制御プログラム2216、及びノードC2310で実行される緊急バックアップ制御プログラム2316も同様の処理を行う。
ここまでに、緊急バックアップ制御プログラム処理のバックアップ要否決定処理(図20におけるステップ13080)において、各ノードにバックアップデータにアクセスできるかどうかを問い合わせることにより、バックアップが必要であるかどうかを判断する処理を説明したが、緊急バックアップ制御プログラム2116が障害発生イベントを受信し、障害の種別に応じてバックアップが必要であるかどうかを判断するようにすることもできる。
===障害別バックアップ要否一覧表===
以下に、障害種別によるバックアップの要否を判断する処理について説明する。
障害種別によりバックアップ要否を決定する場合、各ノードはメモリ4000に、障害種別と、バックアップの要否とを対応付ける障害別バックアップ要否一覧表(障害種別復元要否情報記憶部)を記憶する。
図25は、障害別バックアップ要否一覧表の一例を示す図である。図25に示すように、障害別バックアップ要否一覧表は、障害種別欄19000と、バックアップ要否欄19010とを備える。なお、クラスタサービスは、障害発生イベントに障害の種別を示す情報を設定して通知するものとする。
障害種別欄19000には、クラスタサービス2112により障害発生イベントに設定される障害の種別を示す情報が設定される。障害の種別を示す情報としては、例えば、図25に示すような名称である。また、障害の種別を示す情報として、例えば、エラーコード等を用いてもよい。
バックアップ要否欄19010は、障害種別欄19000に設定されている種別の障害が発生した場合にバックアップが必要であるかどうかを示す情報が設定される。
===障害種別によるバックアップ要否チェック処理===
図26は、障害種別に応じたバックアップ要否決定処理の流れを説明する図である。
処理を開始する(ステップ18000)と、障害別バックアップ要否一覧表を検索し(ステップ18020)、障害発生イベントに設定されている障害種別に対応するレコードが障害別バックアップ要否一覧表に登録されているかどうかを調べる(ステップ18040)。障害別バックアップ要否一覧表に登録されていない場合(ステップ18040:No)は、バックアップが必要であると判断し、バックアップ要否決定処理を終了する(ステップ18100)。
障害別バックアップ要否一覧表より、当該障害種別に対応するバックアップ要否欄19010を参照し、「必要」と設定されているかどうかをもって、バックアップが必要であるかどうかを判断し(ステップ18060)、バックアップ要否決定処理を終了する(「不要」が設定されている場合:ステップ18080、「必要」が設定されている場合:ステップ18100)。
なお、緊急バックアップ制御プログラムが上記障害種別によるバックアップ要否チェック処理を行う場合、各ノードが記憶しているバックアップ保持条件2118、2218、2318を省略することもできる。また、緊急バックアップ制御プログラムは、バックアップアクセス可否チェック要求は送信することがなくなるため、図20の処理の流れにおいてバックアップアクセス可否チェック要求の判断を行うステップ(ステップ13280及びステップ13260)を省略することができる。
また、障害別バックアップ要否一覧表の障害種別欄19000に設定する情報は、障害種別に替えて障害箇所とすることもできる。障害箇所としては、例えば、「ノード」「記憶装置」「ディスクドライブ」「通信経路」等である。この場合、ノードは本番データの識別情報と障害箇所を示す情報とを対応付けて記憶する(障害箇所別復元要否情報記憶部)。
===その他===
上述した第2及び第3の実施形態では、データセンタシステムは3つのデータセンタにより構成され、各データセンタ内に1つのノード及び1つの記憶システムが設置されている例を示した。しかしながら、データセンタの数、データセンタ内のノードの数、及びデータセンタ内の記憶システムの数は上記に限るものではなく、任意に設定することができる。
また、構成情報2122、2222、2322、データ一覧表2117、2217、2317、バックアップ保持条件2118、2218、2318、データセンタ一覧2119、2219、2319のデータ形式は、バイナリフォーマットやデータベースとすることができる。また、これら構成情報、データ一覧表、及びバックアップ保持条件は各ノードに配置せず、いずれか1つ以上のノード上に配置し、必要に応じて各ノードから参照するようにしてもよい。また、各ノードから共有できる共有ディスクを設けて、構成情報、データ一覧表、及びバックアップ保持条件を、共有ディスク上に記憶するようにしてもよい。
また、バックアップにアクセスできるかどうかを問い合わせるバックアップアクセス可否チェック要求には、バックアップの間隔を示す時間(何時間以内のバックアップを検索するか)を指定したが、時間は指定せず、バックアップアクセス可否チェック処理においてバックアップ保持条件を参照するようにしてもよい。
また、上述した処理では、緊急バックアップ制御プログラムは、障害発生後、バックアップされたデータにアクセスできるかどうかによって、バックアップが必要であるかどうかを判断したが、これを、データがバックアップされた数に応じて判断するようにしてもよい。また、緊急バックアップ制御プログラムは、予め指定した数以上のデータセンタにおいてバックアップデータにアクセスできなければ、バックアップが必要であると判断するようにしてもよい。
また、緊急バックアップ制御プログラムは、バックアップされたデータにアクセスできない場合に、バックアップを行う代わりに、出力装置に警告メッセージを出力し、利用者に放置するようにしてもよい。また、障害の種別により、警告メッセージを出力するかバックアップを実行するかを決定するようにしてもよい。
また、本発明を、クラスタを構成しているデータセンタシステム以外にも、1台のコンピュータに適用することもできる。コンピュータ上で定期的にバックアップを行い、バックアップデータを格納したハードディスクドライブに障害が発生したことを検出すると、他のディスクや他のデバイスにデータをバックアップするようにすることができる。
以上の説明は本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に本発明にはその等価物が含まれることは勿論である。
本発明の一実施の形態による、クラスタシステムの全体構成を示す図である。 本発明の一実施の形態による、フェイルオーバ時に第2の情報処理装置20において行われる処理の流れの概略を示す図である。 本発明の一実施の形態による、バックアップ保持条件の一例を示す図である。 本発明の一実施の形態による、データ一覧表の一例を示す図である。 本発明の一実施の形態による、第2の情報処理装置20において行われるバックアップ処理の流れを示すフローチャートである。 本発明の一実施の形態による、3つのノードを含んで構成されるクラスタシステムの構成を示す図である。 本発明の一実施の形態による、データセンタシステム2000の全体構成を示す図である。 本発明の一実施の形態による、記憶システムが記憶している構成情報を説明する図である。 本発明の一実施の形態による、記憶システムA2120が記憶している構成情報2122の一例を示す図である 本発明の一実施の形態による、記憶システムB2220が記憶している構成情報2222の一例を示す図である 本発明の一実施の形態による、記憶システムC2320が記憶している構成情報2322の一例を示す図である 本発明の一実施の形態による、ノードA2110の構成を示す図である。 本発明の一実施の形態による、データセンタ一覧を説明する図である。 本発明の一実施の形態による、ノードが記憶しているデータ一覧表を説明する図である。 本発明の一実施の形態による、ノードA2110が記憶しているデータ一覧表2117の一例を示す図である。 本発明の一実施の形態による、ノードB2210が記憶しているデータ一覧表2217の一例を示す図である。 本発明の一実施の形態による、ノードC2310が記憶しているデータ一覧表2317の一例を示す図である。 本発明の一実施の形態による、ノードA2110が記憶しているバックアップ保持条件2118の一例を示す図である。 本発明の一実施の形態による、上記緊急バックアップ制御プログラムの動作の概要を説明する図である。 本発明の一実施の形態による、緊急バックアップ制御プログラム2116の処理の流れを示す図である。 本発明の一実施の形態による、バックアップ要否決定処理の流れを示す図である。 本発明の一実施の形態による、バックアップ先決定処理の流れを示す図である。 本発明の一実施の形態による、バックアップアクセス可否チェック処理の流れを示す図である。 本発明の一実施の形態による、バックアップ可否チェック処理の流れを示す図である。 本発明の一実施の形態による、障害別バックアップ要否一覧表の一例を示す図である。 本発明の一実施の形態による、障害種別に応じたバックアップ要否決定処理の流れを説明する図である。
符号の説明
10 第1の情報処理装置
20 第2の情報処理装置
30 第1の記憶装置
40 第2の記憶装置
50 クライアント装置
60 ネットワーク
1000 ノードA
1100 ノードB
1200 ノードC
1050 記憶システムA
1150 記憶システムB
1250 記憶システムC
2000 データセンタシステム
2100 データセンタA
2200 データセンタB
2300 データセンタC
2110 ノードA
2210 ノードB
2310 ノードC
2120、2220、2320 記憶システム
2112、2212、2312 クラスタサービス
2114、2214、2314 バックアッププログラム
2116、2216、2316 緊急バックアッププログラム
2117、2217、2317 データ一覧表
2118、2218、2318 バックアップ保持条件
2119、2219、2319 データセンタ一覧
2122、2222、2322 構成情報

Claims (20)

  1. 複数のサイトの夫々に設置され、互いに通信可能に接続する情報処理装置と、
    1つ以上の前記情報処理装置において実行されるプログラムにより実現される、
    前記情報処理装置の1つに障害が生じた場合に、前記障害が生じた前記情報処理装置とは異なる他の前記情報処理装置が前記障害が生じた前記情報処理装置が行っていた処理を引き継ぐフェイルオーバに関する処理を行うフェイルオーバ処理部と、
    前記障害が生じた前記情報処理装置から前記他の情報処理装置にフェイルオーバが実行される場合に、
    前記障害が生じた前記情報処理装置を除く前記情報処理装置の何れかにおいて、前記フェイルオーバの対象となる処理を行うために必要となるデータである本番データが復元可能に管理されているかどうかを判断する復元可否判断部と、
    前記本番データが復元可能に管理されていない場合に、前記本番データを復元するために必要となるデータであるバックアップデータを生成するバックアップデータ生成部と、を備えること、
    を特徴とする情報処理システム。
  2. 請求項1に記載の情報処理システムであって、
    前記復元可否判断部は、前記障害が生じた前記情報処理装置を除く前記情報処理装置の何れかにおいて、前記バックアップデータが生成されているかどうかを判断することにより、前記本番データが復元可能に管理されているかどうかを判断すること、
    を特徴とする情報処理システム。
  3. 請求項1に記載の情報処理システムであって、
    1つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記フェイルオーバが実行される場合に、前記他の情報処理装置において前記本番データが復元可能に管理されているかどうかを問い合わせる問い合わせメッセージを前記他の情報処理装置に送信する問い合わせメッセージ送信部を備え、
    前記復元可否判断部は、前記問い合わせメッセージ送信部が送信する前記問い合わせメッセージに対する、前記本番データが復元可能に管理されているかどうかを示す情報が設定されている応答を前記他の情報処理装置から受信し、受信した前記応答に応じて前記本番データが復元可能に管理されているかどうかを判断すること、
    を特徴とする情報処理システム。
  4. 請求項3に記載の情報処理システムであって、
    前記問い合わせメッセージ送信部は、前記問い合わせメッセージに前記本番データの識別情報を付帯させて前記他の情報処理装置に送信し、
    前記問い合わせメッセージを受信する前記情報処理装置は、
    当該情報処理装置において実行されるプログラムによって実現される、
    当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と前記本番データの識別情報とを対応付けて記憶するバックアップデータ管理情報記憶部と、
    前記問い合わせメッセージを受信する問い合わせメッセージ受信部と、
    前記問い合わせメッセージ受信部が受信する前記問い合わせメッセージに付帯される前記識別情報に対応する、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報を前記バックアップデータ管理情報記憶部から取得し、取得した当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信する問い合わせメッセージ応答部と、を備えること、
    を特徴とする情報処理システム。
  5. 請求項4に記載の情報処理システムであって、
    前記バックアップデータ管理情報記憶部は、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報とを前記本番データの識別情報に対応付けて記憶し、
    前記情報処理装置は、当該情報処理装置において実行されるプログラムによって実現される、前記バックアップデータを読み出すために必要な情報に基づいて前記バックアップデータを読み出すための処理を行うバックアップデータ読み出し部を備え、
    前記問い合わせメッセージ応答部は、前記問い合わせメッセージ受信部が受信した前記問い合わせメッセージに付帯される前記識別情報に対応する、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報とを前記バックアップデータ管理情報記憶部から取得し、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報に応じて、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを判断し、
    前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されていないと判断した場合、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信し、
    前記問い合わせメッセージ応答部が当該情報処理装置において前記本番データが復元可能に管理されていると判断した場合、
    前記バックアップデータ読み出し部は、前記識別情報に対応する前記バックアップデータを読み出すために必要な情報に基づいて、前記バックアップデータを読み出す処理を実行し、
    前記処理が成功したときに、前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されている旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信し、
    前記処理が失敗したときに、前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信すること、
    を特徴とする情報処理システム。
  6. 請求項4に記載の情報処理システムであって、
    前記情報処理装置は、当該情報処理装置において実行されるプログラムにより実現される、前記本番データの識別情報と前記バックアップデータの有効期限を示す情報とを対応付けて記憶するバックアップデータ有効期限記憶部を備え、
    前記問い合わせメッセージ応答部は、
    前記問い合わせメッセージに付帯される前記識別情報に対応する前記バックアップデータの有効期限を示す情報を前記バックアップデータ有効期限記憶部から取得し、
    前記有効期限が現在の日時以後である場合は、当該情報処理装置において前記本番データが復元可能に管理されている旨を示す情報を設定した前記応答を返信し、
    前記有効期限が現在の日時よりも前である場合は、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を返信すること、
    を特徴とする情報処理システム。
  7. 請求項1に記載の情報処理システムであって、
    1つ以上の前記情報処理装置において実行されるプログラムにより実現される、
    前記本番データの識別情報と、前記本番データについて前記バックアップデータが前記情報処理装置の何れかにおいて管理される必要があるかどうかを示す情報である復元要否情報とを対応付けて記憶する復元要否管理部を備え、
    前記復元可否判断部は、前記本番データに対応する前記復元要否情報を前記復元要否管理部から取得し、取得した前記復元要否情報が前記本番データについて前記バックアップデータが管理される必要があることを示す情報であった場合に、前記障害が生じた前記情報処理装置を除く前記情報処理装置の何れかにおいて、前記本番データが復元可能に管理されているかどうかの前記判断を行い、前記復元可否判断部が、前記本番データが復元可能に管理されていると判断したときに、バックアップデータ生成部は、前記バックアップデータを生成すること、
    を特徴とする情報処理システム。
  8. 請求項1に記載の情報処理システムであって、
    1つ以上の前記情報処理装置において実行されるプログラムにより実現される、
    前記本番データの識別情報と、前記本番データを復元可能に管理させる前記情報処理装置の識別情報とを対応付けて管理する復元データ管理先記憶部と、
    前記バックアップデータ生成部は、前記復元データ管理先記憶部により前記本番データを管理させる前記情報処理装置を特定し、特定した前記情報処理装置に前記バックアップデータを生成させるように制御すること、
    を特徴とする情報処理システム。
  9. 請求項8に記載の情報処理システムであって、
    1つ以上の前記情報処理装置において実行されるプログラムにより実現される、
    前記本番データを管理させる情報処理装置に対して、前記本番データを復元可能に管理できるかどうかを問い合わせるバックアップ可否問い合わせメッセージを送信するバックアップ可否問い合わせメッセージ送信部を備え、
    前記バックアップデータ生成部は、
    前記バックアップ可否問い合わせメッセージ送信部が送信した前記バックアップ可否問い合わせに対する応答に前記本番データを復元可能に管理することができないことを示す情報が設定されていた場合、
    前記障害が発生した前記情報処理装置及び前記特定した前記本番データを管理させる前記情報処理装置を除く前記情報処理装置の何れかに、前記バックアップデータを生成させるように制御すること、
    を特徴とする情報処理システム。
  10. 請求項1に記載の情報処理システムであって、
    少なくとも何れかの前記情報処理装置と通信可能に接続する第1及び第2の記憶装置を備え、
    前記第1の記憶装置は前記本番データを記憶し、
    1つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記バックアップデータ生成部が生成した前記バックアップデータを前記第2の記憶装置に記憶させるための制御を行うバックアップデータ制御部を備えること、
    を特徴とする情報処理システム。
  11. 請求項1に記載の情報処理システムであって、
    前記フェイルオーバ先となる前記情報処理装置と通信可能に接続する記憶装置を備え、
    前記記憶装置は、当該記憶装置が提供する記憶領域に論理的に設定される記憶領域である第1及び第2の論理ボリュームを備え、
    前記第1の論理ボリュームには、前記本番データが記憶され、
    前記バックアップデータ生成部は、前記第1の論理ボリュームに記憶されている前記本番データの複製を前記第2の論理ボリュームに記憶するように制御すること、
    を特徴とする情報処理システム。
  12. 請求項1に記載の情報処理システムであって、
    前記情報処理装置は、当該情報処理装置において実行されるプログラムにより実現される、
    当該情報処理装置に生じた障害を検出する障害検出部と、
    他の前記情報処理装置との間で、検出した前記障害の種別を示す情報を含む障害情報を送受信する障害情報送受信部とを備え、
    1つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記障害の種別を示す情報と、前記本番データについて復元可能に管理される必要があるかどうかを示す情報である復元要否情報とを対応付けて記憶する障害種別復元要否情報記憶部を備え、
    前記フェイルオーバが実行された場合、
    前記バックアップデータ生成部は、前記障害情報送受信部が受信した前記障害情報に含まれる前記障害の種別に対応する前記復元要否情報を前記障害種別復元要否情報記憶部から取得し、前記復元要否情報が前記本番データについて復元可能に管理される必要があることを示す情報である場合に、前記バックアップデータを生成すること、
    を特徴とする情報処理システム。
  13. 請求項1に記載の情報処理システムであって、
    前記情報処理装置は、当該情報処理装置において実行されるプログラムにより実現される、
    当該情報処理装置に生じた障害を検出する障害検出部と、
    他の前記情報処理装置との間で、検出した前記障害が生じた箇所を示す情報を含む障害情報を送受信する障害情報送受信部とを備え、
    1つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記障害が生じた箇所を示す情報と、前記本番データについて復元可能に管理される必要があるかどうかを示す情報である復元要否情報とを対応付けて記憶する障害箇所復元要否情報記憶部を備え、
    前記フェイルオーバが実行された場合、
    前記バックアップデータ生成部は、前記障害情報送受信部が受信した前記障害情報に含まれる前記障害が生じた箇所に対応する前記復元要否情報を前記障害箇所復元要否情報記憶部から取得し、前記復元要否情報が前記本番データについて復元可能に管理される必要があることを示す情報である場合に、前記バックアップデータを生成すること、
    を特徴とする情報処理システム。
  14. 請求項1に記載の情報処理システムであって、
    第1の前記サイトに設置され、前記障害の生じた第1の前記情報処理装置に通信可能に接続する第1の記憶装置と、
    前記第1の情報処理装置に障害が生じた場合に前記第1の情報処理装置が行っていた処理を引き継ぐ第2の情報処理装置及び前記第1の記憶装置の夫々に通信可能に接続し、前記第1の記憶装置に記憶されている前記本番データの複製を記憶する第2の記憶装置と、
    前記第2の記憶装置に記憶されているデータを復元するために必要な前記バックアップデータを記憶するバックアップ装置と、
    1つ以上の前記情報処理装置において実行されるプログラムにより実現される、前記フェイルオーバが実行される場合に、前記バックアップデータ生成部が生成した前記バックアップデータを前記バックアップ装置に記憶させるように制御するバックアップ処理部と、を備えること、
    を特徴とする情報処理システム。
  15. 請求項14に記載の情報処理システムであって、
    前記第1の記憶装置は、前記第1の記憶装置が提供する記憶領域に論理的に設定される記憶領域である第1の論理ボリュームを備え、前記第1の論理ボリュームに前記本番データを記憶し、
    前記第2の記憶装置は、前記第1の論理ボリュームに記憶されているデータの複製を記憶する第2の論理ボリュームを備え、
    前記第1の記憶装置は、前記第1の論理ボリュームにデータが書き込まれた場合に、書き込まれたデータの複製を前記第2の記憶装置に送信する書き込みデータ送信部を備え、
    前記第2の記憶装置は、前記書き込みデータを受信する書き込みデータ受信部と、受信した書き込みデータを前記第2の論理ボリュームに書き込む論理ボリューム制御部と、を備えること、
    を特徴とする情報処理システム。
  16. 複数のサイトの夫々に設置される情報処理装置であって、
    他の前記サイトに設置される前記情報処理装置と通信可能に接続し、
    前記他の情報処理装置に前記障害が生じた場合に、前記他の情報処理装置が行っていた処理を引き継ぐフェイルオーバに関する処理を行うフェイルオーバ処理部と、
    前記フェイルオーバの対象となる処理を行うために必要となる本番データが、当該情報処理装置、又は前記障害が生じた前記情報処理装置を除く他の情報処理装置の何れかにおいて、復元可能に管理されているかどうかを判断する復元可否判断部と、
    前記本番データが復元可能に管理されていない場合、前記データを復元するために必要となるバックアップデータを生成するバックアップデータ生成部と、を備えること、
    を特徴とする情報処理装置。
  17. 請求項16に記載の情報処理装置であって、
    前記他の情報処理装置において前記本番データが復元可能に管理されているかどうかを問い合わせる問い合わせメッセージに前記本番データの識別情報を付帯させて前記他の前記情報処理装置に送信する問い合わせメッセージ送信部と、
    前記問い合わせメッセージを受信する問い合わせメッセージ受信部と、
    当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と前記識別情報とを対応付けて記憶するバックアップデータ管理情報記憶部と、
    前記問い合わせメッセージ受信部が受信した前記問い合わせメッセージに付帯される前記識別情報に対応する、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信する問い合わせメッセージ応答部と、を備え、
    前記復元可否判断部は、前記問い合わせメッセージ送信部が送信する前記問い合わせメッセージに対する前記応答に前記本番データが復元可能に管理されていることを示す情報が設定されているかどうかに応じて、前記本番データが復元可能に管理されているかどうかを判断すること、
    を特徴とする情報処理装置。
  18. 請求項17に記載の情報処理装置であって、
    前記バックアップデータ管理情報記憶部は、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報とを前記本番データの識別情報に対応付けて記憶し、
    前記バックアップデータを読み出すために必要な情報に基づいて前記バックアップデータを読み出すバックアップデータ読み出し部を備え、
    前記問い合わせメッセージ応答部は、前記問い合わせメッセージ受信部が受信した前記問い合わせメッセージに付帯される前記識別情報に対応する、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報とを前記バックアップデータ管理情報記憶部から取得し、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを判断し、
    前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されていないと判断した場合、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信し、
    前記問い合わせメッセージ応答部が当該情報処理装置において前記本番データが復元可能に管理されていると判断した場合、
    前記バックアップデータ読み出し部は、取得した前記バックアップデータを読み出すために必要な情報に基づいて前記バックアップデータを読み出す処理を実行し、
    前記処理が成功したときに、前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されている旨を示す情報を設定した前記応答を前記問い合わせメッセージの送信元に返信し、
    前記処理が失敗したときに、前記問い合わせメッセージ応答部は、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を返信すること、
    を特徴とする情報処理装置。
  19. 請求項17に記載の情報処理装置であって、
    前記バックアップデータ管理情報記憶部は、当該情報処理装置において前記本番データが復元可能に管理されているかどうかを示す情報と、前記バックアップデータを読み出すために必要な情報と、前記バックアップデータの有効期限を示す情報とを前記本番データの識別情報に対応付けて記憶し、
    当該情報処理装置と共に前記フェイルオーバを実行するためのクラスタを構成する他の情報処理装置の夫々について、前記他の情報処理装置の識別情報を記憶するサイト情報記憶部と、
    を備え、
    前記問い合わせメッセージ送信部は、前記サイト情報記憶部が記憶している前記情報処理装置の識別情報に対応する前記情報処理装置の夫々に対して前記問い合わせメッセージを送信し、
    前記問い合わせメッセージ応答部は、
    前記問い合わせメッセージに付帯される前記本番データの識別情報に対応する前記バックアップデータの有効期限をバックアップデータ管理情報記憶部から取得し、
    前記有効期限が現在の日時以後である場合は、当該情報処理装置において前記本番データが復元可能に管理されている旨を示す情報を設定した前記応答を返信し、
    前記有効期限が現在の日時よりも前である場合は、当該情報処理装置において前記本番データが復元可能に管理されていない旨を示す情報を設定した前記応答を返信すること、
    を特徴とする情報処理装置。
  20. 複数のサイトの夫々に設置される情報処理装置が互いに通信可能に接続し、前記情報処理装置の1つに障害が生じた場合に、前記障害が生じた前記情報処理装置とは異なる他の前記情報処理装置が前記障害が生じた前記情報処理装置が行っていた処理を引き継ぐフェイルオーバ型クラスタを構成する情報処理システムの制御方法であって、
    前記障害が生じた前記情報処理装置から他の前記情報処理装置にフェイルオーバが実行される場合に、
    前記情報処理装置が前記フェイルオーバの対象となる処理を行うために必要となる本番データが、前記障害が生じた前記情報処理装置を除く一群の前記情報処理装置の何れかにおいて、復元可能な状態に管理されているかどうかを判断し、
    前記本番データが復元可能な状態に管理されていない場合、前記データを復元するために必要となるバックアップデータを生成すること、
    を特徴とする情報処理システムの制御方法。
JP2004004670A 2004-01-09 2004-01-09 情報処理システム、情報処理装置、及び情報処理システムの制御方法 Pending JP2005196683A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004004670A JP2005196683A (ja) 2004-01-09 2004-01-09 情報処理システム、情報処理装置、及び情報処理システムの制御方法
US10/817,862 US7114094B2 (en) 2004-01-09 2004-04-06 Information processing system for judging if backup at secondary site is necessary upon failover

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004004670A JP2005196683A (ja) 2004-01-09 2004-01-09 情報処理システム、情報処理装置、及び情報処理システムの制御方法

Publications (1)

Publication Number Publication Date
JP2005196683A true JP2005196683A (ja) 2005-07-21

Family

ID=34747126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004004670A Pending JP2005196683A (ja) 2004-01-09 2004-01-09 情報処理システム、情報処理装置、及び情報処理システムの制御方法

Country Status (2)

Country Link
US (1) US7114094B2 (ja)
JP (1) JP2005196683A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046996A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd データ処理装置、モード管理装置、及びモード管理方法
JP2008077308A (ja) * 2006-09-20 2008-04-03 Fuji Xerox Co Ltd 情報処理システムおよび情報処理装置および外部退避装置
JP2008511924A (ja) * 2004-08-31 2008-04-17 ユニシス コーポレイシヨン 長距離通信リンク上でのデータ複製を用いた、地理的に分散配置されたサーバノードのクラスタにおける自動化されたフェールオーバー
JP2008123481A (ja) * 2006-11-14 2008-05-29 Innodisk Corp データの安全性を確保するミニフラッシュディスク
JP2009129148A (ja) * 2007-11-22 2009-06-11 Hitachi Ltd サーバ切り替え方法、およびサーバシステム
JP2010530108A (ja) * 2007-06-15 2010-09-02 サヴィス・インコーポレーテッド 共有データセンタ災害復旧システム及び方法
JP2010198404A (ja) * 2009-02-26 2010-09-09 Nec Corp 情報処理システム、ディザスタリカバリ方法及びディザスタリカバリプログラム
JP2011053780A (ja) * 2009-08-31 2011-03-17 Oki Networks Co Ltd 復旧システム、復旧方法及びバックアップ制御システム
WO2011099380A1 (ja) * 2010-02-10 2011-08-18 三菱電機株式会社 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法
JP2011530127A (ja) * 2008-08-05 2011-12-15 インターナショナル・ビジネス・マシーンズ・コーポレーション データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
WO2013072975A1 (ja) * 2011-11-18 2013-05-23 株式会社日立製作所 計算機システム、情報処理方法及びプログラム
JP2014170567A (ja) * 2009-10-26 2014-09-18 Amazon Technologies Inc 複製されたデータインスタンスのためのフェイルオーバーおよび復旧
JP7069427B1 (ja) * 2021-04-14 2022-05-17 三菱電機株式会社 監視制御システム、サーバ、バックアップ処理方法、およびバックアップ処理プログラム

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224784B2 (en) * 2004-08-13 2012-07-17 Microsoft Corporation Combined computer disaster recovery and migration tool for effective disaster recovery as well as the backup and migration of user- and system-specific information
US7818615B2 (en) * 2004-09-16 2010-10-19 Invensys Systems, Inc. Runtime failure management of redundantly deployed hosts of a supervisory process control data acquisition facility
US8237977B2 (en) * 2004-10-08 2012-08-07 Sharp Laboratories Of America, Inc. System for maintaining imaging device accounting data
US7707453B2 (en) * 2005-04-20 2010-04-27 Axxana (Israel) Ltd. Remote data mirroring system
WO2010079447A1 (en) * 2009-01-12 2010-07-15 Axxana (Israel) Ltd Disaster-proof data recovery
US9195397B2 (en) 2005-04-20 2015-11-24 Axxana (Israel) Ltd. Disaster-proof data recovery
JP4003789B2 (ja) * 2005-08-22 2007-11-07 コニカミノルタビジネステクノロジーズ株式会社 画像処理方法および装置
US20070143801A1 (en) * 2005-12-20 2007-06-21 Madonna Robert P System and method for a programmable multimedia controller
US9268659B2 (en) * 2006-01-05 2016-02-23 Emc Corporation Detecting failover in a database mirroring environment
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US8032702B2 (en) * 2007-05-24 2011-10-04 International Business Machines Corporation Disk storage management of a tape library with data backup and recovery
US20090288424A1 (en) * 2008-05-23 2009-11-26 Leblond Raymond G Enclosure for surveillance hardware
JP2010049634A (ja) * 2008-08-25 2010-03-04 Hitachi Ltd ストレージシステム及びストレージシステムにおけるデータ移行方法
US8020037B1 (en) * 2008-09-23 2011-09-13 Netapp, Inc. Creation of a test bed for testing failover and failback operations
JP2010092176A (ja) * 2008-10-06 2010-04-22 Hitachi Ltd 情報処理装置、及び情報処理装置の運用方法
US8214685B2 (en) * 2008-10-31 2012-07-03 Hewlett-Packard Development Company, L.P. Recovering from a backup copy of data in a multi-site storage system
JP2011039804A (ja) * 2009-08-12 2011-02-24 Hitachi Ltd 障害内容に基づくバックアップ管理方法
US9021124B2 (en) 2009-12-02 2015-04-28 Axxana (Israel) Ltd. Distributed intelligent network
US8566635B2 (en) * 2011-01-21 2013-10-22 Lsi Corporation Methods and systems for improved storage replication management and service continuance in a computing enterprise
WO2012127537A1 (en) * 2011-03-24 2012-09-27 Hitachi, Ltd. Computer system and data backup method
CN103428646A (zh) * 2012-05-25 2013-12-04 中兴通讯股份有限公司 集群系统用户状态查询的方法及服务器
US9251018B2 (en) * 2012-12-19 2016-02-02 International Business Machines Corporation Enhanced recovery of highly available computing systems
US10769028B2 (en) 2013-10-16 2020-09-08 Axxana (Israel) Ltd. Zero-transaction-loss recovery for database systems
US9367409B2 (en) * 2014-04-30 2016-06-14 Netapp, Inc. Method and system for handling failures by tracking status of switchover or switchback
US10379958B2 (en) 2015-06-03 2019-08-13 Axxana (Israel) Ltd. Fast archiving for database systems
JP6826459B2 (ja) * 2017-02-20 2021-02-03 キヤノン株式会社 通信装置、撮像装置、制御方法、及びプログラム
US10592326B2 (en) 2017-03-08 2020-03-17 Axxana (Israel) Ltd. Method and apparatus for data loss assessment
CN111382011B (zh) * 2020-02-28 2022-11-29 苏州浪潮智能科技有限公司 一种文件数据存取方法、装置和计算机可读存储介质
CN111581019B (zh) * 2020-04-21 2022-11-15 苏州浪潮智能科技有限公司 一种存储故障恢复的测试方法和装置
CN112671590B (zh) * 2020-12-31 2023-01-20 北京奇艺世纪科技有限公司 数据传输方法、装置、电子设备及计算机存储介质
US11249866B1 (en) * 2021-04-22 2022-02-15 Microsoft Technology Licensing, Llc Snapshot-based data corruption detection

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155845A (en) * 1990-06-15 1992-10-13 Storage Technology Corporation Data storage system for providing redundant copies of data on different disk drives
US5757669A (en) * 1995-05-31 1998-05-26 Netscape Communications Corporation Method and apparatus for workgroup information replication
US6195760B1 (en) * 1998-07-20 2001-02-27 Lucent Technologies Inc Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
US6912629B1 (en) * 1999-07-28 2005-06-28 Storage Technology Corporation System and method for restoring data from secondary volume to primary volume in a data storage system
US6898727B1 (en) * 2000-03-22 2005-05-24 Emc Corporation Method and apparatus for providing host resources for an electronic commerce site
US6728897B1 (en) * 2000-07-25 2004-04-27 Network Appliance, Inc. Negotiating takeover in high availability cluster
US6694447B1 (en) * 2000-09-29 2004-02-17 Sun Microsystems, Inc. Apparatus and method for increasing application availability during a disaster fail-back
US7152078B2 (en) * 2001-12-27 2006-12-19 Hitachi, Ltd. Systems, methods and computer program products for backup and restoring storage volumes in a storage area network
US7139885B2 (en) * 2001-12-27 2006-11-21 Hitachi, Ltd. Method and apparatus for managing storage based replication
US7191357B2 (en) 2002-03-29 2007-03-13 Panasas, Inc. Hybrid quorum/primary-backup fault-tolerance model
US7043665B2 (en) * 2003-06-18 2006-05-09 International Business Machines Corporation Method, system, and program for handling a failover to a remote storage location
US7278049B2 (en) * 2003-09-29 2007-10-02 International Business Machines Corporation Method, system, and program for recovery from a failure in an asynchronous data copying system
US7133986B2 (en) 2003-09-29 2006-11-07 International Business Machines Corporation Method, system, and program for forming a consistency group
US7251743B2 (en) 2003-11-20 2007-07-31 International Business Machines Corporation Method, system, and program for transmitting input/output requests from a primary controller to a secondary controller
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US20050125557A1 (en) 2003-12-08 2005-06-09 Dell Products L.P. Transaction transfer during a failover of a cluster controller

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008511924A (ja) * 2004-08-31 2008-04-17 ユニシス コーポレイシヨン 長距離通信リンク上でのデータ複製を用いた、地理的に分散配置されたサーバノードのクラスタにおける自動化されたフェールオーバー
JP2008046996A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd データ処理装置、モード管理装置、及びモード管理方法
JP2008077308A (ja) * 2006-09-20 2008-04-03 Fuji Xerox Co Ltd 情報処理システムおよび情報処理装置および外部退避装置
JP2008123481A (ja) * 2006-11-14 2008-05-29 Innodisk Corp データの安全性を確保するミニフラッシュディスク
JP2010530108A (ja) * 2007-06-15 2010-09-02 サヴィス・インコーポレーテッド 共有データセンタ災害復旧システム及び方法
JP2009129148A (ja) * 2007-11-22 2009-06-11 Hitachi Ltd サーバ切り替え方法、およびサーバシステム
US8386830B2 (en) 2007-11-22 2013-02-26 Hitachi, Ltd. Server switching method and server system equipped therewith
US8676760B2 (en) 2008-08-05 2014-03-18 International Business Machines Corporation Maintaining data integrity in data servers across data centers
JP2011530127A (ja) * 2008-08-05 2011-12-15 インターナショナル・ビジネス・マシーンズ・コーポレーション データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
JP2010198404A (ja) * 2009-02-26 2010-09-09 Nec Corp 情報処理システム、ディザスタリカバリ方法及びディザスタリカバリプログラム
JP2011053780A (ja) * 2009-08-31 2011-03-17 Oki Networks Co Ltd 復旧システム、復旧方法及びバックアップ制御システム
JP2014170567A (ja) * 2009-10-26 2014-09-18 Amazon Technologies Inc 複製されたデータインスタンスのためのフェイルオーバーおよび復旧
WO2011099380A1 (ja) * 2010-02-10 2011-08-18 三菱電機株式会社 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法
JP5355725B2 (ja) * 2010-02-10 2013-11-27 三菱電機株式会社 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法
WO2013072975A1 (ja) * 2011-11-18 2013-05-23 株式会社日立製作所 計算機システム、情報処理方法及びプログラム
JP7069427B1 (ja) * 2021-04-14 2022-05-17 三菱電機株式会社 監視制御システム、サーバ、バックアップ処理方法、およびバックアップ処理プログラム
WO2022219745A1 (ja) * 2021-04-14 2022-10-20 三菱電機株式会社 監視制御システム、サーバ、バックアップ処理方法、およびバックアップ処理プログラム

Also Published As

Publication number Publication date
US20050160305A1 (en) 2005-07-21
US7114094B2 (en) 2006-09-26

Similar Documents

Publication Publication Date Title
JP2005196683A (ja) 情報処理システム、情報処理装置、及び情報処理システムの制御方法
JP4800046B2 (ja) ストレージシステム
JP4939174B2 (ja) ミラーリングされたシステム内の障害を管理するための方法
US6282610B1 (en) Storage controller providing store-and-forward mechanism in distributed data storage system
JP4477950B2 (ja) リモートコピーシステム及び記憶装置システム
US8191078B1 (en) Fault-tolerant messaging system and methods
JP2006527875A (ja) データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム)
JP2005242403A (ja) 計算機システム
JP2004252686A (ja) 情報処理システム
JP4671399B2 (ja) データ処理システム
JP2008516343A (ja) 冗長データストレージの再構成
JP2003517651A (ja) 高度利用可能ファイルサーバ
US8527454B2 (en) Data replication using a shared resource
JP5292351B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP4287092B2 (ja) ファイル管理システムおよびファイル管理方法
JP2009026091A (ja) 接続管理プログラム、接続管理方法および情報処理装置
JP2003015933A (ja) 記憶装置のファイルレベルリモートコピー方法
JP5292350B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP2006185108A (ja) ストレージシステムのデータを管理する管理計算機及びデータ管理方法
WO2023151443A1 (zh) 同步主备数据库
JP6335336B2 (ja) ストレージシステムおよびその制御方法
JP2016119062A (ja) ストレージ装置、ストレージシステムおよびストレージ制御プログラム
JP2004272318A (ja) 系切り替えシステムおよびその処理方法並びにその処理プログラム
US20210240351A1 (en) Remote copy system and remote copy management method
JP2008276281A (ja) データ同期システム、方法、及び、プログラム