JP6866927B2 - クラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラム - Google Patents

クラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP6866927B2
JP6866927B2 JP2019540762A JP2019540762A JP6866927B2 JP 6866927 B2 JP6866927 B2 JP 6866927B2 JP 2019540762 A JP2019540762 A JP 2019540762A JP 2019540762 A JP2019540762 A JP 2019540762A JP 6866927 B2 JP6866927 B2 JP 6866927B2
Authority
JP
Japan
Prior art keywords
server device
server
monitoring
predetermined service
standby
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.)
Active
Application number
JP2019540762A
Other languages
English (en)
Other versions
JPWO2019049433A1 (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.)
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
Publication of JPWO2019049433A1 publication Critical patent/JPWO2019049433A1/ja
Application granted granted Critical
Publication of JP6866927B2 publication Critical patent/JP6866927B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • H04L41/5012Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Description

本発明はクラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体に関する。
システムの可用性を向上させるための技術として、HA(High Availability:高可用性)クラスタシステムがある。例えば、特許文献1は、クライアントからの処理要求に応答して処理業務を実行する運用系装置と、運用系装置が故障した場合にその処理業務を引き継ぐ待機系装置と、運用系装置と待機系装置とクライアントとを接続するLAN(Local Area Network)と、運用系装置と待機系装置の装置間を接続する連絡パスとを有するクラスタシステムについて開示している。
HAクラスタシステムでは、一般的に、業務サービスなどの所定のサービスを提供する現用系サーバと、障害が発生した際にサービスを引き継いで提供する待機系サーバが存在している。クラスタを構成する起動中の各サーバは、相互通信が可能かどうかについて相互に監視する。すなわち、ハートビートによる監視である。また、これ以外に、現用系サーバは、自サーバが正常にサービスを提供できている状態であるかどうかについて監視し、待機系サーバも、自サーバが正常にサービスを引き継げる状態であるかについて監視している。
特開平11−338725号公報
現用系サーバは、自サーバの監視においては、例えば、ディスク監視、NIC(Network Interface Card)監視、パブリックLAN監視、及び、特定のサービス向けの監視(HTTP(Hypertext Transfer Protocol)のプロトコル監視など)を組み合わせて、自サーバが適切にサービスを提供できているかを判断する。しかしながら、この判断はあくまで現用系サーバ自身による判断であるため、実際に外部クライアントに対してパブリックLAN経由でサービスを提供できていることを確実に保証できるわけではない。
本発明の目的は、上述した課題を鑑み、クライアントへの現用系サーバによるサービスの提供が適切に行われているか否かをより確実に判断することができるクラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体を提供することにある。
本発明の一態様にかかるクラスタシステムは、ネットワークを介してクライアント装置に所定のサービスを提供する現用系サーバ装置と、前記現用系サーバ装置に異常が発生した場合に、前記現用系サーバ装置に代って前記所定のサービスを前記クライアント装置に提供する待機系サーバ装置とを備え、前記待機系サーバ装置は、前記ネットワークを介して、前記現用系サーバ装置が提供する前記所定のサービスにアクセスし、正常にアクセスできるか否かについて監視する第1の監視手段を有し、前記現用系サーバ装置は、前記現用系サーバ装置が提供する前記所定のサービスに正常にアクセスできないと前記待機系サーバ装置の前記第1の監視手段によって判定された場合、フェイルオーバーを実施するクラスタ制御手段を有する。
本発明の一態様にかかるクラスタシステムの制御方法では、現用系サーバ装置が、ネットワークを介してクライアント装置に所定のサービスを提供し、前記現用系サーバとともにクラスタシステムを構成する待機系サーバ装置が、前記ネットワークを介して、前記現用系サーバ装置が提供する前記所定のサービスにアクセスし、正常にアクセスできるか否かについて監視し、前記現用系サーバ装置が、前記現用系サーバ装置が提供する前記所定のサービスに正常にアクセスできないと前記待機系サーバ装置によって判定された場合、フェイルオーバーを実施する。
本発明の一態様にかかるサーバ装置は、ネットワークを介してクライアント装置に所定のサービスを提供するサービス提供手段と、前記サービス提供手段が提供する前記所定のサービスに前記ネットワークを介してアクセスし正常にアクセスできるか否かについて監視する待機系サーバ装置が送信した監視結果を取得して、前記監視結果が前記待機系サーバ装置から前記所定のサービスに正常にアクセスできないことを示す場合、フェイルオーバーを実施するクラスタ制御手段とを有し、前記待機系サーバ装置は、フェイルオーバーが実施された場合に、前記所定のサービスの前記クライアント装置への提供を引き継ぐ装置である。
また、本発明の一態様にかかる制御方法では、ネットワークを介してクライアント装置に所定のサービスを提供し、前記所定のサービスに前記ネットワークを介してアクセスし正常にアクセスできるか否かについて監視する待機系サーバ装置が送信した監視結果を取得して、前記監視結果が前記待機系サーバ装置から前記所定のサービスに正常にアクセスできないことを示す場合、フェイルオーバーを実施し、前記待機系サーバ装置は、フェイルオーバーが実施された場合に、前記所定のサービスの前記クライアント装置への提供を引き継ぐ装置である。
本発明の一態様にかかるプログラムは、ネットワークを介してクライアント装置に所定のサービスを提供するサービス提供ステップと、前記サービス提供ステップの処理により提供される前記所定のサービスに前記ネットワークを介してアクセスし正常にアクセスできるか否かについて監視する待機系サーバ装置が送信した監視結果を取得して、前記監視結果が前記待機系サーバ装置から前記所定のサービスに正常にアクセスできないことを示す場合、フェイルオーバーを実施するクラスタ制御ステップとをコンピュータに実行させ、前記待機系サーバ装置は、フェイルオーバーが実施された場合に、前記所定のサービスの前記クライアント装置への提供を引き継ぐ装置である。
本発明によれば、クライアントへの現用系サーバによるサービスの提供が適切に行われているか否かをより確実に判断することができるクラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体を提供することができる。
実施の形態の概要にかかるクラスタシステムの構成の一例を示すブロック図である。 実施の形態にかかるクラスタシステムの機能構成の一例を示すブロック図である。 実施の形態にかかるクラスタシステムを構成する各サーバのハードウェア構成の一例を示すブロック図である。 クラスタシステムにおける業務サービスの提供開始時の動作例を示すシーケンスチャートである。 待機系のサーバで業務サービスの異常を検出した場合のクラスタシステムの動作例を示すシーケンスチャートである。 クラスタシステムにおいて、1台の待機系のサーバにおいて、異常が発生した場合の動作例を示すシーケンスチャートである。 クラスタシステムにおいて、全ての待機系のサーバにおいて、異常が発生した場合の動作例を示すシーケンスチャートである。 実施の形態にかかるサーバ装置の構成の一例を示すブロック図である。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
<実施の形態の概要>
実施の形態の説明に先立って、本発明にかかる実施の形態の概要を説明する。図1は、実施の形態の概要にかかるクラスタシステム1の構成の一例を示すブロック図である。図1に示すように、クラスタシステム1は、現用系サーバ2と、待機系サーバ3と、ネットワーク4とを有する。
現用系サーバ2は、ネットワーク4を介してクライアント装置(図示せず)に所定のサービスを提供するサーバ装置である。すなわち、クライアント装置は、ネットワーク4を介して現用系サーバ2が提供する所定のサービスにアクセスする。
待機系サーバ3は、現用系サーバ2に異常が発生した場合に、現用系サーバ2に代って所定のサービスをクライアント装置に提供するサーバ装置である。
また、待機系サーバ3は、監視部6(監視手段)を有し、現用系サーバ2は、クラスタ制御部5(クラスタ制御手段)を有する。監視部6は、ネットワーク4を介して、現用系サーバ2が提供する所定のサービスにアクセスし、正常にアクセスできるか否かについて監視する。すなわち、監視部6は、クライアント装置と同様、ネットワーク4を介して現用系サーバ2にアクセスする。クラスタ制御部5は、現用系サーバ2が提供する所定のサービスに正常にアクセスできないと待機系サーバ3の監視部6によって判定された場合、フェイルオーバーを実施する。クラスタ制御部5は、例えば、所定サービスの提供を待機系サーバ3が引き継ぐようフェイルオーバーの処理を実施する。
一般的に、現用系サーバ自身がサービスについて監視する場合、ループバックアドレスが使用される。このため、サーバ内に閉じた通信処理による監視となってしまう。そのため、実際にクライアント装置が用いるネットワーク経由で特定のポート番号に対して通信してサービスにアクセスできるか否かを確認することができない。また、サーバに接続するネットワーク機器に対するping(ICMP(Internet Control Message Protocol))による疎通確認は可能であるが、外部のネットワーク機器の故障、OS(Operating System)のバグ、ファイアウォールの設定ミスなどによって特定のポート番号で外部通信ができない場合は異常を検出することが困難である。このため、クライアント装置にサービスを提供できることを確実に判断することができない。また、サービスを監視する運用管理ソフトウェア及び運用管理サーバを導入することでより確実な判断を期待することもできるが、これらの導入及び運用コストがかかる。
これに対し、クラスタシステム1では、待機系サーバ3が、クライアント装置がアクセスに用いるのと同じネットワーク4経由で現用系サーバ2が提供するサービスにアクセスし、これにより現用系サーバ2によるサービス提供を監視する。したがって、実際にサービスの提供を受けるクライアント装置と同様のアクセスによりサービス提供について監視できる。
このため、クラスタシステム1によれば、クライアント装置への現用系サーバによるサービスの提供が適切に行われているか否かをより確実に判断することができる。また、待機系サーバ3を用いた監視であるため、サービスを監視するための運用管理サーバを新たに用意することやサービス監視用の運用管理ソフトウェアを新たに導入する必要なくなり、導入及び運用のコストを抑えることが可能となる。
<実施の形態1>
以下、本発明の実施の形態について説明する。図2は、実施の形態にかかるクラスタシステム10の機能構成の一例を示すブロック図である。また、図3は、クラスタシステム10を構成する各サーバのハードウェア構成の一例を示すブロック図である。
図2に示すように本実施の形態にかかるクラスタシステム10は、現用系サーバ100Aと、待機系サーバ100Bと、待機系サーバ100Cと、ネットワーク200と、ネットワーク300とを有する。現用系サーバ100Aと待機系サーバ100B、100Cは、それぞれクラスタウェア110A、110B、110Cを有しており、ネットワーク200及び300によって相互通信することで、HAクラスタシステムを構成している。以下の説明において、クラスタシステム10を構成するサーバについて、特に区別せずに言及する場合、サーバ100と称すことがある。
現用系サーバ100Aは、図1の現用系サーバ2に対応しており、ネットワーク200を介してクライアントに業務サービスを提供するサーバである。また、待機系サーバ100B、100Cは、図1の待機系サーバ3に対応しており、現用系サーバ100Aに異常が発生した場合に、現用系サーバ100Aに代って業務サービスをクライアントに提供するサーバである。すなわち、待機系サーバ100B、100Cは、フェイルオーバーが実施された場合に、業務サービスのクライアントへの提供を引き継ぐ装置である。
現用系サーバ100Aは、図2に示すように、業務サービス提供部120Aと、クラスタウェア110Aとを有する。また、クラスタウェア110Aは、業務サービス制御部111Aと、他サーバ監視部112Aと、自サーバ監視部113Aと、クラスタ制御部114Aとを有する。待機系サーバ100B、100Cは、現用系サーバ100Aと同様の構成を備える。すなわち、待機系サーバ100Bは、業務サービス提供部120Bと、業務サービス制御部111B、他サーバ監視部112B、自サーバ監視部113B、及びクラスタ制御部114Bを含むクラスタウェア110Bとを有する。また、待機系サーバ100Cは、業務サービス提供部120Cと、業務サービス制御部111C、他サーバ監視部112C、自サーバ監視部113C、及びクラスタ制御部114Cを含むクラスタウェア110Cとを有する。
なお、業務サービス提供部120A、120B、120Cについて、特に区別せずに言及する場合、業務サービス提供部120と称すことがある。クラスタウェア110A、110B、110Cについて、特に区別せずに言及する場合、クラスタウェア110と称すことがある。業務サービス制御部111A、111B、111Cについて、特に区別せずに言及する場合、業務サービス制御部111と称すことがある。他サーバ監視部112A、112B、112Cについて、特に区別せずに言及する場合、他サーバ監視部112と称すことがある。自サーバ監視部113A、113B、113Cについて、特に区別せずに言及する場合、自サーバ監視部113と称すことがある。クラスタ制御部114A、114B、114Cについて、特に区別せずに言及する場合、クラスタ制御部114と称すことがある。
ここで、図3を参照して、各サーバ100のハードウェア構成の一例を示す。サーバ100は、ネットワークインタフェース151、メモリ152、及びプロセッサ153を含む。
ネットワークインタフェース151は、ネットワーク200又はネットワーク300を介して他の装置と通信するために使用される。ネットワークインタフェース151は、例えば、ネットワークインタフェースカード(NIC)を含んでもよい。
メモリ152は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ152は、プロセッサ153から離れて配置されたストレージを含んでもよい。この場合、プロセッサ153は、図示されていない入出力インタフェースを介してメモリ152にアクセスしてもよい。
メモリ152は、プロセッサ153により実行されるソフトウェア(コンピュータプログラム)などを格納するために使用される。
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、Compact Disc Read Only Memory(CD-ROM)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、Programmable ROM(PROM)、Erasable PROM(EPROM)、フラッシュROM、Random Access Memory(RAM))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
プロセッサ153は、メモリ152からコンピュータプログラムを読み出して実行することで、業務サービス提供部120の処理、クラスタウェア110の処理、及びその他の処理を行う。プロセッサ153は、例えば、マイクロプロセッサ、MPU、又はCPUであってもよい。プロセッサ153は、複数のプロセッサを含んでもよい。
ネットワーク200は、パブリックLANであり、各サーバ100の相互通信の他、外部のクライアントとの通信に用いられるネットワークである。すなわち、ネットワーク200は、外部クライアントに対して業務サービスを提供するためのネットワーク経路として用いられる。
ネットワーク300は、インタコネクトLANであり、各サーバ100の相互通信に用いられるものの、外部クライアントとの通信には用いられない。業務サービスへの影響を避けることやセキュリティを考慮し、ネットワーク300は、クラスタシステム10内の専用の回線として用いられる。ネットワーク300は、クラスタシステム10における内部通信(処理要求、各サーバ100間のハートビート(死活監視)、業務データの同期等)で使用される。
このように、ネットワーク200は、現用系のサーバ100と待機系のサーバ100の相互間で死活監視を行うために用いられるネットワーク300とは別のネットワークである。
次に、図2示した各サーバ100の構成について説明する。
業務サービス提供部120は、ネットワーク200を介するアクセスを受け、所定の業務サービスを提供する。すなわち、業務サービス提供部120(サービス提供手段)は、ネットワーク200を介してクライアント装置に所定のサービスを提供する。なお、業務サービス提供部120は、現用系のサーバ100において動作するモジュールである。したがって、現用系サーバ100Aにおける業務サービス制御部111Aは動作しているが、待機系サーバ100B、100Cにおける業務サービス制御部111B、111Cは動作していない。
クラスタ制御部114は、図1のクラスタ制御部5と対応しており、他のサーバのクラスタ制御部114と協働し、クラスタシステム10の可用性を実現するための種々の制御を実施する。クラスタ制御部114は、ハートビートによる他のサーバ100の死活監視、及びフェイルオーバの実施などを行う。また、クラスタ制御部114は、他サーバ監視部112による監視結果を他のサーバ100に通知し、各サーバ100間での監視結果の同期を実現する。なお、各サーバ100に同期された業務サービスの監視結果は、業務サービスが正常であるかの判断や各サーバ100のクラスタ管理GUI(Graphical User Interface)の表示情報として利用される。クラスタ制御部114のその他の処理内容については、クラスタシステム10の動作とともに後述する。
業務サービス制御部111は、業務サービス提供部120の起動及び停止を制御する。本実施の形態では、業務サービス制御部111は、クラスタ制御部114からの起動要求に応じて、業務サービス提供部120を起動するよう制御し、クラスタ制御部114からの停止要求に応じて、業務サービス提供部120を停止するよう制御する。すなわち、例えば、業務サービス制御部111Aは、クラスタ制御部114Aからの起動要求に応じて、業務サービス提供部120Aを起動するよう制御し、クラスタ制御部114Aからの停止要求に応じて、業務サービス提供部120Aを停止するよう制御する。
自サーバ監視部113(監視手段)は、自サーバのディスクやNIC等の状態を監視する。自サーバ監視部113は、監視により障害を検出した場合、クラスタ制御部114に対して異常を通知する。すなわち、例えば、自サーバ監視部113Aは、現用系サーバ100A自身の稼働状態を監視し、クラスタ制御部114Aに監視結果を通知する。同様に、例えば、自サーバ監視部113Bは、待機系サーバ100B自身の稼働状態を監視し、クラスタ制御部114Bに監視結果を通知する。
他サーバ監視部112(監視手段)は、図1の監視部6と対応しており、ネットワーク200を介して、現用系のサーバ100の業務サービス提供部120が提供する所定のサービスにアクセスし、正常にアクセスできるか否かについて監視する。すなわち、例えば、他サーバ監視部112Bは、業務サービス提供部120Aが提供する所定のサービスにアクセスし、正常にアクセスできるか否かについて監視する。なお、他サーバ監視部112は、待機系のサーバ100において動作するモジュールである。したがって、待機系サーバ100B、100Cにおける他サーバ監視部112B、112Cは動作しているが、現用系サーバ100Aにおける他サーバ監視部112は動作していない。つまり、待機系サーバ100B、100Cは、他サーバ監視部112B、112Cによって、ネットワーク200経由で現用系サーバ100Aが提供する業務サービスにアクセスできるかどうかを監視する。なお、本実施の形態では、他サーバ監視部112は、定期的に、監視を行う。他サーバ監視部112は、監視結果をクラスタ制御部114に通知する。すなわち、例えば、他サーバ監視部112Bは、監視結果をクラスタ制御部114Bに通知する。
他サーバ監視部112は、現用系のサーバ100で提供される業務サービスのプロトコル(FTP、HTTP、IMAP4、POP3、SMTPなど)に応じた監視処理を行う。また、他サーバ監視部112は、実際の外部クライアントと同等のアクセスを行うため、上述の通りネットワーク200を経由した監視処理を行う。ここで、他サーバ監視部112による監視処理の具体例について説明する。
提供される業務サービスがFTP(File Transfer Protocol)を用いたサービスである場合、すなわち現用系サーバ100AがFTPサーバとして機能する場合、他サーバ監視部112は、監視対象のFTPサーバに接続し、ユーザー認証処理を行う。その後、他サーバ監視部112は、FTPサーバのファイル一覧の取得を行う。他サーバ監視部112は、これらの処理が全て正常だったことをもって、サービス提供が正常に行われていると判断する。
提供される業務サービスがHTTPを用いたサービスである場合、すなわち現用系サーバ100AがHTTPサーバとして機能する場合、他サーバ監視部112は、監視対象のHTTPサーバに対してHTTPリクエストを送信し、HTTPサーバからのHTTPレスポンスの処理結果が正常だったことをもって、サービス提供が正常に行われていると判断する。
提供される業務サービスがIMAP4(Internet Message Access Protocol 4)を用いたサービスである場合、すなわち現用系サーバ100AがIMAPサーバとして機能する場合、他サーバ監視部112は、監視対象のIMAPサーバに接続し、ユーザー認証処理を行う。その後、他サーバ監視部112は、NOOPコマンドを実行する。他サーバ監視部112は、これらの処理が全て正常だったことをもって、サービス提供が正常に行われていると判断する。
提供される業務サービスがPOP3(Post Office Protocol 3)を用いたサービスである場合、すなわち現用系サーバ100AがPOP3サーバとして機能する場合、他サーバ監視部112は、監視対象のPOP3サーバに接続し、ユーザー認証処理を行う。その後、他サーバ監視部112は、NOOPコマンドを実行する。他サーバ監視部112は、これらの処理が全て正常だったことをもって、サービス提供が正常に行われていると判断する。
提供される業務サービスがSMTP(Simple Mail Transfer Protocol)を用いたサービスである場合、すなわち現用系サーバ100AがSMTPサーバとして機能する場合、他サーバ監視部112は、監視対象のSMTPサーバに接続し、ユーザー認証処理を行う。その後、他サーバ監視部112は、NOOPコマンドを実行する。他サーバ監視部112は、これらの処理が全て正常だったことをもって、サービス提供が正常に行われていると判断する。
なお、システム環境に合わせて最適な監視を実現できるように、他サーバ監視部112による監視において異常を判断するための閾値として、タイムアウト時間又はリトライ回数が設けられてもよい。例えば、他サーバ監視部112は、予め定められたタイムアウト時間内に業務サービスに正常にアクセスできない場合に現用系のサーバ100によるサービス提供が正常に行われていないと判断してもよい。また、他サーバ監視部112は、予め定められたリトライ回数以内に業務サービスに正常にアクセスできない場合に現用系のサーバ100によるサービス提供が正常に行われていないと判断してもよい。
クラスタシステム10では、上述のような構成により、例えば次のような動作が行われる。現用系サーバ100Aでは、クラスタ制御部114Aの要求により業務サービス制御部111Aの制御の下、業務サービス提供部120Aが起動される。これにより、業務サービス提供部120Aは、外部クライアントに対してネットワーク200経由で業務サービスを提供する。また、現用系サーバ100Aでは、自サーバ監視部113が、現用系サーバ100A自身の稼働状態を監視し、障害が発生していた場合は、クラスタ制御部114Aに対して異常を通知する。異常の通知を受けたクラスタ制御部114Aは、業務サービス制御部111Aに業務サービスの停止を要求することで、業務サービス提供部120Aの動作を停止する。その後、クラスタ制御部114Aは待機系サーバ100Bのクラスタ制御部114Bに業務サービス提供部120Bの起動を要求し、待機系サーバ100Bから業務サービスを提供可能とすることでフェイルオーバーを行う。
また、待機系サーバ100B、100Cでは、自サーバ監視部113B、113Cによって、自サーバの稼働状態を監視する。また、他サーバ監視部112B、112Cが、ネットワーク200経由で現用系サーバ100Aが提供する業務サービスにアクセスできるかどうかを監視する。クラスタ制御部114B、114Cは、他サーバ監視部112による監視結果を現用系サーバ100Aのクラスタ制御部114Aに通知する。クラスタ制御部114Aは、待機系サーバ100B、100Cの両方において、現用系サーバ100Aの業務サービスにアクセスできないという監視結果が得られた場合、現用系サーバ100Aで障害が発生していると判断し、業務サービスのフェイルオーバーを行う。
このように、本実施の形態では、クラスタ制御部114Aは、複数の待機系のサーバ100の他サーバ監視部112によって、現用系サーバ100Aが提供する所定のサービスに正常にアクセスできないと判定された場合に、フェイルオーバーを実施する。より詳細には、クラスタ制御部114Aは、複数の待機系のサーバ100のうち所定の割合以上の数の待機系のサーバ100の他サーバ監視部112によって、現用系サーバ100Aが提供する所定のサービスに正常にアクセスできないと判定された場合に、フェイルオーバーを実施する。なお、本実施の形態では、具体的には、複数の待機系のサーバ100のうち過半数の待機系のサーバ100の他サーバ監視部112によって、サービスに正常にアクセスできないと判定された場合に、現用系サーバ100Aのクラスタ制御部114Aは、フェイルオーバーを実施する。このように本実施の形態では、クラスタシステム10では、複数の待機系のサーバ100の他サーバ監視部112の監視結果を統合して、フェイルオーバーを実施するか否かが判定される。したがって、待機系のサーバ100の故障に起因した他サーバ監視部112の誤検知に基づくフェイルオーバーの発生が抑止される。
次に、シーケンスチャートを用いて、クラスタシステム10の具体的な動作例について説明する。図4は、クラスタシステム10における業務サービスの提供開始時の動作例を示すシーケンスチャートである。以下、図4に沿って、クラスタシステム10の動作を説明する。
ステップ101(S101)において、クラスタ制御部114Aが、業務サービス制御部111Aに業務サービス提供部120Aの起動を要求する。このため、ステップ102(S102)において、業務サービス制御部111Aは、業務サービス提供部120Aを起動する。
業務サービスが利用可能な状態になると、ステップ103(S103)において、現用系サーバ100Aで提供が開始された業務サービスについての定期監視処理の開始を、クラスタ制御部114Aがクラスタ制御部114Bに要求する。このため、ステップ104(S104)において、クラスタ制御部114Bは、他サーバ監視部112Bに現用系サーバ100Aで提供が開始された業務サービスの定期監視処理の開始を要求する。
次に、ステップ105(S105)において、現用系サーバ100Aで提供が開始された業務サービスについての定期監視処理の開始を、クラスタ制御部114Aがクラスタ制御部114Cに要求する。このため、ステップ106(S106)において、クラスタ制御部114Cは、他サーバ監視部112Cに現用系サーバ100Aで提供が開始された業務サービスの定期監視処理の開始を要求する。
次に、ステップ107(S107)において、他サーバ監視部112Bが、業務サービスの定期監視処理を実施する。他サーバ監視部112Bは、ネットワーク200経由で、実際に業務サービスにアクセスし、利用可能であるかどうかの確認を行う。なお、ここでは、正常にアクセスできる(すなわち、業務サービスを正常に利用可能である)と判定されたとする。
ステップ108(S108)において、他サーバ監視部112Bは、クラスタ制御部114Bにステップ107で実施した監視結果(正常)を通知する。
ステップ109(S109)において、クラスタ制御部114Bは、他の各サーバ100にステップ108で通知された監視結果(正常)を通知し、監視結果についての同期を行う。
次に、ステップ110(S110)において、クラスタ制御部114Aは、同期された監視結果を確認し、フェイルオーバーが必要かどうかを判断する。ここではクラスタ制御部114Aは、フェイルオーバーは不要と判断する。
次に、ステップ111(S111)において、他サーバ監視部112Cが、他サーバ監視部112Bと同様に、業務サービスの定期監視処理を実施する。なお、ここでは、正常にアクセスできる(すなわち、業務サービスを正常に利用可能である)と判定されたとする。
ステップ112(S112)において、他サーバ監視部112Cは、クラスタ制御部114Cにステップ111で実施した監視結果(正常)を通知する。
ステップ113(S113)において、クラスタ制御部114Cは、他の各サーバ100にステップ112で通知された監視結果(正常)を通知し、監視結果についての同期を行う。
次に、ステップ114(S114)において、クラスタ制御部114Aは、同期された監視結果を確認し、フェイルオーバーが必要かどうかを判断する。ここではクラスタ制御部114Aは、フェイルオーバーは不要と判断する。
図5は、待機系のサーバ100で業務サービスの異常を検出した場合のクラスタシステム10の動作例を示すシーケンスチャートである。以下、図5に沿って、他サーバ監視部112が異常を検出した場合のクラスタシステム10の動作について説明する。
ステップ201(S201)において、業務サービス提供部120Aが提供する業務サービスに障害が発生し、外部クライアントから業務サービスが利用不能な状態となる。
ステップ202(S202)において、他サーバ監視部112Bが、図4のステップ107と同様、業務サービスの定期監視処理を実施する。ステップ202において、他サーバ監視部112は、正常にアクセスできない(すなわち、業務サービスを正常に利用できない)と判定する。
ステップ203(S203)において、他サーバ監視部112Bは、クラスタ制御部114Bにステップ202で実施した監視結果(異常)を通知する。
ステップ204(S204)において、クラスタ制御部114Bは、他の各サーバ100にステップ203で通知された監視結果(異常)を通知し、監視結果についての同期を行う。
次に、ステップ205(S205)において、クラスタ制御部114Aは、同期された監視結果を確認し、フェイルオーバーが必要かどうかを判断する。現時点では、異常を検出した待機系のサーバ100は1台であり、待機系のサーバ100の総数の過半数を下回っているため、クラスタ制御部114Aは、フェイルオーバーは不要と判断する。
ステップ206(S206)において、他サーバ監視部112Cが、図4のステップ111と同様、業務サービスの定期監視処理を実施する。ステップ206において、他サーバ監視部112は、正常にアクセスできない(すなわち、業務サービスを正常に利用できない)と判定する。
ステップ207(S207)において、他サーバ監視部112Cは、クラスタ制御部114Cにステップ206で実施した監視結果(異常)を通知する。
ステップ208(S208)において、クラスタ制御部114Cは、他の各サーバ100にステップ207で通知された監視結果(異常)を通知し、監視結果についての同期を行う。
次に、ステップ209(S209)において、クラスタ制御部114Aは、同期された監視結果を確認し、フェイルオーバーが必要かどうかを判断する。異常を検出した待機系のサーバ100は2台であり、待機系のサーバ100の総数の過半数を上回っているため、クラスタ制御部114Aは、フェイルオーバーを開始する。具体的には、フェイルオーバー処理として以下の処理が行われる。
ステップ210(S210)において、クラスタ制御部114Aは、クラスタ制御部114Bに業務サービスの定期監視処理の終了を要求する。このため、ステップ211(S211)において、クラスタ制御部114Bは、他サーバ監視部112Bに業務サービスの定期監視処理の終了を要求する。
また、ステップ212(S212)において、クラスタ制御部114Aは、クラスタ制御部114Cに業務サービスの定期監視処理の終了を要求する。このため、ステップ213(S213)において、クラスタ制御部114Cは、他サーバ監視部112Cに業務サービスの定期監視処理の終了を要求する。
次に、ステップ214(S214)において、クラスタ制御部114Aは、業務サービス制御部111Aに業務サービスの提供の停止を要求する。このため、ステップ215(S215)において、業務サービス制御部111Aは、業務サービス提供部120Aの処理を停止させる。以降、いずれかの待機系のサーバ100で起動処理が行われ、フェイルオーバーが完了する。すなわち、待機系のサーバ100において、業務サービスの提供が引き継がれる。
以上、実施の形態1について説明した。本実施の形態では、上述の通り、現用系サーバ100Aのクラスタ制御部114Aは、業務サービス提供部120Aが提供する所定のサービスにネットワーク200を介してアクセスし正常にアクセスできるか否かについて監視する待機系サーバ100B、100Cが送信した監視結果を取得する。そして、クラスタ制御部114Aは、取得した監視結果が待機系のサーバ100から所定のサービスに正常にアクセスできないことを示す場合、フェイルオーバーを実施する。したがって、実際にサービスの提供を受けるクライアントと同様のアクセスによりサービス提供についての監視が行われる。このため、実施の形態1にかかるクラスタシステム10によれば、クライアントへの現用系サーバ100Aによるサービスの提供が適切に行われているか否かをより確実に判断することができる。また、待機系サーバ100B、100Cを用いた監視であるため、サービスを監視するための運用管理サーバを新たに用意したり、サービス監視用の運用管理ソフトウェアを新たに導入したりする必要がない。
また、本実施の形態では、複数の待機系のサーバ100のうち過半数の待機系のサーバ100の他サーバ監視部112によって、サービスに正常にアクセスできないと判定された場合に、現用系サーバ100Aのクラスタ制御部114Aは、フェイルオーバーを実施する。このため、待機系のサーバ100の故障や待機系のサーバ100と接続するネットワーク機器の故障などによって、他サーバ監視部112の監視が正常に行われない場合の誤検知による影響を抑制することができる。
<実施の形態2>
次に、実施の形態2について、実施の形態1と異なる点を説明する。実施の形態1では、クラスタ制御部114Aは、クラスタシステム10を構成する全ての待機系のサーバ100のうち所定の割合以上の数の待機系のサーバ100の他サーバ監視部112によって、現用系サーバ100Aが提供する所定のサービスに正常にアクセスできないと判定された場合に、フェイルオーバーを実施した。すなわち、実施の形態1では、待機系のサーバ100が正常に稼働しているか否かに関わらず、待機系のサーバ100の他サーバ監視部112の監視結果をフェイルオーバーの実施についての判断に用いた。
これに対し、本実施の形態では、現用系サーバ100Aのクラスタ制御部114Aは、自サーバ監視部113により異常が検知されていない複数の待機系のサーバ100のうち所定の割合以上の数の待機系のサーバ100の他サーバ監視部112によって、現用系サーバ100Aが提供する所定のサービスに正常にアクセスできないと判定された場合に、フェイルオーバーを実施する。すなわち、本実施の形態では、待機系のサーバ100の自サーバ監視部113によって自サーバの異常が検知されている場合は、そのサーバ100の他サーバ監視部112の監視結果は、多数決の際の件数には含めない。
また、本実施の形態では、現用系サーバ100Aのクラスタ制御部114Aは、自サーバ監視部113により異常が検知されていない待機系のサーバ100が存在しない場合、現用系サーバ100Aの自サーバ監視部113Aによる監視結果に基づいて、フェイルオーバーを実施するか否かを決定する。すなわち、本実施の形態では、自サーバ監視部113により正常に動作していると判定される待機系のサーバ100が存在していない場合、言い換えると、他サーバ監視部112が正常に動作している待機系のサーバ100が存在していない場合、現用系サーバ100Aのクラスタ制御部114Aは、自サーバ監視部113Aの監視結果によって、業務サービスが正常に提供されているか否かを判定する。現用系サーバ100Aの自サーバ監視部113Aは、例えば、ループバックアドレスを用いて、業務サービス制御部111Aが提供するサービスにアクセスすることで、業務サービスについての監視処理を行う。
シーケンスチャートを用いて、実施の形態2にかかるクラスタシステム10の具体的な動作例について説明する。図6は、実施の形態2にかかるクラスタシステム10において、1台の待機系のサーバ100において、異常が発生した場合の動作例を示すシーケンスチャートである。以下、図6に沿って、クラスタシステム10の動作を説明する。なお、図6に示した例では、クラスタシステム10を構成する2台の待機系のサーバ100のうち、待機系サーバ100Bにおいて異常が発生した場合を示している。また、図6に示すシーケンスチャートは、例えば、図4に示したシーケンスチャートに続くシーケンスチャートである。
ステップ301(S301)において、待機系サーバ100Bで障害が発生し、待機系サーバ100Bの自サーバ監視部113Bの監視処理で障害が検知される。
ステップ302(S302)において、自サーバ監視部113Bは、クラスタ制御部114Bにステップ301で実施した監視結果(異常)を通知する。
ステップ303(S303)において、クラスタ制御部114Bは、他の各サーバ100にステップ302で通知された監視結果(異常)を通知し、監視結果についての同期を行う。
次に、ステップ304(S304)において、クラスタ制御部114Aは、同期された監視結果を確認する。同期された監視結果が待機系サーバ100Bの異常を示すため、クラスタ制御部114Aは、待機系サーバ100Bの他サーバ監視部112Bによる監視結果についてフェイルオーバーの判定から除外することを示すフラグ(除外フラグ)を立てる。
待機系サーバ100Bの除外フラグを立てたことにより、フェイルオーバーの実施が必要かどうかの判断が変わる可能性があるため、ステップ305(S305)において、クラスタ制御部114Aは、待機系のサーバ100の他サーバ監視部112の監視結果を再確認する。なお、この時点において、いずれの待機系のサーバ100の他サーバ監視部112も、異常を検知していないものとする。この場合、クラスタ制御部114Aは、フェイルオーバーは不要と判断する。
一方、待機系サーバ100Bのクラスタ制御部114Bは、ステップ306(S306)において、他サーバ監視部112Bの監視処理を一時停止する。ここで一時停止した他サーバ監視部112Bの監視処理は、待機系サーバ100Bの状態が正常に戻るまで再開しない。
上述の通り、クラスタ制御部114Aは、待機系のサーバ100から当該サーバ100の異常の発生が通知されると、除外フラグを立てる。実施の形態2では、クラスタ制御部114Aは、クラスタシステム10を構成する待機系のサーバ100のうち、除外フラグが立てられていない待機系のサーバ100の他サーバ監視部112の監視結果を用いて、フェイルオーバーの実施についての判定を行う。すなわち、クラスタシステム10を構成する待機系のサーバ100の台数がN(Nは1以上の整数)であり、このうち、除外フラグが立てられていない待機系のサーバ100の台数がn(nは1以上N以下の整数)であるとする。また、このn台の待機系のサーバ100のうち、他サーバ監視部112が異常を検出したサーバの台数をn(nは1以上n以下の整数)であるとする。この場合、クラスタ制御部114Aは、n/nが所定の割合以上である場合(例えば、nがnの過半数である場合)、フェイルオーバーを実施する。
このように、本実施の形態では、待機系のサーバ100の自サーバ監視部113によって自サーバの異常が検知されている場合は、そのサーバ100の他サーバ監視部112の監視結果を、フェイルオーバーの実施の判定には考慮しない。このため、異常が発生した待機系のサーバ100の他サーバ監視部112による誤った監視結果による、フェイルオーバーの実施の判定への影響を抑制できる。
図7は、実施の形態2にかかるクラスタシステム10において、全ての待機系のサーバ100において、異常が発生した場合の動作例を示すシーケンスチャートである。なお、図7に示すシーケンスチャートは、図6に示したシーケンスチャートに続くシーケンスチャートである。すなわち、図7に示すシーケンスチャートは、待機系サーバ100Bにおいて既に障害が発生している状況におけるシーケンスチャートである。以下、図7に沿って、クラスタシステム10の動作を説明する。
ステップ401(S401)において、待機系サーバ100Cで障害が発生し、待機系サーバ100Cの自サーバ監視部113Cの監視処理で障害が検知される。
ステップ402(S402)において、自サーバ監視部113Cは、クラスタ制御部114Cにステップ401で実施した監視結果(異常)を通知する。
ステップ403(S403)において、クラスタ制御部114Cは、他の各サーバ100にステップ402で通知された監視結果(異常)を通知し、監視結果についての同期を行う。
次に、ステップ404(S404)において、クラスタ制御部114Aは、同期された監視結果を確認する。同期された監視結果が待機系サーバ100Cの異常を示すため、クラスタ制御部114Aは、待機系サーバ100Cの他サーバ監視部112Cによる監視結果についてフェイルオーバーの判定から除外することを示すフラグ(除外フラグ)を立てる。
次に、ステップ405(S405)において、全ての待機系のサーバ100が異常となったため、クラスタ制御部114Aは、現用系サーバ100Aの自サーバ監視部113Aによる業務サービスの監視に切り替える。このため、クラスタ制御部114Aは、現用系サーバ100Aの自サーバ監視部113Aに業務サービスの監視開始を要求する。クラスタ制御部114Aは、いずれかの待機系のサーバ100が正常になるまで、自サーバ監視部113Aによる監視結果に基づいてフェイルオーバーの必要性を判定する。
一方、待機系サーバ100Cのクラスタ制御部114Cは、ステップ406(S406)において、他サーバ監視部112Cの監視処理を一時停止する。ここで一時停止した他サーバ監視部112Cの監視処理は、待機系サーバ100Cの状態が正常に戻るまで再開しない。
このように、本実施の形態では、正常な待機系のサーバ100が存在しない場合、現用系のサーバ100の自サーバ監視部113の監視結果によりフェイルオーバーの実施の判定ができる。このため、待機系のサーバ100の他サーバ監視部112の監視結果を用いることができない状況においても、フェイルオーバーの実施の必要性を判定できる。
以上、実施の形態について述べたが、図8に示すような構成を有するサーバ装置によっても、クライアントへのサービスの提供が適切に行われているか否かを確実に判断することができる。図8に示すサーバ装置7は、サービス提供部8(サービス提供手段)と、クラスタ制御部9(クラスタ制御手段)とを有する。なお、サーバ装置7は、待機系サーバ装置とともにクラスタシステムを構成している。
サービス提供部8は、上述の実施の形態の業務サービス提供部120に相当している。サービス提供部8は、ネットワークを介してクライアント装置に所定のサービスを提供する。
クラスタ制御部9は、上述の実施の形態のクラスタ制御部114に相当している。クラスタ制御部9は、待機系サーバ装置が送信した監視結果を取得して、監視結果が待機系サーバ装置から所定のサービスに正常にアクセスできないことを示す場合、フェイルオーバーを実施する。ここで、待機系サーバ装置は、フェイルオーバーが実施された場合に、所定のサービスのクライアント装置への提供を引き継ぐ装置であり、サービス提供部8が提供する所定のサービスに上記ネットワークを介してアクセスし正常にアクセスできるか否かについて監視する。
このように、サーバ装置7は、待機系サーバ装置によるアクセスに基づくサービスの監視結果を取得し、フェイルオーバーの実施についての判断を行う。このため、サーバ装置7によれば、クライアントへのサービスの提供が適切に行われているか否かをより確実に判断することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記実施の形態では、3つのサーバ100によりHAクラスタシステムが構成されているが、クラスタシステム10は、現用系のサーバ100と待機系のサーバ100とを有すればよく、サーバの台数は任意である。また、サーバ100が現用系又は待機系のいずれか一つのサーバとして動作するクラスタ構成である片方向スタンバイ型のみではなく、サーバ100が現用系かつ待機系のサーバとして動作するクラスタ構成である双方向スタンバイ型によりクラスタシステム10を構成することも可能である。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2017年9月6日に出願された日本出願特願2017−171129を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1、10 クラスタシステム
2、100A 現用系サーバ
3、100B、100C 待機系サーバ
4、200、300 ネットワーク
5、9、114、114A、114B、114C クラスタ制御部
6 監視部
7 サーバ装置
8 サービス提供部
9 クラスタ制御部
100 サーバ
110、110A、110B、110C クラスタウェア
111、111A、111B、111C 業務サービス制御部
112、112A、112B、112C 他サーバ監視部
113、113A、113B、113C 自サーバ監視部
120、120A、120B、120C 業務サービス提供部
151 ネットワークインタフェース
152 メモリ
153 プロセッサ

Claims (10)

  1. ネットワークを介してクライアント装置に所定のサービスを提供する現用系サーバ装置と、
    前記現用系サーバ装置に異常が発生した場合に、前記現用系サーバ装置に代って前記所定のサービスを前記クライアント装置に提供する待機系サーバ装置と
    を備え、
    前記待機系サーバ装置は、前記ネットワークを介して、前記現用系サーバ装置が提供する前記所定のサービスにアクセスし、前記所定のサービスのプロトコルに応じた監視処理を行うことにより、前記所定のサービスに正常にアクセスできるか否かについて監視する第1の監視手段を有し、
    前記現用系サーバ装置は、前記現用系サーバ装置が提供する前記所定のサービスに正常にアクセスできないと前記待機系サーバ装置の前記第1の監視手段によって判定された場合、フェイルオーバーを実施するクラスタ制御手段を有する
    クラスタシステム。
  2. 前記クラスタ制御手段は、複数の前記待機系サーバ装置の前記第1の監視手段によって、前記現用系サーバ装置が提供する前記所定のサービスに正常にアクセスできないと判定された場合に、フェイルオーバーを実施する
    請求項1に記載のクラスタシステム。
  3. 前記クラスタ制御手段は、複数の前記待機系サーバ装置のうち所定の割合以上の数の前記待機系サーバ装置の前記第1の監視手段によって、前記現用系サーバ装置が提供する前記所定のサービスに正常にアクセスできないと判定された場合に、フェイルオーバーを実施する
    請求項1に記載のクラスタシステム。
  4. 前記待機系サーバ装置は、さらに、前記待機系サーバ装置自身の稼働状態を監視する第2の監視手段を有し、
    前記現用系サーバ装置の前記クラスタ制御手段は、前記第2の監視手段により異常が検知されていない複数の前記待機系サーバ装置のうち所定の割合以上の数の前記待機系サーバ装置の前記第1の監視手段によって、前記現用系サーバ装置が提供する前記所定のサービスに正常にアクセスできないと判定された場合に、フェイルオーバーを実施する
    請求項3に記載のクラスタシステム。
  5. 前記現用系サーバ装置は、さらに、前記現用系サーバ装置自身の稼働状態を監視する第3の監視手段を有し、
    前記現用系サーバ装置の前記クラスタ制御手段は、前記第2の監視手段により異常が検知されていない前記待機系サーバ装置が存在しない場合、前記第3の監視手段による監視結果に基づいて、フェイルオーバーを実施するか否かを決定する
    請求項4に記載のクラスタシステム。
  6. 前記ネットワークは、パブリックLANであり、前記現用系サーバ装置と前記待機系サーバ装置の相互間で死活監視を行うために用いられるインタコネクトLANとは別のネットワークである
    請求項1乃至5のいずれか1項に記載のクラスタシステム。
  7. 現用系サーバ装置が、ネットワークを介してクライアント装置に所定のサービスを提供し、
    前記現用系サーバ装置とともにクラスタシステムを構成する待機系サーバ装置が、前記ネットワークを介して、前記現用系サーバ装置が提供する前記所定のサービスにアクセスし、前記所定のサービスのプロトコルに応じた監視処理を行うことにより、前記所定のサービスに正常にアクセスできるか否かについて監視し、
    前記現用系サーバ装置が、前記現用系サーバ装置が提供する前記所定のサービスに正常にアクセスできないと前記待機系サーバ装置によって判定された場合、フェイルオーバーを実施する
    クラスタシステムの制御方法。
  8. ネットワークを介してクライアント装置に所定のサービスを提供するサービス提供手段と、
    前記サービス提供手段が提供する前記所定のサービスに前記ネットワークを介してアクセスし前記所定のサービスのプロトコルに応じた監視処理を行うことにより前記所定のサービスに正常にアクセスできるか否かについて監視する待機系サーバ装置が送信した監視結果を取得して、前記監視結果が前記待機系サーバ装置から前記所定のサービスに正常にアクセスできないことを示す場合、フェイルオーバーを実施するクラスタ制御手段と
    を有し、
    前記待機系サーバ装置は、フェイルオーバーが実施された場合に、前記所定のサービスの前記クライアント装置への提供を引き継ぐ装置である
    サーバ装置。
  9. ネットワークを介してクライアント装置に所定のサービスを提供し、
    前記所定のサービスに前記ネットワークを介してアクセスし前記所定のサービスのプロトコルに応じた監視処理を行うことにより前記所定のサービスに正常にアクセスできるか否かについて監視する待機系サーバ装置が送信した監視結果を取得して、前記監視結果が前記待機系サーバ装置から前記所定のサービスに正常にアクセスできないことを示す場合、フェイルオーバーを実施し、
    前記待機系サーバ装置は、フェイルオーバーが実施された場合に、前記所定のサービスの前記クライアント装置への提供を引き継ぐ装置である
    制御方法。
  10. ネットワークを介してクライアント装置に所定のサービスを提供するサービス提供ステップと、
    前記サービス提供ステップの処理により提供される前記所定のサービスに前記ネットワークを介してアクセスし前記所定のサービスのプロトコルに応じた監視処理を行うことにより前記所定のサービスに正常にアクセスできるか否かについて監視する待機系サーバ装置が送信した監視結果を取得して、前記監視結果が前記待機系サーバ装置から前記所定のサービスに正常にアクセスできないことを示す場合、フェイルオーバーを実施するクラスタ制御ステップと
    をコンピュータに実行させ、
    前記待機系サーバ装置は、フェイルオーバーが実施された場合に、前記所定のサービスの前記クライアント装置への提供を引き継ぐ装置である
    プログラム。
JP2019540762A 2017-09-06 2018-05-17 クラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラム Active JP6866927B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017171129 2017-09-06
JP2017171129 2017-09-06
PCT/JP2018/019086 WO2019049433A1 (ja) 2017-09-06 2018-05-17 クラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体

Publications (2)

Publication Number Publication Date
JPWO2019049433A1 JPWO2019049433A1 (ja) 2020-08-27
JP6866927B2 true JP6866927B2 (ja) 2021-04-28

Family

ID=65634848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019540762A Active JP6866927B2 (ja) 2017-09-06 2018-05-17 クラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラム

Country Status (5)

Country Link
US (1) US11223515B2 (ja)
EP (1) EP3680780B1 (ja)
JP (1) JP6866927B2 (ja)
CN (1) CN111052092B (ja)
WO (1) WO2019049433A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11223515B2 (en) * 2017-09-06 2022-01-11 Nec Corporation Cluster system, cluster system control method, server device, control method, and non-transitory computer-readable medium storing program
WO2020140041A1 (en) * 2018-12-27 2020-07-02 Apple Inc. Method and system for threshold monitoring
CN111130899A (zh) * 2019-12-30 2020-05-08 威创集团股份有限公司 一种分布式系统的业务恢复方法及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
JP3248485B2 (ja) 1998-05-29 2002-01-21 日本電気株式会社 クラスタシステム、クラスタシステムにおける監視方式およびその方法
JP4353005B2 (ja) * 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
JP4871687B2 (ja) * 2005-10-03 2012-02-08 日立オートモティブシステムズ株式会社 車両制御システム
JP5303617B2 (ja) * 2005-10-03 2013-10-02 日立オートモティブシステムズ株式会社 車両制御システム
KR20100027162A (ko) * 2007-06-26 2010-03-10 톰슨 라이센싱 실시간 프로토콜 스트림 마이그레이션
US7945773B2 (en) * 2007-09-18 2011-05-17 International Business Machines Corporation Failover of blade servers in a data center
US7895428B2 (en) * 2007-09-28 2011-02-22 International Business Machines Corporation Applying firmware updates to servers in a data center
US8028193B2 (en) * 2007-12-13 2011-09-27 International Business Machines Corporation Failover of blade servers in a data center
US8214467B2 (en) * 2007-12-14 2012-07-03 International Business Machines Corporation Migrating port-specific operating parameters during blade server failover
JP2010103695A (ja) 2008-10-22 2010-05-06 Ntt Data Corp クラスタシステム、クラスタサーバ及びクラスタ制御方法
JP5557689B2 (ja) * 2010-10-22 2014-07-23 株式会社日立製作所 ネットワークシステム
US8856295B2 (en) * 2012-01-10 2014-10-07 Oracle International Corporation System and method for providing an enterprise deployment topology with thick client functionality
JP5982842B2 (ja) * 2012-02-03 2016-08-31 富士通株式会社 コンピュータ障害監視プログラム、方法、及び装置
US20140095925A1 (en) * 2012-10-01 2014-04-03 Jason Wilson Client for controlling automatic failover from a primary to a standby server
US9483369B2 (en) * 2014-01-24 2016-11-01 Verizon Patent And Licensing Inc. Method and apparatus for failover detection and recovery using gratuitous address resolution messages
US9351182B2 (en) * 2014-06-30 2016-05-24 At&T Intellectual Property I, Lp Method and apparatus for monitoring and adjusting multiple communication services at a venue
CN104506372B (zh) * 2015-01-04 2018-09-11 中国联合网络通信集团有限公司 一种实现主备服务器切换的方法及系统
JP2017171129A (ja) 2016-03-24 2017-09-28 パナソニックIpマネジメント株式会社 車載空調装置
US11223515B2 (en) * 2017-09-06 2022-01-11 Nec Corporation Cluster system, cluster system control method, server device, control method, and non-transitory computer-readable medium storing program
US10785350B2 (en) * 2018-10-07 2020-09-22 Hewlett Packard Enterprise Development Lp Heartbeat in failover cluster

