Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6424134B2 - 計算機システム及び計算機システムの制御方法 - Google Patents
[go: Go Back, main page]

JP6424134B2 - 計算機システム及び計算機システムの制御方法 - Google Patents

計算機システム及び計算機システムの制御方法 Download PDF

Info

Publication number
JP6424134B2
JP6424134B2 JP2015088221A JP2015088221A JP6424134B2 JP 6424134 B2 JP6424134 B2 JP 6424134B2 JP 2015088221 A JP2015088221 A JP 2015088221A JP 2015088221 A JP2015088221 A JP 2015088221A JP 6424134 B2 JP6424134 B2 JP 6424134B2
Authority
JP
Japan
Prior art keywords
computer
active
standby
active computer
setting state
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
JP2015088221A
Other languages
English (en)
Other versions
JP2016206965A (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.)
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 JP2015088221A priority Critical patent/JP6424134B2/ja
Publication of JP2016206965A publication Critical patent/JP2016206965A/ja
Application granted granted Critical
Publication of JP6424134B2 publication Critical patent/JP6424134B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、計算機システムの多重系制御方法に関する。
多重系の計算機システムは、業務を実行する現用系計算機と、現用系計算機を監視して異常を検知したときにその業務を引き継ぐ待機系計算機から構成される。この現用系計算機で異常が発生したときに、待機系計算機が業務を引き継ぐ一連の処理をフェイルオーバ(もしくは系切り替え)と呼ぶ。
フェイルオーバについては、次の3点が求められる。第一に、異常が発生した原因の解析を支援する目的で、異常を起こした現用系計算機のメモリダンプを採取する。第2に、異常を起こした現用系計算機が不適切なデータ出力を行わないように、待機系計算機が業務を引き継ぐ前に現用系計算機の業務を完全に停止させる、あるいは現用系計算機が停止したことを確認する。第三に、フェイルオーバ中の業務停止時間を短くするために、前記現用系計算機の業務停止を極力早いタイミングで実施する。
近年のオペレーティングシステム(以下OS)は、自身で異常を検知した場合、あるいはマスク不可割込み(NMI=Non Maskable Interrupt)を受信した場合、その時点での第一のOSのメモリ内容を保持したまま第2のOSを起動し、第2のOSがメモリダンプとして第一のOSのメモリ内容を永続的に保存する。
特に多重系システムにおいては、現用系計算機の異常を検知した待機系計算機が、公知または周知の手法で現用系計算機にNMIを入力することで、現用系計算機の業務停止と、メモリダンプ処理の開始を同時に実現する。
しかし、現用系計算機のOSが既にメモリダンプ処理を開始している場合、前記手順に従って待機系計算機が現用系計算機にNMIを入力すると、メモリダンプ処理が停止してしまい、メモリダンプに失敗することがある。
メモリダンプ処理を開始した後のNMI入力を抑止する方法として、特許文献1には、「障害の発生した計算機に搭載された機能拡張ボードが割込み指示メッセージに対して発生する割込みに対する割込み処理において、障害情報の保存を実行し、かつ前記機能拡張ボードに対して、前記割込み発生機能と計算機動作停止機能の抑止を指示し、後から送信される計算機の停止を指示するメッセージを無視して障害情報の保存を継続する」技術が開示されている。
国際公開第99/26138号
しかしながら、上記特許文献1では、上述した機能を有する機能拡張ボードを必要とするが、このような特別なハードウェアは広く一般に普及しておらず、様々な地域で、かつ安価に入手することは難しい。さらに、標準的なOSは、当該特別なハードウェアを利用するためのデバイスドライバをサポートしているとは限らない。
そこで本発明は、上記問題点に鑑みてなされたもので、特別なハードウェアを必要とせずに現用系計算機に異常が発生した時に、メモリダンプが強制的に停止されるのを抑止することを目的とする。
本発明は、プロセッサとメモリとを有する計算機を複数有し、前記複数の計算機のうち少なくとも一つを現用系計算機とし、他の計算機のうち少なくとも一つを待機系計算機とし、前記現用系計算機と前記待機系計算機を接続する第1のネットワークとを有する計算機システムであって、前記現用系計算機は、当該現用系計算機に接続されて、当該現用系計算機を管理する計算機管理装置と、業務を提供する第1のOSと、前記第1のOSが稼働中であることを示すハートビート所定の周期で前記待機系計算機へ送信する通信部と、前記第1のOSに障害が発生した後に前記メモリの内容を出力する第2のOSと、を有し、前記計算機管理装置は、第2の所定時間までカウントすると所定のアクションを実行するウォッチドッグタイマと、前記ウォッチドッグタイマの稼働状態を設定するタイマ設定状態情報と、第2のネットワークを介して前記待機系計算機に接続されたアダプタと、を有し、前記現用系計算機は、前記業務の開始時に前記計算機管理装置の前記タイマ設定状態情報前記業務の開始を示す有効状態を設定し、前記アクションとして当該現用系計算機のハードリセットを設定し、前記現用系計算機のプロセッサは、前記第1のOSが障害により停止したときには、前記ウォッチドッグタイマのカウントを開始させる開始コマンドを前記計算機管理装置に送信してから前記第2のOSを起動し、前記計算機管理装置は、前記開始コマンドを受信して前記タイマ設定状態情報を開始状態に更新し、前記待機系計算機は、前記ハートビートを受信してから第1の所定時間が経過した後に、前記タイマ設定状態情報を取得し、前記タイマ設定状態情報が前記開始状態であれば、前記第1のOSが停止したと判定して前記現用系計算機の業務を引き継ぎ、前記現用系計算機の前記第2のOSは、第3の所定時間毎に前記ウォッチドッグタイマをリセットし、前記計算機管理装置は、前記第2の所定時間までカウントした場合には前記所定のアクションとして設定された前記ハードリセットを前記現用系計算機へ入力する
本発明によれば、特別なハードウェアを必要とせずに、現用系計算機に異常が発生したときには第2のOSによるメモリダンプが強制的に停止されてしまうことを抑止できる。また、待機系計算機は、異常の発生によって停止した現用系計算機が第2のOSに移行するタイミングで現用系計算機の第1のOSの停止を検知できる。これにより、現用系計算機の異常による停止から短時間で待機系計算機に業務を引き継がせることができる。さらに、現用系計算機及び待機系計算機では、OSの改造や特殊なドライバは不要なため、汎用OSを利用することができる。
本発明の第1の実施例を示し、多重系の計算機システムの一例を示すブロック図である。 本発明の第1の実施例を示し、現用系計算機が自発的に停止するケースのタイムチャートである。 本発明の第1の実施例を示し、現用系計算機が待機系計算機からの指示により停止するケースのタイムチャートである。 本発明の第2の実施例を示し本発明の第2の実施例を示し、メモリダンプ処理用の第2のOSがハングアップした場合に、自動的に第1のOSを再起動させる処理の一例を示すタイムチャートである。 本発明の第1及び第2の実施例を示し、ウォッチドッグタイマの状態遷移図である。
以下、本発明の実施形態を添付図面に基づいて説明する。
図1は、本発明の第1の実施例を示し、多重系の計算機システムの一例を示すブロック図である。多重系の計算機システムは、複数の計算機のうち少なくとも1台の現用系計算機10と、現用系計算機10を管理する現用系BMC(Baseboard Management Controller)6と、少なくとも1台の待機系計算機20と、待機系計算機20を管理する待機系BMC7と、現用系計算機10と待機系計算機20を接続するネットワーク32と、現用系計算機10と待機系BMC7を接続し、待機系計算機20と現用系BMC6を接続するネットワーク31から構成される。
現用系計算機10と待機系計算機20は同様に構成され、少なくとも、後述するようにOSを含むソフトウェアプログラムを実行する演算装置11と、前記プログラムおよびその実行に必要なデータを格納するメモリ12と、ハートビート(以下、HB)通信を行う通信装置13と、他系BMCにコマンドを送信するためのLANアダプタ14と、データやメモリダンプの内容を格納するストレージ装置15と、を備える。ここでストレージ装置15は、例えばハードディスクや不揮発性記憶媒体を含む。また、通信装置13は、例えばLANアダプタなどである。
現用系計算機10のメモリ12には、業務(図示省略)を提供するための第1のOS(図中1stOS)1と、HBの生成などを行うミドルウェア(図中Middle)2と、第1のOS1が停止した後にメモリダンプを実行する第2のOS(図中2ndOS)3とが格納される。現用系計算機10の演算装置11は、障害が発生するまでは第1のOS1とミドルウェア2を実行する。なお、第1のOS1上で稼働するアプリケーションやサービスが業務として現用系計算機10から提供される。
待機系計算機20のメモリ12には、OS4と、現用系計算機10のHBを監視するミドルウェア(図中Middle)5が格納され、演算装置11によって実行される。
現用系BMC6は待機系BMC7も同様に構成され、現用系BMC6は現用系計算機10に搭載され、待機系BMC7は待機系計算機20に搭載される。
現用系BMC6はネットワーク31を介して待機系計算機20からのコマンドを受信するためのLANアダプタ16と、演算装置19とメモリ8を有する。待機系BMC7も同様に構成され、LANアダプタ16が現用系計算機10からのコマンドを受信する。
メモリ8にはウォッチドッグタイマ(WatchDog Timer、以下WDTとする)18と、WDT18の状態を保持するWDT設定状態17が格納される。WDT設定状態17は、少なくとも「有効状態」と「無効状態」のいずれかが設定される。これらの状態は互いに区別できれば任意の状態や他の値を用いても良い。
なお、本実施例において、「有効状態」は現用系計算機10の稼働状態が業務を「開始」していることを示す。また、「無効状態」は現用系計算機10の稼働状態が業務を「停止」していることを示す。
現用系計算機10と現用系BMC6の間はシステムインタフェース30で接続され、例えばシンプルなI/Oポート操作により通信を行うKCS(Keyboard Controller Style)インタフェースが使用される。待機系計算機20と待機系BMC7の間のシステムインタフェース30も同様である。
現用系計算機10と待機系計算機20は、現用系BMC6と待機系BMC7を含めて対称的な構成をとり、互いに役割を入れ替えて相互に監視制御しても良い。
なお、本実施例1では、メモリ8のメモリ8内にWDT18を設定する例を示したが、図示しないハードウェアでWDTを構成してもよい。
図2は、現用系計算機10が障害によって自発的に停止するケースのタイムチャートである。図2の例では、現用系計算機10自身が異常を検知してOS停止処理(カーネルパニック)と、およびメモリダンプ採取のための第2のOS3の起動処理を行うケースにおいて、現用系計算機10と現用系BMC6、および待機系計算機20の処理の流れを示している。
前述のとおり、現用系計算機10と待機系計算機20はネットワーク32で接続され、現用系計算機10と現用系BMC6はシステムインタフェース30で接続され、さらに現用系BMC6と待機系計算機20はネットワーク31で接続されている。各ステップの詳細は以下の通りである。
ステップ100では、現用系計算機10にて業務を開始する前に、ミドルウェア2が初期設定としてウォッチドッグタイマ(WDT)18を有効化するコマンドを現用系BMC6に送信する。本実施例1ではWDT18を有効状態にするだけであり、WDT18のタイマは開始させない。なお、現用系計算機10は、起動時や業務開始時などで上記初期設定(初期化処理)を行えば良い。
ステップ101で、現用系BMC6は、WDT設定状態17を「有効状態」に設定する。
ステップ102、102nで、現用系計算機10のミドルウェア5は、所定の時間間隔Tiでネットワーク32を介してハートビート(HB)を待機系計算機20に送信し、現用系計算機10が正常に稼働中であることを繰り返し通知する。
ステップ103、103nで、待機系計算機20のミドルウェア2は、現用系計算機10からHBメッセージを受信し、受信時刻を記憶する。
ステップ104で、現用系計算機10上で稼働する第1のOS1が自身の不整合を検知し、カーネルパニックとなる。現用系計算機10は、メモリダンプ採取用の第2のOSへの移行処理を開始する。
ステップ105では、現用系計算機10が、前記第1のOS1から前記第2のOS3へ移行する中間で実行されるOS非依存処理で、WDT18を無効化するコマンドを、システムインタフェース30を介して現用系BMC6に送信する。
ここでOS非依存処理とは、VGAなどの標準的に搭載されるデバイスをシンプルなI/Oポート操作などにより初期化し、第2のOS3の起動に備える処理である。上述のKCSインタフェースによる通信もまたシンプルなI/Oポート操作により実現できるため、OS無しの状態で動作するように実装することは容易である。例えば、メモリ12に格納される第2のOS3の直前に、I/Oポートを操作するコマンドなどをロードしておけば良い。
ステップ106で、現用系BMC6は、現用系計算機10から無効化コマンドを受信してWDT設定状態17を「無効状態」に更新する。
ステップ107で、待機系計算機20は最後にHBを受信してから所定時間Tc202経過したと判定すると、ネットワーク31を介して現用系BMC6に対してWDT状態取得コマンドを送信する。現用系BMC6は、現在のWDT設定状態17である「無効状態」を応答する。待機系計算機20は現用系BMC6のWDT設定状態17が「無効状態」であることを検知する。
ステップ108では、現用系計算機10の異常停止から業務引継ぎまでの時間の要求仕様がTf203とした場合、待機系計算機20は最後にHBを受信してからTf203時間経過したときに、ステップ107で取得したWDT設定状態17を判定する。待機系計算機20は、判定結果が「無効状態」であった場合、現用系計算機10の業務は完全に停止していると認識し、現用系計算機10上で実行していた業務の引継ぎを行う。業務の引継ぎについては、周知または公知の技術を適用すれば良いので、ここでは詳述しない。
ステップ109で、現用系計算機10は、第2のOS3の起動処理を行う。
ステップ110で、現用系計算機10は、第2のOS3の起動処理が完了すると、メモリダンプ処理を開始する。なお、第2のOS3の起動処理も含め、メモリダンプ処理にはkdump等を採用することができる。
ステップ111で、現用系計算機10は、前記第1のOS1のメモリ12の内容を、例えばストレージ装置15などに保存し、メモリダンプを完了する。
ステップ112で、現用系計算機10はメモリダンプ完了後、第1のOS1を再起動する。現用系計算機10は、第1のOSを再起動した後は新たな待機系として機能しても良いし、あるいは、再起動させずに停止させても良い。
ここで、待機系計算機20が、最後にHBを受信してからWDT状態取得(107)を行うまでの時間Tc202は次のように求める。HBの送信間隔をTi200、カーネルパニック(104)からWDT無効化(105)までの最大所要時間をTd201とする(例えば、Td201は数百ミリ秒である)。このとき、Tc > Ti + Td かつ Tc < Tf を満たす時間Tc202を待機系計算機20のミドルウェア2に設定しておけばよい。また、最後にHBを受信してから業務引継ぎ(108)までの時間Tf203は、上記時間Tc202に所定値を加算してミドルウェア2に設定しておけばよい。
以上の処理によって、現用系計算機10及び待機系計算機20は、前記従来例のように特別なハードウェアを必要とせずに、BMCを搭載した標準的な計算機を採用しながら、現用系計算機10に異常が発生したときにはメモリダンプが強制的に停止されてしまうことを抑止できる。
そして、また、待機系計算機20は、異常の発生によって停止した現用系計算機10が第2のOS3に移行するタイミングで現用系計算機の第1のOS1の停止を検知できる。これにより、現用系計算機10の異常による業務の停止から短時間で待機系計算機20に業務を引き継がせることができる。さらに、現用系計算機10及び待機系計算機20では、OSの改造や特殊なドライバは不要であるため、汎用OSを利用することができる。
図3は、上記図2において、現用系計算機10の第1のOS1がカーネルパニックする代わりに、ハングアップ、例えばOS内部処理の無限ループなどの無応答の障害が発生したケースにおけるタイムチャートである。各ステップにおける詳細は以下の通りである。
ステップ100〜103nは、上記図2のケースと同様である。
ステップ120では、現用系計算機10の第1のOS1がハングアップし、定期的なHBの送信(102)が停止する。
ステップ107で、待機系計算機20は最後にHBを受信してから所定時間Tc202経過すると、ネットワーク31を介して現用系BMC6に対してWDT状態取得コマンドを送信する。現用系BMC6は、WDT設定状態17を応答する。待機系計算機20は現用系BMC6のWDT設定状態17が「有効状態」のままであることを検知する。
ステップ121で、現用系計算機10の第1のOS1の異常停止から業務引継ぎまでの時間の要求仕様がTf203とした場合、待機系計算機20は最後にHBを受信してからTf203時間経過したときに、前記ステップ107で取得したWDT設定状態17を判定する。そして、WDT設定状態17が「有効状態」であった場合、現用系計算機10の業務は稼働を続けている可能性があるため、待機系計算機20はネットワーク31を介して現用系BMC6にNMIの入力指示を送信し、現用系計算機10における業務の停止とメモリダンプ処理の開始を指令する。
ステップ108で、現用系計算機10へのNMIの入力により現用系計算機10の第1のOS1が停止するので、待機系計算機20は現用系計算機10上で実行していた業務の引継ぎを行う。
ステップ122で、NMIの入力指示を受信した現用系BMC6は、システムインタフェース30を介して現用系計算機10にNMIを入力する。
ステップ104では、NMIを受信した現用系計算機10が、NMIハンドリングとしてカーネルパニック処理を実施する。
ステップ105〜106では、上記図2と同様にして、現用系計算機10がWDT18の無効化コマンドを送信し、現用系BMC6がWDT設定状態17を「無効状態」に更新する。
ステップ123ではNMIの入力によって現用系計算機10上で稼働する第1のOS1が確実に停止しない場合も想定されるので、待機系計算機20は、NMI入力指示(121)から所定の(Tc−Ti)210時間が経過した後に再度、WDT状態取得を行う。そして、待機系計算機20は、再度取得したWDT設定状態17が「無効状態」であることを判定しても良い。その場合、業務引き継ぎはステップ108では行わず、ステップ123においてWDT設定状態17が「無効状態」であることを判定した後に行う。
ステップ109〜112は、上記図2の処理と同様であり、現用系計算機10が第2のOS3を起動してメモリダンプを実行し、メモリダンプの完了後に第1のOS1の再起動を実行する。
以上の処理により、本実施例1では、BMCを搭載した計算機および汎用OSにより構成される多重系の計算機システムにおいて、現用系計算機10で実施されるメモリダンプ処理を止めることなく、現用系計算機10の第1のOSがハングアップなどによって異常停止したことを、待機系計算機20で短時間で検知することができる。
さらに、障害が発生した現用系計算機10は、メモリダンプ採取用の第2のOS3を起動する前にWDT18を無効化して、待機系計算機20に現用系の業務が停止したことを通知することができる。これによって、現用系計算機10の障害発生から、待機系計算機20が業務を引きつぐまでの時間を短縮することができる。
前記従来例のような機能拡張ボードやBMCを使用しない場合では、メモリダンプ採取用の第2のOS3を起動してからLANアダプタ14等の初期化が完了するまでは、待機系計算機20に現用系の業務が停止したことを通知できない。このため、現用系計算機10で障害が発生してから、待機系計算機20が現用系計算機10の業務を引き継ぐまでの待ち時間が長くなる。
これに対して、本実施例1のように、第2のOS3を起動する前にWDT18を無効化しておくことで、待機系計算機20は最後のHBを受信してから時間Tcの経過後にWDT設定状態17を取得して現用系の業務が停止したことを判定することができる。これにより、迅速なフェイルオーバを実現することができる。
なお、上記実施例1では現用系計算機10のミドルウェア2がHBを送信し、待機系計算機20のミドルウェア5で現用系計算機10の障害発生を監視する例を示したが、これらの処理をOSで行ってもよい。
また、本実施例1では、現用系BMC6に搭載されたWDT18の状態を格納するWDT設定状態17を設ける例を示したが、これに限定されるものではない。例えば、現用系計算機10の実行に影響(意図しない作用)を与えることなく、現用系BMC6等で「有効状態」と「無効状態」を設定可能であればよい。すなわち、現用系BMC6のメモリ8に確保した領域や、演算装置11のレジスタ等のリソースうち、現用系計算機10に影響を与えずに利用可能なリソースで「有効状態」と「無効状態」を表せばよい。
本発明の第2の実施例は、前記実施例1の図2、3に示したメモリダンプ採取用の第2のOS(Operating System)3の起動を開始した後に、第2のOS3がハングアップした場合に、現用系計算機10にハードリセットを入力し、第1のOS1を再起動させるように変更したものである。これにより、異常発生によって停止した現用系計算機10で、第2のOS3に障害が発生しても新たな待機系として早期に復帰させることを保証できる。
なお、本実施例2の計算機システムの構成は前記実施例1と同様であり、前記実施例1では利用していなかったWDT18の機能を使用する点が相違する。
図5は、本実施例2で現用系BMC6のWDT18を活用するにあたり、WDT設定状態17の状態遷移を簡単に示したものであり、より正確にはIPMI(Intelligent Platform Management Interface)の仕様に準拠する。
まずWDT設定状態17が任意の状態のときに演算装置19が初期設定500を行い、有効状態501に遷移する。このとき、演算装置19がWDT設定状態17の設定項目の一部である初期カウンタをTt、アクションをハードリセットに設定する。
次にWDT開始502(実際にはWDTリセットと同じ)コマンドが現用系BMC6に送信されると、WDT設定状態17は開始状態503となり、演算装置19がWDT設定状態17の一部である現在カウンタを前記初期カウンタの値Ttにセットする。
WDT設定状態17が開始状態503にあるとき、予め設定された単位時間経過504すると、演算装置19が前記現在カウンタを1ずつ減算する。
同じくWDT設定状態17が開始状態503にあるとき、WDTリセット505コマンドが現用系BMC6に送信されると、演算装置19は前記現在カウンタの値を前記初期カウンタの値Ttにセットし直す。
さらにWDT設定状態17が開始状態503にあるとき、前記現在カウンタが0になると、前記アクションの設定に従い当該現用系BMC6を搭載する計算機にハードリセットを入力し、タイマ発火状態507に遷移する。これにより、現用系計算機10はWDT18のカウントアップによって所定のアクションであるハードリセットが入力されて、強制的に再起動する。
以上を踏まえて、図4、図5を用いて本実施例2を実現する処理を説明する。図4は、メモリダンプ処理用の第2のOS3がハングアップした場合に、自動的に第1のOS1を再起動させる処理の一例を示すタイムチャートである。図4の処理は、前記実施例1の図2のケースに対し、本実施例2を適用するものであるが、前記実施例1の図3のケースについても同様に適用することができる。各ステップの詳細は以下の通りである。
ステップ130では、現用系計算機10は業務を開始する前に、初期設定としてWDT18を有効状態501にするコマンドを現用系BMC6に送信する。ここではWDT18を有効状態501にするだけであり、タイマ(現在カウンタ)は開始させない。
ステップ131では、現用系BMC6がWDT18の有効化コマンドを受信し、WDT設定状態17を有効状態501に設定する。
ステップ102〜104は、前記実施例1の図2と同様であり、HBの送信後に現用系計算機10の第1のOS1が異常の発生によってカーネルパニックとなる。
ステップ132では、メモリダンプ採取用の第2のOS3を起動する前のOS非依存処理において、WDT開始502コマンドを、システムインタフェース30を介して現用系BMC6に送信する。本実施例2も前記実施例1と同様に、第2のOS3を起動する前に、現用系BMC6に対して設定の変更を指令する。
ステップ133では、現用系BMC6は、WDT設定状態17を開始状態503に更新する。
ステップ107〜109は、前記実施例1の図2と同様であり、更新されたWDT設定状態17を取得した待機系計算機20は、現用系計算機10の業務を引き継ぎ、現用系計算機10では第2のOS3を起動する。
ステップ134〜134nでは、第2のOS3が起動した後、およびメモリダンプ最中において、現用系計算機10は予め設定された一定の周期でWDTリセット505コマンドを、システムインタフェース30を介して現用系BMC6に送信する。
ステップ135〜134nでは、現用系BMC6は、WDTリセット505コマンドを受け取り、前記現在カウンタを前記初期カウンタ値Ttにリセットする。そして、現用系BMC6では現在カウンタのカウントを上述のように繰り返す。
ステップ110では、現用系計算機10は、第2のOS3の起動処理が完了すると、メモリダンプ処理を開始する。
ステップ136では、何らかの原因で、第2のOS3のメモリダンプ処理がハングアップする。ステップ137では、最後のWDTリセット135nから所定の時間Ttが経過した後に、前記現在カウンタが0になり、タイマが発火する。現用系BMC6は、WDT設定状態17を発火状態507に設定し、前記アクションに設定された通り、現用系計算機10にハードリセットを入力する。
ステップ138では、ステップ137のハードリセット入力により、現用系計算機10は強制的に再起動される。これにより、現用系計算機10は新たな待機系計算機として復帰することができる。
なお、第2のOS3のハングアップ(136)は、ステップ109およびそれ以降のタイミングで起こる場合も同様である。
以上の処理により、本実施例2ではさらに、第1のOS1が停止した後の現用系計算機10で実施される第2のOS3によるメモリダンプ処理において、第2のOS3の起動からメモリダンプ完了までの間にハングアップした場合であっても、待機系計算機20に業務を引き継がせて、予測可能な時間内に現用系計算機10を再起動して新たな待機系として復帰させることが可能となる。
また、上記実施例1、2ではNMIやハードリセットを現用系計算機10へ入力する装置として現用系BMC6を用いる例を示したが、これに限定されるものではない。例えば、現用系計算機10にNMIやハードリセットを入力可能な計算機管理装置であれば良い。
また、上記実施例1、2では待機系計算機20が現用系BMC6のWDT設定状態17を参照して、現用系計算機10で業務が確実に停止したことを判定したが、WDT設定状態17に限定されるものではない。例えば、現用系計算機10が業務を開始するとき(または開始前)にミドルウェア2または第1のOSが、現用系BMC6または計算機管理装置の業務の開始を示す業務稼働状態に「開始」(=WDT有効)を設定する。
そして、第1のOSがカーネルパニックとなって、第2のOS3を起動する前に、所定のI/O操作によって業務の停止を示す状態を現用系BMC6または現用系の計算機管理装置の業務稼働状態に「停止」(=WDT無効)を設定する。待機系計算機20は、最後のHBから所定時間Tcの経過後に、現用系BMC6または計算機管理装置の業務稼働状態を取得して、「停止」であれば現用系計算機10の業務が確実に停止したと判定して業務を引き継ぐことができる。
このように、本発明では、現用系計算機10に接続された計算機管理装置に、業務稼働状態の「開始」または「停止」が設定され、待機系計算機20は、障害の発生を検知したときに業務稼働状態が「停止」であれば、現用系計算機10の業務を引き継いで、迅速なフェイルオーバを実現できる。
また、本実施例1、2では、通信装置13が待機系計算機20に所定の周期で送信するHBと、現用系計算機10がWDT設定状態17に設定する状態を用いる例を示したが、これに限定されるものではない。例えば、現用系計算機10が稼働していることを示す第1の稼働情報と、現用系計算機10の第1のOS1が停止したことを示す第2の稼働情報を計算機管理装置に設けてもよい。この場合、待機系計算機20は、最後の第1の稼働情報を受信したときから所定時間後に、計算機管理装置から第2の稼働情報を取得することで、第1のOS1に障害が発生した後に、第1のOS1が確実に停止ししたことを判定することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
6 現用系BMC
7 待機系BMC
10 現用系計算機
11 演算装置
12 メモリ
13 通信装置
14 LANアダプタ
15 ストレージ装置
17 WDT設定状態
18 ウォッチドッグタイマ
20 待機系計算機
30 システムインタフェース
31、32 ネットワーク

Claims (4)

  1. プロセッサとメモリとを有する計算機を複数有し、前記複数の計算機のうち少なくとも一つを現用系計算機とし、他の計算機のうち少なくとも一つを待機系計算機とし、前記現用系計算機と前記待機系計算機を接続する第1のネットワークとを有する計算機システムであって、
    前記現用系計算機は、
    当該現用系計算機に接続されて、当該現用系計算機を管理する計算機管理装置と、
    業務を提供する第1のOSと、
    前記第1のOSが稼働中であることを示すハートビート所定の周期で前記待機系計算機へ送信する通信部と、
    前記第1のOSに障害が発生した後に前記メモリの内容を出力する第2のOSと、を有し、
    前記計算機管理装置は、
    第2の所定時間までカウントすると所定のアクションを実行するウォッチドッグタイマと、
    前記ウォッチドッグタイマの稼働状態を設定するタイマ設定状態情報と、
    第2のネットワークを介して前記待機系計算機に接続されたアダプタと、を有し、
    前記現用系計算機は、
    前記業務の開始時に前記計算機管理装置の前記タイマ設定状態情報前記業務の開始を示す有効状態を設定し、前記アクションとして当該現用系計算機のハードリセットを設定し、
    前記現用系計算機のプロセッサは、
    前記第1のOSが障害により停止したときには、前記ウォッチドッグタイマのカウントを開始させる開始コマンドを前記計算機管理装置に送信してから前記第2のOSを起動し、
    前記計算機管理装置は、
    前記開始コマンドを受信して前記タイマ設定状態情報を開始状態に更新し、
    前記待機系計算機は、
    前記ハートビートを受信してから第1の所定時間が経過した後に、前記タイマ設定状態情報を取得し、前記タイマ設定状態情報が前記開始状態であれば、前記第1のOSが停止したと判定して前記現用系計算機の業務を引き継ぎ、
    前記現用系計算機の前記第2のOSは、
    第3の所定時間毎に前記ウォッチドッグタイマをリセットし、
    前記計算機管理装置は、
    前記第2の所定時間までカウントした場合には前記所定のアクションとして設定された前記ハードリセットを前記現用系計算機へ入力することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記第2のOSは、
    前記障害が発生した前記現用系計算機の前記メモリのダンプを実行することを特徴とする計算機システム。
  3. プロセッサとメモリとを有する計算機を複数有し、前記複数の計算機のうち少なくとも一つを現用系計算機とし、他の計算機のうち少なくとも一つを待機系計算機とし、前記現用系計算機と前記待機系計算機を接続する第1のネットワークとを有して、前記現用系計算機が提供する業務を前記待機系計算機に切り替える計算機システムの制御方法であって、
    前記現用系計算機は、
    当該現用系計算機に接続されて、第2の所定時間までカウントすると所定のアクションを実行するウォッチドッグタイマと、前記ウォッチドッグタイマの稼働状態を設定するタイマ設定状態情報と、第2のネットワークを介して前記待機系計算機に接続されたアダプタと、を有して当該現用系計算機を管理する計算機管理装置と、
    前記業務を提供する第1のOSと、
    前記第1のOSが稼働中であることを示すハートビートを所定の周期で前記待機系計算機へ送信する通信部と、
    前記第1のOSに障害が発生した後に前記メモリの内容を出力する第2のOSと、を有し、
    前記制御方法は、
    前記現用系計算機が、前記業務を提供する前記第1のOSを稼働させる第1のステップと、
    前記現用系計算機が、当該現用系計算機を管理する前記計算機管理装置の前記タイマ設定状態情報に前記業務の開始を示す有効状態を設定し、前記アクションとして当該現用系計算機のハードリセットを設定する第2のステップと、
    前記現用系計算機が、前記第1のOSが稼働中であることを示す前記ハートビートを所定の周期でネットワークを介して前記待機系計算機へ送信する第3のステップと、
    前記現用系計算機のプロセッサが、前記第1のOSが障害により停止したときには、前記ウォッチドッグタイマのカウントを開始させる開始コマンドを前記計算機管理装置に送信する第4のステップと、
    前記計算機管理装置が、前記開始コマンドを受信して前記タイマ設定状態情報を開始状態に更新する第5のステップと、
    前記現用系計算機が、前記第2のOSを起動する第6のステップと、
    前記待機系計算機が、前記ハートビートを受信してから第1の所定時間が経過した後に、前記タイマ設定状態情報を取得し、前記タイマ設定状態情報が前記開始状態であるか否かを判定する第7のステップと、
    前記待機系計算機は、前記判定の結果が前記開始状態であれば、前記第1のOSが停止したと判定して前記現用系計算機の前記業務を引き継ぐ第8のステップと、
    前記現用系計算機の前記第2のOSが、第3の所定時間毎に前記ウォッチドッグタイマをリセットする第9のステップと、
    前記計算機管理装置の前記ウォッチドッグタイマが、前記第2の所定時間までカウントした場合には前記所定のアクションとして設定された前記ハードリセットを前記現用系計算機へ入力する第10のステップと、
    を含むことを特徴とする計算機システムの制御方法。
  4. 請求項3に記載の計算機システムの制御方法であって、
    前記第6のステップは、
    前記障害が発生した前記現用系計算機の前記メモリのダンプを実行することを特徴とする計算機システムの制御方法。
