JP2011203941A - 情報処理装置、監視方法、および監視プログラム - Google Patents

情報処理装置、監視方法、および監視プログラム Download PDF

Info

Publication number
JP2011203941A
JP2011203941A JP2010069810A JP2010069810A JP2011203941A JP 2011203941 A JP2011203941 A JP 2011203941A JP 2010069810 A JP2010069810 A JP 2010069810A JP 2010069810 A JP2010069810 A JP 2010069810A JP 2011203941 A JP2011203941 A JP 2011203941A
Authority
JP
Japan
Prior art keywords
monitoring
information processing
processing apparatus
communication path
lan
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
JP2010069810A
Other languages
English (en)
Inventor
Takuji Hotta
卓志 堀田
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 JP2010069810A priority Critical patent/JP2011203941A/ja
Publication of JP2011203941A publication Critical patent/JP2011203941A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】簡易な構成でクラスタシステムの可用性低下を防ぐことが可能な情報処理装置、監視方法、および監視プログラムを提供する。
【解決手段】情報処理装置201は、通常用通信路82および監視用通信路81を介して他の情報処理装置202と信号の送受信を行なうための送受信部52,53と、他の情報処理装置202を監視するための監視部51とを備える。監視部51は、送受信部52,53を制御して、監視用通信路81を介して他の情報処理装置202へ監視用信号を繰り返し送信する。監視部51は、送受信部52,53が他の情報処理装置202から監視用信号を正常に受信できない場合には、送受信部52,53を制御して、監視用通信路81の代わりに通常用通信路82を介して他の情報処理装置202へ監視用信号を繰り返し送信する。
【選択図】図1

Description

