JP6056554B2 - クラスタシステム - Google Patents

クラスタシステム Download PDF

Info

Publication number
JP6056554B2
JP6056554B2 JP2013042016A JP2013042016A JP6056554B2 JP 6056554 B2 JP6056554 B2 JP 6056554B2 JP 2013042016 A JP2013042016 A JP 2013042016A JP 2013042016 A JP2013042016 A JP 2013042016A JP 6056554 B2 JP6056554 B2 JP 6056554B2
Authority
JP
Japan
Prior art keywords
server
active server
fencing
disk
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
JP2013042016A
Other languages
English (en)
Other versions
JP2014170394A (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
Priority to JP2013042016A priority Critical patent/JP6056554B2/ja
Priority to US14/196,393 priority patent/US9235484B2/en
Publication of JP2014170394A publication Critical patent/JP2014170394A/ja
Application granted granted Critical
Publication of JP6056554B2 publication Critical patent/JP6056554B2/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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • 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/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/2038Error 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 with a single idle spare processing component
    • 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/2046Error 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 where the redundant components share persistent storage

Description

本発明は、クラスタシステムにかかり、特に、フェイルオーバ機能を有するクラスタシステムに関する。
コンピュータの障害発生による処理の停止を抑制するために、例えば、特許文献1に示すように、現用系及び待機系の両サーバと共有ディスクを備えたフェイルオーバ型クラスタシステムが知られている。このようなフェイルオーバ型のクラスタシステムでは、両サーバにて作動する業務アプリケーションのデータは、現用系サーバからも待機系サーバからもアクセス可能な共有ディスクに格納される。そして、現用系サーバに障害が発生した場合、業務アプリケーションの切り替え(以降「フェイルオーバ」と記す)を行うことで、クラスタソフトウェアは待機系サーバで業務アプリケーションを起動する。待機系サーバで起動した業務アプリケーションは、共有ディスクに格納されたデータを使用し、現用系サーバの業務アプリケーションが停止した時点から業務処理を再開する。
上述したように、共有ディスク構成のフェイルオーバ型クラスタシステムでは、データを共有ディスクに格納するため、現用系と待機系の両サーバから同時に共有ディスクに書込を行うと、データが破壊するおそれがある。そのため、通常は現用系サーバからの書込のみを行うように排他制御を行う。以下に排他制御を行う例を記載する。
(1:フェイルオーバ時の排他制御)
現用系サーバから待機系サーバにフェイルオーバを実行する場合は、現用系サーバからの共有ディスクアクセスを確実に停止した後に、待機系サーバで業務アプリケーションを起動する必要がある。
(2:スプリットブレイン状態の排他制御)
サーバ間のネットワークの障害によりクラスタがお互いの状態を認識できないスプリットブレイン状態になった場合は、共有ディスクへのアクセスの有無により、業務アプリケーションを切り替えるサーバを決定する仕組み(スプリットブレイン解決)がある。このスプリットブレイン解決方式では、ネットワーク機器に障害が発生したサーバが共有ディスクへアクセスを行うと、障害サーバが健全に作動していると誤認識するおそれがあり、障害サーバから確実に共有ディスクにアクセスできないようにする必要がある。
上記のように、クラスタシステムにおいてフェイルオーバを行う場合には、正しく排他制御を行なって障害サーバから共有ディスクへのアクセスを確実に停止する必要がある。
特開2012−173752号公報
ここで、クラスタシステムにおいて共有ディスクへのアクセスを停止する手法として、ディスクのアンマウントやFC(Fibre Channel)スイッチのポート閉塞、OS(Operating System)パニック、などが用いられている。ところが、上述した各手法には以下の様な課題がある。
ディスクのアンマウントの場合は、処理に時間がかかり、書込み中のプロセスが存在する場合にはアンマウント処理が失敗する、という問題がある。FCスイッチのポート閉塞の場合は、サーバ外のモジュールに接続するため接続時間がかかり、障害の種類によってはFCスイッチに接続できない、という問題がある。OSパニックの場合は、HBA(Host Bus Adapter)カードのキャッシュに残っているI/Oが書き込まれる可能性がある、という問題が生じる。
また、HW(Hardware)レイヤで共有ディスクへの書き込みを防ぐI/Oフェンシングを実施する場合は、カードへの電源供給を断つ方式などがある。HWレイヤでI/Oフェンシングを実施した場合は、確実なI/Oフェンシングが可能であるが、I/Oフェンシングの完了を待機系サーバに通知する手段がない。このため、例えば、待機系サーバは、ハートビートの通信タイムアウトを待ってフェイルオーバを開始しなければならず、迅速にフェイルオーバを行うことができない、という問題がある。
以上のように、フェイルオーバ型のクラスタシステムでは、共有データの保護を行いつつ、迅速にフェイルオーバを行うことができない、という問題があった。
このため、本発明の目的は、上述した課題である、共有データの保護を行いつつ、迅速にフェイルオーバを行うことができない、ということを解決することができるクラスタシステムを提供することにある。
本発明の一形態であるクラスタシステムは、
相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備え、
前記現用系サーバは、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えており、
前記現用系サーバの前記制御装置は、前記待機系サーバと通信を行う通信モジュールと、前記現用系サーバの障害発生時に前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する初期化モジュールと、を備え、
前記待機系サーバは、前記現用系サーバの前記制御装置から前記I/Oフェンシングが完了した旨の通知を受けて、前記待機系サーバ上における前記アプリケーションにて前記現用系サーバ上における前記アプリケーションによる処理を引き継ぐフェイルオーバ処理機能を有する、
という構成をとる。
また、本発明の他の形態である現用系サーバは、
相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムにおける前記現用系サーバであって、
前記現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えており、
前記制御装置は、前記待機系サーバと通信を行う通信モジュールと、前記現用系サーバの障害発生時に前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する初期化モジュールと、を備えた、
という構成をとる。
また、本発明の他の形態であるプログラムは、
相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムにおける前記現用系サーバが、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えると共に、当該制御装置は、前記待機系サーバと通信を行う通信モジュールを備えており、
前記制御装置に、前記現用系サーバの障害発生時に前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する初期化モジュールによる処理、
を実行させるためのプログラムである。
また、本発明の他の形態であるフェイルオーバ方法は、
相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムによるフェイルオーバ方法であって、
前記現用系サーバは、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えると共に、当該制御装置は、前記待機系サーバと通信を行う通信モジュールを備えており、
前記現用系サーバの前記制御装置は、前記現用系サーバの障害発生時に、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行い、当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知し、
前記待機系サーバは、前記現用系サーバの前記制御装置から前記I/Oフェンシングが完了した旨の通知を受けて、前記待機系サーバ上における前記アプリケーションにて前記現用系サーバ上における前記アプリケーションによる処理を引き継ぐ、
という構成をとる。
また、本発明の他の形態であるフェイルオーバ方法は、
相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムによるフェイルオーバ方法であって、
前記現用系サーバは、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えると共に、当該制御装置は、前記待機系サーバと通信を行う通信モジュールを備えており、
前記現用系サーバの前記制御装置は、前記現用系サーバの障害発生時に、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行い、当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
という構成をとる。
本発明は、以上のように構成されることにより、共有データの保護を行いつつ、迅速にフェイルオーバを行うことができる。
本発明の実施形態1におけるクラスタシステムの構成を示すブロック図である。 図1に開示したクラスタシステムにおけるクラスタ起動時の動作を示すフローチャートである。 図1に開示したクラスタシステムにおけるクラスタ起動時の動作を説明する図である。 図1に開示したクラスタシステムにおけるソフトウェア障害検出時の動作を示すフローチャートである。 図1に開示したクラスタシステムにおけるソフトウェア障害検出時の動作を説明する図である。 図1に開示したクラスタシステムにおけるハードウェア障害検出時の動作を示すフローチャートである。 図1に開示したクラスタシステムにおけるハードウェア障害検出時の動作を説明する図である。 図1に開示したクラスタシステムにおける待機系サーバによる現用系サーバの障害検出時の動作を示すフローチャートである。 図1に開示したクラスタシステムにおける待機系サーバによる現用系サーバの障害検出時の動作を説明する図である。 本発明の付記1におけるクラスタシステムの構成を示すブロック図である。
<実施形態1>
本発明の第1の実施形態を、図1乃至図9を参照して説明する。図1は、クラスタシステムの構成を示す図であり、図2乃至図9は、クラスタシステムの動作を示す図である。
[構成]
本実施形態におけるクラスタシステム1は、共有ディスクを備えたフェイルオーバ型のクラスタシステムである。このクラスタシステム1は、図1に示すように、現用系サーバ10と待機系サーバ20とを備えており、これら両サーバ10,20にてアクセス可能であり共有される共有ディスク50を備えて構成されている。
現用系サーバ10と待機系サーバ20とは、それぞれほぼ同一の構成を取っており、同一の業務アプリケーションを実行することが可能である。そして、クラスタシステム1は、現用系サーバ10に障害が生じた場合には、当該現用系サーバ10の業務アプリケーションによる処理を、待機系サーバ20の業務アプリケーションが引き継ぐフェイルオーバ機能を有している。以下、現用系サーバ10と待機系サーバ20の構成はほぼ同一であるため、主に現用系サーバ10の構成について詳述する。
現用系サーバ10は、演算装置と記憶装置とを備えた情報処理装置にて構成されている。そして、現用系サーバ10は、演算装置にプログラムが組み込まれることで構築されたOS(Operating System)20を備えており、当該OS20は、クラスタソフトウェア30とIPMIドライバ21とを備えている。また、OS20は、図示しない業務アプリケーションを備えている。
また、現用系サーバ10は、当該サーバ10に装備されたハードウェア(HW)を管理するBMC(Base Management Controller)40(制御装置)と、共有ディスク50へのアクセスを行うPCIカード11(ディスク入出力装置)を備えている。なお、上記BMC40は、上記OS20の影響を受けずに作動するよう構成されている。以下、各構成についてさらに詳述する。
上記OS20が備えるクラスタソフトウェア30は、サーバ管理モジュール31、HB(Heart Beat)モジュー32、障害検出モジュール33、サーバ制御モジュール34、通知受信モジュール35を備えている。
上記サーバ管理モジュール31は、クラスタシステムを構成する各サーバの状態(起動状態/停止状態)や、業務アプリケーションの状態(起動状態/停止状態、起動しているサーバ)を管理する。また、サーバ管理モジュール31は、HBモジュール32や障害検出モジュール33から障害情報や他サーバの停止情報を受信した場合に、業務アプリケーションの状態を確認し、アプリケーションが停止している、または、正常に動作できないと判断した場合に、業務アプリケーションのフェイルオーバを指示する。
上記HBモジュール32は、定期的なネットワークパケットの送受信やディスクへの書込などの手段によりクラスタシステムを構成する各サーバが起動しているか停止しているかを判断する。他のサーバが起動状態から停止状態、または、停止状態から起動状態に移行した場合は、サーバ管理モジュール31にサーバの状態変化を通知する。
上記障害検出モジュール33は、自サーバの内蔵・共有ディスクへのアクセス可否や業務アプリケーションの死活、ネットワーク通信が正常に行えるかなど、自サーバのコンピュータ資源が正常に動作しているかどうかの監視を行う。コンピュータ資源に異常を検出した場合は、サーバ管理モジュール31に異常を通知する。
上記サーバ制御モジュール34は、サーバ管理モジュール31からの指示に従い自サーバ10のシャットダウン、自サーバ10のBMC40や相手サーバ20のBMC90への指示を行い、自サーバ10や相手サーバ20の起動停止を制御する。
通知受信モジュール35は、相手サーバ20のBMC90からのI/Oフェンシング完了通知を受信し、サーバ管理モジュール31に通知を行う。
そして、上述したOS20及びクラスタソフトウェア30の構成を、待機系サーバ60のOS70及びクラスタソフトウェア80も備えている。つまり、待機系サーバ60のOS70は、IPMIドライバ71を備えており、クラスタソフトウェア80は、サーバ管理モジュール81、HB(Heart Beat)モジュール82、障害検出モジュール83、サーバ制御モジュール84、通知受信モジュール85を備えている。
次に、現用系サーバ10のBMC40の構成について詳述する。BMC40は、当該BMC40が備える演算装置にプログラムが組み込まれることで構築された、BMC制御モジュール41、IPMI受信モジュール42、フェンシング制御モジュール43、通知送信モジュール44、HW障害検出モジュール45を備えている。
BMC制御モジュール41(初期化モジュール)は、起動時にクラスタソフトウェア30から通知されるI/Oフェンシング対象となるPCIカード11のスロット番号や、フェンシング完了通知先となる待機系サーバ20のIPアドレスの管理を行う。なお、PCIカード11のスロット番号は、PCIカード11にアクセスするためのアクセス情報であり、待機系サーバ20のIPアドレスは、情報を通知する際に当該待機系サーバ20の宛先となるアドレス情報である。
また、BMC制御モジュール41は、クラスタソフトウェア30からI/Oフェンシング命令を受信した場合や、HW障害検出モジュール45からHW障害の通知を受信した場合に、I/Oフェンシングの実行をフェンシング制御モジュール43に指示する。
上記IPMI受信モジュール42は、自サーバ10のクラスタソフトウェア30や他サーバ20のクラスタソフトウェア80からのIPMI制御コマンド(I/Oフェンシング命令や設定情報)を受信し、BMC制御モジュール41に通知する。
上記フェンシング制御モジュール43(初期化モジュール)は、BMC制御モジュール41からのI/Oフェンシング命令を受信し、指定されたPCIカード11が接続されているPCIスロットのリセットを行い、I/Oフェンシングを行う。また、フェンシング制御モジュール43は、I/Oフェンシング完了後に、通知送信モジュール44にI/Oフェンシングの完了を通知する。なお、上記I/Oフェンシングとは、クラスタシステムを構成するサーバが停止する場合に、サーバをFile System(共有ディスク)から切り離してI/Oが発生しない状態にすることである。
上記通知送信モジュール44(通信モジュール)は、I/Oフェンシングの完了を受信すると、登録されたIPアドレスに対して、I/Oフェンシングの完了をネットワーク経由で通知する。
上記HW障害検出モジュール45は、サーバ10を構成するHWモジュールを監視し、障害検出時にBMC制御モジュール41に障害を通知する。
そして、上述したBMC40の構成を、待機系サーバ60のBMC90も備えている。つまり、待機系サーバ60のBMC90は、当該BMC90が備える演算装置にプログラムが組み込まれることで構築された、BMC制御モジュール91、IPMI受信モジュール92、フェンシング制御モジュール93、通知送信モジュール94、HW障害検出モジュール95を備えている。
[動作]
次に、上述したクラスタシステムの動作を、図2乃至図9を参照して説明する。以下では、クラスタシステムの動作を、次の4種類のケースに分けて説明する。
(1)クラスタ起動
(2)クラスタソフトウェアが自サーバの障害を検出したケース
(3)BMCが自サーバのHW障害を検出したケース
(4)クラスタソフトウェアが、他サーバの停止を検出したケース
(1)クラスタ起動
まず、クラスタシステムが起動したときの動作を、図2のフローチャート、及び、図3の点線矢印を参照して説明する。
まず、現用系サーバ10の起動時に、サーバ制御モジュール34は、予め登録された設定ファイルから、共有ディスク50と接続しているPCIカード11のスロット番号と、待機系サーバ20のIPアドレスと、をロードし(ステップS1)、IPMIドライバ21経由でBMC40に通知する(ステップS2)。通知を受信したBMC40のIPMI受信モジュール42は、BMC制御モジュール41にPCIカード11のスロット番号と待機系サーバのIPアドレスを通知する。そして、BMC制御モジュール41は、通知を受けたPCIカード11のスロット番号と待機系サーバ20のIPアドレスとを、モジュール内の揮発性メモリに保存する(ステップS3)。なお、待機系サーバ20でも同様の処理が行われる。
上記の初期設定が行われない場合は、HBタイムアウトによる他サーバの停止検出と、OSパニックやディスクのアンマウントにより共有ディスクへのI/Oを停止する一般的なクラスタソフトウェアとして動作する。
(2)クラスタソフトウェアが自サーバの障害を検出したケース
次に、クラスタソフトウェアが自サーバの障害を検出したときの動作を、図4のフローチャート、及び、図5の点線矢印を参照して説明する。本障害ケースでは、現用系サーバ10上のクラスタソフトウェア30を構成する障害検出モジュール33が障害を検出する。本ケースにおける障害は、業務アプリケーションの消滅、NICドライバやディスクドライバなどのドライバレベルで検出される障害など、ソフトウェアレベルで検出可能な障害である。
まず、障害検出モジュール33が障害を検出すると、サーバ管理モジュール31に障害の発生を通知する(ステップS11)。サーバ管理モジュール31は、BMC40によるI/Oフェンシング機能が有効であることを確認し、速やかに業務アプリケーションのフェイルオーバ処理を開始する。
サーバ管理モジュール31は、共有ディスク50へのI/Oの停止を行うために、サーバ制御モジュール34に共有ディスク50へのI/Oフェンシング処理を指示する(ステップS12)。サーバ制御モジュール34は、サーバ管理モジュール31からのI/Oフェンシング指示を受け取ると直ちに、I/Oフェンシング命令と対象のPCIカード11のスロット番号を、IPMIドライバ21経由でBMC40に通知する。
続いて、IPMI受信モジュール42は、IPMIドライバ21経由でI/Oフェンシング命令と対象PCIカードのスロット番号を受信する。IPMI受信モジュール42は、BMC制御モジュール41にI/Oフェンシング命令と対象となるPCIカード11のスロット番号を通知する。BMC制御モジュール41は、フェンシング制御モジュール43にI/Oフェンシング命令と対象となるPCIカード11のスロット番号を通知する。なお、BMC制御モジュール41は、起動時に登録されたPCIカード11のスロット番号を、フェンシング制御モジュール43に通知してもよい。
そして、フェンシング制御モジュール43は、I/Oフェンシングの命令を受けると、指定されたPCIカード11のスロット番号に対して当該PCIカード11をリセット(初期化)する(ステップS13)。これにより、ソフトウェアレベルでI/Oフェンシングを制御するよりも、確実に共有ディスク50に対するI/Oを停止することができる。
上述したように、PCIカード11のリセットが完了すると、フェンシング制御モジュール43は、通知送信モジュール44にI/Oフェンシングの完了を通知するように指示を行う。通知送信モジュール44は、あらかじめ登録されている通知先(待機系サーバ20のIPアドレス)に対して、I/Oフェンシングの完了通知を送信する(ステップS14)。通知の方法は、ネットワーク経由のSNMP Trapなどを用いる。なお、上述したBMC40がI/Oフェンシング命令を受信してから完了通知を待機系サーバ20に送信する一連の処理を、BMCによるI/Oフェンシング処理と呼ぶ。
その後、待機系サーバ20上のクラスタウェア80を構成する通知受信モジュール85は、ネットワーク経由で、現用系サーバ10のBMC40から当該現用系サーバ10のI/Oフェンシングの完了通知を受信し、I/Oフェンシングの完了したサーバの情報をサーバ管理モジュール81に通知する。サーバ管理モジュール81は、I/Oフェンシングの完了通知と対象サーバである現用系サーバ10の情報を受信すると、当該サーバ10で動作していた業務アプリケーションのフェイルオーバを開始する。これにより、業務アプリケーションのフェイルオーバが完了し、待機系サーバ20にて業務が再開する(ステップS15)。
ここで、クラスタシステムを構成するサーバが3台以上の場合は、業務アプリケーションのフェイルオーバ先を、予め登録された優先順位や、リソースの空き状況などのルールに従って1台のサーバに決定する。なお、待機系サーバ20の通知受信モジュール85がI/Oフェンシングの完了通知を受信してからフェイルオーバを行う一連の処理を、クラスタ再構成処理と呼ぶ。
(3)BMCが自サーバのHW障害を検出したケース
次に、現用系サーバ10のBMC40が、自サーバのHW障害を検出したときの動作を、図6のフローチャート、及び、図7の点線矢印を参照して説明する。
本ケースでは、現用系サーバ10のBMC40を構成するHW障害検出モジュール45が障害を検出する(ステップS21)。本ケースにおける障害は、ハードウェア(HW)のセンサ異常や温度上昇、電圧低下などのハードウェアレベルで検出可能な障害である。
まず、HW障害検出モジュール45は、障害を検出した場合、BMC制御モジュール41に障害の発生を通知する。BMC制御モジュール41は、障害内容を確認し、現用系サーバ10の停止が必要な障害と判断した場合は、フェンシング制御モジュール43にI/Oフェンシング命令と起動処理で保存したPCIカード11のスロット番号を、フェンシング制御モジュール43に通知する(ステップS22)。
フェンシング制御モジュール43は、指定された番号のPCIカード11のスロットをリセットする(ステップS22)。これにより、共有ディスク50に対するI/Oを停止するI/Oフェンシングを行う。
PCIカード11のスロットのリセットが完了すると、フェンシング制御モジュール43は通知送信モジュール44に、I/Oフェンシングの完了を通知するように指示を行う。通知送信モジュール44は、あらかじめ登録されている通知先(待機系サーバ20のIPアドレス)に対して、I/Oフェンシングの完了通知を送信する(ステップS23)。
待機系サーバ20のクラスタウェア80は、I/Oフェンシングの完了通知を受信し、クラスタ再構成処理を行う(ステップS24)。
(4)クラスタソフトウェアが、他サーバの停止を検出したケース
次に、待機系サーバ60のクラスタソフトウェア80が、現用系サーバの障害を検出したときの動作を、図8のフローチャート、及び、図9の点線矢印を参照して説明する。
本ケースでは、待機系サーバ20のクラスタソフトウェア80を構成するHBモジュール82が、現用系サーバ10の障害を検出する。本ケースにおける障害は、現用系サーバ10のOS20のストールやパニック、クラスタソフトウェア30の停止である。
まず、HBモジュール82は、現用系サーバ10のHBモジュール32と定期的にハートビート通信を行なっている。このとき、HBモジュール82が一定期間ハートビート通信ができない状態になると、当該HBモジュール82は現用系サーバ10が停止したと判断し(ステップS31)、サーバ管理モジュール81にハートビート通信異常を通知する。サーバ管理モジュール81は、スプリットブレイン解決を行い、現用系サーバ10が停止していると判断した場合に、サーバ制御モジュール84に現用系サーバ10のI/Oフェンシング実行を指示する。
本処理は、現用系サー10のOS20がストールによりハートビート通信できていない場合、共有ディスク50に対するI/Oが完全に停止していないことになるため、確実なI/Oフェンシングを実施するための処理である。サーバ制御モジュール84は、サーバ管理モジュール81からのI/Oフェンシング命令を受信すると直ちに、ネットワーク経由でI/Oフェンシング命令と対象のPCIカード11のスロット番号を、現用系サーバ10のBMC40に通知する(ステップS32)。
現用系サーバ10のBMC40のIPMI受信モジュール42は、待機系サーバ60のサーバ制御モジュール84からのI/Oフェンシング命令を受信すると、BMC40によるI/Oフェンシング処理を行う。つまり、上述同様に、共有ディスク50に接続されたPCIカード11のスロットをリセットし(ステップS33)、あらかじめ登録されている通知先(待機系サーバ20のIPアドレス)に対して、I/Oフェンシングの完了通知を送信する(ステップS34)。
その後、待機系サーバ60のクラスタウェア80は、I/Oフェンシングの完了通知を受信し、クラスタ再構成処理を行う(ステップS35)。
本発明のクラスタシステムは以上のように作動するため、以下の効果を発揮しうる。
まず、共有ディスクアクセスの排他制御の確実性が向上する。これは、上述したように、BMCおよびHWレベルでPCIカードをリセットするためであり、ソフトウェアレベルでI/Oフェンシングを制御するよりも確実にI/Oを停止可能である。たとえば、ソフトウェアレベルでは、カードにキューイングされているI/Oを障害発生時に停止することは困難である。また、OSがストールまたは停止していると判断される障害サーバに対して、外部のサーバがI/Oフェンシングの命令を行うことで、確実にI/Oフェンシングを実行できる。
また、高速なフェイルオーバ実現できる。これは、I/Oフェンシング完了後に、現用系サーバのBMCから待機系サーバのクラスタウェアにネットワーク通知を行っていることによる。通常のクラスタウェアは、ハートビートの通信異常(タイムアウト)を検知して現用系サーバが停止したと判断するため、必ずタイムアウト時間が必要となる。本発明では、タイムアウトではなく、BMCからの通知を契機にフェイルオーバを実行するため、フェイルオーバ開始までの時間短縮が可能となる。
ここで、上記では、2台のクラスタ構成であったが、I/Oフェンシング通知対象IPアドレスを複数登録することで、3台以上のクラスタ構成でも同様の方式が実現可能である。また、両サーバアクティブのクラスタ構成でもアクティブ-スタンバイ型と同用の構成で、提案の方式が実現可能である。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるクラスタシステム(図10参照)、現用系サーバ、プログラム、フェイルオーバ方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
相互に同一のアプリケーション111,211を実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ100及び待機系サーバ200と、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスク300と、を備え、
前記現用系サーバ100は、当該現用系サーバに組み込まれたオペレーティングシステム110の影響を受けずに作動する制御装置120と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置130と、を備えており、
前記現用系サーバ100の前記制御装置120は、前記待機系サーバと通信を行う通信モジュール121と、前記現用系サーバの障害発生時に前記ディスク入出力装置130を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュール121を介して前記待機系サーバ200に通知する初期化モジュール122と、を備え、
前記待機系サーバ200は、前記現用系サーバの前記制御装置から前記I/Oフェンシングが完了した旨の通知を受けて、前記待機系サーバ上における前記アプリケーションにて前記現用系サーバ上における前記アプリケーションによる処理を引き継ぐフェイルオーバ処理機能を有する、
クラスタシステム。
(付記2)
付記1に記載のクラスタシステムであって、
前記現用系サーバは、当該現用系サーバにて作動しているソフトウェアの障害発生を検出して前記制御装置の前記通知モジュールに通知する障害検出モジュールを備え、
前記制御装置の前記初期化モジュールは、前記障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
クラスタシステム。
(付記3)
付記1又は2に記載のクラスタシステムであって、
前記現用系サーバの前記制御装置は、当該現用系サーバに装備されたハードウェアの障害発生を検出して前記制御装置の前記初期化モジュールに通知するハードウェア障害検出モジュールを備え、
前記制御装置の前記初期化モジュールは、前記ハードウェア障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
クラスタシステム。
(付記4)
付記1乃至3のいずれかに記載のクラスタシステムであって、
前記待機系サーバは、前記現用系サーバにおける障害発生を検出して、前記現用系サーバの前記初期化モジュールに通知する待機系側障害検出モジュールを備え、
前記現用系サーバの前記初期化モジュールは、前記待機系サーバの前記待機系側障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
クラスタシステム。
(付記5)
付記1乃至4のいずれかに記載のクラスタシステムであって、
前記初期化モジュールは、前記ディスク入出力装置にアクセスするためのアクセス情報と、前記待機系サーバに情報を通知するためのアドレス情報と、を記憶保持しており、前記アクセス情報に基づいて前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記アドレス情報に基づいて前記通信モジュールを介して前記待機系サーバに通知する、
クラスタシステム。
(付記6)
付記5に記載のクラスタシステムであって、
前記現用系サーバは、当該現用系サーバの起動時に、前記アクセス情報及び前記アドレス情報が予め設定された設定ファイルを読み出し、当該設定ファイルに設定されている前記アクセス情報及び前記アドレス情報を前記制御装置の前記初期化モジュールに通知し、
前記初期化モジュールは、通知された前記アクセス情報及び前記アドレス情報を記憶保持する、
クラスタシステム。
(付記7)
相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムにおける前記現用系サーバであって、
前記現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えており、
前記制御装置は、前記待機系サーバと通信を行う通信モジュールと、前記現用系サーバの障害発生時に前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する初期化モジュールと、を備えた、
現用系サーバ。
(付記7−2)
付記7に記載の現用系サーバであって、
前記現用系サーバは、当該現用系サーバにて作動しているソフトウェアの障害発生を検出して前記初期化モジュールに通知する障害検出モジュールを備え、
前記初期化モジュールは、前記障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
現用系サーバ。
(付記7−3)
付記7又は7−2に記載の現用系サーバであって、
前記制御装置は、当該現用系サーバに装備されたハードウェアの障害発生を検出して前記初期化モジュールに通知するハードウェア障害検出モジュールを備え、
前記初期化モジュールは、前記ハードウェア障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
現用系サーバ。
(付記7−4)
付記7乃至7−3のいずれかに記載の現用系サーバであって、
前記待機系サーバが、前記現用系サーバにおける障害発生を検出して、前記現用系サーバの前記初期化モジュールに通知する待機系側障害検出モジュールを備えており、
前記初期化モジュールは、前記待機系サーバの前記待機系側障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
現用系サーバ。
(付記8)
相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムにおける前記現用系サーバが、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えると共に、当該制御装置は、前記待機系サーバと通信を行う通信モジュールを備えており、
前記制御装置に、前記現用系サーバの障害発生時に前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する初期化モジュールによる処理、
を実行させるためのプログラム。
(付記8−2)
付記8に記載のプログラムであって、
前記現用系サーバは、当該現用系サーバにて作動しているソフトウェアの障害発生を検出して前記初期化モジュールに通知する障害検出モジュールを備えており、
前記初期化モジュールは、前記障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
プログラム。
(付記8−3)
付記8又は8−2に記載のプログラムであって、
前記制御装置は、当該現用系サーバに装備されたハードウェアの障害発生を検出して前記初期化モジュールに通知するハードウェア障害検出モジュールを備えており、
前記初期化モジュールは、前記ハードウェア障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
プログラム。
(付記8−4)
付記8乃至8−3のいずれかに記載のプログラムであって、
前記待機系サーバは、前記現用系サーバにおける障害発生を検出して、前記現用系サーバの前記初期化モジュールに通知する待機系側障害検出モジュールを備えており、
前記現用系サーバの前記初期化モジュールは、前記待機系サーバの前記待機系側障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
プログラム。
(付記9)
相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムによるフェイルオーバ方法であって、
前記現用系サーバは、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えると共に、当該制御装置は、前記待機系サーバと通信を行う通信モジュールを備えており、
前記現用系サーバの前記制御装置は、前記現用系サーバの障害発生時に、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行い、当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知し、
前記待機系サーバは、前記現用系サーバの前記制御装置から前記I/Oフェンシングが完了した旨の通知を受けて、前記待機系サーバ上における前記アプリケーションにて前記現用系サーバ上における前記アプリケーションによる処理を引き継ぐ、
フェイルオーバ方法。
(付記9−2)
付記9に記載のフェイルオーバ方法であって、
前記現用系サーバは、当該現用系サーバにて作動しているソフトウェアの障害発生を検出して前記制御装置に通知し、
前記現用系サーバの前記制御装置は、前記現用系サーバにて作動しているソフトウェアの障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
フェイルオーバ方法。
(付記9−3)
付記9又は9−2に記載のフェイルオーバ方法であって、
前記現用系サーバの前記制御装置は、当該現用系サーバに装備されたハードウェアの障害発生を検出すると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
フェイルオーバ方法。
(付記9−4)
付記9乃至9−3のいずれかに記載のフェイルオーバ方法であって、
前記待機系サーバは、前記現用系サーバにおける障害発生を検出して、前記現用系サーバの前記制御装置に通知し、
前記現用系サーバの前記制御装置は、前記待機系サーバから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
フェイルオーバ方法。
(付記10)
相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムによるフェイルオーバ方法であって、
前記現用系サーバは、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えると共に、当該制御装置は、前記待機系サーバと通信を行う通信モジュールを備えており、
前記現用系サーバの前記制御装置は、前記現用系サーバの障害発生時に、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行い、当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
フェイルオーバ方法。
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
10 現用系サーバ
11 PCIカード
20 OS
30 クラスタソフトウェア
31 サーバ管理モジュール
32 HBモジュール
33 障害検出モジュール
34 サーバ制御モジュール
35 通知受信モジュール
40 BMC
41 BMC制御モジュール
42 IPMI受信モジュール
43 フェンシング制御モジュール
44 通知送信モジュール
45 HW障害検出モジュール
50 共有ディスク
60 待機系サーバ
61 PCIカード
70 OS
80 クラスタソフトウェア
81 サーバ管理モジュール
82 HBモジュール
83 障害検出モジュール
84 サーバ制御モジュール
85 通知受信モジュール
90 BMC
91 BMC制御モジュール
92 IPMI受信モジュール
93 フェンシング制御モジュール
94 通知送信モジュール
95 HW障害検出モジュール
100 現用系サーバ
110 OS
111 アプリケーション
120 制御装置
121 通信モジュール
122 初期化モジュール
130 入出力装置
200 待機系サーバ
210 OS
211 アプリケーション
300 共有ディスク

Claims (10)

  1. 相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備え、
    前記現用系サーバは、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えており、
    前記現用系サーバの前記制御装置は、前記待機系サーバと通信を行う通信モジュールと、前記現用系サーバの障害発生時に前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する初期化モジュールと、を備え、
    前記待機系サーバは、前記現用系サーバの前記制御装置から前記I/Oフェンシングが完了した旨の通知を受けて、前記待機系サーバ上における前記アプリケーションにて前記現用系サーバ上における前記アプリケーションによる処理を引き継ぐフェイルオーバ処理機能を有する、
    クラスタシステム。
  2. 請求項1に記載のクラスタシステムであって、
    前記現用系サーバは、当該現用系サーバにて作動しているソフトウェアの障害発生を検出して前記制御装置の前記通知モジュールに通知する障害検出モジュールを備え、
    前記制御装置の前記初期化モジュールは、前記障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
    クラスタシステム。
  3. 請求項1又は2に記載のクラスタシステムであって、
    前記現用系サーバの前記制御装置は、当該現用系サーバに装備されたハードウェアの障害発生を検出して前記制御装置の前記初期化モジュールに通知するハードウェア障害検出モジュールを備え、
    前記制御装置の前記初期化モジュールは、前記ハードウェア障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
    クラスタシステム。
  4. 請求項1乃至3のいずれかに記載のクラスタシステムであって、
    前記待機系サーバは、前記現用系サーバにおける障害発生を検出して、前記現用系サーバの前記初期化モジュールに通知する待機系側障害検出モジュールを備え、
    前記現用系サーバの前記初期化モジュールは、前記待機系サーバの前記待機系側障害検出モジュールから前記現用系サーバにおける障害発生の通知を受けると、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
    クラスタシステム。
  5. 請求項1乃至4のいずれかに記載のクラスタシステムであって、
    前記初期化モジュールは、前記ディスク入出力装置にアクセスするためのアクセス情報と、前記待機系サーバに情報を通知するためのアドレス情報と、を記憶保持しており、前記アクセス情報に基づいて前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記アドレス情報に基づいて前記通信モジュールを介して前記待機系サーバに通知する、
    クラスタシステム。
  6. 請求項5に記載のクラスタシステムであって、
    前記現用系サーバは、当該現用系サーバの起動時に、前記アクセス情報及び前記アドレス情報が予め設定された設定ファイルを読み出し、当該設定ファイルに設定されている前記アクセス情報及び前記アドレス情報を前記制御装置の前記初期化モジュールに通知し、
    前記初期化モジュールは、通知された前記アクセス情報及び前記アドレス情報を記憶保持する、
    クラスタシステム。
  7. 相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムにおける前記現用系サーバであって、
    前記現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えており、
    前記制御装置は、前記待機系サーバと通信を行う通信モジュールと、前記現用系サーバの障害発生時に前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する初期化モジュールと、を備えた、
    現用系サーバ。
  8. 相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムにおける前記現用系サーバが、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えると共に、当該制御装置は、前記待機系サーバと通信を行う通信モジュールを備えており、
    前記制御装置に、前記現用系サーバの障害発生時に前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行うと共に当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する初期化モジュールによる処理、
    を実行させるためのプログラム。
  9. 相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムによるフェイルオーバ方法であって、
    前記現用系サーバは、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えると共に、当該制御装置は、前記待機系サーバと通信を行う通信モジュールを備えており、
    前記現用系サーバの前記制御装置は、前記現用系サーバの障害発生時に、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行い、当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知し、
    前記待機系サーバは、前記現用系サーバの前記制御装置から前記I/Oフェンシングが完了した旨の通知を受けて、前記待機系サーバ上における前記アプリケーションにて前記現用系サーバ上における前記アプリケーションによる処理を引き継ぐ、
    フェイルオーバ方法。
  10. 相互に同一のアプリケーションを実行し当該アプリケーションによる他方の処理を引き継ぐことが可能なフェイルオーバ機能を有する現用系サーバ及び待機系サーバと、当該現用系サーバ及び待機系サーバにて共有可能なデータを記憶する共有ディスクと、を備えたクラスタシステムによるフェイルオーバ方法であって、
    前記現用系サーバは、当該現用系サーバに組み込まれたオペレーティングシステムの影響を受けずに作動する制御装置と、前記共有ディスクに接続し当該共有ディスクに対するデータの入出力を行うディスク入出力装置と、を備えると共に、当該制御装置は、前記待機系サーバと通信を行う通信モジュールを備えており、
    前記現用系サーバの前記制御装置は、前記現用系サーバの障害発生時に、前記ディスク入出力装置を初期化することにより前記共有ディスクに対するI/Oフェンシングを行い、当該I/Oフェンシングが完了した旨を前記通信モジュールを介して前記待機系サーバに通知する、
    フェイルオーバ方法。
JP2013042016A 2013-03-04 2013-03-04 クラスタシステム Active JP6056554B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013042016A JP6056554B2 (ja) 2013-03-04 2013-03-04 クラスタシステム
US14/196,393 US9235484B2 (en) 2013-03-04 2014-03-04 Cluster system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013042016A JP6056554B2 (ja) 2013-03-04 2013-03-04 クラスタシステム

Publications (2)

Publication Number Publication Date
JP2014170394A JP2014170394A (ja) 2014-09-18
JP6056554B2 true JP6056554B2 (ja) 2017-01-11

Family

ID=51421646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013042016A Active JP6056554B2 (ja) 2013-03-04 2013-03-04 クラスタシステム

Country Status (2)

Country Link
US (1) US9235484B2 (ja)
JP (1) JP6056554B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6205898B2 (ja) * 2013-06-27 2017-10-04 富士通株式会社 制御方法、制御プログラムおよび情報処理システム
JP2016177642A (ja) * 2015-03-20 2016-10-06 株式会社リコー 情報処理装置、情報処理システム、プログラム及び画像処理システム
JP6424134B2 (ja) * 2015-04-23 2018-11-14 株式会社日立製作所 計算機システム及び計算機システムの制御方法
US10341252B2 (en) * 2015-09-30 2019-07-02 Veritas Technologies Llc Partition arbitration optimization
US10089028B2 (en) * 2016-05-27 2018-10-02 Dell Products L.P. Remote secure drive discovery and access
US9612927B1 (en) 2016-09-14 2017-04-04 International Business Machines Corporation Managing server processes with proxy files
US10671403B2 (en) * 2017-02-17 2020-06-02 Lenovo (Beijing) Co., Ltd. Method and apparatus for identifying hardware device in operating system
JP7056868B2 (ja) * 2017-12-19 2022-04-19 日本電気通信システム株式会社 システム、計算機、システム制御方法及びプログラム
CN108768730B (zh) * 2018-05-31 2022-05-31 北京百度网讯科技有限公司 用于操作智能网卡的方法和装置
US10909008B2 (en) * 2018-12-17 2021-02-02 Ribbon Communications Operating Company, Inc. Methods and apparatus for detecting, eliminating and/or mitigating split brain occurrences in high availability systems
CN110333972A (zh) * 2019-07-03 2019-10-15 深信服科技股份有限公司 共享磁盘管理方法、装置、设备及存储介质
US11403001B2 (en) * 2020-04-30 2022-08-02 EMC IP Holding Company, LLC System and method for storage system node fencing
JP2023104302A (ja) * 2022-01-17 2023-07-28 株式会社日立製作所 クラスタシステム、復旧方法
CN116170286B (zh) * 2023-04-25 2023-09-15 陕西盛禾汇达网络科技有限公司 基于区块链的网络安全服务器及控制系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06325008A (ja) * 1993-03-17 1994-11-25 Hitachi Ltd リセット機能を備えるコンピュータシステム
JPH08185379A (ja) * 1994-12-29 1996-07-16 Nec Corp パラレルプロセッシングシステム
US5996075A (en) * 1995-11-02 1999-11-30 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
EP1368742A4 (en) * 2001-02-13 2010-09-01 Candera Inc STORAGE VIRTUALIZATION AND STORAGE MANAGEMENT FOR PROVIDING HIGHER STORAGE SERVICES
JP2002312297A (ja) * 2001-04-18 2002-10-25 Nec Corp Pciホスト・バス・ブリッジ・システム初期化方式
US7254736B2 (en) * 2002-12-18 2007-08-07 Veritas Operating Corporation Systems and method providing input/output fencing in shared storage environments
US7739541B1 (en) * 2003-07-25 2010-06-15 Symantec Operating Corporation System and method for resolving cluster partitions in out-of-band storage virtualization environments
JP4426321B2 (ja) * 2004-01-13 2010-03-03 株式会社日立製作所 ホットスタンバイシステム、ホストコンピュータ、i/o処理方法、および、コンピュータ読取り可能なプログラム
JP2005309552A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd 計算機
JP4353005B2 (ja) * 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
US7653682B2 (en) * 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
JP4939102B2 (ja) * 2006-04-21 2012-05-23 株式会社日立製作所 ネットワークブート計算機システムの高信頼化方法
JP5392594B2 (ja) * 2008-03-05 2014-01-22 日本電気株式会社 仮想計算機冗長化システム、コンピュータシステム、仮想計算機冗長化方法、及びプログラム
WO2010079587A1 (ja) * 2009-01-06 2010-07-15 三菱電機株式会社 管理装置及び管理方法及びプログラム
JP2011070655A (ja) * 2009-08-24 2011-04-07 Toshiba Corp 情報処理装置、メモリダンプシステムおよびメモリダンプ方法
US8417899B2 (en) * 2010-01-21 2013-04-09 Oracle America, Inc. System and method for controlling access to shared storage device
JP2012173752A (ja) * 2011-02-17 2012-09-10 Nec Corp クラスタシステム、データ記録方法、及びプログラム

Also Published As

Publication number Publication date
US20140250320A1 (en) 2014-09-04
US9235484B2 (en) 2016-01-12
JP2014170394A (ja) 2014-09-18

Similar Documents

Publication Publication Date Title
JP6056554B2 (ja) クラスタシステム
US8423816B2 (en) Method and computer system for failover
US8713362B2 (en) Obviation of recovery of data store consistency for application I/O errors
US9582373B2 (en) Methods and systems to hot-swap a virtual machine
US9298566B2 (en) Automatic cluster-based failover handling
US8443237B2 (en) Storage apparatus and method for controlling the same using loopback diagnosis to detect failure
JP4572250B2 (ja) 計算機切り替え方法、計算機切り替えプログラム及び計算機システム
JP5561622B2 (ja) 多重化システム、データ通信カード、状態異常検出方法、及びプログラム
US8667337B2 (en) Storage apparatus and method of controlling the same
JP2007164394A (ja) ストレージ切替システム、ストレージ切替方法、管理サーバ、管理方法および管理プログラム
JP2008186296A (ja) ストレージシステム、ストレージ装置、ファームウェアの活性交換方法、ファームウェアの活性交換プログラム
WO2012176278A1 (ja) 情報処理装置、仮想マシン制御方法およびプログラム
JP2017010390A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
JP2006107080A (ja) ストレージ装置システム
US20130117518A1 (en) System controller, information processing system and method of saving and restoring data in the information processing system
EP2648095B1 (en) System and method for controlling the booting of a computer
JP3957065B2 (ja) ネットワーク計算機システムおよび管理装置
JP6124644B2 (ja) 情報処理装置および情報処理システム
JP2006189963A (ja) ストレージアクセス制御方法、クラスタシステム、パス接続スイッチおよびストレージアクセス制御プログラム
US10353613B2 (en) Computer system and control method therefor for handling path failure
JP6822706B1 (ja) クラスタシステム、サーバ装置、引継ぎ方法、及びプログラム
JP5549688B2 (ja) 情報処理システム、及び、情報処理システムの制御方法
JP5439736B2 (ja) コンピュータ管理システム、コンピュータシステムの管理方法、及びコンピュータシステムの管理プログラム
JP6519266B2 (ja) 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム
JPWO2012176278A1 (ja) 情報処理装置、仮想マシン制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161028

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161121

R150 Certificate of patent or registration of utility model

Ref document number: 6056554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150