JP5956940B2 - 冗長化システムおよび現用機決定方法 - Google Patents

冗長化システムおよび現用機決定方法 Download PDF

Info

Publication number
JP5956940B2
JP5956940B2 JP2013025095A JP2013025095A JP5956940B2 JP 5956940 B2 JP5956940 B2 JP 5956940B2 JP 2013025095 A JP2013025095 A JP 2013025095A JP 2013025095 A JP2013025095 A JP 2013025095A JP 5956940 B2 JP5956940 B2 JP 5956940B2
Authority
JP
Japan
Prior art keywords
machine
spare
data
information
availability information
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.)
Expired - Fee Related
Application number
JP2013025095A
Other languages
English (en)
Other versions
JP2014154056A (ja
Inventor
高太朗 三上
高太朗 三上
弘行 柿沼
弘行 柿沼
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013025095A priority Critical patent/JP5956940B2/ja
Publication of JP2014154056A publication Critical patent/JP2014154056A/ja
Application granted granted Critical
Publication of JP5956940B2 publication Critical patent/JP5956940B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、冗長化システムにおいて、現用機に障害が発生した場合に、複数の予備機の中から現用機を決定する冗長化システムおよび現用機決定方法に関する。
現用機と複数の予備機とを備える冗長化システムにおいて、現用機および予備機は、データを重複して保有する。そのため、現用機と予備機との間で、データの同期および整合性を確保する必要がある。特許文献1には、重複データを保持する分散データシステムにおいて、データの更新回数を用いて、データの整合性を維持し、保証する技術が記載されている。
特開2000-10845号公報
冗長化システムにおいて、現用機が故障した場合、複数の予備機の中から次の新たな現用機を決定する必要がある。このとき、各予備機は、現用機とのデータの同期状態が異なるものが混在している可能性がある。このため、各予備機の更新情報のみを用いて、最新の更新情報を有する予備機を新たな現用機として決定すると、旧現用機の持つ最新データと新たな現用機が保持しているデータとが同期していない(新現用機のデータが古い)場合がある。このような古いデータを保持する予備機を新現用機として決定した場合、新現用機でのデータ操作要求に対して、適切に応じる事ができない。
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、冗長化システムにおいて、現用機に障害が発生した場合に、現用機のデータとの同期状態を考慮しつつ、複数の予備機の中から新たな現用機を決定する冗長化システムおよび現用機決定方法を提供することにある。
上記目的を達成するため、本発明は、現用機と複数の予備機とを備える冗長化システムであって、各予備機は、自予備機のデータ更新情報と、自予備機が現用機として可能か否かを示す現用機可否情報とを記憶する記憶手段と、前記現用機の障害を検知すると、前記記憶手段に記憶された自予備機のデータ更新情報および現用機可否情報を他予備機に通知するとともに、他予備機のデータ更新情報および現用機可否情報を他予備機から取得する通知手段と、自予備機のデータ更新情報および現用機可否情報と、他予備機のデータ更新情報および現用機可否情報とを用いて、自予備機および他予備機の中から新たな現用機を決定する決定手段と、前記現用機との全データの同期処理が開始されると、前記記憶手段に記憶された現用機可否情報を不可能に更新し、前記同期処理が終了すると、現用機可否情報を可能に更新する更新手段とを、備える。
本発明は、現用機と複数の予備機とを備える冗長化システムが行う、現用機決定方法であって、各予備機は、自予備機のデータ更新情報と、自予備機が現用機として可能か否かを示す現用機可否情報とを記憶する記憶部を備え、前記現用機の障害を検知すると、前記記憶部に記憶された自予備機のデータ更新情報および現用機可否情報を他予備機に通知するとともに、他予備機のデータ更新情報および現用機可否情報を他予備機から取得する通知ステップと、自予備機のデータ更新情報および現用機可否情報と、他予備機のデータ更新情報および現用機可否情報とを用いて、自予備機および他予備機の中から新たな現用機を決定する決定ステップと、前記現用機との全データの同期処理が開始されると、前記記憶部に記憶された現用機可否情報を不可能に更新し、前記同期処理が終了すると、現用機可否情報を可能に更新する更新ステップと、を行う。
本発明によれば、冗長化システムにおいて、現用機に障害が発生した場合に、現用機のデータとの同期状態を考慮しつつ、複数の予備機の中から新たな現用機を決定する冗長化システムおよび現用機決定方法を提供することができる。
本発明の実施形態に係る冗長化システムの構成図である。 Slaveのユニットの機能を示すブロック図である。 新Master決定処理を説明するための説明図である。 比較例の新Master決定処理を説明するための説明図である。
以下、本発明の実施の形態について、図面を参照して説明する。
図1は、本実施形態における冗長化システムの構成を示す全体構成図である。本実施形態の冗長化システムは、複数のユニットで構成され、1台の現用機のユニット(以降、「Master」と呼ぶ)と、複数台の予備機のユニット(以降、「Slave」と呼ぶ)とを備える。なお、各ユニットは、それぞれ別のハードウェアで実現される。図示する例では、ユニット1はMasterで、ユニット2〜4は、Slaveである。
また、各ユニットは、ネットワークを介してそれぞれ互いに接続される。具体的には、Master- Slave間およびSlave- Slave間がネットワークを介して接続される。Masterが保持しているデータは、外部(例えば、クライアントなど)から冗長化システムへの問い合わせ要求があった際の実際の処理 (データの参照、更新)に使用される原本である。したがって、冗長化システムの各Slaveに問い合わせ要求が来た場合に、SlaveからMasterに必ず問い合わせを行い、Masterで保持しているデータを用いて問い合わせ要求に対する応答を行う。図示する例では、図1の矢印で示すように、ユニット2〜4の各Slaveは、それぞれユニット1のMasterに問い合わせ要求を送信し、Masterから取得した処理結果を問い合わせ要求元に応答する。
また、Masterと各Slaveとは同じデータ(同期したデータ)を保持し、Masterのデータが更新された際には、MasterからSlaveへのデータの同期処理が実施される。なお、新たなSlaveを冗長化システム内に最初に組み込む場合、または、Slaveの障害などにより全データの同期処理の再開が発生した場合等には、Masterが保持している全データの同期処理を実施することで、SlaveのデータをMasterのデータと同期させる。
図2は、本実施形態における、各Slave(ユニット2〜4)の構成を示すブロック図である。
図示するSlaveは、更新部11と、通知部12と、決定部13と、記憶部14と、データ格納部(ストレージ)15とを備える。
記憶部14には、当該Slave自身のデータ更新情報と、当該Slave自身が現用機として可能な状態であるか否かを示すMaster化可否情報とが保持・記憶される。データ更新情報には、データ格納部15に格納されたデータの最新の更新情報が設定される。データ更新情報には、例えば、更新時刻情報(タイムスタンプ)、更新するたびにインクリメントされる更新回数(シリアルナンバー、ユニークな識別子)などを用いる。
Master可否情報には、「可能」および「不可能」の2つの状態のうちいずれかの状態が設定される。Masterが保持する全データの同期処理が完了したSlaveは、自身のSlaveがMasterとして可能な状態であることを示す「可能」をMaster可否情報として保持する。一方、Masterが保持する全データの同期処理を実行している最中のSlave、あるいは冗長化システム内に新たに組み込んだSlaveについては、自身のSlaveが現用機として不可能な状態であることを示す「不可能」をMaster可否情報として保持する。
更新部11は、記憶部14に記憶された、自身のデータ更新情報と、Master可否情報とをそれぞれ更新する。Master可否情報については、更新部11は、Masterとの全データの同期処理が開始されると、記憶部14のMaster可否情報を「不可能」に更新し、同期処理が終了すると、Master可否情報を「可能」に更新する。具体的なMaster可否情報の変更契機は以下の通りである。
(1)Masterから全データの同期処理を行う場合、Masterは、全データの同期の開始通知を所望のSlaveに送信する。開始通知を受信したSlaveの更新部11は、記憶部14のMaster可否情報を「不可能」に更新する。その後、Masterと連携して、全データの同期処理を行い、全データの同期処理が終了した後、Masterは、全データの同期処理の終了通知を 当該Slaveに送信する。終了通知を受信したSlaveの更新部11は、Master可否情報を「不可能」から「可能」に更新し、記憶部14に保持する。
(2)Slaveの障害などにより全データの同期処理をMasterに依頼する場合(再開が発生した場合など)、当該Slaveは、Masterに全データの同期処理の開始依頼を送信する。これにより、Masterは、全データの同期処理の開始通知を依頼元のSlaveに送信する。開始通知を受信したSlaveの更新部11は、記憶部14のMaster可否情報を「不可能」に更新する。その後、Masterと連携して、全データの同期処理を行い、全データの同期処理が終了した後、Masterは、全データの同期処理の終了通知を依頼元のSlaveに送信する。終了通知を受信したSlaveの更新部11は、Master可否情報を「不可能」から「可能」に更新し、記憶部14に保持する。
なお、更新部11は、データ更新情報については、例えば、更新時刻情報(タイムスタンプ)を用いる場合は、データを更新した時刻を逐次設定し、更新回数を用いる場合は、更新が完了したタイミングで、現在の更新回数に「1」インクリメントする。
通知部12は、Masterの障害・故障を契機に、自身の情報を他の全てのSlaveと交換する。すなわち、通信部12は、Masterの障害を検知すると、記憶部14に記憶された自身のデータ更新情報およびMaster可否情報を他の全てのSlaveに通知するとともに、他の全てのSlaveのデータ更新情報およびMaster可否情報を他の全てのSlaveから取得する。
具体的には、通知部12は、自身の情報として、ユニット番号と、および記憶部14に保持されたMaster可否情報およびデータ更新情報とを他の全てのSlaveに通知(送信)するとともに、他の全ての各Slaveから他者の情報(ユニット番号、Master可否情報、データ更新情報)を取得(受信)し、記憶部14に記憶する。これにより、各Slaveは、互いに全Slaveのユニット番号、Master可否情報およびデータの更新情報を保持することになる。
決定部13は、自身のデータ更新情報およびMaster可否情報と、他の全てのSlaveのデータ更新情報およびMaster可否情報とを用いて、自身および他の全てのSlaveの中から新たなMasterを決定する。本実施形態では、決定部13は、Master可否情報が「可能」であり、かつデータ更新情報が最新のSlaveを、新たなMasterとして決定する。なお、更新時刻情報をデータ更新情報に用いる場合は、更新時刻が最も遅いもの(現在時刻に最も近いもの)を最新とし、更新回数をデータ更新情報に用いる場合は、更新回数が最も多いものを最新とする。
なお、Master可否情報が「可能」であって、データ更新情報が最新のSlaveが複数ある場合には、ユニット番号の若いユニットを新Masterに決定する。全てのSlaveで、同じ情報(Master可否情報、データ更新情報)を保持しているため、各Slaveにおいて決定部13が決定する新Masterは、同じになり、不整合が生じない。
また、Master可否情報が「不可能」のSlaveのみしかない場合は、データが古い可能性が高いため、決定部13が、システム自律で(自動的に)で新Masterを決定することは行わない。
上記説明した各ユニットは、例えば、CPUと、メモリと、HDD等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた各ユニット用のプログラムを実行することにより、各ユニットの各機能が実現される。また、各ユニット用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
次に、本実施形態の具体的な処理について説明する。
図3は、Masterに障害が発生したことにより、新Masterを決定する処理を説明するための説明図である。
図3(a)は、通常運用中における、各SlaveのMasterとのデータの同期状態について示すものである。ユニット2のSlaveは、Masterの全データの同期処理中(しかかり中)の状態であって、記憶部14に記憶される自身のMaster可否情報は「不可能」であるものとする。一方、ユニット3およびユニット4は、Masterの全データの同期処理が完了した状態であって、記憶部14に記憶される自身のMaster可否情報は「可能」であるものとする。また、各Slaveは、記憶部14に自身のデータ更新情報(ここでは、データの更新時刻情報とする)を有し、データの最終更新時刻は図示する通りとする。
図3(b)では、Masterの障害発生を契機に、各Slaveの通知部12が、自身のユニット番号、Master可否情報およびデータ更新情報を、他のSlaveに通知し合い、全Slaveのユニット番号、Master可否情報およびデータ更新情報を記憶部14に保持する。そして、各Slaveの決定部13は、全Slaveの中で、Master可否情報に「可能」(Masterとして可能な状態)が設定されたSlaveを新Masterとして決定する。なお、図示するように、Master可否情報が「可能」なSlaveが複数あり、かつデータ更新情報が同じ(つまり、更新時刻が同一の)最新のSlaveが複数ある場合には、ユニット番号の若いユニットを、新Masterとして決定する。図示する例では、図3(c)に示すように、ユニット3を新Masterとして決定する。
以下に、本実施形態の比較例を説明する。
図4は、比較例における、新Masterを決定する処理を説明するための説明図である。比較例では、各Slaveは、データ更新情報のみを保持し、Master可否情報は保持しないものとする。
図4(a)に示す通常運用中における、各SlaveのMasterとのデータの同期状態は、ユニット2のSlaveは、Masterの全データの同期処理中(しかかり中)の状態であって、一方、ユニット3およびユニット4は、Masterの全データの同期処理が完了した状態であるものとする。また、各Slaveは、自身のデータ更新情報(ここでは、データの更新時刻情報とする)を保持し、データの最終更新時刻は図示する通りとする。
図4(b)では、Masterの障害発生を契機に、各Slaveが自身のユニット番号およびデータ更新情報を、他のSlaveに通知し合い、全Slaveのユニット番号およびデータ更新情報を保持する。そして、各Slaveは、全Slaveの中で、データ更新情報が最新のSlaveを新Masterとして決定する。なお、データ更新情報が同じ最新のSlaveが複数ある場合には、ユニット番号の若いユニットを、新Masterとして決定する。
図示する例では、図4(c)に示すように、データ更新時刻が最新のユニット2を新Masterとして決定する。しかしながら、ユニット2は、旧Masterと全データの同期処理を実行している最中のSlaveである。したがって、新Masterとなったユニット2のデータ更新情報が最新であっても、Masterのデータとの同期状態を考慮していないため、ユニット2が保持しているデータが古い可能性がある。そのため、新Masterとなったユニット2のデータでは、冗長化システムへのデータの問い合わせ要求に対して、適切に応じられない場合がある。
これに対し、本実施形態では、各Slaveは、Master可否情報を保持することで、Masterのデータとの同期状態を考慮し、Masterのデータと同期しているSlaveのみを新Masterとして決定することができる。これにより、本実施形態では、データの鮮度が高く、冗長化システムへのデータ問い合わせ要求に適切に応じることが可能な、適切なSlaveを新たなMasterとして決定し、適切なMaster切り替えを実現することができる。
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
11:更新部
12:通知部
13:決定部
14:記憶部
15:データ格納部

Claims (4)

  1. 現用機と複数の予備機とを備える冗長化システムであって、
    各予備機は、
    自予備機のデータ更新情報と、自予備機が現用機として可能か否かを示す現用機可否情報とを記憶する記憶手段と、
    前記現用機の障害を検知すると、前記記憶手段に記憶された自予備機のデータ更新情報および現用機可否情報を他予備機に通知するとともに、他予備機のデータ更新情報および現用機可否情報を他予備機から取得する通知手段と、
    自予備機のデータ更新情報および現用機可否情報と、他予備機のデータ更新情報および現用機可否情報とを用いて、自予備機および他予備機の中から新たな現用機を決定する決定手段と、
    前記現用機との全データの同期処理が開始されると、前記記憶手段に記憶された現用機可否情報を不可能に更新し、前記同期処理が終了すると、現用機可否情報を可能に更新する更新手段とを、備えること
    を特徴とする冗長化システム。
  2. 請求項1記載の冗長化システムであって、
    前記決定手段は、現用機可否情報が現用機として可能であって、データ更新情報が最新の予備機を、新たな現用機として決定すること
    を特徴とする冗長化システム。
  3. 現用機と複数の予備機とを備える冗長化システムが行う、現用機決定方法であって、
    各予備機は、
    自予備機のデータ更新情報と、自予備機が現用機として可能か否かを示す現用機可否情報とを記憶する記憶部を備え、
    前記現用機の障害を検知すると、前記記憶部に記憶された自予備機のデータ更新情報および現用機可否情報を他予備機に通知するとともに、他予備機のデータ更新情報および現用機可否情報を他予備機から取得する通知ステップと、
    自予備機のデータ更新情報および現用機可否情報と、他予備機のデータ更新情報および現用機可否情報とを用いて、自予備機および他予備機の中から新たな現用機を決定する決定ステップと、
    前記現用機との全データの同期処理が開始されると、前記記憶部に記憶された現用機可否情報を不可能に更新し、前記同期処理が終了すると、現用機可否情報を可能に更新する更新ステップと、を行うこと
    を特徴とする現用機決定方法。
  4. 請求項3記載の現用機決定方法であって、
    前記決定ステップは、現用機可否情報が現用機として可能であって、データ更新情報が最新の予備機を、新たな現用機として決定すること
    を特徴とする現用機決定方法。
JP2013025095A 2013-02-13 2013-02-13 冗長化システムおよび現用機決定方法 Expired - Fee Related JP5956940B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013025095A JP5956940B2 (ja) 2013-02-13 2013-02-13 冗長化システムおよび現用機決定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013025095A JP5956940B2 (ja) 2013-02-13 2013-02-13 冗長化システムおよび現用機決定方法

Publications (2)

Publication Number Publication Date
JP2014154056A JP2014154056A (ja) 2014-08-25
JP5956940B2 true JP5956940B2 (ja) 2016-07-27

Family

ID=51575837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013025095A Expired - Fee Related JP5956940B2 (ja) 2013-02-13 2013-02-13 冗長化システムおよび現用機決定方法

Country Status (1)

Country Link
JP (1) JP5956940B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108352036B (zh) * 2015-10-28 2022-04-19 株式会社富士 单元固有信息管理系统
JP7106953B2 (ja) * 2018-04-10 2022-07-27 富士通株式会社 サーバ切り替えプログラム、サーバ切り替え方法、及びサーバ切り替えシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5938872A (ja) * 1982-08-30 1984-03-02 Toshiba Corp 多重系電子計算機装置
JPH06274432A (ja) * 1993-03-19 1994-09-30 Nkk Corp 分散計算機システム管理方式およびその管理方法
JP2000181890A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd マルチプロセッサ交換機及びその主プロセッサ切替方法
JP2005173751A (ja) * 2003-12-09 2005-06-30 Hitachi Ltd 仮想マシンシステムを用いたマスタシステム稼動管理方法
EP2663919B1 (en) * 2011-01-11 2019-07-03 A10 Networks Inc. Virtual application delivery chassis system
JP5613119B2 (ja) * 2011-07-26 2014-10-22 日本電信電話株式会社 マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム

Also Published As

Publication number Publication date
JP2014154056A (ja) 2014-08-25

Similar Documents

Publication Publication Date Title
KR102145136B1 (ko) 데이터 처리 방법 및 장치
JP6084624B2 (ja) 高可用性クラスタにおけるスプリット・ブレイン耐性フェイルオーバ
US20120254342A1 (en) Method for Providing Access to Data Items from a Distributed Storage System
US20170168756A1 (en) Storage transactions
WO2014205847A1 (zh) 一种分区平衡子任务下发方法、装置与系统
JP6511739B2 (ja) 冗長システムおよび冗長化方法
TWI677797B (zh) 主備資料庫的管理方法、系統及其設備
US11500812B2 (en) Intermediate file processing method, client, server, and system
JP5900094B2 (ja) データ整合システム、データ整合方法およびデータ整合プログラム
JP5956940B2 (ja) 冗長化システムおよび現用機決定方法
CN105893176B (zh) 一种网络存储系统的管理方法和装置
CN106855869A (zh) 一种实现数据库高可用的方法、装置和系统
JP2015230720A (ja) 計算機システム
CN113986450A (zh) 一种虚拟机备份方法及装置
WO2015196692A1 (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN113190620A (zh) Redis集群之间数据的同步方法、装置、设备及存储介质
JP5862246B2 (ja) データ管理プログラム、データ管理方法およびストレージ装置
JP5685213B2 (ja) 差分レプリケーションシステム、マスターデータベース装置、及びスレーブデータベース装置
JP2009265973A (ja) データ同期システム、障害復旧方法、及び、プログラム
US11010269B2 (en) Distributed processing system and method for management of distributed processing system
WO2016045374A1 (zh) 数据同步的方法及装置
CN115421971B (zh) Etcd灾备故障恢复的方法及应用
JP6511738B2 (ja) 冗長システム、冗長化方法および冗長化プログラム
JP2015153285A (ja) 冗長化データベースシステム、データベース装置及びマスタ交代方法
JPWO2017047065A1 (ja) クラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160617

R150 Certificate of patent or registration of utility model

Ref document number: 5956940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees