JP2023104302A - クラスタシステム、復旧方法 - Google Patents

クラスタシステム、復旧方法 Download PDF

Info

Publication number
JP2023104302A
JP2023104302A JP2022005206A JP2022005206A JP2023104302A JP 2023104302 A JP2023104302 A JP 2023104302A JP 2022005206 A JP2022005206 A JP 2022005206A JP 2022005206 A JP2022005206 A JP 2022005206A JP 2023104302 A JP2023104302 A JP 2023104302A
Authority
JP
Japan
Prior art keywords
management module
management
representative
module
failure
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
Application number
JP2022005206A
Other languages
English (en)
Other versions
JP7498731B2 (ja
Inventor
義浩 村田
Yoshihiro Murata
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2022005206A priority Critical patent/JP7498731B2/ja
Priority to US17/903,377 priority patent/US11853175B2/en
Publication of JP2023104302A publication Critical patent/JP2023104302A/ja
Application granted granted Critical
Publication of JP7498731B2 publication Critical patent/JP7498731B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2007Error 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 interconnections or communication control functionality are redundant using redundant communication media
    • 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/2025Failover techniques using centralised failover control functionality
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】管理モジュールに障害が発生した際に人手を介することなく復旧するクラスタシステムを提供する。【解決手段】クラスタシステムは複数のノードを含む。ノードの夫々は複数のクラスタを含み、クラスタシステムに含まれる全ての管理モジュールである総管理モジュールのうち1つの管理モジュールが代表管理モジュールに設定され、夫々のクラスタにおいて、1つの管理モジュールがマスタ管理モジュールに設定され、他の管理モジュールがスタンバイ管理モジュールに設定される。管理モジュールの夫々は、他の管理モジュールにおける障害の発生を監視し、何れかの障害監視部により代表管理モジュールにおける障害が検出されると、何れかの非代表管理モジュールを新たな代表管理モジュールとするフェイルオーバ制御部と、何れかの障害監視部により障害が検出された管理モジュールにおいて、障害監視部及びフェイルオーバ制御部を復旧するリカバリ部とを備える。【選択図】図1

Description

本発明は、クラスタシステム、および復旧方法に関する。
大規模システムを実現する手法として、複数の装置を連携して動作させる構成が知られている。特許文献1には、管理プロセッサと、複数の主プロセッサと、を含み、前記複数の主プロセッサは、それぞれ、ホストからのI/O要求に応じたI/O処理を含む主機能処理を実行する期間と、管理指示を実行する期間とを、交互に切り替え、前記管理プロセッサは、前記複数の主プロセッサに対して送信済みで未完了の管理指示と前記未完了の管理指示の送信先主プロセッサとを関連付ける情報を、管理し、前記複数の主プロセッサの前記未完了の管理指示に基づいて、次の管理指示を送信する送信先主プロセッサを前記複数の主プロセッサから選択し、前記送信先主プロセッサに対して前記次の管理指示を送信する、ストレージシステムが開示されている。
特開2019-53587号公報
特許文献1に記載されている発明では、障害の発生に対応できない。
本発明の第1の態様によるクラスタシステムは、複数のノードを含むクラスタシステムであって、前記ノードのそれぞれは複数のクラスタを含み、前記クラスタのそれぞれは当該クラスタシステムを管理する管理モジュール、および演算システムを構成する演算モジュールを含み、当該クラスタシステムに含まれる全ての管理モジュールである総管理モジュールのうち1つの前記管理モジュールが代表管理モジュールに設定され、それぞれの前記クラスタにおいて、1つの前記管理モジュールがマスタ管理モジュールに設定され、他の前記管理モジュールがスタンバイ管理モジュールに設定され、前記管理モジュールのそれぞれは、他の前記管理モジュールにおける障害の発生を監視する障害監視部と、いずれかの前記障害監視部により前記代表管理モジュールにおける障害が検出されると、前記総管理モジュールから前記代表管理モジュールを除いた非代表管理モジュールに含まれるいずれかの前記管理モジュールを新たな前記代表管理モジュールとするフェイルオーバ制御部と、いずれかの前記障害監視部により障害が検出された前記管理モジュールにおいて、前記障害監視部および前記フェイルオーバ制御部を復旧するリカバリ部と、を備える。
本発明の第2の態様による復旧方法は、複数のノードを含むクラスタシステムが実行する復旧方法であって、前記ノードのそれぞれは複数のクラスタを含み、前記クラスタのそれぞれは当該クラスタシステムを管理する管理モジュール、および演算システムを構成するストレージモジュールを含み、当該クラスタシステムに含まれる全ての管理モジュールである総管理モジュールのうち1つの前記管理モジュールが代表管理モジュールに設定され、それぞれの前記クラスタにおいて、1つの前記管理モジュールがマスタ管理モジュールに設定され、他の前記管理モジュールがスタンバイ管理モジュールに設定され、前記管理モジュールのそれぞれが、他の前記管理モジュールにおける障害の発生を監視する障害監視処理を行うことと、いずれかの前記管理モジュールにおける前記障害監視処理により前記代表管理モジュールにおける障害が検出されると、前記総管理モジュールから前記代表管理モジュールを除いた非代表管理モジュールに含まれるいずれかの前記管理モジュールを新たな前記代表管理モジュールとするフェイルオーバ処理を行うことと、いずれかの前記管理モジュールにおける前記障害監視処理により障害が検出された前記管理モジュールにおいて、前記障害監視処理および前記フェイルオーバ処理を実現するプログラムを復旧するリカバリ処理を行うことと、を含む。
本発明によれば、管理モジュールに障害が発生した際に人手を介することなく復旧できる。
クラスタシステムの全体構成図 管理表の一例を示す図 代表モジュールに障害が発生した際の概要処理を示すタイムチャート 代表モジュールに障害が発生した際の詳細処理を示すタイムチャート 代表モジュールに障害が発生した際の詳細処理を示すタイムチャート クラスタシステムにおける障害検出時の処理を示すフローチャート
―第1の実施の形態―
以下、図1~図6を参照して、本発明にかかるクラスタシステムの第1の実施の形態を説明する。
図1は、クラスタシステム1の全体構成図である。クラスタシステム1は、ネットワーク9を介してストレージシステムを提供する。クラスタシステム1は、第1ノード11と、第2ノード12とを備える。第1ノード11の構成と、第2ノード12の構成とは略同一である。第1ノード11は、第1クラスタ21と、第2クラスタ22とを含む。第2ノード12は、第3クラスタ23と、第4クラスタ24とを備える。第1クラスタ21、第2クラスタ22、第3クラスタ23、および第4クラスタ24の構成は略同一である。そのため以下では、主に第1クラスタ21の構成および動作を説明する。
クラスタシステム1はさらに、クラスタシステム1とネットワーク9とを接続する第1接続部2および第2接続部3を備える。第1接続部2および第2接続部3はハブ、たとえばスイッチングハブである。第1接続部2は、ネットワーク9と、第1クラスタ21と、第3クラスタ23と、第2接続部3とを接続する。第2接続部3は、ネットワーク9と、第2クラスタ22と、第4クラスタ24と、第1接続部2とを接続する。
第1クラスタ21は、ポート211と、ハブ212と、ストレージモジュール213と、第1管理モジュール214とを備える。ポート211は、第1接続部2およびハブ212と接続される。ポート211はたとえば複数の接続ポートを備えるネットワークインターフェースカードであり、少なくとも第1接続部2と接続されるポートにおいて、ネットワーク上の識別子、たとえばIPアドレスを任意に設定できる。このポートに設定すべきIPアドレスは、ハブ212を介して第1管理モジュール214から指定される。このポートのIPアドレスは、ネットワーク9からのアクセスに用いられるので、以下では「外向きのIPアドレス」とも呼ぶ。
ハブ212は、たとえばスイッチングハブである。ハブ212は、ポート211と、ストレージモジュール213と、第1管理モジュール214と、第2クラスタ22のハブとを接続する。ストレージモジュール213は、他のクラスタのストレージモジュールとともにストレージシステムを構成する。このストレージシステムは、高速で堅牢なストレージを提供する。たとえば、外部から入力されたデータのハッシュを算出し、入力されたデータとハッシュを1または複数のストレージモジュールに格納する。ストレージモジュール213は、少なくともプロセッサと記憶装置とを備える。
第1管理モジュール214は、オペレーティングシステム(以下、「OS」と呼ぶ)と、OS上で動作するソフトウエアと、OSから独立して動作するソフトウエアとを備える。障害監視部42およびフェイルオーバ制御部43はOS上で動作するソフトウエアにより実現され、リカバリ部44はOSから独立して動作するソフトウエアにより実現される。第1管理モジュール214は、少なくともプロセッサと記憶装置とを備える。第1管理モジュール214が動作することを原因として、ストレージモジュール213の性能が低下することを防止するために、第1管理モジュール214とストレージモジュール213とはリソースを共有しない。少なくとも、第1管理モジュール214が備えるプロセッサと、ストレージモジュール213が備えるプロセッサとは、物理的に異なるものである。
第1管理モジュール214は、管理表41と、障害監視部42と、フェイルオーバ制御部43と、リカバリ部44とを備える。管理表41は記憶装置に格納される情報である。管理表41は、いずれかの管理モジュールにより書き換えられると、他の管理モジュールに書き換えられた情報が伝達される。そのため本実施の形態では、いずれの管理モジュールも同一の管理表41を有するとみなす。
障害監視部42は、同一ノード内の全クラスタを監視して障害発生を検出する。障害監視部42はたとえば、第1管理モジュール214に備えられるプロセッサが、不図示のROMに格納されたプログラムを不図示のRAMに展開して実行することにより実現される。障害監視部42は、監視には公知の様々な手法を用いることができる。たとえば障害監視部42は、一定時間ごとに他の管理モジュールと通信を行い、あらかじめ定めた時間以内に応答がない場合に障害が発生したと判断する。
フェイルオーバ制御部43は、代表管理モジュールの切り替えを行う。すなわちフェイルオーバ制御部43は、ある非代表管理モジュールを代表管理モジュールに切り替える。ただしフェイルオーバ制御部43は単独で動作するのではなく、後述するように複数の管理モジュールのフェイルオーバ制御部43が協調して動作する。またフェイルオーバ制御部43は、同一の管理モジュール内の障害監視部42が非代表管理モジュールの障害を検出すると、障害が検出された管理モジュールに対してOSリカバリコマンドを発行する。
リカバリ部44は、管理モジュールのOSから独立して動作するソフトウエアである。リカバリ部44は、外部からOSリカバリコマンドが発行されると動作を開始する。リカバリ部44は、不図示の記憶部に格納されているOSイメージを展開することで、管理モジュールのOSおよび障害監視部42やフェイルオーバ制御部43を実現するソフトウエアを初期状態に戻すリカバリ処理を行う。さらにリカバリ部44は、OSリカバリコマンドの後に受信するシステムコンフィグ情報を用いてOSやソフトウエアのコンフィグ設定を行う。
各クラスタに含まれる管理モジュールは、実行可能な機能に差異はないが、それぞれのタイミングにおいては特定の1つのみがストレージシステムを統括する代表管理モジュールとなる。以下では、代表管理モジュール以外の管理モジュールを便宜的に「非代表管理モジュール」と呼ぶ。後述するように代表管理モジュールは変更されうるので、どの管理モジュールが代表管理モジュールまたは非代表管理モジュールであるかは、一概に定まらない。
代表管理モジュールは、内蔵される代表機能を有効化した管理モジュールであり、外部からの動作指令を受信してストレージシステムを統括する。本実施の形態では、通信により外部からの動作指令を受信するので、代表管理モジュールの通信における識別子、たとえばIPアドレスは、あらかじめ定められた特別な値を用いる。ただしここで言う「特別」とは、ブロードキャストアドレスのようなIPアドレスの特殊性ではなく、事前に定められている、または代表管理モジュールの識別子として知られている、という観点で特別であるにすぎない。代表管理モジュールによるストレージシステムの統括には公知の様々な形態が含まれうる。たとえば代表管理モジュールは、外部からの動作指令に基づきストレージシステムの構成を変更する。
代表管理モジュールはストレージシステムを統括するので、代表管理モジュールが動作を停止するとストレージシステムの動作に支障が生じる。そのためクラスタシステム1では、代表管理モジュールに障害が検出されると、自動でフェイルオーバ処理が行われる。このフェイルオーバ処理は、代表管理モジュールに障害が検出されたタイミングにおける非代表管理モジュールが、代表管理モジュールに切り替わる処理である。そのためクラスタシステム1では、代表管理モジュールに障害が発生しても人手を介することなくストレージシステムの稼働を継続できる。
それぞれのクラスタにおいて、1つの管理モジュールがマスタ管理モジュールに設定され、他の管理モジュールがスタンバイ管理モジュールに設定される。マスタ管理モジュールとスタンバイ管理モジュールにハードウエア構成の差異はない。本実施の形態におけるマスタ管理モジュールとスタンバイ管理モジュールの相違点は、代表管理モジュールとなりうるか否かである。後述するように、マスタ管理モジュールとスタンバイ管理モジュールとが入れ替わることもある。
クラスタシステム1に含まれる複数のストレージモジュール213において、他のストレージに動作を指示する「統括ストレージモジュール」と、統括ストレージモジュールから指示を受ける「非統括ストレージモジュール」とに分類されてもよい。この場合に、統括ストレージモジュールとマスタ管理モジュールとは同一のクラスタに含まれてもよいし、統括ストレージモジュールとマスタ管理モジュールが異なるクラスタに含まれてもよい。
いずれかのストレージモジュールに障害が発生した際には、同一のクラスタ内に含まれる管理モジュールがそのストレージモジュールを復旧させてもよいし、他のクラスタに含まれる管理モジュールやストレージモジュールが復旧させてもよい。
図2は管理表41の一例を示す図である。管理表41には、各モジュールの情報、具体的には、格納されるノード、マスタおよびスタンバイのいずれか、代表であるか否か、およびIPアドレスの組み合わせが格納される。管理表41は複数のレコードから構成され、各レコードはモジュール番号411、ノード番号412、状態413、代表フラグ414、およびIPアドレス415のフィールドを有する。モジュール番号411は、管理モジュールの番号である。ノード番号412は、管理モジュールが属するノードの番号である。状態413は、管理モジュールの状態を表し、たとえば「マスタ」、「スタンバイ」、「停止中」のいずれかである。代表フラグ414は、「1」が代表であることを示し、「0」が代表ではないことを示す。
IPアドレス415は、管理モジュールの外部向きのIPアドレスである。たとえば図2に示す例の最上段は、モジュール番号が「1」である第1管理モジュール214は、第1ノード11に属しており、マスタ、かつ代表であり、ポート211における第1接続部2と接続される側のIPアドレスが「192.168.0.1」であることが示されている。管理モジュールのIPアドレスは、代表管理モジュールに付される特別なIPアドレスと、それ以外の通常のIPアドレスに区分される。換言すると、代表管理モジュールのIPアドレスは、あらかじめ定めた特別なIPアドレス、本実施の形態では「192.168.0.1」に設定される。
代表管理モジュールが変更されると、換言するとある管理モジュールが代表管理モジュールから非代表管理モジュールに変更されると、その管理モジュールのIPアドレスは、前述の特別なIPアドレスから特別でないIPアドレスに変更される。この、特別でないIPアドレスは、たとえば管理モジュールごとにあらかじめ定められる。この場合には、たとえば第1管理モジュール214のIPアドレスは「192.168.0.1」および「192.168.0.11」のいずれかをとり、第2管理モジュール224のIPアドレスは「192.168.0.1」および「192.168.0.12」のいずれかをとる。また第3管理モジュール234のIPアドレスは「192.168.0.1」および「192.168.0.13」のいずれかをとり、第4管理モジュール244のIPアドレスは「192.168.0.1」および「192.168.0.14」のいずれかをとる。
図3は、代表モジュールに障害が発生した際の概要処理を示すタイムチャートである。図3では図示上方から図示下方に向かって時間が経過している。第1管理モジュール214と第2管理モジュール224は相互に監視をしており(S101)、第3管理モジュール234と第4管理モジュール244は相互に監視をしている(S102)。第1管理モジュール214に障害が発生すると、第2管理モジュール224がこれを検出し(S103)、自らが第1ノード11のマスタとして動作を開始する(S104)。障害を検出した第2管理モジュール224はさらに、他ノードのマスタ管理モジュール、すなわち第3管理モジュール234に代表モジュールの障害発生を通知する(S105)。この通知を受けた第3管理モジュール234は、代表機能の起動(S106)と、IPアドレスの変更(S107)を行う。このIPアドレスの変更対象は、外部向きのIPアドレスである。次に第3管理モジュール234は、代表モジュールのフェイルオーバ完了通知を第2管理モジュール224に送信する(S108)。
この通知を受けた第2管理モジュール224は、障害が発生した第1管理モジュール214にOSリカバリコマンドを発行する(S109)。このコマンドを受信した第1管理モジュール214は、OSのリカバリを行い(S110)、リカバリ完了通知を第2管理モジュール224に送信する(S111)。リカバリ完了通知を受信した第2管理モジュール224は、システムコンフィグ情報を第1管理モジュール214に送信する(S112)。これを受信した第1管理モジュール214は、コンフィグ設定を行い(S113)、管理表41における第1管理モジュール214の状態を「スタンバイ」に変更して設定完了(S114)となる。最後に第1管理モジュール214は、第2管理モジュール224に完了通知を送信する(S115)。この通知を受けた第2管理モジュール224は、新たな代表モジュールである第3管理モジュール234に対して、第1管理モジュール214の復旧通知を送信する(S116)。この通知を受けた第3管理モジュール234は、書き換えた管理表41を他の管理モジュールに配布して(S117)、図3に示す処理を終了する。
図4および図5は、代表モジュールに障害が発生した際の詳細処理を示すタイムチャートである。換言すると図4および図5は、図3の詳細を示す図である。図4および図4のそれぞれでは、図示上方から図示下方に向かって時間が経過しており、さらに、図4の最下部よりも図5の最上部の方が後の時刻である。また図4および図5では、それぞれの管理モジュールが備えるリカバリ部44、フェイルオーバ制御部43、および管理表41の動作および変化を記載している。以下では、図3と同一の処理には同一のステップ番号を付与し、図4および図5に特有の処理は新たなステップ番号を付与して説明する。
まずステップS101およびS102では、それぞれの障害監視部42が相互に管理モジュールを監視する。続くステップS103では第2管理モジュール224の障害監視部42が第1管理モジュール214における障害を検出する。すると、第2管理モジュール224の障害監視部42は、同じ第2管理モジュール224のフェイルオーバ制御部43に障害の発生を通知する(S301)。第2管理モジュール224のフェイルオーバ制御部43は、障害が検出された第1管理モジュール214のフェイルオーバ制御部43に停止指示を出し(S302)、これを受けた第1管理モジュール214のフェイルオーバ制御部43は第1管理モジュール214の機能停止処理を行い、第1管理モジュール214のIPアドレス変更処理を行う(S304)。このIPアドレス変更処理では、第1管理モジュール214の外向きのIPアドレスが、代表用の特別なIPアドレス、たとえば「192.168.0.1」から特別ではないIPアドレス、たとえば「192.168.0.11」に変更される。
第2管理モジュール224のフェイルオーバ制御部43は、前述した第1管理モジュール214への停止指示(S302)の後にマスタ機能を起動し(S104)、第3管理モジュール234のフェイルオーバ制御部43にフェイルオーバ通知を送信する(S105)。これを受信した第3管理モジュール234のフェイルオーバ制御部43は、代表機能を起動し(S106)、第3管理モジュール234のIPアドレス変更処理を行う(S107)。このIPアドレス変更処理では、第3管理モジュール234の外向きのIPアドレスが、特別でないIPアドレス、たとえば「192.168.0.13」から代表用の特別なIPアドレス、たとえば「192.168.0.1」に変更される。
次にフェイルオーバ制御部43は、ロール状態の更新、すなわち管理表41の書き換えを行う(S305)。具体的には、代表フラグ_を第1管理モジュール214から第3管理モジュール234に変更し、第1管理モジュール214および第3管理モジュール234のIPアドレスを変更し、第1管理モジュール214の状態を「停止中」に変更し、第2管理モジュール224の状態を「マスタ」に変更する。次に第3管理モジュール234のフェイルオーバ制御部43は、第2管理モジュール224にフェイルオーバ完了通知を送信し(S108)、第4管理モジュール244にも同様にフェイルオーバ完了通知を送信する(S306)。
フェイルオーバ完了通知を受信した第2管理モジュール224のフェイルオーバ制御部43は、ロール状態の更新、すなわち管理表41の更新を第3管理モジュール234と同様に行う(S307)。フェイルオーバ完了通知を受信した第4管理モジュール244のフェイルオーバ制御部43は、ロール状態の更新、すなわち管理表41の更新を第3管理モジュール234と同様に行う(S308)。なお第2管理モジュール224および第4管理モジュール244は、フェイルオーバ完了通知の送信元が新たな代表管理モジュールであるとみなして管理表41を更新する。図5に進んで説明を続ける。
次に第2管理モジュール224のフェイルオーバ制御部43は、障害が発生した第1管理モジュール214にOSリカバリコマンドを発行する(S109)。このコマンドを受信した第1管理モジュール214のリカバリ部44は、OSのリカバリを行い(S110)、リカバリ完了通知を第2管理モジュール224に送信する(S111)。リカバリ完了通知を受信した第2管理モジュール224は、システムコンフィグ情報を第1管理モジュール214に送信する(S112)。これを受信した第1管理モジュール214は、コンフィグ設定を行い(S113)、ロール情報の更新、すなわち管理表41における第1管理モジュール214の状態の「スタンバイ」への変更を行う(S114)。最後に第1管理モジュール214は、第2管理モジュール224に完了通知を送信する(S115)。
この通知を受信した第2管理モジュール224のフェイルオーバ制御部43は、第3管理モジュール234および第4管理モジュール244に対して、第1管理モジュール214の復旧通知を送信する(S116、S311)。この通知を受けた第3管理モジュール234のフェイルオーバ制御部43は、ロール情報の更新、すなわち管理表41における第1管理モジュール214の状態の「スタンバイ」への変更を行う。第4管理モジュール244のフェイルオーバ制御部43も同様に、ロール情報の更新、すなわち管理表41における第1管理モジュール214の状態の「スタンバイ」への変更を行い、図4および図5に示す処理を終了する。
図6は、クラスタシステム1における障害検出時の処理を示すフローチャートである。これまでに説明した図3との相関とともに各ステップの処理を説明する。まずステップS401において、各管理モジュールの障害監視部42が障害を検出する。いずれの障害監視部42においても障害が検出されない場合にはステップS402にとどまる。本ステップは、図3におけるステップS101~S103に相当する。続くステップS402では、障害を検出した障害監視部42は障害発生が代表管理モジュールであるか否かを判断し、代表管理モジュールに障害が発生したと判断する場合はステップS403に進み、代表管理モジュール以外に障害が発生したと判断する場合はステップS406に進む。
ステップS403では、障害を検出した障害監視部42は、管理表41を参照して他のノードにおけるマスタの管理モジュールに障害発生を通知する。本ステップは、図3におけるステップS105に相当する。続くステップS404では、ステップS403において通知を受けた管理モジュールが代表機能を起動し、続くステップS405においてIPアドレスを変更してステップS406に進む。ステップS404~S405の処理は、図3におけるステップS106~S107の処理に相当する。
ステップS406では、障害を検出した障害監視部42と同一の管理モジュール内のフェイルオーバ制御部43がOSリカバリコマンドを発行することにより、障害が発生した管理モジュールにおけるリカバリ部44がOSのリカバリ処理を行う。本ステップは、図3におけるステップS110に相当する。続くステップS407では、障害を検出した障害監視部42と同一の管理モジュール内のフェイルオーバ制御部43が、障害が発生した管理モジュールにコンフィグ情報を転送する。本ステップは、図3におけるステップS112に相当する。続くステップS408では、障害が発生した管理モジュールのリカバリ部44が、受信したコンフィグ情報を用いてコンフィグ設定を行い、図6に示す処理を終了する。本ステップは、図3におけるステップS114に相当する。
なお、ステップS408の処理が完了すると図6に示す処理は完了するが、再びステップS401から処理が開始される。ステップS403~S405の処理は「フェイルオーバ処理」と呼ぶことができ、ステップS406~S408の処理は「自動復旧処理」と呼ぶことができる。
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)クラスタシステム1は、複数のノード、すなわち第1ノード11および第2ノード12を含む。ノードのそれぞれは複数のクラスタを含む。クラスタのそれぞれはクラスタシステム1を管理する管理モジュール、およびストレージシステムを構成するストレージモジュールを含む。クラスタシステム1に含まれる全ての管理モジュールである総管理モジュールのうち1つの管理モジュールが代表管理モジュールに設定される。それぞれのクラスタにおいて、1つの管理モジュールがマスタ管理モジュールに設定され、他の管理モジュールがスタンバイ管理モジュールに設定される。本実施の形態では1つのノードに2つのクラスタが含まれるので、いずれの管理モジュールにも障害が発生していない状態では、各ノードにマスタ管理モジュールとスタンバイ管理モジュールが1つずつ設定される。管理モジュールのそれぞれは、他の管理モジュールにおける障害の発生を監視する障害監視部42と、いずれかの障害監視部42により代表管理モジュールにおける障害が検出されると、いずれかの非代表管理モジュールを新たな代表管理モジュールとするフェイルオーバ制御部43と、いずれかの障害監視部により障害が検出された管理モジュールにおいて、障害監視部およびフェイルオーバ制御部を復旧するリカバリ部44と、を備える。そのため、管理モジュールに障害が発生した際に人手を介することなく復旧できる。
たとえば、複数のノードとネットワークで接続され、管理モジュールを統括する統括管理装置を別途設けることでも、いずれかの管理モジュールに障害が発生した際に人手を介することなく復旧することもできる。しかしその場合には各ノードを構成するハードウエア以外に、さらに別のハードウエアである統括管理装置が必要となるため、ハードウエア費用、設置費用、および運営費用の面でデメリットがある。これに対して本実施の形態では、クラスタ内の管理モジュールが他の管理モジュールを復旧させるので、これらのデメリットがない。
(2)管理モジュールのそれぞれには通信用の識別子が設定される。代表管理モジュールにはあらかじめ定められた特別な識別子、たとえば「192.168.0.1」のIPアドレスが設定される。フェイルオーバ制御部43は、新たな代表管理モジュールに前述の特別な識別子を設定する。そのため、代表管理モジュールが変更されても、ストレージシステムとしての指示を外部から受け取ることができる。
(3)管理モジュールおよびストレージモジュールは異なる物理プロセッサにより実現される。そのため、リカバリ処理などにより管理モジュールの処理が増大しても、ストレージシステムへの影響が生じない。
(4)障害監視部42は、同一ノード内の他の管理モジュールを監視する。障害監視部42は、代表管理モジュールにおける障害を検出すると、図4に示したように他のノードにおけるマスタ管理モジュールにおけるフェイルオーバ制御部43に通知して、当該マスタ管理モジュールを新たな代表管理モジュールにさせる。そのため、管理表41の記載に基づき新たな代表管理モジュールを決定できる。
(5)管理モジュールのそれぞれは、オペレーティングシステムを搭載する。フェイルオーバ制御部43および障害監視部42はオペレーティングシステム上で動作し、リカバリ部44はオペレーティングシステムから独立して動作する。リカバリ部44は、同一クラスタ内の管理モジュールにおけるオペレーティングシステムを復旧する。そのため、フェイルオーバ制御部43および障害監視部42はOS上で動作する高級言語を用いた作成およびデバッグが可能であり、開発が容易となる。
(変形例1)
上述した実施の形態では、障害を検出した第2管理モジュール224において動作するフェイルオーバ制御部43が第3管理モジュール234および第4管理モジュール244に復旧通知を送信し、これを契機として第3管理モジュール234および第4管理モジュール244において管理表41が更新された。しかし第2管理モジュール224のフェイルオーバ制御部43は、第4管理モジュール244には通知を行わず、第3管理モジュール234から第4管理モジュール244に通知を送信してもよい。
(変形例2)
上述した実施の形態では、障害を検出した第2管理モジュール224が管理表41を参照し、他のノードにおけるマスタ管理モジュール、すなわち第3管理モジュール234に障害を通知して、その通知を受けた第3管理モジュール234が新たな代表管理モジュールとなった。しかし、障害を検出した管理モジュールは、自らが新たな代表管理モジュールとなってもよい。また、クラスタシステム1に3以上のノードが含まれる場合は、各ノードに優先順位をあらかじめ定めて、障害を検出した管理モジュールは動作中の優先順位が最も高いノードの代表管理モジュールに障害を通知してもよい。
(変形例3)
上述した実施の形態では、通信用の識別子にIPアドレスを用いる例を説明した。しかし通信の識別子はIPアドレスに限定されず、公知の様々な識別子、たとえばMACアドレスを用いることができる。また、通信にインターネットプロトコルを用いることは必須の構成ではなく、CAN(登録商標)、LIN、FlexRayなどの通信プロトコルを用いてもよい。
(変形例4)
上述した実施の形態では、管理モジュールおよびストレージモジュールは異なる物理プロセッサにより実現された。しかし、管理モジュールおよびストレージモジュールが同一の物理プロセッサにより実現されてもよい。また、管理モジュールがOSを搭載しなくてもよいし、障害監視部42、フェイルオーバ制御部43、およびリカバリ部44の少なくとも1つが書き換え可能な論理回路、たとえばFPGA(Field Programmable Gate Array)により実現されてもよい。障害監視部42およびフェイルオーバ制御部43のいずれかがFPGAにより実現される場合には、リカバリ部44は不図示の記憶部からコンフィグレーション情報をFPGAに書き込むことにより障害監視部42およびフェイルオーバ制御部43を復旧する。
(変形例5)
上述した実施の形態では、各クラスタには管理モジュールとストレージモジュールが含まれた。しかし、ストレージモジュールの代わりに任意の演算を行う演算モジュールが含まれてもよい。演算モジュールは、演算を行うことが必須の条件であり不揮発性の記憶装置が含まれることは必須の構成要件ではない。ただし、ストレージモジュールも演算モジュールの一種と言える。
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。
上述した変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
1…クラスタシステム
41…管理表
42…障害監視部
43…フェイルオーバ制御部
44…リカバリ部
213…ストレージモジュール
214…第1管理モジュール
224…第2管理モジュール
234…第3管理モジュール
244…第4管理モジュール