本発明は、情報処理装置、監視方法、および監視プログラムに関し、特に、クラスタシステムにおける情報処理装置、監視方法、および監視プログラムに関する。
高可用クラスタシステムとは、複数台のサーバによって構成される冗長化されたシステムである。クラスタシステムでは、一方のサーバが停止した場合に、他方のサーバが業務を引き継ぐことにより、クライアントに対するサービスの継続性を高めている。各サーバは、LAN(Local Area Network)等の通信路を介して接続されており、サーバ間でハートビートによる死活監視を互いに行なってサーバの生存状態を確認することにより、クラスタシステムの正常性を保つ。
ハートビート通信とは、フェイルオーバすなわち業務の引き継ぎを互いに行なう関係にある複数のサーバ間で、サーバ機能が停止していないことを示すためのハートビート(監視用信号)をやり取りすることにより、互いのサーバの死活監視を行なう技術である。ハートビート通信が行なわれている間は、相手方サーバが正常に稼働しているものと判断され、フェイルオーバは行なわれない。
逆に、ハートビート通信が途切れた場合には、相手方サーバがシステムダウンしたものと判断され、相手方サーバで提供されていた業務アプリケーションを自機で引き継ぐようになっている。これにより、業務アプリケーションを利用するクライアントサーバからは、クラスタシステム全体が1台のサーバのように見える。したがって、現用系サーバから待機系サーバに処理が切り替わった場合でも、クライアントは、どのサーバから業務アプリケーションサービスが提供されているかを意識することはない。
ここで、自機の稼働状況を何ら考慮せずにフェイルオーバを実行すると、フェイルオーバを実行するサーバ自体が高負荷となり、応答性等が低下する可能性がある。そこで、業務引き継ぎ先サーバの稼働状況に応じて、業務アプリケーションの優先度を変更するようにした技術も知られている。
ところで、クラスタシステムでは、スプリットブレインシンドローム(ネットワークパーティション問題)が存在する。このスプリットブレインシンドロームとは、クラスタシステムにおいて、サーバ障害またはネットワーク障害によりクラスタシステム内のノード群が分断される状態になり、1つのサービス(仮想IPを含む)がクラスタシステム内のノード群で同時に起動してしまい、サービス供給の停止およびデータ破壊が生じる状態のことである。
クラスタシステムの一例として、たとえば、特許文献1(特開2009−205364号公報)には、以下のような技術が開示されている。すなわち、監視対象サーバは、その状態を示す状態通知パケットを定期的に監視装置に送信する。管理サーバは、状態通知パケットがこなくなったことを検出すると、状態通知パケットがこなくなった監視対象サーバ以外の他の監視対象サーバからの状態通知パケットが受信できていれば、監視対象サーバのネットワーク構成情報に基づいて、管理サーバから、状態通知パケットがこなくなった監視対象サーバまでの複数の通信ルートを抽出する。そして、該複数の通信ルートを利用して状態通知パケットがこなくなった監視対象サーバの死活状態を確認する。
また、特許文献2(特開2005−073277号公報)には、以下のような技術が開示されている。すなわち、クラスタシステムは、少なくとも1つのマルチホーム・ノードと、各ネットワーク・インタフェースのための少なくとも1つのゲートウエイによって構成される。所定の周期的間隔で、ピア・ノードおよびゲートウエイ間に、ハートビート・メッセージが送信される。いずれかのノードまたはゲートウエイによるハートビート・メッセージの損失があった場合、ネットワーク・インタフェースごとにクラスタシステムの各ノードおよびゲートウエイにICMP(インターネット制御メッセージ・プロトコル)エコーが発行される。ICMPエコーに応答して、ノード損失もネットワーク損失も確認されない場合、アプリケーション・レベルのpingが発行され、ハートビート・メッセージが存在しないことに関連した障害が、一時的なエラー状況であるかまたはアプリケーション・ソフトウエア障害であるかが判定される。
また、特許文献3(特開2002−116920号公報)には、以下のような技術が開示されている。すなわち、運用系装置および待機系装置がネットワークによって接続され、互いの状況を監視するクラスタシステムであって、運用系装置および待機系装置のそれぞれに備えられ、互いの情報のやり取りにより運用系/待機系の判断を行なうクラスタ管理手段と、運用系装置で起動されるサービスプロセス実行手段と、それぞれに備えられたクラスタ管理手段に異常がないか否かを検出する障害検出手段と、障害検出手段によって障害発生を検出したときは上記サービスプロセスの処理を停止させ、待機系装置を稼働させる手段とを含む。
また、特許文献4(特開2005−148922号公報)には、以下のような技術が開示されている。すなわち、ユーザが、記憶媒体をノードに装着し、プログラムのインストールを指示すると、インストールプログラムは、フェイルオーバプログラムに対してハートビート通信の停止を要求する。ノードは、システムが正常に稼働している状態で、自発的にハートビート通信を停止させる。ノードのフェイルオーバプログラムは、ハートビート通信停止を検知するとフェイルオーバを開始し、ノードの業務サービスを引き継ぐ。ノードがフェイルオーバ実行中に、記憶媒体に記憶されているプログラムがノードにインストールされる。インストール完了後、ノードは、ノードにフェイルバック要求を送信し、業務サービスを再開する。
また、特許文献5(特開平09−102792号公報)には、以下のような技術が開示されている。すなわち、LAN間接続装置12から監視用パケットをWAN(Wide Area Network)1上に送出し、LAN間接続装置22がこれを返送する。返送された監視用パケットを正常に受信できない場合、LAN間接続装置12はWAN1に異常が生じていると見なし、接続先をWAN1からWAN2に変更する。その後も、LAN間接続装置12から監視用パケットをWAN1上に送出し、LAN間接続装置22がこれを返送する。返送された監視用パケットを正常に受信できた場合、LAN間接続装置12はWAN1に異常が生じていないと見なし、接続先をWAN2からWAN1に戻す。
特開2009−205364号公報 特開2005−073277号公報 特開2002−116920号公報 特開2005−148922号公報 特開平09−102792号公報
特許文献1に記載の技術は、障害が発生すると死活監視のための通信路を切り替えて死活監視を継続する構成であるが、他のサーバを経由した通信路を選択する構成であるため、サーバを余分に用意する必要がある。
また、特許文献2に記載の技術は、ハートビート途絶時、別の通信路を用いて相手サーバと通信を行なう構成であるが、ハートビート途絶時に障害検知場所を特定することを目的としており、ハートビート途絶時にも死活監視を継続することによってシステムの可用性を向上することを目的としていない。
また、クラスタシステムにおけるサーバ間のすべての通信路でハートビート通信を行なう構成では、すべての通信路において常に監視用信号を送受信する必要があるため、システムの可用性が低下してしまう。
その一方で、クラスタシステムにおけるサーバ間の一部の通信路でハートビート通信を行なう構成では、ハートビート通信を行なう通信路がすべて断線しても、ハートビート通信を行なわない通信路は正常であり、すべての通信路が障害状態ではない場合がある。このような場合、正常な通信路が存在するにも関わらずスプリットブレインシンドローム状態となってしまい、システムの可用性が低下してしまう。
しかしながら、特許文献1〜特許文献5には、このような問題点を解決するための構成は開示されていない。
この発明は、上述の課題を解決するためになされたもので、その目的は、簡易な構成でクラスタシステムの可用性低下を防ぐことが可能な情報処理装置、監視方法、および監視プログラムを提供することである。
上記課題を解決するために、この発明のある局面に係わる情報処理装置は、通常用通信路および監視用通信路を介して接続される他の情報処理装置とともにクラスタシステムを構成するための情報処理装置であって、上記通常用通信路および上記監視用通信路を介して上記他の情報処理装置と信号の送受信を行なうための送受信部と、上記他の情報処理装置を監視するための監視部とを備え、上記監視部は、上記送受信部を制御して、上記監視用通信路を介して上記他の情報処理装置へ監視用信号を繰り返し送信し、上記監視部は、上記送受信部が上記他の情報処理装置から上記監視用信号を正常に受信できない場合には、上記送受信部を制御して、上記監視用通信路の代わりに上記通常用通信路を介して上記他の情報処理装置へ上記監視用信号を繰り返し送信する。
上記課題を解決するために、この発明のある局面に係わる監視方法は、通常用通信路および監視用通信路を介して接続される他の情報処理装置とともにクラスタシステムを構成するための情報処理装置における監視方法であって、(a)上記監視用通信路を介して上記他の情報処理装置へ監視用信号を繰り返し送信するステップと、(b)上記他の情報処理装置から上記監視用信号を正常に受信できない場合には、上記監視用通信路の代わりに上記通常用通信路を介して上記他の情報処理装置へ上記監視用信号を繰り返し送信するステップとを含む。
上記課題を解決するために、この発明のある局面に係わる監視プログラムは、通常用通信路および監視用通信路を介して接続される他の情報処理装置とともにクラスタシステムを構成するための情報処理装置における監視プログラムであって、コンピュータに、(a)上記監視用通信路を介して上記他の情報処理装置へ監視用信号を繰り返し送信するステップと、(b)上記他の情報処理装置から上記監視用信号を正常に受信できない場合には、上記監視用通信路の代わりに上記通常用通信路を介して上記他の情報処理装置へ上記監視用信号を繰り返し送信するステップとを実行させる。
本発明によれば、簡易な構成でクラスタシステムの可用性低下を防ぐことができる。
本発明の第1の実施の形態に係るクラスタシステムの構成を示す図である。 本発明の第1の実施の形態に係るサーバの概略構成図である。 本発明の第1の実施の形態に係る情報処理装置が死活監視処理を行なう際の動作手順を示すフローチャートである。 本発明の第2の実施の形態に係るクラスタシステムの構成を示す図である。
[概要]
本発明の実施の形態では、高可用クラスタシステムにおいて、ハートビートLAN断線時においても死活監視を継続することができる。これにより、スプリットブレインシンドローム解決処理への移行を回避することでシステムの可用性を高めることができる。
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第1の実施の形態>
[構成および基本動作]
図1は、本発明の第1の実施の形態に係るクラスタシステムの構成を示す図である。
図1を参照して、クラスタシステム301は、情報処理装置の一例であるサーバ201および202を備える。サーバ201は、NIC(送受信部)52,53を備える。サーバ202の構成は、たとえばサーバ201と同様である。
クラスタシステム301は、サーバ201およびサーバ202を備える2ノードクラスタシステムである。すなわち、サーバ201は、LAN82およびハートビートLAN81を介して接続される他のサーバ202とともにクラスタシステム301を構成する。クラスタシステム301は、NIC(Network Interface Card)52に接続されたハートビートLAN81を、サーバ201およびサーバ202間の死活監視を行なうための監視用通信路として備える。また、クラスタシステム301は、NIC53に接続されたLAN82を、正常時は監視用信号を送受信せず、他の情報をやり取りするための通常用通信路として備える。
サーバ201およびサーバ202は、互いの死活監視を行なうため、ハートビートLAN81を使用して死活監視パケット(監視用信号)を定期的に送受信しあう。これにより、クラスタシステム301の正常性を保つ。
ハートビートLAN81の断線およびサーバの一時的な高負荷状態等が発生し、サーバ201およびサーバ202間の死活監視が行なえなくなると、死活監視用の通信路がLAN82に切り替えられる。
このような構成により、死活監視を継続してクラスタシステム301の正常性を保つことができるため、ハートビートLAN81における死活監視の不通状態により陥るスプリットブレインシンドロームを回避することが可能となる。
また、LAN82を利用して死活監視を行っている状態において、ハートビートLAN81の障害が復旧した場合には、死活監視用の通信路をハートビートLAN81に切り替えることで正常状態へ復旧する。このように、死活監視用の通信路をその都度切り替えることにより、LAN82へ必要以上の死活監視パケットを送出することを防ぐことができる。
本発明の第1の実施の形態に係る情報処理装置は、典型的には、汎用的なアーキテクチャを有するコンピュータを基本構造としており、予めインストールされたプログラムを実行することで、後述するような各種機能を提供する。一般的に、このようなプログラムは、フレキシブルディスク(Flexible Disk)およびCD−ROM(Compact Disk Read Only Memory)などの記録媒体に格納されて、あるいはネットワークなどを介して流通する。
本発明の第1の実施の形態に係るプログラムは、OS等の他のプログラムの一部に組み込まれて提供されるものであってもよい。この場合でも、本発明の第1の実施の形態に係るプログラム自体は、上記のような組み込み先の他のプログラムが有するモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本発明の第1の実施の形態に係るプログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
なお、代替的に、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
図2は、本発明の第1の実施の形態に係るサーバの概略構成図である。ここでは、サーバ201の構成について代表的に説明する。
図2を参照して、サーバ201は、演算処理部であるCPU(Central Processing Unit)101と、メインメモリ102と、ハードディスク103と、入力インターフェイス104と、表示コントローラ105と、データリーダ/ライタ106と、通信インターフェイス107とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU101は、ハードディスク103に格納されたプログラム(コード)をメインメモリ102に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ102は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク103から読み出されたプログラムに加えて、各種の演算処理結果を示すデータなどを保持する。また、ハードディスク103は不揮発性の磁気記憶装置であり、CPU101で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク103にインストールされるプログラムは、後述するように、記録媒体111に格納された状態で流通する。なお、ハードディスク103に加えて、あるいはハードディスク103に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
入力インターフェイス104は、CPU101とキーボード108、マウス109および図示しないタッチパネルなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェイス104は、ユーザが入力部を操作することで与えられる操作指令などの外部からの入力を受付ける。
表示コントローラ105は、表示部の典型例であるディスプレイ110と接続され、ディスプレイ110での表示を制御する。すなわち、表示コントローラ105は、CPU101による画像処理の結果などをユーザに対して表示する。ディスプレイ110は、たとえばLCD(Liquid Crystal Display)またはCRT(Cathode Ray Tube)である。
データリーダ/ライタ106は、CPU101と記録媒体111の間のデータ伝送を仲介する。すなわち、記録媒体111は、サーバ201で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ106は、この記録媒体111からプログラムを読み出す。また、データリーダ/ライタ106は、CPU101の内部指令に応答して、サーバ201における処理結果などを記録媒体111へ書き込む。なお、記録媒体111は、たとえば、CF(Compact Flash)およびSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体、またはCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体である。
通信インターフェイス107は、CPU101と他のパーソナルコンピュータおよびサーバ装置などの間のデータ伝送を仲介する。通信インターフェイス107は、典型的には、イーサネット(登録商標)またはUSB(Universal Serial Bus)の通信機能を有する。なお、記録媒体111に格納されたプログラムをサーバ201にインストールする形態に代えて、通信インターフェイス107を介して配信サーバなどからダウンロードしたプログラムをサーバ201にインストールしてもよい。
また、サーバ201には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
[制御構造]
次に、サーバ201における死活監視機能を提供するための制御構造について説明する。
図1は、本発明の第1の実施の形態に係るサーバが提供する制御構造も示している。図1に示すサーバ201における各ブロックは、ハードディスク103に格納されたプログラム(コード)などをメインメモリ102に展開して、CPU101に実行させることで提供される。なお、図1に示すサーバ201の制御構造の一部もしくは全部を専用ハードウェアおよび/または配線回路によって実現してもよい。
図1を参照して、CPU101は、NIC52,53と、記憶部54とを備える。また、CPU101は、その制御構造として、監視部51と、処理部55とを含む。記憶部54は、図2に示すメインメモリ102またはハードディスク103に相当する。NIC52,53は、図2に示す通信インターフェイス107に相当する。
監視部51は、死活監視部63を含む。処理部55は、スプリットブレインシンドローム解決処理部64を含む。記憶部54は、死活監視宛先情報61と、死活監視用通信路状態情報62とを記憶する。
CPU101は、図1に示す各部の他に、多くのユニットによって構成されるのが一般的であるが、説明を簡単にするために、本発明に関係しないユニットについては図示していない。
死活監視部63は、他のサーバ202を監視する。NIC52,53は、LAN82およびハートビートLAN81を介して他のサーバ202と信号の送受信を行なう。
[動作]
次に、本発明の第1の実施の形態に係る情報処理装置の動作について図面を用いて説明する。本発明の第1の実施の形態では、サーバ201を動作させることによって、本発明の第1の実施の形態に係る監視方法が実施される。よって、本発明の第1の実施の形態に係る監視方法の説明は、以下のサーバ201の動作説明に代える。なお、以下の説明においては、適宜図1を参照する。
図3は、本発明の第1の実施の形態に係る情報処理装置が死活監視処理を行なう際の動作手順を示すフローチャートである。
2ノードクラスタシステム301が存在し、サーバ201およびサーバ202が、クラスタシステム301において稼働するサーバである。サーバ201およびサーバ202は、死活監視の対象となるサーバに対して同様の動作を行なうため、ここではサーバ201の動作を代表的に説明する。また、クラスタサービスを起動した状態を処理開始状態とする。
図3を参照して、まず、死活監視部63は、ハートビートLAN81を経由したハートビート送信処理を行なう。すなわち、死活監視部63は、NIC52を制御して、ハートビートLAN81を介して他のサーバ202へ監視用信号(ハートビート)を繰り返し送信する。より詳細には、死活監視部63は、監視用信号の宛先IPアドレスを、死活監視宛先情報61に記載されたネットワーク正常時に対応する宛先IPアドレスとし、ハートビートLAN81を死活監視用通信路として監視用信号を送信する(ステップS1)。
次に、死活監視部63は、ハートビートLAN81を経由した監視用信号の受信判定を行なう。たとえば、死活監視部63は、NIC52が他のサーバ202から監視用信号を受信してから所定時間以内に次の監視用信号を受信したか否かを判定する。なお、死活監視部63は、NIC52が他のサーバ202へ監視用信号を送信してから所定時間以内に他のサーバ202から監視用信号を受信したか否かを判定してもよい。
死活監視部63は、ハートビートLAN81を監視用通信路として死活監視を行なっている状態において、監視用信号を正常に受信した場合には、引き続きハートビートLAN81を死活監視用通信路として次の監視用信号を送信する(ステップS1)。
一方、死活監視部63は、監視用信号を正常に受信できなかった場合には、ハートビートLAN81からLAN82への監視用通信路切り替え処理を行なう。たとえば、死活監視部63は、NIC52が他のサーバ202から監視用信号を受信してから所定時間以上次の監視用信号を受信しない場合には、NIC52,53を制御して、ハートビートLAN81の代わりにLAN82を介して他のサーバ202へ監視用信号を繰り返し送信する。
より詳細には、ハートビートLAN81の断線、およびサーバの高負荷状態等のため、死活監視部63が監視用信号を正常に受信できなくなった場合には、死活監視部63は、死活監視用通信路状態情報62に記載されたネットワーク正常時の死活監視用通信路すなわちハートビートLAN81の状態を、正常状態から障害状態に変更する。そして、死活監視部63は、監視用信号の宛先IPアドレスを死活監視宛先情報61に記載されたネットワーク障害時に対応する宛先IPアドレスに変更し、LAN82を死活監視用通信路として監視用信号を送信する(ステップS3)。
次に、死活監視部63は、LAN82を経由した監視用信号の受信判定を行なう。たとえば、死活監視部63は、LAN82を介して他のサーバ202へ監視用信号を送信している場合であって、NIC53が、他のサーバ202から監視用信号を受信してから所定時間以内に次の監視用信号を受信したか否かを判定する(ステップS4)。
死活監視部63は、LAN82を死活監視用通信路として死活監視を行なっている状態において、監視用信号を正常に受信した場合には(ステップS4でYES)、ネットワークの状態に応じて死活監視用通信路の切り替え処理を行なう。すなわち、死活監視部63は、LAN82を介して他のサーバ202へ監視用信号を送信している場合において、ハートビートLAN81を介した他のサーバ202との通信が正常であるか否かを判断し、正常であるときには、NIC52,53を制御して、他のサーバ202への監視用信号の送信経路をLAN82からハートビートLAN81に切り戻す(ステップS5)。
より詳細には、死活監視部63は、ハートビートLAN81の状態が、障害状態から正常状態になった場合には(ステップS5でYES)、監視用信号の宛先IPアドレスを死活監視宛先情報61に記載されたネットワーク正常時に対応する宛先IPアドレスに変更し、ハートビートLAN81を死活監視用通信路として監視用信号を送信する(ステップS1)。
一方、死活監視部63は、ハートビートLAN81の状態が、障害状態のままである場合には(ステップS5でNO)、引き続き監視用信号の宛先IPアドレスをネットワーク障害時に対応する宛先IPアドレスとし、LAN82を死活監視用通信路として監視用信号を送信する(ステップS3)。
また、死活監視部63は、LAN82を監視用通信路として死活監視を行なっている状態において、監視用信号を正常に受信できなかった場合には(ステップS4でNO)、スプリットブレインシンドローム解決処理に移行する(ステップS6)。たとえば、死活監視部63は、LAN82を介して他のサーバ202へ監視用信号を送信している場合であって、NIC53が、他のサーバ202から監視用信号を受信してから所定時間以上次の監視用信号を受信しないときには、クラスタシステム301における異常を解決するための処理の開始を指示する。
スプリットブレインシンドローム解決処理部64は、死活監視部63の指示を受けて、スプリットブレインシンドロームの解決処理を行なう(ステップS6)。
ところで、特許文献1に記載の技術は、障害が発生すると死活監視のための通信路を切り替えて死活監視を継続する構成であるが、他のサーバを経由した通信路を選択する構成であるため、サーバを余分に用意する必要がある。
また、特許文献2に記載の技術は、ハートビート途絶時、別の通信路を用いて相手サーバと通信を行なう構成であるが、ハートビート途絶時に障害検知場所を特定することを目的としており、ハートビート途絶時にも死活監視を継続することによってシステムの可用性を向上することを目的としていない。
また、クラスタシステムにおけるサーバ間のすべての通信路でハートビート通信を行なう構成では、すべての通信路において常に監視用信号を送受信する必要があるため、システムの可用性が低下してしまう。
その一方で、クラスタシステムにおけるサーバ間の一部の通信路でハートビート通信を行なう構成では、ハートビート通信を行なう通信路がすべて断線しても、ハートビート通信を行なわない通信路は正常であり、すべての通信路が障害状態ではない場合がある。このような場合、正常な通信路が存在するにも関わらずスプリットブレインシンドローム状態となってしまい、システムの可用性が低下してしまう。
これに対して、本発明の第1の実施の形態では、死活監視部63は、NIC52を制御して、ハートビートLAN81を介して他のサーバ202へ監視用信号を繰り返し送信する。そして、死活監視部63は、NIC52が他のサーバ202から監視用信号を正常に受信できない場合には、NIC52,53を制御して、ハートビートLAN81の代わりにLAN82を介して他のサーバ202へ監視用信号を繰り返し送信する。すなわち、本発明の第1の実施の形態では、監視用通信路においてハートビート通信が途絶えるとクラスタシステムにおけるサーバ間の別の通信路を監視用通信路として選択する。したがって、特許文献1に記載の技術と異なり、サーバを余分に用意する必要がない。また、本発明の第1の実施の形態では、特許文献2に記載の技術と異なり、ハートビート途絶時に障害検知場所を特定することを目的とはしておらず、ハートビート途絶時にも死活監視を継続することによってシステムの可用性を向上することを目的としている。
換言すれば、本発明の第1の実施の形態に係るクラスタシステムは、死活監視のための信号を送受信するように設定された監視用通信路およびそのような設定がされない通常用通信路を有する。そして、監視用通信路においてハートビート通信が途絶えると通常用通信路を監視用通信路として選択する。これにより、監視用通信路がすべて断線しても、通常用通信路が正常であり、全通信路が障害状態ではない場合において、正常な通信路が存在するにも関わらずスプリットブレインシンドローム状態となることを防ぐことができる。したがって、システムの可用性の低下を防ぐことができる。
また、ハートビートLANとそれ以外の通信路とのすべてにおける死活監視を同時には行なわないことから、死活監視パケットを流すことが本来望ましくない通信路に対して常に死活監視パケットが流れることを防ぐことができる。したがって、システムの可用性の低下を防ぐことができる。
本発明の第1の実施の形態では、少なくとも以下の2つの効果が得られる。すなわち、第1の効果は、ハートビートLANによる通信障害が発生してもスプリットブレインシンドロームに陥らないことである。すなわち、監視用ではない他の通信路を一時的に利用して死活監視を継続することにより、クライアントに提供するサービスと関係のないハートビートLANの障害によってクラスタシステム内のサーバ間で死活監視不能となりスプリットブレインシンドロームに陥る状況を回避することができるため、クラスタシステムの可用性を向上させることができる。
また、第2の効果は、ネットワークに流れる死活監視パケットを最小限に抑えられることである。すなわち、クラスタシステムの正常時はハートビートLAN以外のLANにおいて死活監視を行なうことはないため、正常時にハートビートLAN以外の通信路において死活監視パケットを流すことはないことから、クライアントに提供するサービスに対する影響を最低限に抑えることができる。
以上より、本発明の第1の実施の形態に係るサーバ201における各構成要素のうち、死活監視部63およびNIC52,53からなる最小構成により、簡易な構成でクラスタシステムの可用性低下を防ぐという本発明の目的を達成することが可能となる。
また、本発明の第1の実施の形態では、死活監視部63は、LAN82を介して他のサーバ202へ監視用信号を送信している場合において、ハートビートLAN81を介した他のサーバ202との通信が正常であるか否かを判断し、正常であるときには、NIC52,53を制御して、他のサーバ202への監視用信号の送信経路をLAN82からハートビートLAN81に切り戻す。すなわち、ハートビートLAN以外の通常用通信路において死活監視を行なっている状態において、監視用信号受信時に死活監視用通信路状態情報62を参照してハートビートLANへの切り替え判定を行なう。そして、ハートビートLANが復旧していれば通常の死活監視処理に戻る。このような構成により、同時に複数の通信路において死活監視パケットを流すことを防ぎ、ネットワークに流れる死活監視パケットを最小限に抑えることができる。
また、本発明の第1の実施の形態では、死活監視部63は、LAN82を介して他のサーバ202へ監視用信号を送信している場合であって、NIC53が他のサーバ202から監視用信号を正常に受信できないときには、クラスタシステム301における異常を解決するための処理の開始を指示する。このような構成により、システムの可用性をさらに高めることができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第2の実施の形態>
本実施の形態は、第1の実施の形態に係るクラスタシステムと比べてサーバを追加したクラスタシステムに関する。以下で説明する内容以外は第1の実施の形態に係るクラスタシステムと同様である。
図4は、本発明の第2の実施の形態に係るクラスタシステムの構成を示す図である。 図4を参照して、クラスタシステム302は、本発明の第1の実施の形態に係るクラスタシステムと比べて、さらに、サーバ203を備える。
クラスタシステム302は、サーバ201,202,203を備える3ノードクラスタシステムである。サーバ201,202,203がクラスタシステムにおいて稼働するサーバであり、ハートビートLAN81およびLAN82によって各サーバ間の通信を行なう。
次に、本発明の第2の実施の形態に係る情報処理装置の動作について図面を用いて説明する。本発明の第2の実施の形態では、サーバ201を動作させることによって、本発明の第2の実施の形態に係る監視方法が実施される。よって、本発明の第2の実施の形態に係る監視方法の説明は、以下のサーバ201の動作説明に代える。なお、以下の説明においては、適宜図4を参照する。
図3に示すフローチャートは、本発明の第2の実施の形態に係る情報処理装置が死活監視処理を行なう際の動作手順も示している。
再び図3を参照して、まず、死活監視部63は、ハートビートLAN81を経由したハートビート送信処理を行なう。すなわち、死活監視部63は、NIC52を制御して、ハートビートLAN81を介して他のサーバ202,203へ監視用信号(ハートビート)を繰り返し送信する。より詳細には、死活監視部63は、監視用信号の宛先IPアドレスを、死活監視宛先情報61に記載されたネットワーク正常時に対応する宛先IPアドレスとし、ハートビートLAN81を死活監視用通信路として監視用信号を送信する(ステップS1)。
次に、死活監視部63は、ハートビートLAN81を経由した監視用信号の受信判定を行なう。たとえば、死活監視部63は、NIC52が他のサーバ202,203から監視用信号を受信してから所定時間以内に次の監視用信号を受信したか否かを判定する。なお、死活監視部63は、NIC52が他のサーバ202,203へ監視用信号を送信してから所定時間以内に他のサーバ202,203から監視用信号を受信したか否かを判定してもよい。
死活監視部63は、ハートビートLAN81を監視用通信路として死活監視を行なっている状態において、他のサーバ202,203の両方から監視用信号を正常に受信した場合には、引き続きハートビートLAN81を死活監視用通信路として次の監視用信号を送信する(ステップS1)。
一方、死活監視部63は、他のサーバ202,203の少なくともいずれかから監視用信号を正常に受信できなかった場合には、ハートビートLAN81からLAN82への監視用通信路切り替え処理を行なう。たとえば、死活監視部63は、NIC52が他のサーバ202,203からの監視用信号を受信してから、他のサーバ202,203の少なくともいずれかから所定時間以上次の監視用信号を受信しない場合には、NIC52,53を制御して、ハートビートLAN81の代わりにLAN82を介して他のサーバ202,203へ監視用信号を繰り返し送信する。
より詳細には、ハートビートLAN81の断線、およびサーバの高負荷状態等のため、死活監視部63が監視用信号を正常に受信できなくなった場合には、死活監視部63は、死活監視用通信路状態情報62に記載されたネットワーク正常時の死活監視用通信路すなわちハートビートLAN81の状態を、正常状態から障害状態に変更する。そして、死活監視部63は、監視用信号の宛先IPアドレスを死活監視宛先情報61に記載されたネットワーク障害時に対応する宛先IPアドレスに変更し、LAN82を死活監視用通信路として監視用信号を送信する(ステップS3)。
次に、死活監視部63は、LAN82を経由した監視用信号の受信判定を行なう。たとえば、死活監視部63は、LAN82を介して他のサーバ202,203へ監視用信号を送信している場合であって、NIC53が、他のサーバ202,203から監視用信号を受信してから所定時間以内に次の監視用信号を受信したか否かを判定する(ステップS4)。
死活監視部63は、LAN82を死活監視用通信路として死活監視を行なっている状態において、他のサーバ202,203の両方から監視用信号を正常に受信した場合には(ステップS4でYES)、ネットワークの状態に応じて死活監視用通信路の切り替え処理を行なう。すなわち、死活監視部63は、LAN82を介して他のサーバ202,203へ監視用信号を送信している場合において、ハートビートLAN81を介した他のサーバ202,203との通信が正常であるか否かを判断し、正常であるときには、NIC52,53を制御して、他のサーバ202,203への監視用信号の送信経路をLAN82からハートビートLAN81に切り戻す(ステップS5)。
より詳細には、死活監視部63は、ハートビートLAN81の状態が、障害状態から正常状態になった場合には(ステップS5でYES)、監視用信号の宛先IPアドレスを死活監視宛先情報61に記載されたネットワーク正常時に対応する宛先IPアドレスに変更し、ハートビートLAN81を死活監視用通信路として監視用信号を送信する(ステップS1)。
一方、死活監視部63は、ハートビートLAN81の状態が、障害状態のままである場合には(ステップS5でNO)、引き続き監視用信号の宛先IPアドレスをネットワーク障害時に対応する宛先IPアドレスとし、LAN82を死活監視用通信路として監視用信号を送信する(ステップS3)。
また、死活監視部63は、LAN82を監視用通信路として死活監視を行なっている状態において、他のサーバ202,203の少なくともいずれかから監視用信号を正常に受信できなかった場合には(ステップS4でNO)、スプリットブレインシンドローム解決処理に移行する(ステップS6)。たとえば、死活監視部63は、LAN82を介して他のサーバ202,203へ監視用信号を送信している場合であって、NIC53が、他のサーバ202,203からの監視用信号を受信してから、他のサーバ202,203の少なくともいずれかから所定時間以上次の監視用信号を受信しないときには、クラスタシステム301における異常を解決するための処理の開始を指示する。
スプリットブレインシンドローム解決処理部64は、死活監視部63の指示を受けて、スプリットブレインシンドロームの解決処理を行なう(ステップS6)。
その他の構成および動作は第1の実施の形態に係るクラスタシステムと同様であるため、ここでは詳細な説明を繰り返さない。
したがって、本発明は、2ノード以上のサーバを備えたクラスタシステムに対して適用可能である。
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
[付記1]
通常用通信路および監視用通信路を介して接続される他の情報処理装置とともにクラスタシステムを構成するための情報処理装置における監視方法であって、
(a)前記監視用通信路を介して前記他の情報処理装置へ監視用信号を繰り返し送信するステップと、
(b)前記他の情報処理装置から前記監視用信号を正常に受信できない場合には、前記監視用通信路の代わりに前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を繰り返し送信するステップとを含む、監視方法。
[付記2]
前記監視方法は、さらに、
前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を送信している場合において、前記監視用通信路を介した前記他の情報処理装置との通信が正常であるか否かを判断し、正常であると判断したときには、前記他の情報処理装置への前記監視用信号の送信経路を前記通常用通信路から前記監視用通信路に切り戻すステップを含む、付記1に記載の監視方法。
[付記3]
前記監視方法は、さらに、
前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を送信している場合であって、前記送受信部が、前記他の情報処理装置から前記監視用信号を正常に受信できないときには、前記クラスタシステムにおける異常を解決するための処理の開始を指示するステップを含む、付記1または2に記載の監視方法。
[付記4]
通常用通信路および監視用通信路を介して接続される他の情報処理装置とともにクラスタシステムを構成するための情報処理装置における監視プログラムであって、コンピュータに、
(a)前記監視用通信路を介して前記他の情報処理装置へ監視用信号を繰り返し送信するステップと、
(b)前記他の情報処理装置から前記監視用信号を正常に受信できない場合には、前記監視用通信路の代わりに前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を繰り返し送信するステップとを実行させる、監視プログラム。
[付記5]
前記監視プログラムは、さらに、コンピュータに、
前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を送信している場合において、前記監視用通信路を介した前記他の情報処理装置との通信が正常であるか否かを判断し、正常であると判断したときには、前記他の情報処理装置への前記監視用信号の送信経路を前記通常用通信路から前記監視用通信路に切り戻すステップを実行させる、付記4に記載の監視プログラム。
[付記6]
前記監視プログラムは、さらに、コンピュータに、
前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を送信している場合であって、前記送受信部が、前記他の情報処理装置から前記監視用信号を正常に受信できないときには、前記クラスタシステムにおける異常を解決するための処理の開始を指示するステップを実行させる、付記4または5に記載の監視プログラム。
本発明によれば、簡易な構成でクラスタシステムの可用性低下を防ぐことができる。したがって、本発明は、産業上の利用可能性を有している。
51 監視部
52,53 NIC(送受信部)
54 記憶部
55 処理部
61 死活監視宛先情報
62 死活監視用通信路状態情報
63 死活監視部
64 スプリットブレインシンドローム解決処理部
81 ハートビートLAN
82 LAN
101 CPU
102 メインメモリ
103 ハードディスク
104 入力インターフェイス
105 表示コントローラ
106 データリーダ/ライタ
107 通信インターフェイス
121 バス
201,202,203 サーバ
301 クラスタシステム