JP2015088221A 2015-04-23 2015-04-23 計算機システム及び計算機システムの制御方法 Active JP6424134B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015088221A JP6424134B2 (ja) 2015-04-23 2015-04-23 計算機システム及び計算機システムの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015088221A JP6424134B2 (ja) 2015-04-23 2015-04-23 計算機システム及び計算機システムの制御方法

Publications (2)

Publication Number Publication Date
JP2016206965A JP2016206965A (ja) 2016-12-08
JP6424134B2 true JP6424134B2 (ja) 2018-11-14

Family

ID=57489889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015088221A Active JP6424134B2 (ja) 2015-04-23 2015-04-23 計算機システム及び計算機システムの制御方法

Country Status (1)

Country Link
JP (1) JP6424134B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7010663B2 (ja) * 2017-10-27 2022-01-26 ローム株式会社 監視装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3690666B2 (ja) * 2001-12-18 2005-08-31 株式会社日立製作所 マルチコンピュータシステム
JP4677214B2 (ja) * 2004-09-06 2011-04-27 富士通株式会社 パニックダンプ採取のためのプログラム、方法、及び機構
WO2007077604A1 (ja) * 2005-12-28 2007-07-12 Fujitsu Limited 情報処理装置及びハングアップ監視方法
JP6007522B2 (ja) * 2012-03-09 2016-10-12 日本電気株式会社 クラスタシステム
JP6056554B2 (ja) * 2013-03-04 2017-01-11 日本電気株式会社 クラスタシステム

