JP2009265973A - データ同期システム、障害復旧方法、及び、プログラム - Google Patents

データ同期システム、障害復旧方法、及び、プログラム Download PDF

Info

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
Application number
JP2008115260A
Other languages
English (en)
Inventor
Masaki Inoue
雅貴 井上
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008115260A priority Critical patent/JP2009265973A/ja
Publication of JP2009265973A publication Critical patent/JP2009265973A/ja
Pending legal-status Critical Current

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

Description

本発明は、データ同期システムに関し、更に詳しくは、複数のサーバのデータを、オリジナルデータ領域と同期データ領域とに保持するデータ同期システムに関する。また、本発明は、そのようなデータ同期システムにおける障害復旧方法及びプログラムに関する。
耐障害性を高めるために、サーバ間でデータを同期させるシステムがある。例えば、共有ディスクを用いた複数サーバのファイル二重化方式として、特許文献1に記載の技術がある。また、共有ディスクを用いないレプリケーション方式としては、特許文献2に記載の技術がある。ファイル冗長化に関し、同一のファイルを複数のファイルサーバに分散して保存するシステムは、特許文献3に記載されている。
特開平6−175788号公報 特開2001−109642号公報 特開2005−141528号公報
特許文献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については他のサーバの同期データ領域にデータが保持されるので、そのサーバを代替として機能させることが可能である。
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のデータ同期システム、障害復旧方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
本発明は、処理速度より耐障害性が重視される計算機、例えばファイルサーバなどにおいて安価にミラーリングを実現するといった用途に適用できる。
本発明の一実施形態のデータ同期システムを示すブロック図。 通常動作時の動作手順を示すフローチャート。 障害発生時の動作手順を示すフローチャート。 障害発生とサーバ追加を示すブロック図。 (a)〜(c)は、障害発生及び代替サーバ追加時の保持データ管理テーブルを示す図。 (a)〜(d)は、障害発生及び代替サーバ追加時の保持データ管理テーブルの別例を示す図。
符号の説明
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:プライオリティ管理テーブル

Claims (14)

  1. 複数のサーバを含み、該複数のサーバのうちの少なくとも一部が自サーバのデータをオリジナルデータ領域に保持し、他のサーバのデータを同期データ領域に保持するデータ同期システムであって、
    前記複数のサーバの何れかに障害が発生すると、前記障害が発生した第1のサーバのデータを同期データ領域に保持する第2のサーバを、前記第1のサーバの代替として機能させるレプリケーション機能部を備えるデータ同期システム。
  2. 前記レプリケーション機能部は、各サーバの同期データ領域がどのサーバのデータを保持するかを管理する保持データ管理テーブルを参照して、前記第2のサーバを特定し、該特定した第2のサーバを前記第1のサーバの代替として機能させる、請求項1に記載のデータ同期システム。
  3. 前記レプリケーション機能部は、サーバにて前記オリジナルデータ領域に対するデータ書込みが発生すると、当該サーバの前記オリジナルデータ領域にデータを格納すると共に、前記保持データ管理テーブルを参照して、当該サーバのデータを同期データ領域に保持するサーバを特定し、該特定したサーバの同期データ領域に、前記オリジナルデータ領域に格納したデータと同じデータを格納する、請求項2に記載のデータ同期システム。
  4. 前記レプリケーション機能部は、前記第2のサーバを、前記同期データ領域で再起動し、前記第1のサーバの代替として機能させる、請求項1乃至3の何れか一に記載のデータ同期システム。
  5. 前記レプリケーション機能部は、前記第2のサーバを前記第1のサーバの代替として機能させた後、サーバが追加されると、該追加されたサーバのオリジナルデータ領域に、前記第2のサーバのデータをコピーする、請求項1乃至4の何れか一に記載のデータ同期システム。
  6. 前記レプリケーション機能部は、前記追加されたサーバを含めて、各サーバのデータが、各サーバのオリジナルデータ領域と同期データ領域とで保持されるように、各サーバの同期データ領域が保持するデータの組合せを決定する、請求項5に記載のデータ同期システム。
  7. 前記レプリケーション機能部は、前記決定に従って、保持すべきデータが変更になるサーバの同期データ領域に、他のサーバのオリジナルデータ領域又は同期データ領域が保持するデータをコピーする、請求項6に記載のデータ同期システム。
  8. 前記レプリケーション機能部は、各サーバに設定されたプライオリティを管理するプライオリティ管理テーブルを参照して、前記第1のサーバに設定されたプライオリティと前記第2のサーバに設定されたプライオリティとを比較し、前記第1のサーバのプライオリティが前記第2のサーバのプライオリティよりも高いと判断すると、前記第2のサーバを、前記第1のサーバの代替として機能させる、請求項1乃至7の何れか一に記載のデータ同期システム。
  9. 前記レプリケーション機能部は、前記第1のサーバのプライオリティが前記第2のサーバのプライオリティよりも低いと判断すると、前記第1のサーバの代替サーバが接続されるのを待機する、請求項8に記載のデータ同期システム。
  10. 前記レプリケーション機能部は、前記代替サーバが接続されると、前記第2のサーバの同期データ領域から前記代替サーバのオリジナルデータ領域にデータをコピーすると共に、前記第1のサーバの同期データ領域が保持していたデータをオリジナルデータ領域に保持するサーバから、前記代替サーバの同期データ領域にデータをコピーする、請求項9に記載のデータ同期システム。
  11. 自サーバのデータをオリジナルデータ領域に格納すると共に、他のサーバにて格納されたデータと同じデータを同期データ領域に格納し、前記他のサーバに障害が発生すると、自サーバを前記他のサーバの代替として機能させるレプリケーション機能部を有するサーバ。
  12. 複数のサーバを含み、該複数のサーバのうちの少なくとも一部が自サーバのデータをオリジナルデータ領域に保持し、他のサーバのデータを同期データ領域に保持するデータ同期システムにて、コンピュータを用いて障害復旧を行う方法であって、
    前記コンピュータが、障害サーバを検出すると、該障害が発生した第1のサーバのデータを同期データ領域に保持する第2のサーバを、前記第1のサーバの代替として機能させるステップを有する障害復旧方法。
  13. 前記コンピュータは、障害サーバの検出後、各サーバに設定されたプライオリティを管理するプライオリティ管理テーブルを参照して、前記第1のサーバに設定されたプライオリティと前記第2のサーバに設定されたプライオリティとを比較し、第1のサーバのプライオリティが前記第2のサーバのプライオリティよりも高いと判断すると、前記第2のサーバを前記第1のサーバの代替として機能させる、請求項12に記載の障害復旧方法。
  14. 複数のサーバを含み、該複数のサーバのうちの少なくとも一部が自サーバのデータをオリジナルデータ領域に保持し、他のサーバのデータを同期データ領域に保持するデータ同期システムにて、コンピュータに、障害復旧の処理を実行させるプログラムあって、前記コンピュータに、
    障害サーバを検出すると、該障害が発生した第1のサーバのデータを同期データ領域に保持する第2のサーバを、前記第1のサーバの代替として機能させる処理を実行させるプログラム。
JP2008115260A 2008-04-25 2008-04-25 データ同期システム、障害復旧方法、及び、プログラム Pending JP2009265973A (ja)

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)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
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