Claims (5)

  1. 通常用通信路および監視用通信路を介して接続される他の情報処理装置とともにクラスタシステムを構成するための情報処理装置であって、
    前記通常用通信路および前記監視用通信路を介して前記他の情報処理装置と信号の送受信を行なうための送受信部と、
    前記他の情報処理装置を監視するための監視部とを備え、
    前記監視部は、前記送受信部を制御して、前記監視用通信路を介して前記他の情報処理装置へ監視用信号を繰り返し送信し、
    前記監視部は、前記送受信部が前記他の情報処理装置から前記監視用信号を正常に受信できない場合には、前記送受信部を制御して、前記監視用通信路の代わりに前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を繰り返し送信する、情報処理装置。
  2. 前記監視部は、前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を送信している場合において、前記監視用通信路を介した前記他の情報処理装置との通信が正常であるか否かを判断し、正常であると判断したときには、前記送受信部を制御して、前記他の情報処理装置への前記監視用信号の送信経路を前記通常用通信路から前記監視用通信路に切り戻す、請求項1に記載の情報処理装置。
  3. 前記監視部は、前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を送信している場合であって、前記送受信部が、前記他の情報処理装置から前記監視用信号を正常に受信できないときには、前記クラスタシステムにおける異常を解決するための処理の開始を指示する、請求項1または2に記載の情報処理装置。
  4. 通常用通信路および監視用通信路を介して接続される他の情報処理装置とともにクラスタシステムを構成するための情報処理装置における監視方法であって、
    (a)前記監視用通信路を介して前記他の情報処理装置へ監視用信号を繰り返し送信するステップと、
    (b)前記他の情報処理装置から前記監視用信号を正常に受信できない場合には、前記監視用通信路の代わりに前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を繰り返し送信するステップとを含む、監視方法。
  5. 通常用通信路および監視用通信路を介して接続される他の情報処理装置とともにクラスタシステムを構成するための情報処理装置における監視プログラムであって、コンピュータに、
    (a)前記監視用通信路を介して前記他の情報処理装置へ監視用信号を繰り返し送信するステップと、
    (b)前記他の情報処理装置から前記監視用信号を正常に受信できない場合には、前記監視用通信路の代わりに前記通常用通信路を介して前記他の情報処理装置へ前記監視用信号を繰り返し送信するステップとを実行させる、監視プログラム。