Claims (7)

  1. 複数のノードを含むクラスタシステムであって、
    前記ノードのそれぞれは複数のクラスタを含み、
    前記クラスタのそれぞれは当該クラスタシステムを管理する管理モジュール、および演算システムを構成する演算モジュールを含み、
    当該クラスタシステムに含まれる全ての管理モジュールである総管理モジュールのうち1つの前記管理モジュールが代表管理モジュールに設定され、
    それぞれの前記クラスタにおいて、1つの前記管理モジュールがマスタ管理モジュールに設定され、他の前記管理モジュールがスタンバイ管理モジュールに設定され、
    前記管理モジュールのそれぞれは、
    他の前記管理モジュールにおける障害の発生を監視する障害監視部と、
    いずれかの前記障害監視部により前記代表管理モジュールにおける障害が検出されると、前記総管理モジュールから前記代表管理モジュールを除いた非代表管理モジュールに含まれるいずれかの前記管理モジュールを新たな前記代表管理モジュールとするフェイルオーバ制御部と、
    いずれかの前記障害監視部により障害が検出された前記管理モジュールにおいて、前記障害監視部および前記フェイルオーバ制御部を復旧するリカバリ部と、を備える、クラスタシステム。
  2. 請求項1に記載のクラスタシステムにおいて、
    前記管理モジュールのそれぞれには通信用の識別子が設定され、
    前記代表管理モジュールにはあらかじめ定められた特別な識別子が設定され、
    前記フェイルオーバ制御部は、新たな前記代表管理モジュールに前記特別な識別子を設定する、クラスタシステム。
  3. 請求項1に記載のクラスタシステムにおいて、
    前記管理モジュールおよび前記演算モジュールは異なる物理プロセッサを用いて実現される、クラスタシステム。
  4. 請求項1に記載のクラスタシステムにおいて、
    前記障害監視部は、同一ノード内の他の管理モジュールを監視し、
    前記障害監視部は、前記代表管理モジュールにおける障害を検出すると、他の前記ノードにおける前記マスタ管理モジュールにおける前記フェイルオーバ制御部に通知して、当該マスタ管理モジュールを新たな前記代表管理モジュールにさせる、クラスタシステム。
  5. 請求項1に記載のクラスタシステムにおいて、
    前記管理モジュールのそれぞれは、オペレーティングシステムを搭載し、
    前記フェイルオーバ制御部および前記障害監視部は前記オペレーティングシステム上で動作し、前記リカバリ部は前記オペレーティングシステムから独立して動作し、
    前記リカバリ部はさらに、前記オペレーティングシステムを復旧する、クラスタシステム。
  6. 請求項1に記載のクラスタシステムにおいて、
    前記演算モジュールは、記憶装置および前記記憶装置に記録される情報に関する演算を実行する演算器を含み、
    前記演算システムは、情報の記録および情報の読み出しを行うストレージシステムである、クラスタシステム。
  7. 複数のノードを含むクラスタシステムが実行する復旧方法であって、
    前記ノードのそれぞれは複数のクラスタを含み、
    前記クラスタのそれぞれは当該クラスタシステムを管理する管理モジュール、および演算システムを構成するストレージモジュールを含み、
    当該クラスタシステムに含まれる全ての管理モジュールである総管理モジュールのうち1つの前記管理モジュールが代表管理モジュールに設定され、
    それぞれの前記クラスタにおいて、1つの前記管理モジュールがマスタ管理モジュールに設定され、他の前記管理モジュールがスタンバイ管理モジュールに設定され、
    前記管理モジュールのそれぞれが、
    他の前記管理モジュールにおける障害の発生を監視する障害監視処理を行うことと、
    いずれかの前記管理モジュールにおける前記障害監視処理により前記代表管理モジュールにおける障害が検出されると、前記総管理モジュールから前記代表管理モジュールを除いた非代表管理モジュールに含まれるいずれかの前記管理モジュールを新たな前記代表管理モジュールとするフェイルオーバ処理を行うことと、
    いずれかの前記管理モジュールにおける前記障害監視処理により障害が検出された前記管理モジュールにおいて、前記障害監視処理および前記フェイルオーバ処理を実現するプログラムを復旧するリカバリ処理を行うことと、を含む、復旧方法。