Also Published As

Publication number Publication date
EP3680780B1 (en) 2022-03-02
US20200186410A1 (en) 2020-06-11
CN111052092B (zh) 2024-03-29
EP3680780A4 (en) 2020-11-04
US11223515B2 (en) 2022-01-11
JPWO2019049433A1 (ja) 2020-08-27
CN111052092A (zh) 2020-04-21
WO2019049433A1 (ja) 2019-03-14
EP3680780A1 (en) 2020-07-15

Similar Documents

Publication Publication Date Title
US11223690B2 (en) Service management modes of operation in distributed node service management
US10078564B2 (en) Preventing split-brain scenario in a high-availability cluster
US10609159B2 (en) Providing higher workload resiliency in clustered systems based on health heuristics
US7225356B2 (en) System for managing operational failure occurrences in processing devices
US9762669B2 (en) Service management roles of processor nodes in distributed node service management
US8756453B2 (en) Communication system with diagnostic capabilities
US9450700B1 (en) Efficient network fleet monitoring
EP3827558B1 (en) Fast failover for gateway instances
JP6866927B2 (ja) クラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラム
US9210059B2 (en) Cluster system
WO2017215430A1 (zh) 一种集群内的节点管理方法及节点设备
US10069788B1 (en) Controlling a high availability computing system
JP7206981B2 (ja) クラスタシステム、その制御方法、サーバ、及びプログラム
JP6838334B2 (ja) クラスタシステム、サーバ、サーバの動作方法、及びプログラム
US20170141950A1 (en) Rescheduling a service on a node
US11343328B2 (en) Failover prevention in a high availability system during traffic congestion
JPH11353292A (ja) クラスタシステムおよび同システムのフェールオーバ制御方法
WO2019171704A1 (ja) 管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体
WO2019216210A1 (ja) サービス継続システムおよびサービス継続方法
NFV ETSI GS NFV-REL 001 V1. 1.1 (2015-01)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210204

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: 20210309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210322

R150 Certificate of patent or registration of utility model

Ref document number: 6866927

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150