JP2010069810A 2010-03-25 2010-03-25 情報処理装置、監視方法、および監視プログラム Pending JP2011203941A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010069810A JP2011203941A (ja) 2010-03-25 2010-03-25 情報処理装置、監視方法、および監視プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010069810A JP2011203941A (ja) 2010-03-25 2010-03-25 情報処理装置、監視方法、および監視プログラム

Publications (1)

Publication Number Publication Date
JP2011203941A true JP2011203941A (ja) 2011-10-13

Family

ID=44880529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010069810A Pending JP2011203941A (ja) 2010-03-25 2010-03-25 情報処理装置、監視方法、および監視プログラム

Country Status (1)

Country Link
JP (1) JP2011203941A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111240A1 (ja) * 2012-01-25 2013-08-01 株式会社 東芝 二重化制御システムおよびその制御方法
CN105519050A (zh) * 2015-02-12 2016-04-20 富士电机株式会社 控制系统以及中继装置
JP2018056633A (ja) * 2016-09-26 2018-04-05 日本電気株式会社 クラスタシステム、サーバ、サーバの動作方法、及びプログラム
US10911295B2 (en) 2016-10-20 2021-02-02 Nec Corporation Server apparatus, cluster system, cluster control method and program
JP2021043855A (ja) * 2019-09-13 2021-03-18 ソフトバンク株式会社 監視システム、監視SaaS提供装置、管理装置、及びプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111240A1 (ja) * 2012-01-25 2013-08-01 株式会社 東芝 二重化制御システムおよびその制御方法
JP2013152631A (ja) * 2012-01-25 2013-08-08 Toshiba Corp 二重化制御システムおよびその制御方法
CN104067235A (zh) * 2012-01-25 2014-09-24 株式会社东芝 双重化控制系统及其控制方法
US9910754B2 (en) 2012-01-25 2018-03-06 Kabushiki Kaisha Toshiba Duplexed control system and control method thereof
CN105519050A (zh) * 2015-02-12 2016-04-20 富士电机株式会社 控制系统以及中继装置
CN105519050B (zh) * 2015-02-12 2018-09-04 富士电机株式会社 控制系统以及中继装置
JP2018056633A (ja) * 2016-09-26 2018-04-05 日本電気株式会社 クラスタシステム、サーバ、サーバの動作方法、及びプログラム
US10911295B2 (en) 2016-10-20 2021-02-02 Nec Corporation Server apparatus, cluster system, cluster control method and program
JP2021043855A (ja) * 2019-09-13 2021-03-18 ソフトバンク株式会社 監視システム、監視SaaS提供装置、管理装置、及びプログラム

Similar Documents

Publication Publication Date Title
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
US6658595B1 (en) Method and system for asymmetrically maintaining system operability
JP5281646B2 (ja) ネットワーク競合防止装置およびネットワーク競合防止方法
CA2611457C (en) Method and apparatus for facilitating device redundancy in a fault-tolerant system
KR20070026327A (ko) 액티브 라우팅 컴포넌트 장애 처리 방법 및 장치
US20040199804A1 (en) Method and apparatus for high availability distributed processing across independent networked computer fault groups
US8112518B2 (en) Redundant systems management frameworks for network environments
US7134046B2 (en) Method and apparatus for high availability distributed processing across independent networked computer fault groups
JP2006014310A (ja) 冗長接続サービスの提供方法および装置
JP5707355B2 (ja) ホットスタンバイ方式によるクライアントサーバシステム
JP2011203941A (ja) 情報処理装置、監視方法、および監視プログラム
JP2004171370A (ja) 冗長構成におけるクライアント/サーバ間のアドレス制御方式および方法
JP2008283608A (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
US8370897B1 (en) Configurable redundant security device failover
JP6134720B2 (ja) 接続方法
WO2005114961A1 (en) Distributed high availability system and method
JP2006338374A (ja) ネットワーク接続管理装置およびネットワーク接続管理方法
JP2013025765A (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
JP4378205B2 (ja) ブレード型ネットワーク中継装置
JP2009075710A (ja) 冗長化システム
JP4863984B2 (ja) 監視処理プログラム、方法及び装置
JP5691248B2 (ja) タスク引継プログラム、処理装置及びコンピュータ・システム
JP2016151965A (ja) 冗長構成システム及び冗長構成制御方法
JP7474168B2 (ja) 監視システムおよび障害監視方法
JP6112205B2 (ja) 情報処理システム、装置、方法及びプログラム