JP2022005206A 2022-01-17 2022-01-17 クラスタシステム、復旧方法 Active JP7498731B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022005206A JP7498731B2 (ja) 2022-01-17 2022-01-17 クラスタシステム、復旧方法
US17/903,377 US11853175B2 (en) 2022-01-17 2022-09-06 Cluster system and restoration method that performs failover control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022005206A JP7498731B2 (ja) 2022-01-17 2022-01-17 クラスタシステム、復旧方法

Publications (2)

Publication Number Publication Date
JP2023104302A true JP2023104302A (ja) 2023-07-28
JP7498731B2 JP7498731B2 (ja) 2024-06-12

Family

ID=87161967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022005206A Active JP7498731B2 (ja) 2022-01-17 2022-01-17 クラスタシステム、復旧方法

Country Status (2)

Country Link
US (1) US11853175B2 (ja)
JP (1) JP7498731B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339186A (ja) * 1999-05-31 2000-12-08 Nec Software Chubu Ltd クラスタシステム監視端末の自動再接続方法および自動再接続システム
JP2004046474A (ja) * 2002-07-11 2004-02-12 Hitachi Ltd マルチos環境の計算機システムおよびそのプログラム
JP2021026659A (ja) * 2019-08-08 2021-02-22 株式会社日立製作所 ストレージシステム及びリソース割当て制御方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728896B1 (en) * 2000-08-31 2004-04-27 Unisys Corporation Failover method of a simulated operating system in a clustered computing environment
TW523667B (en) * 2001-05-31 2003-03-11 Taiwan Semiconductor Mfg Shared directory management system and method of the same
US7124320B1 (en) * 2002-08-06 2006-10-17 Novell, Inc. Cluster failover via distributed configuration repository
US20050154697A1 (en) * 2004-01-14 2005-07-14 International Business Machines Corporation Adjusting a number of database replicas based on a defined threshold value
US20060023627A1 (en) * 2004-08-02 2006-02-02 Anil Villait Computing system redundancy and fault tolerance
JP4920248B2 (ja) * 2005-12-02 2012-04-18 株式会社日立製作所 サーバの障害回復方法及びデータベースシステム
JP4809209B2 (ja) * 2006-12-28 2011-11-09 株式会社日立製作所 サーバ仮想化環境における系切り替え方法及び計算機システム
JP4572250B2 (ja) * 2008-09-11 2010-11-04 株式会社日立製作所 計算機切り替え方法、計算機切り替えプログラム及び計算機システム
CN102340410B (zh) * 2010-07-21 2014-09-10 中兴通讯股份有限公司 集群管理系统及方法
WO2014080492A1 (ja) * 2012-11-22 2014-05-30 株式会社日立製作所 計算機システム、クラスタ管理方法、及び管理計算機
JP6056554B2 (ja) * 2013-03-04 2017-01-11 日本電気株式会社 クラスタシステム
US9766992B2 (en) * 2013-10-31 2017-09-19 Sandisk Technologies Llc Storage device failover
US9348713B2 (en) * 2013-12-13 2016-05-24 Netapp, Inc. Techniques for importation of information to a storage system
US11886308B2 (en) * 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US9785480B2 (en) * 2015-02-12 2017-10-10 Netapp, Inc. Load balancing and fault tolerant service in a distributed data system
US9996437B2 (en) * 2015-03-31 2018-06-12 EMC IP Holding Company LLC Failover in a san environment
US9684562B2 (en) * 2015-07-21 2017-06-20 International Business Machines Corporation Automatic serial starting of resource groups on failover based on the prediction of aggregate resource usage
US10970305B2 (en) * 2016-09-21 2021-04-06 Venkatachary Srinivasan Methods and systems of database cluster formation and management
US10454754B1 (en) * 2016-12-16 2019-10-22 Amazon Technologies, Inc. Hybrid cluster recovery techniques
US20220334725A1 (en) * 2017-03-10 2022-10-20 Pure Storage, Inc. Edge Management Service
US10372561B1 (en) * 2017-06-12 2019-08-06 Amazon Technologies, Inc. Block storage relocation on failure
JP6546235B2 (ja) 2017-09-15 2019-07-17 株式会社日立製作所 ストレージシステム
JP6791834B2 (ja) * 2017-11-30 2020-11-25 株式会社日立製作所 記憶システム及び制御ソフトウェア配置方法
US11106556B2 (en) * 2019-09-13 2021-08-31 EMC IP Holding Company LLC Data service failover in shared storage clusters
US20210173945A1 (en) * 2019-12-06 2021-06-10 Pure Storage, Inc. Replicating data to a storage system that has an inferred trust relationship with a client
US11645175B2 (en) * 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager
JP2023103850A (ja) * 2022-01-14 2023-07-27 株式会社日立製作所 ストレージシステム、連携方法、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339186A (ja) * 1999-05-31 2000-12-08 Nec Software Chubu Ltd クラスタシステム監視端末の自動再接続方法および自動再接続システム
JP2004046474A (ja) * 2002-07-11 2004-02-12 Hitachi Ltd マルチos環境の計算機システムおよびそのプログラム
JP2021026659A (ja) * 2019-08-08 2021-02-22 株式会社日立製作所 ストレージシステム及びリソース割当て制御方法

