JP2014146153A - クラスタシステム - Google Patents
クラスタシステム Download PDFInfo
- Publication number
- JP2014146153A JP2014146153A JP2013014058A JP2013014058A JP2014146153A JP 2014146153 A JP2014146153 A JP 2014146153A JP 2013014058 A JP2013014058 A JP 2013014058A JP 2013014058 A JP2013014058 A JP 2013014058A JP 2014146153 A JP2014146153 A JP 2014146153A
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- identifier management
- node identifier
- management table
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】クラスタシステムを構成するノード10は、死活監視部113が死活監視信号と共に、一貫性が必要とされるデータを受信する。また、ノード識別子管理部111が、自身のデータと受信したデータとを比較し、双方のデータ間に不整合を検出する。そして、ノード識別子管理部111は、自身のデータを特権メンバのノードに送信する。特権メンバのノードのノード識別子管理部111は、自身のデータと受信したデータとを比較して、不整合を検出した場合、自身のデータを、不整合のデータを有するノードに送信する。そして、特権メンバのノードのデータを受信したノードのノード識別子管理部111は、受信したデータで自身のデータを更新(上書き)し、不整合を回復する。
【選択図】図2
Description
ここで、本実施形態のクラスタシステムの前提条件について説明する。
(1)クラスタシステムを構成するノードが相互に死活監視を実行する。具体的には、図8(a)(c)に例示したように、クラスタシステム内のノード「1」〜「6」それぞれは、時計回りに隣のノード「2」〜「6」,「1」の死活監視を行う。このことによって、クラスタシステムのノード数が増加しても、1つのノードが死活を監視する対象ノードの数が増加しない。そのため、クラスタシステムは、システム全体の性能の低下を防ぐことができる。それに対して、クラスタシステムを構成するノード間で、N台のノードそれぞれが自身以外のN−1台に対して死活監視を行う場合には、クラスタシステムを構成するノードの台数Nの増大に依存して、死活監視のための負荷が大きくなる。したがって、クラスタシステム全体の性能が落ちることを防ぐためには、一台のノードが死活監視を行うノード数を限定することが望ましい。
次に、ネットワークサービスシステム200の構成例について、図1を用いて説明する。
ネットワークサービスシステム200は、ノード(サーバ)10によって構築されるクラスタシステム100、振り分け装置20、ロードバランサ30およびクライアント端末40によって構成される。
クライアント端末40は、ユーザがネットワークサービスを享受するために、サービスへのメッセージ(入力情報等)をクラスタシステム100に送信したり、クラスタシステム100から当該メッセージに対応する応報情報(サービス情報)を受信して表示したりする機能を有する。
振り分け装置20は、クライアント端末40から送信されるメッセージを、各ノード10に振り分ける機能を有する。メッセージの振り分けには、例えば、コンシステント・ハッシュ法を用いることができる。
ノード10は、クラスタシステム100を構成する、コンピュータ等の物理装置や仮想マシン等の論理装置である。ノード10は、クライアント端末40から送信されるメッセージを受信して処理を実行し、クライアント端末40に応答情報(サービス情報)を返信することによって、サービスを提供する機能を有する。
なお、図1では振り分け装置20とノード10とを別々に記載したが、同一サーバ上で別々の機能として動作させることも可能である。また、振り分け装置20をクラスタ構成にすることも可能である。さらに、ロードバランサ30が存在せず、クライアント端末40から任意の振り分け装置20にメッセージが直接送信されるような構成にしても構わない。
次に、ノード10の機能例について、図2を用いて説明する(適宜、図1参照)。ノード10は、処理部11、記憶部12および通信部13を備える。
処理部11は、図示しないCPU(Central Processing Unit)およびメインメモリで構成され、記憶部12に記憶されているアプリケーションプログラムをメインメモリに展開して、ノード識別子管理部111、メッセージ処理部112および死活監視部113を機能として実現する。
ノード識別子管理テーブル121(複数ノード間で一貫性が必要とされるデータ)は、記憶部12に記憶され、ノード識別子131およびアドレス132を関連付けて記憶している。
ノード識別子131は、ノード10を識別するように付与されるものであって、ID空間のIDまたは仮想IDと一意に対応している。
アドレス132は、ノード10の通信先を表す。
ノード10が追加された場合には、当該ノード10のノード識別子131およびアドレス132の行が追加される。また、ノード10が離脱した場合には、当該ノード10のノード識別子131およびアドレス132の行が削除される。
図4の左の図は、ID空間を表し、図中の丸印は、仮想IDを表している。黒丸印「●」は、各物理装置にとって、それが担当する1または複数の仮想IDのうち最も小さい値の仮想IDを表し、数字は、ID空間のIDを表している。ここでは、物理装置は6台からなる。
通信部13は、第3ネットワーク52を介してメッセージや応答情報を送受信するためのインタフェースである。
次に、クラスタシステム100内で一貫性が必要とされるデータに不整合が生じた場合に、不整合を検出し回復する処理の流れについて、図5を用いて説明する(適宜、図2参照)。なお、一貫性が必要とされるデータの一例として、ノード識別子管理テーブル121に不整合が生じた場合について示す。図5(a)は不整合を検出する場合を表し、(b)は不整合を回復する場合を表している。
例えば、図5(a)に示すように、ノード「4」の死活監視部113は、死活監視信号と共に自身のノード識別子管理テーブル「A」を、死活監視対象のノード「5」に送信する(S51)。ノード「5」のノード識別子管理部111は、受信したノード識別子管理テーブル「A」と自身のノード識別子管理テーブル「B」とを比較し、不整合が有るか無いかを判定する(S52:「不整合検出」)。なお、死活監視信号と共に送信するノード識別子管理テーブル121は、テーブル全体であってもよいが、ノード識別子管理テーブル121の整合性を確認できるデータに変換してあっても構わない。例えば、変換したデータは、ノード識別子管理テーブル121をハッシュ関数で変換したハッシュ値であっても構わない。整合性の確認は、所定の周期(一定周期を含む)で行われる。例えば、整合性の確認のために行うノード識別子管理テーブル121の送信は、死活監視と同じ周期で実行しても、死活監視を複数回実行する間に1回実行しても構わない。
特権メンバのノード「1」のノード識別子管理部111は、自身のノード識別子管理テーブル「A」と、受信したノード識別子管理テーブル「B」とを比較し、不整合が有るか無いかを判定する(S54:「照合」)。つまり、特権メンバのノード「1」は、ノード識別子管理テーブル121を照合する機能を有している。そして、特権メンバのノード「1」のノード識別子管理部111は、不整合を検出した場合、図5(b)に示すように、ノード識別子管理テーブル「B」を送信してきたノード「5」に、自身のノード識別子管理テーブル「A」を送信する(S55)。ノード「5」のノード識別子管理部111は、特権メンバのノード「1」から受信したノード識別子管理テーブル「A」に基づいて、自身のノード識別子管理テーブル「B」を「A」に更新(上書き)する(S56:「不整合回復」)。このことにより、不整合が回復する。なお、特権メンバのノード「1」がノード「5」に送信する情報は、図5(b)中ではノード識別子管理テーブル121全体であるように表しているが、相違する情報だけであっても構わない。
図5では、死活監視信号と共にノード識別子管理テーブルを受信したノード「5」が不整合の有無を判定するように説明した。それに対して、第1変形例では、死活監視信号に対して返信された応答情報と共にノード識別子管理テーブルを受信したノード「4」が不整合の有無を判定する場合について、図6を用いて説明する。
図6(a)に示すように、ノード「4」の死活監視部113は、死活監視信号を、死活監視対象のノード「5」に送信する(S61)。ノード「5」の死活監視部113は、受信した死活監視信号に対して返信する応答情報と共に自身のノード識別子管理テーブル「A」を、ノード「4」に送信する(S62)。なお、応答情報と共に送信するノード識別子管理テーブル121は、テーブル全体であってもよいが、ノード識別子管理テーブル121の整合性を確認できるデータに変換してあっても構わない。例えば、変換したデータは、ノード識別子管理テーブル121をハッシュ関数で変換したハッシュ値であっても構わない。ノード「4」のノード識別子管理部111は、受信したノード識別子管理テーブル「A」と自身のノード識別子管理テーブル「B」とを比較し、不整合が有るか無いかを判定する(S63:「不整合検出」)。整合性の確認は、所定の周期(一定周期を含む)で行われる。例えば、整合性の確認のために行うノード識別子管理テーブル121の送信は、死活監視と同じ周期で実行しても、死活監視を複数回実行する間に1回実行しても構わない。
特権メンバのノード「1」のノード識別子管理部111は、自身のノード識別子管理テーブル「A」と、受信したノード識別子管理テーブル「B」とを比較し、不整合が有るか無いかを判定する(S65:「照合」)。そして、特権メンバのノード「1」のノード識別子管理部111は、不整合を検出した場合、図6(b)に示すように、ノード識別子管理テーブル「B」を送信してきたノード「4」に、自身のノード識別子管理テーブル「A」を送信する(S66)。ノード「4」のノード識別子管理部111は、特権メンバのノード「1」から受信したノード識別子管理テーブル「A」に基づいて、自身のノード識別子管理テーブル「B」を「A」に更新(上書き)する(S67:「不整合回復」)。このことにより、不整合が回復する。なお、特権メンバのノード「1」がノード「4」に送信する情報は、図6(b)中ではノード識別子管理テーブル121全体であるように表しているが、相違する情報だけであっても構わない。
図5では、不整合を検出したノード「5」が自身のノード識別子管理テーブル121を特権メンバのノード「1」に送信するように説明した。それに対して、第2変形例では、自身のノード識別子管理テーブル121だけでなく、ノード「4」のノード識別子管理テーブル121も送信する場合について、図7を用いて説明する。
図7(a)に示すように、ノード「4」の死活監視部113は、死活監視信号と共に自身のノード識別子管理テーブル「B」の情報を、死活監視対象のノード「5」に送信する(S71)。ノード「5」のノード識別子管理部111は、受信したノード識別子管理テーブル「B」と自身のノード識別子管理テーブル「A」とを比較し、不整合が有るか無いかを判定する(S72:「不整合検出」)。なお、死活監視信号と共に送信するノード識別子管理テーブル121は、テーブル全体であってもよいが、ノード識別子管理テーブル121の整合性を確認できるデータに変換してあっても構わない。例えば、変換したデータは、ノード識別子管理テーブル121をハッシュ関数で変換したハッシュ値であっても構わない。整合性の確認は、所定の周期(一定周期を含む)で行われる。例えば、整合性の確認のために行うノード識別子管理テーブル121の送信は、死活監視と同じ周期で実行しても、死活監視を複数回実行する間に1回実行しても構わない。
特権メンバのノード「1」のノード識別子管理部111は、自身のノード識別子管理テーブル「A」と、受信したノード識別子管理テーブル「A」および「B」とを比較し、不整合が有るか無いかを判定する(S74:「照合」)。そして、特権メンバのノード「1」のノード識別子管理部111は、不整合を検出した場合、図7(b)に示すように、ノード識別子管理テーブル「B」を備えるノード「4」に、自身のノード識別子管理テーブル「A」を送信する(S75)。ノード「4」のノード識別子管理部111は、特権メンバのノード「1」から受信したノード識別子管理テーブル「A」に基づいて、自身のノード識別子管理テーブル「B」を「A」に更新(上書き)する(S76:「不整合回復」)。このことにより、不整合が回復する。なお、特権メンバのノード「1」がノード「4」に送信する情報は、図7(b)中ではノード識別子管理テーブル121全体であるように表しているが、相違する情報だけであっても構わない。
この場合には、特権メンバのノード「1」は、ノード「4」および「5」の双方に、自身のノード識別子管理テーブル「A」を送信する。言い換えると、特権メンバのノード「1」は、不整合となったノード識別子管理テーブル121を記憶しているノード「4」および「5」に、自身のノード識別子管理テーブル121(または相違する情報)を送信する。
また、特権メンバのノード10は、死活監視テーブル122の1行目のノード10にするといった決め方によって、決定しても構わない。このようにすることにより、物理装置単位で、特権メンバを決定することができる。
11 処理部
12 記憶部
13 通信部
20 振り分け装置
30 ロードバランサ
40 クライアント端末
111 ノード識別子管理部
112 メッセージ処理部
113 死活監視部
121 ノード識別子管理テーブル(一貫性が必要とされるデータ)
122 死活監視テーブル
131 ノード識別子
132 アドレス
Claims (5)
- 複数のノードで構成されるクラスタシステムであって、
前記ノードは、
複数の前記ノード間で一貫性が必要とされるデータが記憶される記憶部と、
死活監視対象の前記ノードに、死活監視情報と共に前記データを送信する死活監視部と、
前記死活監視情報と共に受信した前記データと自身の前記記憶部の前記データとを比較し、不整合を検出するノード識別子管理部と、
を備えることを特徴とするクラスタシステム。 - 複数のノードで構成されるクラスタシステムであって、
前記ノードは、
複数の前記ノード間で一貫性が必要とされるデータが記憶される記憶部と、
死活監視対象の前記ノードに送信した死活監視情報に対して返信される応答情報と共に前記データを受信する死活監視部と、
前記応答情報と共に受信した前記データと自身の前記記憶部の前記データとを比較し、不整合を検出するノード識別子管理部と、
を備えることを特徴とするクラスタシステム。 - 前記ノード識別子管理部は、
不整合を検出した場合、前記記憶部に記憶している自身の前記データを、前記データを照合する前記ノードに送信する
ことを特徴とする請求項1または請求項2に記載のクラスタシステム。 - 前記ノード識別子管理部は、
不整合を検出した場合、前記記憶部に記憶している自身の前記データおよび受信した前記データを、前記データを照合する前記ノードに送信する
ことを特徴とする請求項1または請求項2に記載のクラスタシステム。 - 前記データを照合する前記ノードのノード識別子管理部は、
送信されてきた前記データと前記記憶部に記憶している自身の前記データとの間に不整合を検出した場合、不整合とされた前記データを記憶している前記ノードに、自身の前記データを送信し、
前記データを照合する前記ノードから送信されてきた前記データを受信した前記ノードのノード識別子管理部は、
自身の前記記憶部の前記データを、前記データを照合する前記ノードから受信した前記データで更新する
ことを特徴とする請求項3または請求項4に記載のクラスタシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013014058A JP5711772B2 (ja) | 2013-01-29 | 2013-01-29 | クラスタシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013014058A JP5711772B2 (ja) | 2013-01-29 | 2013-01-29 | クラスタシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014146153A true JP2014146153A (ja) | 2014-08-14 |
JP5711772B2 JP5711772B2 (ja) | 2015-05-07 |
Family
ID=51426374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013014058A Active JP5711772B2 (ja) | 2013-01-29 | 2013-01-29 | クラスタシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5711772B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018128882A (ja) * | 2017-02-09 | 2018-08-16 | 三菱電機株式会社 | 遠方監視制御システム及び遠方監視制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005526298A (ja) * | 2001-07-16 | 2005-09-02 | ビーイーエイ システムズ, インコーポレイテッド | データ複製プロトコル |
JP2011242826A (ja) * | 2010-05-14 | 2011-12-01 | Fujitsu Ltd | ファイル管理システム及びファイル管理プログラム |
JP2012506582A (ja) * | 2008-10-24 | 2012-03-15 | イーエルテー イノベイションズ アーベー | 分散データストレージ |
-
2013
- 2013-01-29 JP JP2013014058A patent/JP5711772B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005526298A (ja) * | 2001-07-16 | 2005-09-02 | ビーイーエイ システムズ, インコーポレイテッド | データ複製プロトコル |
JP2012506582A (ja) * | 2008-10-24 | 2012-03-15 | イーエルテー イノベイションズ アーベー | 分散データストレージ |
JP2011242826A (ja) * | 2010-05-14 | 2011-12-01 | Fujitsu Ltd | ファイル管理システム及びファイル管理プログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018128882A (ja) * | 2017-02-09 | 2018-08-16 | 三菱電機株式会社 | 遠方監視制御システム及び遠方監視制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5711772B2 (ja) | 2015-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020062211A1 (zh) | 一种融合区块链技术拟态存储防篡改日志的方法及*** | |
US9483482B2 (en) | Partitioning file system namespace | |
CN111400112B (zh) | 分布式集群的存储***的写入方法、装置及可读存储介质 | |
CN111405019B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US9633100B2 (en) | System and method for data structure synchronization | |
US9367261B2 (en) | Computer system, data management method and data management program | |
CN106059791B (zh) | 一种存储***中业务的链路切换方法和存储设备 | |
CN106209411A (zh) | 分布式网络***容错方法、装置及容错式分布式网络*** | |
JP5969315B2 (ja) | データ移行処理システムおよびデータ移行処理方法 | |
JP6025679B2 (ja) | 分散データベースシステム | |
JP6059558B2 (ja) | 負荷分散判定システム | |
JP6364727B2 (ja) | 情報処理システム、分散処理方法、及び、プログラム | |
JP5711772B2 (ja) | クラスタシステム | |
CN104794026A (zh) | 一种集群实例多数据源绑定的故障转移方法 | |
JP5945252B2 (ja) | 分散処理システム | |
CN113010337B (zh) | 故障检测方法、总控节点、工作节点及分布式*** | |
JP5918802B2 (ja) | ノードおよびプログラム | |
JP5690296B2 (ja) | 負荷分散プログラムおよび負荷分散装置 | |
JP5658621B2 (ja) | 信号振分複製先決定システム、信号振分複製先決定方法およびプログラム | |
JP6653676B2 (ja) | コンテナ最適配置システムおよびそのコンテナ復旧方法 | |
JP6093320B2 (ja) | 分散処理システム | |
JP5815000B2 (ja) | ノードおよびプログラム | |
JP6506156B2 (ja) | ノードおよびグラビテーション抑止方法 | |
JP2014032530A (ja) | 分散処理システムおよび分散処理方法 | |
JP5845298B2 (ja) | ノードおよびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20140502 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140529 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150213 |
|
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: 20150303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150306 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5711772 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |