JP2009265973A - データ同期システム、障害復旧方法、及び、プログラム - Google Patents
データ同期システム、障害復旧方法、及び、プログラム Download PDFInfo
- Publication number
- JP2009265973A JP2009265973A JP2008115260A JP2008115260A JP2009265973A JP 2009265973 A JP2009265973 A JP 2009265973A JP 2008115260 A JP2008115260 A JP 2008115260A JP 2008115260 A JP2008115260 A JP 2008115260A JP 2009265973 A JP2009265973 A JP 2009265973A
- Authority
- JP
- Japan
- Prior art keywords
- server
- data
- data area
- function unit
- synchronous
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】障害サーバの機能を迅速に復旧可能なデータ同期システムを提供する。
【解決手段】サーバ100は、自サーバのデータをオリジナルデータ領域104に保持し、他のサーバ110のデータを同期データ領域105に保持する。レプリケーション機能部は、サーバ110に障害が発生すると、サーバ110のデータを同期データ領域105に保持するサーバ100を、サーバ110の代替として機能させる。
【選択図】図1
【解決手段】サーバ100は、自サーバのデータをオリジナルデータ領域104に保持し、他のサーバ110のデータを同期データ領域105に保持する。レプリケーション機能部は、サーバ110に障害が発生すると、サーバ110のデータを同期データ領域105に保持するサーバ100を、サーバ110の代替として機能させる。
【選択図】図1
Description
本発明は、データ同期システムに関し、更に詳しくは、複数のサーバのデータを、オリジナルデータ領域と同期データ領域とに保持するデータ同期システムに関する。また、本発明は、そのようなデータ同期システムにおける障害復旧方法及びプログラムに関する。
耐障害性を高めるために、サーバ間でデータを同期させるシステムがある。例えば、共有ディスクを用いた複数サーバのファイル二重化方式として、特許文献1に記載の技術がある。また、共有ディスクを用いないレプリケーション方式としては、特許文献2に記載の技術がある。ファイル冗長化に関し、同一のファイルを複数のファイルサーバに分散して保存するシステムは、特許文献3に記載されている。
特許文献1では、各サーバのローカルディスクと共有ディスクとを同期させることで、ファイル二重化を実現している。しかし、共有ディスクを用いる方式では、共有ディスクに、全てのサーバのデータを保持できるだけの容量が要求され、コストが高くなるという問題がある。また、特許文献2では、共有ディスクを用いることによるコスト高は回避できるものの、適用可能なシステムは、運用系と待機系とからなるクラスタシステムに限定される。このため、特許文献2に記載の技術を、異なる機能を持つサーバ群に対して適用することはできない。
特許文献3では、例えば、サーバBに障害が発生したときには、サーバBが管理していたファイルを、他のサーバにコピーすることで、ファイルの冗長度を回復する。しかし、特許文献3に記載の技術は、ファイルサーバに関するものであり、サーバ間でのデータ同期を目的としたものではない。特許文献3は、ファイルが、複数のファイルサーバに記憶されていれば、その保存場所は問わない構成である。このため、サーバBの代替サーバを用意したとしても、その代替サーバに、サーバBが管理していたファイルがコピーされることはない。
サーバが管理するファイルには、カーネルや各種設定ファイルが含まれており、代替サーバを用いて業務を再開するためには、障害が発生したサーバの動作環境を代替サーバに構築することが必要である。しかし、特許文献3では、ファイルの冗長性を回復することが目的であり、ファイルの保存場所は問わない構成であるので、特許文献3に記載の技術を、障害が発生したサーバの環境を代替サーバに構築するという用途に適用することはできない。
本発明者は、特願2007−115517にて、共有ディスクなどの特殊な外部記憶装置を使用せずに、異なる機能を持つサーバ間でのデータ同期を実現可能な方式を提案している。この方式は、共有ディスクなど高価な設備が不要で、各ローカルディスクに必要な容量はサーバ数に依存せずにサーバ2台分に収まるといった利点がある。また、クラスタシステムなどに限らず別個の機能を持ったサーバ群にも適用可能であるという利点もある。しかし、特願2007−115517では、障害によるサーバ交換時には、交換した空のサーバへ他のサーバが保持しているバックアップデータをコピーする必要があるため、復旧に要する時間が長くなるという点が課題として残る。
本発明は、障害サーバの機能を迅速に復旧可能なデータ同期システム、障害復旧方法、及び、プログラムを提供することを目的とする。
上記目的を達成するために、本発明のデータ同期システムは、複数のサーバを含み、該複数のサーバのうちの少なくとも一部が自サーバのデータをオリジナルデータ領域に保持し、他のサーバのデータを同期データ領域に保持するデータ同期システムであって、前記複数のサーバの何れかに障害が発生すると、前記障害が発生した第1のサーバのデータを同期データ領域に保持する第2のサーバを、前記第1のサーバの代替として機能させるレプリケーション機能部を備えることを特徴とする。
本発明のサーバは、自サーバのデータをオリジナルデータ領域に格納すると共に、他のサーバにて格納されたデータと同じデータを同期データ領域に格納し、前記他のサーバに障害が発生すると、自サーバを前記他のサーバの代替として機能させるレプリケーション機能部を有することを特徴とする。
本発明の障害復旧方法は、複数のサーバを含み、該複数のサーバのうちの少なくとも一部が自サーバのデータをオリジナルデータ領域に保持し、他のサーバのデータを同期データ領域に保持するデータ同期システムにて、コンピュータを用いて障害復旧を行う方法であって、前記コンピュータが、障害サーバを検出すると、該障害が発生した第1のサーバのデータを同期データ領域に保持する第2のサーバを、前記第1のサーバの代替として機能させるステップを有することを特徴とする。
本発明のプログラムは、複数のサーバを含み、該複数のサーバのうちの少なくとも一部が自サーバのデータをオリジナルデータ領域に保持し、他のサーバのデータを同期データ領域に保持するデータ同期システムにて、コンピュータに、障害復旧の処理を実行させるプログラムあって、前記コンピュータに、障害サーバを検出すると、該障害が発生した第1のサーバのデータを同期データ領域に保持する第2のサーバを、前記第1のサーバの代替として機能させる処理を実行させることを特徴とする。
本発明のデータ同期システム、障害復旧方法、及び、プログラムは、障害サーバの機能を迅速に復旧することができる。
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の一実施形態のデータ同期システムの構成を示している。データ同期システムは、複数のサーバを含む。図1では、3つのサーバ(100、110、120)により、データ同期システムが構成されている。これら3つのサーバは、それぞれ異なる機能を持つサーバである。各サーバ(100、110、120)は、ネットワーク200を介して接続されており、ネットワーク200を介して、相互に通信可能である。
各サーバ(100、110、120)は、ローカルディスク(103、113、123)、保持データ管理テーブル(106、116、126)、及び、プライオリティ管理テーブル(107、117、127)を有する。また、各サーバ(100、110、120)上では、レプリケーション機能部(101、111、121)、及び、アプリケーションプログラム(102、112、122)が動作している。
ローカルディスク103は、サーバ100自身のデータを保持するためオリジナルデータ領域104と、他サーバの同期データ(バックアップデータ)を保持するための同期データ領域105とを有する。オリジナルデータ領域104と同期データ領域105とは、OSを含むマルチブート環境を構成しており、サーバ100は、オリジナルデータ領域104及び同期データ領域105の何れのデータからでも起動することができる。
サーバ110、120についても、サーバ100と同様な構成となっており、サーバ110のローカルディスク113は、サーバ110自身のデータを保持するためのオリジナルデータ領域114と、他サーバの同期データを保持するための同期データ領域115とを有する。また、サーバ120のローカルディスク123は、サーバ120自身のデータを保持するためのオリジナルデータ領域124と、他サーバの同期データを保持するための同期データ領域125とを有する。
図1の例では、サーバ100の同期データ領域105は、サーバ110の同期データを保持している。また、サーバ110の同期データ領域115は、サーバ120の同期データを保持し、サーバ120の同期データ領域125は、サーバ100の同期データを保持している。
保持データ管理テーブル106、116、126は、各サーバの同期データ領域がどのサーバのデータを保持するかを管理する。プライオリティ管理テーブル107、117、127は、各サーバに設定されたプライオリティを記憶する。各サーバのプライオリティは、例えばシステム管理者などにより、事前に設定される。プライオリティは、例えば、重要な機能を担い、できるだけ稼動状態に置きたいサーバのプライオリティを高く設定する。また、それほど重要度が高くなく、一時的に利用できなくなってもかまわないサーバのプライオリティを低く設定する。保持データ管理テーブル及びプライオリティ管理テーブルは、レプリケーション機能部の内部に保持される構成でもよい。
各サーバのレプリケーション機能部は、大きく分けて3つの機能を有する。1つめの機能は、自サーバのデータを、オリジナルデータ領域に書き込む際に、他サーバのレプリケーション機能部を介して、他サーバ上の同期データ領域に、オリジナルデータ領域に書き込んだデータと同じデータを書き込む機能である。例えば、サーバ100のレプリケーション機能部101は、アプリケーションプログラム102からデータの書き込み要求を受け取ると、データをローカルディスク103のオリジナルデータ領域104に書き込む。レプリケーション機能部101は、オリジナルデータ領域104へのデータ書き込むが正常に完了すると、サーバ120上で動作しているレプリケーション機能部121を介して、ローカルディスク123の同期データ領域125に、オリジナルデータ領域104に書き込んだデータと同じデータを書き込む。
2つ目の機能は、ネットワークに接続されているサーバが追加又は削除され、ネットワーク構成が変化した際に、変化後のネットワーク構成に合わせて、各サーバの同期データ領域に保持する同期データの割り当てを変更する機能である。レプリケーション機能部は、障害によってサーバが交換されると、保持データ管理テーブルを参照して、障害が発生したサーバのデータを同期データ領域に保持するサーバを特定する。レプリケーション機能部は、当該データを、特定したサーバから、交換されたサーバのオリジナルデータ領域にコピーする。また、レプリケーション機能部は、新規にサーバが追加された場合は、追加されたサーバを含めて、各サーバで他サーバの同期データを保持するように、各サーバで保持する同期データの組合せを割り振り直す。
3つ目の機能は、よりプライオリティが高いサーバに障害が発生した際に、その障害発生サーバのデータを同期データ領域に保持するサーバを、障害サーバの代替サーバとして動作させる機能である。レプリケーション機能部は、何れかのサーバに障害が発生すると、保持データ管理テーブルを参照して、障害発生サーバの同期データを持つサーバを特定する。レプリケーション機能部は、プライオリティ管理テーブルを参照して、その特定したサーバのプライオリティと障害が発生したサーバのプライオリティとを比較する。レプリケーション機能部は、障害が発生したサーバのプライオリティが特定したサーバのプライオリティよりも高いときは、障害発生サーバの同期データを記憶するサーバを、同期データ領域で再起動する。同期データ領域で再起動したサーバは、その後、障害サーバの代替サーバとして機能することとなり、同期データ領域とオリジナルデータ領域とが入れ替わる。例えば、サーバ100を、同期データ領域105に記憶するサーバ110用のデータで再起動したときは、サーバ100はサーバ110の代替サーバとなり、サーバ110のデータを記憶する同期データ領域105がオリジナルデータ領域に変わり、オリジナルデータ領域104が同期データ領域に変わる。
図2は、通常運用時のデータ同期手順を示している。以下では、サーバ100のレプリケーション機能部101の動作を中心に説明する。サーバ110、120のレプリケーション機能部111、121も、レプリケーション機能部101と同様な機能を有する。アプリケーションプログラム102は、レプリケーション機能部101に、データ書込みを要求する(ステップA1)。この要求を受けたレプリケーション機能部101は、ローカルディスク103上にあるオリジナルデータ領域104に、データを書き込む(ステップA2)。レプリケーション機能部101は、書込みに成功したか否かを判断する(ステップA3)。書込みに失敗したときには、ステップA2に戻り、リトライする。
レプリケーション機能部101は、データ書込みに成功すると、保持データ管理テーブル106を参照して、サーバ100の同期データを記憶するサーバを検索する(ステップA4)。図1の例では、サーバ100の同期データは、サーバ120の同期データ領域125に記憶されている。レプリケーション機能部101は、サーバ120のレプリケーション機能部121に対して、書込み要求を行う(ステップA5)。レプリケーション機能部121は、書込み要求を受けて、ステップA2でオリジナルデータ領域104に書き込まれたデータと同じデータを、ローカルディスク123の同期データ領域125に書き込む(ステップA6)。レプリケーション機能部121は、書込みに成功したか否かを判断する(ステップA7)。書込みに失敗したときには、ステップA6へ戻り、リトライする。成功したときには、処理を終了する。
図3に、障害発生時の動作手順を示す。また、図4に、障害発生とサーバ追加を示す。ここでは、図4に示すように、サーバ100に障害が発生し、その障害サーバの代替サーバ130を追加する場合を考える。サーバ100に障害が発生すると、各サーバのレプリケーション機能部は、サーバ100に障害が発生したことを検出する(ステップB1)。各サーバのレプリケーション機能部は、保持データ管理テーブルを参照して、障害サーバ100のデータを同期データ領域に記憶するサーバを検出する(ステップB2)。図1では、サーバ120が、サーバ100のデータを同期データ領域125に記憶しているので、ステップB2では、サーバ120が検出される。
サーバ120のレプリケーション機能部121は、プライオリティ管理テーブル127を参照して、サーバ100のプライオリティと、サーバ120のプライオリティとを比較する(ステップB3)。レプリケーション機能部121は、ステップB3で、障害サーバ100のプライオリティがサーバ120よりも低いと判断すると、サーバ100の代替サーバが接続されるまで待機する(ステップB4)。
サーバ130が接続されると、各サーバのレプリケーション機能部は、保持データ管理テーブルを参照して、サーバ130がサーバ100の代替サーバであると認識する(ステップB5)。サーバ130がどのサーバの代替サーバであるは、保持データ管理テーブルにて、何れかのサーバの同期データ領域には記憶されているものの、オリジナルデータ領域には記憶されていないサーバを探すことで特定できる。
各サーバのレプリケーション機能部は、代替サーバの認識後、サーバ130のローカルディスク133内のオリジナルデータ領域134及び同期データ領域135のそれぞれにコピーするデータを決定する。サーバ130は、障害サーバ100の代替サーバであるので、サーバ130のオリジナルデータ領域134に、サーバ100のデータをコピーする。また、サーバ130の同期データ領域135に、サーバ100の同期データ領域105が保持していたサーバ110のデータをコピーする。
図4では、サーバ100のデータは、サーバ120の同期データ領域125が保持している。サーバ120のレプリケーション機能部121は、同期データ領域125に保持するサーバ100の同期データを、サーバ130のオリジナルデータ領域134にコピーする(ステップB6)。また、図4では、サーバ110のデータは、サーバ110のオリジナルデータ領域114が保持している。サーバ110のレプリケーション機能部111は、オリジナルデータ領域114に保持している自サーバのデータを、同期データ領域135にコピーする(ステップB7)。
コピー完了後、サーバ130のレプリケーション機能部131は、サーバ130をオリジナルデータ領域134から起動する。これにより、サーバ130は、サーバ100が担っていた機能を代行し、サーバ100のデータを引き継いで動作する。その後、レプリケーション機能部131は、通常のレプリケーション処理(図2)を実行し、アプリケーションプログラム132からのデータ書込み要求が発生すると、オリジナルデータ領域134に自サーバ(サーバ100)のデータを格納する。また、レプリケーション機能部131は、同期データ領域135にサーバ110のデータを格納する。
レプリケーション機能部121は、ステップB3で、サーバ100のプライオリティがサーバ120のプライオリティよりも高いと判断すると、サーバ120を同期データ領域125側から再起動する(ステップB9)。これ以降、サーバ120は、サーバ100が担っていた機能を代行し、サーバ100のデータを引き継いで動作する(ステップB10)。また、以降、サーバ120は、サーバ100のデータを記憶する同期データ領域125をオリジナルデータ領域として扱い、サーバ120のデータを記憶するオリジナルデータ領域124を同期データ領域として扱う。
障害サーバの代替として、サーバ130が接続されると、各サーバのレプリケーション機能は、保持データ管理テーブルを参照して、サーバ130をサーバ120の代替サーバとして認識する(ステップB11)。ここで、障害が発生したサーバはサーバ100であるが、既にサーバ120をサーバ100として再起動しているため、追加したサーバ130には、サーバ120本来の機能を実行させることになる。
各サーバのレプリケーション機能部は、代替サーバの認識後、各サーバが保持するデータの組合せを決定する。サーバ130のオリジナルデータ領域134については、サーバ130は、サーバ120の代替なので、オリジナルデータ領域134には、サーバ120のデータをコピーすると決定する。サーバ120のデータをオリジナルデータ領域134にコピーした段階では、サーバ120のデータが2つサーバ110(同期データ領域115)とサーバ120(オリジナルデータ領域124)とに同期データとして保持され、サーバ130の同期データ領域は空である。各サーバのレプリケーション機能部は、全サーバのデータがオリジナルデータ領域と同期データ領域とで保持されるように、同期データ領域で保持するサーバのデータの組替えを行う。ここでは、サーバ120のオリジナルデータ領域124にサーバ110のデータをコピーし、サーバ130の同期データ領域にサーバ100のデータをコピーすると決定するものとする。
図4では、サーバ120のデータは、サーバ120のオリジナルデータ領域124、及び、サーバ110の同期データ領域115に保持されている。ここでは、コピー元は、サーバ120のオリジナルデータ領域124であるとする。サーバ120のレプリケーション機能部121は、オリジナルデータ領域124に保持するサーバ120のデータを、サーバ130のオリジナルデータ領域134にコピーする(ステップB12)。
図4では、サーバ110のデータは、サーバ110のオリジナルデータ領域114に保持されている。サーバ110のレプリケーション機能部111は、オリジナルデータ領域114に保持するサーバ110のデータを、サーバ120のオリジナルデータ領域(同期データ領域)124にコピーする(ステップB13)。また、図4では、サーバ100のデータは、サーバ120の同期データ領域(オリジナルデータ領域)125に保持されている。サーバ120のレプリケーション機能部121は、同期データ領域125から、サーバ130の同期データ領域135に、サーバ100のデータをコピーする(ステップB14)。
コピー完了後、サーバ130のレプリケーション機能部131は、サーバ130をオリジナルデータ領域134から起動する。これにより、サーバ130は、サーバ120が担っていた機能を代行し、サーバ120のデータを引き継いで動作する。その後、レプリケーション機能部131は、通常のレプリケーション処理(図2)を実行し、アプリケーションプログラム132からのデータ書込み要求が発生すると、オリジナルデータ領域134に自サーバ(サーバ120)のデータを格納する。また、レプリケーション機能部131は、同期データ領域135にサーバ100のデータを格納する。
図5(a)〜(c)に、上記動作にて、障害サーバのプライオリティが同期データを保持するサーバのプライオリティよりも低い場合の各サーバが保持するデータの組み合わせ(保持データ管理テーブル)を示す。はじめ、各サーバは、自サーバのデータをオリジナルデータ領域に保持すると共に、サーバ100はサーバ110のデータを同期データ領域105に保持し、サーバ110はサーバ120のデータを同期データ領域115に保持し、サーバ120は、サーバ100のデータを同期データ領域125に保持している。サーバ100に障害が発生すると、オリジナルデータ領域からサーバ100のデータが消失し、同期データ領域からサーバ110のデータが消失する(図5(a))。
上記状態で、サーバ130が追加されると、保持データ管理テーブル上で、サーバ100のデータをオリジナルデータ領域に格納するサーバがないことから、追加されたサーバ130は、サーバ100の代替と判断される(図5(b))。従って、各サーバのレプリケーション機能部は、サーバ130のオリジナルデータ領域134にサーバ100のデータをコピーすると決定し、同期データ領域135にはサーバ110のデータをコピーすると決定する。
サーバ120のレプリケーション機能部121は、同期データ領域125に保持するサーバ100のデータを、サーバ130のオリジナルデータ領域134にコピーする。また、サーバ110のレプリケーション機能部111は、オリジナルデータ領域114に保持するサーバ110のデータを、サーバ130の同期データ領域135にコピーする(図5(c))。これにより、各サーバのデータが、各サーバのオリジナルデータ領域と同期データ領域とで保持される状態が回復する。
図6(a)〜(d)に、上記動作にて、障害サーバのプライオリティが同期データを保持するサーバのプライオリティよりも高い場合の各サーバが保持するデータの組み合わせ(保持データ管理テーブル)を示す。はじめ、各サーバが保持するデータの組み合わせは、図5(a)と同様である。この状態で、サーバ100に障害が発生すると、オリジナルデータ領域からサーバ100のデータが消失し、同期データ領域からサーバ110のデータが消失する(図6(a))。
サーバ100に障害が発生すると、サーバ100のプライオリティは、サーバ100のデータを同期データ領域125に保持するサーバ120のプライオリティよりも高いため、レプリケーション機能部は、サーバ120を、同期データ領域125で再起動する。サーバ120を同期データ領域125で再起動することで、サーバ120では、同期データ領域とオリジナルデータ領域とが入れ替わる(図6(b))。つまり、サーバ100のデータを保持する同期データ領域125がオリジナルデータ領域となり、サーバ120のデータを保持するオリジナルデータ領域124が同期データ領域となる。
サーバ120の再起動後に、サーバ130が追加されると、各サーバのレプリケーション機能部は、サーバ120のデータをオリジナルデータ領域に保持するサーバがないことから、サーバ130がサーバ120の代替サーバであると判断する(図6(c))。各サーバのレプリケーション機能部は、サーバ130のオリジナルデータ領域134にサーバ120のデータをコピーすると決定すると共に、同期データ領域側で保持するデータの組合せを変更する。
同期データ領域側で保持するデータの組合せの変更では、レプリケーション機能部は、サーバ120の同期データ領域(オリジナルデータ領域124)が保持するデータをサーバ110のデータとすると決定する。また、レプリケーション機能部は、サーバ130の同期データ領域135が保持するデータをサーバ100のデータとすると決定する。レプリケーション機能部は、サーバ120の同期データ領域が保持するデータをサーバ110のデータで上書きし、サーバ130の同期データ領域135にサーバ100のデータをコピーする。これにより、各サーバのデータが、各サーバのオリジナルデータ領域と同期データ領域とで保持される状態が回復する(図6(d))。
本実施形態では、データ同期システムは、複数のサーバのデータを、オリジナルデータ領域と、同期データ領域とに保持している。レプリケーション機能部は、複数のサーバのうちの何れかに障害が発生すると、障害が発生したサーバ(第1のサーバ)のデータを同期データ領域に保持するサーバ(第2のサーバ)を、障害が発生した第1のサーバの代替として機能させる。第2のサーバは、保持データ管理テーブルを参照することで、特定できる。
本実施形態では、レプリケーション機能部が上記制御を行うことで、第2のサーバを、障害サーバの代替として機能させることができる。その際、代替として動作する第2のサーバは、既に障害が発生した第1のサーバのデータを保持しているので、障害復旧時に、第1のサーバのデータを第2のサーバにコピーする必要がない。従って、障害復旧を迅速に行うことができる。すなわち、通常、障害によって交換されたサーバは、他のサーバから、障害発生サーバのバックアップデータをコピーする必要があり、コピーが完了するまでは、代替サーバとして動作することはできない。コピーするデータ量によっては、代替サーバが動作可能となるまでに、相当の時間を要する場合がある。本実施形態では、既に同期データ領域に保持するデータを用いて代替サーバを動作させるので、復旧時にバックアップデータのコピーは不要であり、代替サーバを迅速に動作させることができる。
本実施形態では、レプリケーション機能部は、プライオリティ管理テーブルを参照して、障害が発生した第1のサーバに設定されたプライオリティと、第1のサーバのデータを同期データ領域に保持する第2のサーバに設定されたプライオリティとを比較する。レプリケーション機能部は、第1のサーバのプライオリティが第2のサーバのプライオリティよりも高いときは、第2のサーバを、第1のサーバとして機能させる。このようにすることで、プライオリティが高いサーバが障害になった際に、そのサーバの同期データを持つサーバを、すぐに代替サーバとして使用することができる。これにより、より重要な機能を担っているサーバを、迅速に復旧させることができる。
本実施形態では、レプリケーション機能部は、障害が発生した第1のサーバのプライオリティが第2のサーバのプライオリティよりも低いときは、第1のサーバの代替サーバが接続されるのを待機する。レプリケーション機能部は、前記代替サーバが接続されると、第2のサーバの同期データ領域から代替サーバのオリジナルデータ領域にデータをコピーし、第1のサーバの同期データ領域が保持していたデータをオリジナルデータ領域に保持するサーバから、代替サーバの同期データ領域にデータをコピーする。このようにすることで、障害発生前の状況に復旧が可能である。
本実施形態では、レプリケーション機能部は、第2のサーバを第1のサーバとして機能させた後にサーバが追加されると、追加されたサーバのオリジナルデータ領域に、第2のサーバのデータをコピーする。このようにすることで、追加サーバを、第2のサーバの代替として動作させることができる。また、レプリケーション機能部は、追加されたサーバを含めて、各サーバのデータが、各サーバのオリジナルデータ領域と同期データ領域とで保持されるように、各サーバの同期データ領域が保持するデータの組合せを決定する。レプリケーション機能部は、その決定に従って、保持すべきデータが変更になるサーバの同期データ領域に、他のサーバのオリジナルデータ領域又は同期データ領域が保持するデータをコピーする。これにより、各サーバのデータが、オリジナルデータ領域と同期データ領域の双方で保持する状態を回復できる。
本実施形態では、レプリケーション機能部は、サーバにてオリジナルデータ領域に対するデータ書込みが発生すると、当該サーバのオリジナルデータ領域にデータを格納すると共に、保持データ管理テーブルを参照して、当該サーバのデータを同期データ領域に保持するサーバを特定し、特定したサーバの同期データ領域に、オリジナルデータ領域に格納したデータと同じデータを格納する。このようにすることで、共有ディスクなどの高価な設備を必要とせずに、各サーバのデータ同期(バックアップ)を行うことができる。また、現用系、待機系から構成されるクラスタシステムに限らず、別個の機能を持ったサーバ群においても、各サーバのデータを各サーバでバックアップすることができる。
本実施形態では、上記制御により、サーバに障害が発生する直前までファイルを同期している。このため、定期的にバックアップする場合に比して、多くのデータ救済が可能となる。レプリケーション機能部は、サーバ台数が増えたときは、保持データ管理テーブルを変更し、増加したサーバを含めて、各サーバのデータがオリジナルデータ領域と同期データ領域とで保持されるようにする。本実施形態のデータ同期システムは、サーバ数に上限はなく、サーバ数が増加したとしても、各サーバのローカルディスクに必要な容量はサーバ2台分に収まるため、コストが抑えられる。また、例えば、サーバAが障害となったとき、サーバAの同期データを持つサーバも同時に障害にならない限り、復旧が可能である。従って、同期を行っているサーバ群のうち、複数のサーバが障害になったとしても、復旧できる可能性がある。
なお、上記実施形態では、各サーバのデータを各サーバのオリジナルデータ領域と同期データ領域とで保持する例について示したが、必ずしも全てのサーバのデータが、オリジナルデータ領域と同期データ領域とに保持されていなくてもよい。つまり、一部のサーバについては、同期データ領域にデータが保持されていなくてもよい。例えば、図1にて、サーバ100の同期データ領域105がサーバ110のデータを保持しておらず、サーバ110のデータについては、サーバ110のオリジナルデータ領域114にのみ保持される構成も可能である。この場合でも、サーバ100、120については他のサーバの同期データ領域にデータが保持されるので、そのサーバを代替として機能させることが可能である。
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のデータ同期システム、障害復旧方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
本発明は、処理速度より耐障害性が重視される計算機、例えばファイルサーバなどにおいて安価にミラーリングを実現するといった用途に適用できる。
100、110、120、130:サーバ
101、111、121、131:レプリケーション機能部
102、112、122、132:アプリケーションプログラム
103、113、123、133:ローカルディスク
104、114、124、134:オリジナルデータ領域
105、115、125、135:同期データ領域
106、116、126、136:保持データ管理テーブル
107、117、127、137:プライオリティ管理テーブル
101、111、121、131:レプリケーション機能部
102、112、122、132:アプリケーションプログラム
103、113、123、133:ローカルディスク
104、114、124、134:オリジナルデータ領域
105、115、125、135:同期データ領域
106、116、126、136:保持データ管理テーブル
107、117、127、137:プライオリティ管理テーブル
Claims (14)
- 複数のサーバを含み、該複数のサーバのうちの少なくとも一部が自サーバのデータをオリジナルデータ領域に保持し、他のサーバのデータを同期データ領域に保持するデータ同期システムであって、
前記複数のサーバの何れかに障害が発生すると、前記障害が発生した第1のサーバのデータを同期データ領域に保持する第2のサーバを、前記第1のサーバの代替として機能させるレプリケーション機能部を備えるデータ同期システム。 - 前記レプリケーション機能部は、各サーバの同期データ領域がどのサーバのデータを保持するかを管理する保持データ管理テーブルを参照して、前記第2のサーバを特定し、該特定した第2のサーバを前記第1のサーバの代替として機能させる、請求項1に記載のデータ同期システム。
- 前記レプリケーション機能部は、サーバにて前記オリジナルデータ領域に対するデータ書込みが発生すると、当該サーバの前記オリジナルデータ領域にデータを格納すると共に、前記保持データ管理テーブルを参照して、当該サーバのデータを同期データ領域に保持するサーバを特定し、該特定したサーバの同期データ領域に、前記オリジナルデータ領域に格納したデータと同じデータを格納する、請求項2に記載のデータ同期システム。
- 前記レプリケーション機能部は、前記第2のサーバを、前記同期データ領域で再起動し、前記第1のサーバの代替として機能させる、請求項1乃至3の何れか一に記載のデータ同期システム。
- 前記レプリケーション機能部は、前記第2のサーバを前記第1のサーバの代替として機能させた後、サーバが追加されると、該追加されたサーバのオリジナルデータ領域に、前記第2のサーバのデータをコピーする、請求項1乃至4の何れか一に記載のデータ同期システム。
- 前記レプリケーション機能部は、前記追加されたサーバを含めて、各サーバのデータが、各サーバのオリジナルデータ領域と同期データ領域とで保持されるように、各サーバの同期データ領域が保持するデータの組合せを決定する、請求項5に記載のデータ同期システム。
- 前記レプリケーション機能部は、前記決定に従って、保持すべきデータが変更になるサーバの同期データ領域に、他のサーバのオリジナルデータ領域又は同期データ領域が保持するデータをコピーする、請求項6に記載のデータ同期システム。
- 前記レプリケーション機能部は、各サーバに設定されたプライオリティを管理するプライオリティ管理テーブルを参照して、前記第1のサーバに設定されたプライオリティと前記第2のサーバに設定されたプライオリティとを比較し、前記第1のサーバのプライオリティが前記第2のサーバのプライオリティよりも高いと判断すると、前記第2のサーバを、前記第1のサーバの代替として機能させる、請求項1乃至7の何れか一に記載のデータ同期システム。
- 前記レプリケーション機能部は、前記第1のサーバのプライオリティが前記第2のサーバのプライオリティよりも低いと判断すると、前記第1のサーバの代替サーバが接続されるのを待機する、請求項8に記載のデータ同期システム。
- 前記レプリケーション機能部は、前記代替サーバが接続されると、前記第2のサーバの同期データ領域から前記代替サーバのオリジナルデータ領域にデータをコピーすると共に、前記第1のサーバの同期データ領域が保持していたデータをオリジナルデータ領域に保持するサーバから、前記代替サーバの同期データ領域にデータをコピーする、請求項9に記載のデータ同期システム。
- 自サーバのデータをオリジナルデータ領域に格納すると共に、他のサーバにて格納されたデータと同じデータを同期データ領域に格納し、前記他のサーバに障害が発生すると、自サーバを前記他のサーバの代替として機能させるレプリケーション機能部を有するサーバ。
- 複数のサーバを含み、該複数のサーバのうちの少なくとも一部が自サーバのデータをオリジナルデータ領域に保持し、他のサーバのデータを同期データ領域に保持するデータ同期システムにて、コンピュータを用いて障害復旧を行う方法であって、
前記コンピュータが、障害サーバを検出すると、該障害が発生した第1のサーバのデータを同期データ領域に保持する第2のサーバを、前記第1のサーバの代替として機能させるステップを有する障害復旧方法。 - 前記コンピュータは、障害サーバの検出後、各サーバに設定されたプライオリティを管理するプライオリティ管理テーブルを参照して、前記第1のサーバに設定されたプライオリティと前記第2のサーバに設定されたプライオリティとを比較し、第1のサーバのプライオリティが前記第2のサーバのプライオリティよりも高いと判断すると、前記第2のサーバを前記第1のサーバの代替として機能させる、請求項12に記載の障害復旧方法。
- 複数のサーバを含み、該複数のサーバのうちの少なくとも一部が自サーバのデータをオリジナルデータ領域に保持し、他のサーバのデータを同期データ領域に保持するデータ同期システムにて、コンピュータに、障害復旧の処理を実行させるプログラムあって、前記コンピュータに、
障害サーバを検出すると、該障害が発生した第1のサーバのデータを同期データ領域に保持する第2のサーバを、前記第1のサーバの代替として機能させる処理を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008115260A JP2009265973A (ja) | 2008-04-25 | 2008-04-25 | データ同期システム、障害復旧方法、及び、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008115260A JP2009265973A (ja) | 2008-04-25 | 2008-04-25 | データ同期システム、障害復旧方法、及び、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009265973A true JP2009265973A (ja) | 2009-11-12 |
Family
ID=41391743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008115260A Pending JP2009265973A (ja) | 2008-04-25 | 2008-04-25 | データ同期システム、障害復旧方法、及び、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009265973A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011099380A1 (ja) * | 2010-02-10 | 2011-08-18 | 三菱電機株式会社 | 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法 |
WO2013108351A1 (ja) * | 2012-01-16 | 2013-07-25 | 株式会社日立製作所 | 計算機システム及び論理記憶領域管理方法 |
JP2013257631A (ja) * | 2012-06-11 | 2013-12-26 | Mitsubishi Electric Information Systems Corp | データ多重化システム及びデータ多重化システムにおけるサーバ |
EP2871576A1 (en) | 2013-11-11 | 2015-05-13 | Fujitsu Limited | Data allocation method, data allocation program, and information processing system |
-
2008
- 2008-04-25 JP JP2008115260A patent/JP2009265973A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011099380A1 (ja) * | 2010-02-10 | 2011-08-18 | 三菱電機株式会社 | 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法 |
JP5355725B2 (ja) * | 2010-02-10 | 2013-11-27 | 三菱電機株式会社 | 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法 |
WO2013108351A1 (ja) * | 2012-01-16 | 2013-07-25 | 株式会社日立製作所 | 計算機システム及び論理記憶領域管理方法 |
JPWO2013108351A1 (ja) * | 2012-01-16 | 2015-05-11 | 株式会社日立製作所 | 計算機システム及び論理記憶領域管理方法 |
JP2013257631A (ja) * | 2012-06-11 | 2013-12-26 | Mitsubishi Electric Information Systems Corp | データ多重化システム及びデータ多重化システムにおけるサーバ |
EP2871576A1 (en) | 2013-11-11 | 2015-05-13 | Fujitsu Limited | Data allocation method, data allocation program, and information processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10175910B2 (en) | Method and apparatus for restoring an instance of a storage server | |
WO2019085875A1 (zh) | 存储集群的配置修改方法、存储集群及计算机*** | |
US7779295B1 (en) | Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints | |
US7353335B2 (en) | Storage control method for database recovery in logless mode | |
US8904117B1 (en) | Non-shared write-back caches in a cluster environment | |
US8433947B2 (en) | Computer program, method, and apparatus for controlling data allocation | |
US8214685B2 (en) | Recovering from a backup copy of data in a multi-site storage system | |
US8060478B2 (en) | Storage system and method of changing monitoring condition thereof | |
US8762648B2 (en) | Storage system, control apparatus and control method therefor | |
WO2021136422A1 (zh) | 状态管理方法、主备应用服务器的切换方法及电子设备 | |
GB2484086A (en) | Reliability and performance modes in a distributed storage system | |
JP2007199922A (ja) | 記憶システム及びそのデータ復元方法 | |
CN110515557B (zh) | 一种集群管理方法、装置、设备及可读存储介质 | |
JP5292351B2 (ja) | メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム | |
JP2012507788A (ja) | ストレージ・エリア・ネットワークを使用してコンピュータシステムを復旧するための方法およびシステム | |
JP2008052407A (ja) | クラスタシステム | |
CN105955989B (zh) | 一种云平台数据库主从服务器的建立方法 | |
US10078558B2 (en) | Database system control method and database system | |
JP2009265973A (ja) | データ同期システム、障害復旧方法、及び、プログラム | |
US10235256B2 (en) | Systems and methods for highly-available file storage with fast online recovery | |
JP2005055995A (ja) | ストレージ制御方法、および、冗長化機能を有するサーバシステム | |
JP2008276281A (ja) | データ同期システム、方法、及び、プログラム | |
JP6335336B2 (ja) | ストレージシステムおよびその制御方法 | |
CN110727545B (zh) | 基于联合文件***的掉电保护方法 | |
CN116389233A (zh) | 容器云管理平台主备切换***、方法、装置和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100224 |