Also Published As

Publication number Publication date
US20230229572A1 (en) 2023-07-20
JP7498731B2 (ja) 2024-06-12
US11853175B2 (en) 2023-12-26

Similar Documents

Publication Publication Date Title
CN110224871B (zh) 一种Redis集群的高可用方法及装置
US9747183B2 (en) Method and system for intelligent distributed health monitoring in switching system equipment
JP4680919B2 (ja) ネットワークノードクラスタのための冗長なルーティング機能
US7619965B2 (en) Storage network management server, storage network managing method, storage network managing program, and storage network management system
US11226753B2 (en) Adaptive namespaces for multipath redundancy in cluster based computing systems
JP4572250B2 (ja) 計算機切り替え方法、計算機切り替えプログラム及び計算機システム
CN108616382A (zh) 升级网卡固件的方法、装置、网卡和设备
US9992058B2 (en) Redundant storage solution
US11863383B2 (en) System and method to debug, optimize, profile, or recover network device in live network
WO2020030000A1 (zh) 容灾切换方法、相关设备及计算机存储介质
US20130339663A1 (en) Reset of processing core in multi-core processing system
US20190334990A1 (en) Distributed State Machine for High Availability of Non-Volatile Memory in Cluster Based Computing Systems
JP5013324B2 (ja) コンピュータ装置及びそのbiosアップデート方法
EP1573978A2 (en) System and method for programming hyper transport routing tables on multiprocessor systems
JP2020088470A (ja) 情報処理装置、ネットワークシステム及びチーミングプログラム
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
CN117459482B (zh) 交换机的重启方法和装置、存储介质及电子装置
JP6604336B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
TW201735579A (zh) 設定裝置、通信系統、通信裝置之設定更新方法及程式
US20150195167A1 (en) Availability device, storage area network system with availability device and methods for operation thereof
JP2012014674A (ja) 仮想環境における故障復旧方法及びサーバ及びプログラム
US11418382B2 (en) Method of cooperative active-standby failover between logical routers based on health of attached services
JP2023104302A (ja) クラスタシステム、復旧方法
US10516625B2 (en) Network entities on ring networks
US20070201387A1 (en) Information processing device, communication load distribution method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240531