Also Published As

Publication number Publication date
JP2016206965A (ja) 2016-12-08

Similar Documents

Publication Publication Date Title
JP4345334B2 (ja) 耐障害計算機システム、プログラム並列実行方法およびプログラム
CN103201724B (zh) 在高可用性虚拟机环境中提供高可用性应用程序
CN111273923B (zh) 基于PCIe接口的FPGA升级方法
US9176833B2 (en) Tolerating failures using concurrency in a cluster
US8880936B2 (en) Method for switching application server, management computer, and storage medium storing program
EP2518627B1 (en) Partial fault processing method in computer system
CN100383748C (zh) 对在os运行时期间发生的系统错误的基于策略的响应
JP5296036B2 (ja) マルチプロセッサコンピュータシステムでのdmi冗長
CN101271413A (zh) 计算机运行状态侦测及处理方法和系统
WO2018095107A1 (zh) 一种bios程序的异常处理方法及装置
US7089413B2 (en) Dynamic computer system reset architecture
CN116264548B (zh) 具有主动服务监控的服务中软件升级
EP2835716A1 (en) Information processing device and virtual machine control method
EP2648095A2 (en) Control method of computer, computer and computer system
CN109358982B (zh) 硬盘自愈装置、方法以及硬盘
JP6424134B2 (ja) 計算機システム及び計算機システムの制御方法
JP7389877B2 (ja) ネットワークの最適なブートパスの方法及びシステム
EP4443291A1 (en) Cluster management method and device, and computing system
US10817400B2 (en) Management apparatus and management method
JPH1153225A (ja) 障害処理装置
JP2015088124A (ja) 情報処理装置、管理装置、監視装置、監視プログラム、及び管理装置の監視方法
US10089200B2 (en) Computer apparatus and computer mechanism
TWI461905B (zh) 可遠端當機復原的運算裝置、用於運算裝置之遠端當機復原之方法及電腦可讀取媒體
JP6654662B2 (ja) サーバ装置およびサーバシステム
JP4633553B2 (ja) デバッグシステム、デバッグ方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181022

R150 Certificate of patent or registration of utility model

Ref document number: 6424134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150