以下、図面を参照して本発明の実施形態について説明する。なお、各図において同一または対応する構成には同一の符号を用いて説明を適宜省略する。
(第1実施形態)
以下、図1~図15を参照して、本発明の第1実施形態について説明する。図1は、本発明の第1実施形態に係る情報処理システム20の構成例を示すブロック図である。図2は、本発明の第1実施形態に係る情報処理システム20の機能的構成例を示すブロック図である。図3および図4は、本発明の第1実施形態に係るシステム管理端末8の障害復旧情報入力機能S1からの入力データおよびシステム管理機能30の障害復旧情報記憶メモリS2の格納データの例を示す図である。図5および図6は、本発明の第1実施形態に係るPDU10のシステム管理受信情報記憶メモリS6の格納データの例を示す図である。図7および図8は、本発明の第1実施形態に係るPDU10の監視復旧処理情報記憶メモリS8の格納データの例を示す図である。図9および図10は、本発明の第1実施形態に係る情報処理システム20における処理の流れを示す図である。図11は、本発明の第1実施形態に係る情報処理システムに20における障害ノード2が復旧できなくなった場合の処理の流れを示す図である。図12は、本発明の第1実施形態に係る情報処理システム20におけるシステム管理機能ノード3がPDU10からの“システムチェック”(メッセージ)に応答しなかった場合の処理の流れを示す図である。図13は、本発明の第1実施形態に係るPDU10における障害ノード復旧処理の流れを示す図である。図14は、本発明の第1実施形態に係るPDU10におけるタイムアウト待ち処理の流れを示す図である。図15は、本発明の第1実施形態に係るPDU10におけるノード3タイマータイムアウト待ち処理の流れを示す図である。
(情報処理システム20の構成例)
図1に示すように、本発明の第1実施形態に係る情報処理システム20は、PDU付ラック1と、システム管理端末8と、ユーザー業務用ネットワークNW1と、システム管理用ネットワークNW2とを備える。PDU付ラック1は、サーバラックであって、PDU(Power Distribution Unit)10と、ノード2、3、4および5と、システム管理ネットワーク用LAN(Local Area Network)スイッチ6と、ユーザー業務ネットワーク用LANスイッチ7とを収納している。なお、図1では、システム管理ネットワーク用LANスイッチ6およびユーザー業務ネットワーク用LANスイッチ7の接続関係を簡易的に表している。すなわち、システム管理ネットワーク用LANスイッチ6およびユーザー業務ネットワーク用LANスイッチ7は、それぞれ複数のポートを有し、各ポートが他の機器に対して1対1でケーブル接続されている。
本実施形態の情報処理システム20は、複数のノード2~5を組み合わせることで冗長化システムを構成する。情報処理システム20は、システム管理端末8からノード2~5に関する情報とシステム運用に関する情報とPDU10に関する情報を入力する。また、ノード障害が発生した場合に、必要に応じてPDU10が自動的にシステムの業務継続可否を判断し、障害ノードのAC(交流)電源を切断/再投入して復旧させる。
PDU10は、電源分配ユニットであり、電源タップ等とも呼ばれる。PDU10は、PDU付ラック1内の機器に商用電源を分配して供給する。本実施形態においてPDU10は、図2に示すように、PDUコントローラ11と、PDU SW(スイッチ)12と、管理用ポート13と、複数のACコンセント101~107と、対システム管理機能通信制御回路S5と、システム管理受信情報記憶メモリS6と、ノード監視復旧処理コントローラS7と、監視復旧処理情報記憶メモリS8と、監視復旧処理待ちタイマーS9とを備える。本実施形態のPDU10は、冗長化システムの障害復旧機能を備える。また、PDU10は、図示していない複数の電磁接触器、ソリッドステートコンタクタ等の開閉器を備え、各ACコンセント101~107を個別に開(切断;オフ)または閉(投入;オン)状態に自動で切り替える機能を有している。なお、以下ではACコンセント101~107を総称する場合、ACコンセント100という。すなわち、PDU10は、商用電源PSを入力し、各ACコンセント100に接続されたシステム管理ネットワーク用LANスイッチ6と、図2では不図示のユーザー業務ネットワーク用LANスイッチ7と、ノード2~5とに対して、ACケーブルACCBLを介してAC電源を個別に切断および投入自在に分配して供給する。なお、以下ではAC電源をACともいう、また、図2に示す例では、ACコンセント101とシステム管理ネットワーク用LANスイッチ6の電源端子が接続されている。ACコンセント102~105とノード2~5の各ACコネクタが接続されている。また、各ACコンセント101~107には識別用の番号が設定される。
PDUコントローラ11は、例えばマイクロコンピュータ、PLD(Programmable Logic Device)等を用いて構成される。PDUコントローラ11は、PDU10内の各部を制御する。PDUコントローラ11は、例えば各ACコンセント101~107に接続された図示していない複数の開閉器を開または閉状態に個別に制御する。なお、PDUコントローラ11は、例えば作業員によってPDU SW12がオンされた場合、一旦、全ACコンセント100から給電を開始する。その後、後述するようにして、必要に応じて、各ACコンセント100をオフまたはオンに制御する。また、PDUコントローラ11は、例えば作業員によってPDU SW12がオフされた場合、全ACコンセント100からの給電を停止する。
ノード監視復旧処理コントローラS7は、例えばマイクロコンピュータ、PLD等を用いて構成される。ノード監視復旧処理コントローラS7は、PDUコントローラ11等と協働し、ノード2~5の監視処理と、復旧処理とを実行する。これらの処理については後述する。
対システム管理機能通信制御回路S5は、例えばノード監視復旧処理コントローラS7の指示に従い、各ノード2~5のいずれかで起動中のシステム管理機能30との間で所定のデータを送受信する。なお、図1および図2に示す例ではノード3でシステム管理機能30が起動中である。
システム管理受信情報記憶メモリS6および監視復旧処理情報記憶メモリS8は、ノード3で起動中のシステム管理機能30から受信した所定のデータ等を記憶する。システム管理受信情報記憶メモリS6および監視復旧処理情報記憶メモリS8が格納するデータについては後述する。
監視復旧処理待ちタイマーS9は、例えばノード監視復旧処理コントローラS7の指示に従い、所定時間の経過を計時する。監視復旧処理待ちタイマーS9は、例えば対象となるノードを特定するIPアドレスを記憶するとともに、所定のタイムアウト時間が経過した場合にタイムアウトが発生したことを通知する機能を有する。本実施形態ではこの機能をノードタイマーという。なお、以下では、例えばノード2に対応するノードタイマーをノード2タイマー、ノード3に対応するノードタイマーをノード3タイマー等ともいう。
管理用ポート13は、システム管理ネットワーク用LANスイッチ6に接続されている。管理用ポート13には固有のIP(Internet Protocol)アドレスが設定される。
ノード2~5は、サーバー等の情報処理装置、端末装置、通信制御装置等のコンピュータと通信装置を備えた機器である。ノード2~5は、冗長化システムを構成し、所定の業務処理を実行する。ノード2~5は、第1実施形態では業務処理能力が同じハードウェアを有している。また、任意のノード2~5においてシステム管理機能30を起動することができる。図1および図2に示す例ではノード3でシステム管理機能30が起動される。例えばノード3で何らかの障害が発生した場合、システム管理機能30はノード3以外のノードで起動される。
図2に示すように、ノード3は、管理用ポート33と、ACコネクタ32と、業務処理用ポート35とを備える。管理用ポート33はシステム管理ネットワーク用LANスイッチ6に接続されている。ACコネクタ32はPDU10のACコンセント103に接続されている。業務用ポート35は、図1に示すユーザー業務ネットワーク用LANスイッチ7に接続されている。管理用ポート33と業務処理用ポート35には固有のIPアドレスが設定される。
ノード3は、また、ノード3が備える1または複数のコンピュータ、コンピュータの周辺装置や周辺回路等のハードウェアと、コンピュータが実行するプログラム等のソフトウェアとの組み合わせまたはハードウェアのみから構成される機能的構成として次の構成を備える。すなわち、ノード3は、機能的構成として、システム管理機能30と、HW(ハードウェア)管理機能31と、業務処理機能34とを備える。また、システム管理機能30は、障害復旧情報記憶メモリS2と、PDU復旧処理制御機能S4と、対PDU通信制御機能S3と、業務処理機能34の一部とを含む。
障害復旧情報記憶メモリS2は、障害と復旧に係る所定のデータを記憶する。障害復旧情報記憶メモリS2が格納するデータについては後述する。PDU復旧処理制御機能S4は、PDU10による障害の復旧処理の実行を制御する。対PDU通信制御機能S3は、PDU10との通信を制御する。HW管理機能31は、ノード3等のハードウェア各部の状態等を管理する。また、HW管理機能31は、他のノードのHW管理機能31と所定の情報を送受信する。また、HW管理機能31は、例えば、ログを作成する機能を有する。ログは、例えば、ハードウェアやソフトウェア、システムについて、その起動や停止、機能の実行状況、エラーや障害の発生等の所定の事象の内容に関する記録である。HW管理機能31は、例えば、発生した事象(イベント)を示す番号であるイベント番号を、発生したノードと時刻に対応付けてログを作成する。また、業務処理機能34は、ノード3による業務処理の実行を制御する。
なお、ノード2、ノード4およびノード5も、ノード3と同様の構成を備えている。ただし、ノード2、ノード4およびノード5が有するシステム管理機能30は、PDU復旧処理制御機能S4が障害復旧情報記憶メモリS2にデータを格納した後は、例えば待機状態となる。
また、システム管理端末8は、例えばパーソナルコンピュータ等のコンピュータであり、コンピュータとコンピュータが実行するプログラム等のソフトウェアとの組み合わせ等から構成される機能的構成として障害復旧情報入力機能S1を備える。障害復旧情報入力機能S1は、例えば作業者の入力操作に従って図3および図4に示す情報(1)~(7)を入力する。なお、入力された情報(1)~(7)はシステム管理機能30の障害復旧情報記憶メモリS2に格納される。
図3に示す情報(1)は、対象をノード2~5とするノード毎の管理用ポート33のIPアドレスを示すデータである。情報(2)は、対象をノード2~5とするノード毎のACケーブルACCBLを接続したPDU10のACコンセント100の番号を示すデータである。以下では情報(2)をACコンセント番号情報(2)ともいう。情報(3)は、対象をノード2~5とするノード毎のログ内のAC切断対象イベント番号を示すデータである。AC切断対象イベント番号は、AC電源を切断および再投入することによる復旧の対象となるイベントの番号である。情報(4)は、対象をノード2~5とするノード毎のAC切断から完全なオフ状態になるまでの時間を示すデータである。情報(5)は、対象をノード2~5とするノード毎のAC投入から起動完了するまでの時間を示すデータである。
また、図4に示す情報(6)は、対象をシステムとするユーザー業務の維持に必要な最小ノード数を示すデータである。なお、システムは、情報処理システム20におけるノード2~5の全体に対応する。情報(7)は、対象をPDU10とする管理用ポート13のIPアドレスを示すデータである。
また、図5および図6は、PDU10のシステム管理受信情報記憶メモリS6に格納されるデータの例を示す。情報(1)~(6)は、図3および図4を参照して説明した情報(1)~(6)と同じデータである。情報(8)は、対象をシステムとするマージンのノード数を示すデータである。以下、情報(8)をマージンノード数情報(8)ともいう。マージンノード数は、ユーザー業務の維持に必要な最小ノード数に対する余裕を示すデータである。マージンノード数は、現在稼働中のノード数からユーザー業務の維持に必要な最小ノード数を引いた(減じた)ノードの個数である。
また、図7および図8は、PDU10の監視復旧処理情報記憶メモリS8に格納されるデータの例を示す。情報(1)~(5)は、対象を、システム管理機能30が起動中のノード(以下、システム管理起動ノードともいう;本実施形態では例えばノード3)または障害が発生したノード(図8に示す例ではノード2とノード4;障害ノード2または障害ノード4ともいう)とする、図3および図4を参照して説明した情報(1)~(5)と同じデータである。
情報(9)は、対象をシステム管理起動ノードとする当該ノードの監視状態を示す監視フラグを示すデータである。監視フラグが“監視中1”の場合は、PDU10から当該ノードへシステムチェックを送信し、応答持ちである状態を示す。監視フラグが“監視中2”の場合は、“監視中1”で所定時間内に応答が無く、PDU10から当該ノードへシステムチェックを再度送信し、応答持ちである状態を示す。なお、以下では、情報(9)を監視フラグ情報(9)ともいう。“監視中1”または“監視中2”の状態に該当しない場合、監視フラグはクリアされる。
情報(10)は、対象を障害が発生したノード(図8の例ではノード2とノード4)とする当該ノードの復旧状態を示す復旧フラグを示すデータである。復旧フラグが“実行中”の場合は、当該ノードのACを切断した状態を示す。復旧フラグが“実行不可”の場合は、情報(3)と当該ノードの障害が発生した際のログのイベント番号が不一致の場合、または、マージンノード数情報(8)が障害ノードの合計数より小さかった場合である。復旧フラグが“復旧中”の場合は、当該ノードのACを再投入した状態を示す。なお、以下では、情報(10)を復旧フラグ情報(10)ともいう。
(情報処理システム20の動作例)
次に、図9~図15を参照して、情報処理システム20の動作例について説明する。図9および図10は、上から下へ時系列に作業員、システム管理機能30およびPDU10における処理の流れを示す。また、図11は、ノード2に障害が発生した場合のシステム管理機能30およびPDU10における処理の流れを示す。図12は、システム管理機能ノード3がPDU10からの“システムチェック”に応答しなかった場合のシステム管理機能30およびPDU10における処理の流れを示す。
図9および図10に示す処理の流れは、作業員が、PDU10とシステム管理ネットワーク用LANスイッチ6とをケーブル接続する処理から開始される。作業員は図2に示すようにPDU10の管理用ポート13とシステム管理ネットワーク用LANスイッチ6とを結線し(ステップST101)、PDU10に商用電源ケーブルを接続してPDU10への給電を開始する(ステップST102)。
するとPDU10は起動し、PDUコントローラ11とノード監視復旧処理コントローラS7を起動する。そして、PDUコントローラ11はPDU10の状態をチェックする。また、ノード監視復旧処理コントローラS7は対システム管理機能通信制御回路S5、システム管理受信情報記憶メモリS6、監視復旧処理情報記憶メモリS8および監視復旧処理待ちタイマーS9を初期化する(ステップST103)。
次に作業員がPDU10のPDU SW12を投入すると、PDU10のPDUコントローラ11は全ACコンセント101~106への給電を開始する(ステップST104)。給電が開始されると、ノード2~5、システム管理ネットワーク用LANスイッチ6、および、ユーザー業務ネットワーク用LANスイッチ7が起動する。そして、ノード2~5のHW管理機能31が各ノードのHW状態の確認処理を開始し、業務処理機能34はユーザー業務用ネットワークNW1からのユーザージョブ受信を待つ。
給電が開始されると、ノード3はHW管理機能31と業務処理機能34とシステム管理機能30を起動する。さらに、ノード3のシステム管理機能30は通常のシステム状態監視を開始する。ここで、通常のシステム状態監視とは、定期的にHW管理機能31からノード3のHW状態情報と他のノードのHW状態情報を取得して確認する処理である。また、ノード3は、システム管理端末8からのアクセスを許可し、PDU復旧処理制御機能S4を起動する。PDU復旧処理制御機能S4は起動すると対PDU通信制御機能S3を初期化する(ステップST105)。
そして作業員はシステム管理端末8がアクセス可能になったらシステムの正常性を確認し、異常が無ければ障害復旧情報入力機能S1から図3に示すノード2~5の情報(1)~(5)と図4に示すシステムの情報(6)およびPDU10の情報(7)を入力する。障害復旧情報入力機能S1は入力された情報(1)~(7)をノード2~5のシステム管理機能30へ送信する(ステップST106)。
ノード2~5のシステム管理機能30は受信した情報をPDU復旧処理制御機能S4へ送り、PDU復旧処理制御機能S4は受け取った情報(1)~(7)を障害復旧情報記憶メモリS2へ格納する。次にノード3のシステム管理機能30のPDU復旧処理制御機能S4は、対PDU通信制御機能S3に対し、PDU10の情報(7)を送信先として、障害復旧情報記憶メモリS2のノード2~5の情報(1)~(5)と情報(6)と“システム構成情報”の送信を指示する。対PDU通信制御機能S3は、送信先のPDU10へノード2~5の情報(1)~(5)と情報(6)と“システム構成情報”を送信する(ステップST107)。ここで“システム構成情報”は、PDU付ラック1に収容されている各機器の構成についての情報であり、例えば、冗長化されたノードの個数(ノード数)や各ノードの業務処理能力を示す情報等を含む。
次にPDU10の対システム管理機能通信制御回路S5は“システム構成情報”とノード2~5の情報(1)~(5)と情報(6)を受信し、ノード監視復旧処理コントローラS7へ送る。ノード監視復旧処理コントローラS7は“システム構成情報”を受け取ると、システム管理受信情報記憶メモリS6をクリアして受け取ったノード2~5の情報(1)~(5)と、情報(6)を図5および図6に示すように格納する。さらにノード監視復旧処理コントローラS7は、受け取った情報に基づきノード数からシステム合計ノード数を算出し、システム合計ノード数から情報(6)を引いたマージンノード数を情報(8)として図6に示すように格納する(ステップST108)。
さらにノード監視復旧処理コントローラS7は対システム管理機能通信制御回路S5から“システム構成情報”の送信元IPアドレスを取得してシステム管理受信情報記憶メモリS6のノード2~5の情報(1)と比較して現在システム管理機能30が起動しているノード3を割り出す。さらにノード監視復旧処理コントローラS7はノード3の情報(1)~(5)とクリアした監視フラグ情報(9)をシステム管理起動ノード情報として図7に示すように監視復旧処理情報記憶メモリS8に登録する(図10のステップST109)。
続いてPDU10のノード監視復旧処理コントローラS7は、システム管理起動ノード3の監視動作を開始する。本実施形態ではこの監視動作を処理[A]という。ノード監視復旧処理コントローラS7は監視復旧処理情報記憶メモリS8にシステム管理起動ノード3の情報を登録後、監視フラグ情報(9)を“監視中1”へ変更する。次にノード監視復旧処理コントローラS7は、対システム管理機能通信制御回路S5の送信先にシステム管理起動ノード3の情報(1)を指定して“システムチェック”の送信を指示する。また、ノード監視復旧処理コントローラS7は、監視復旧処理待ちタイマーS9のノードタイマーに情報(1)を設定するとともに、タイムアウト時間に情報(5)を設定して起動する。そして、ノード監視復旧処理コントローラS7は、監視復旧処理待ちタイマーS9からのタイムアウト通知と対システム管理機能通信制御回路S5からの受信を待つ(ステップST110)。
ノード3のシステム管理機能30のPDU復旧処理制御機能S4は、対PDU通信制御機能S3から“システムチェック”を正常に受け取ると(ステップST111)、他のノードのシステム管理機能30に対して正常ノード情報の確認処理を行う。次に、PDU復旧処理制御機能S4は、正常なノードの障害復旧情報記憶メモリS2の情報(1)と“正常ノード”を対PDU通信制御機能S3からPDU10へ送信する(ステップST112)。
PDU10のノード監視復旧処理コントローラS7は対システム管理機能通信制御回路S5から“正常ノード”と正常なノードの情報(1)を受け取ると、監視復旧処理待ちタイマーS9のシステム管理起動ノード3タイマーを停止する。また、ノード監視復旧処理コントローラS7は、監視復旧処理情報記憶メモリS8のシステム管理起動ノード3の監視フラグ情報(9)をクリアする(ステップST113)。ノード監視復旧処理コントローラS7は、さらに監視復旧処理情報記憶メモリS8に障害ノードの情報が登録されていれば、情報(1)と比較して、一致した障害ノードの登録情報を全てクリアする(ステップST114)。
ノード監視復旧処理コントローラS7は、ステップST110(処理[A])へ戻り、再び監視復旧処理待ちタイマーS9のシステム管理起動ノード3タイマーを起動し、監視復旧処理待ちタイマーS9からのタイムアウト通知と対システム管理機能通信制御回路S5からの受信を待つ。
一方、ノード3のシステム管理機能30が、PDU10からの“システムチェック”に応じた処理のときあるいは通常のシステム監視中に、例えばノード2の障害を検出し、リセット等を実行しても復旧できなかった場合、PDU復旧処理制御機能S4はPDU10へ“障害ノード発生”とノード2の情報(1)と障害ノード2のログとの送信を対PDU通信制御機能S3に対して指示する。対PDU通信制御機能S3は指示された情報をPDU10へ送信する(図11のステップST115)。
なお、通常のリセットとは、PDU10によるAC切断と再投入によるリセットを含まない初期化処理を意味する。例えば、ノード2で障害が発生した場合、通常のリセットとしては、ノード2のウォッチドッグタイマがタイムアウトしてノード2のHW管理機能31からノード2をリセットする処理を含む。あるいは、システム管理機能30からノード2のHW管理機能31へリセットを指示することによりノード2をリセットする処理等を含む。
PDU10のノード監視復旧処理コントローラS7は、対システム管理機能通信制御回路S5から“障害ノード発生”とノード2の情報(1)と障害ノード2のログを受取ると、システム管理起動ノード3の監視を停止するため監視復旧処理待ちタイマーS9のシステム管理起動ノードタイマーを停止する。また、ノード監視復旧処理コントローラS7は、監視復旧処理情報記憶メモリS8のシステム管理起動ノード3の監視フラグ情報(9)をクリアする(ステップST116)。以降のノード監視復旧処理コントローラS7による障害ノード2の復旧処理は図13および図14を参照して説明する(ステップST117)。
障害ノード2の復旧処理(図11のステップST117)において、ノード監視復旧処理コントローラS7は、受け取ったノード2の情報(1)とシステム管理受信情報記憶メモリS6のノード2~5の情報(1)を比較し、障害ノード=ノード2を特定する(図13のステップST201)。
次にノード監視復旧処理コントローラS7は、監視復旧処理情報記憶メモリS8の障害ノード情報を確認し(ステップST202)、障害ノード2の登録があるか否かを判定する(ステップST203)。登録があった場合(ステップST203:Y)、ノード監視復旧処理コントローラS7は、図10のステップST110(処理[A])へ戻り、再び監視復旧処理待ちタイマーS9のシステム管理起動ノード3タイマーを起動し、監視復旧処理待ちタイマーS9からのタイムアウト通知と対システム管理機能通信制御回路S5からの受信を待つ。
登録がなかった場合(ステップST203:N)、ノード監視復旧処理コントローラS7は、システム管理受信情報記憶メモリS6のノード2の情報(1)~(5)とクリアした復旧フラグ情報(10)を監視復旧処理情報記憶メモリS8へ障害ノードとして登録する(ステップST204)。
次にノード監視復旧処理コントローラS7は、登録した情報(3)と障害ノード2のログに記録されている障害イベント番号を比較する(ステップST206)。
一方、ログに情報(3)と一致する番号が無かった場合(ステップST206:N)、ノード監視復旧処理コントローラS7は、監視復旧処理情報記憶メモリS8の障害ノード2の復旧フラグ情報(10)を“実行不可”に変更して、AC切断/再投入は実行せず、システム管理起動ノード3の監視処理を再開する(ステップST212→図10のステップST110(処理[A]))。
他方、ログに情報(3)と一致する番号が有った場合(ステップST206:Y)、ノード監視復旧処理コントローラS7は、システム管理受信情報記憶メモリS6のマージンノード数情報(8)と監視復旧処理情報記憶メモリS8の登録障害ノードの合計数を比較する(ステップST207)。
マージンノード数情報(8)≧障害ノードの合計数であれば(ステップST208:Y)、ノード監視復旧処理コントローラS7は、障害ノード2の復旧フラグ情報(10)を“実行中”に変更して(ステップST209)、PDUコントローラ11を制御してAC切断/再投入処理を実行する(ステップST210~)。
マージンノード数情報(8)<障害ノードの合計数であった場合は(ステップST208:N)、ノード監視復旧処理コントローラS7は、障害ノード2の復旧フラグ情報(10)を“実行不可”に変更して、AC切断/再投入処理は実行せず、保守員が障害ノードを修理するまでシステム管理起動ノード3の監視処理を続ける(ステップST212→図10のステップST110(処理[A]))。
ステップST210からのノード監視復旧処理コントローラS7のAC切断/再投入処理では、ノード監視復旧処理コントローラS7は、まず、監視復旧処理情報記憶メモリS8の障害ノード2のACケーブルを接続したPDU10のACコンセント番号情報(2)を指定してPDUコントローラ11へAC切断を指示し、ノード2のAC電源を切断する(ステップST210)。
次にノード監視復旧処理コントローラS7は、監視復旧処理待ちタイマーS9のノードタイマー=障害ノード2の情報(1)、タイムアウト時間=障害ノード2の情報(4)を設定して起動し、監視復旧処理待ちタイマーS9からのタイムアウト通知を待つ(ステップST211)。ステップST211の後、図14に示すタイムアウト待ち処理が実行される。
図14に示すタイムアウト待ち処理では、監視復旧処理待ちタイマーS9が、ノード2タイマーがタイムアウト時間に達したら、ノード監視復旧処理コントローラS7へノード2タイマーのタイムアウトを通知する(ステップST213:Y)。
ノード監視復旧処理コントローラS7は、ノード2タイマーのタイムアウト通知を受け取ると(ステップST213:Y)、監視復旧処理情報記憶メモリS8の障害ノード2の復旧フラグ情報(10)を確認し、復旧フラグ情報(10)が“実行中”であるか否かを判定する(ステップST215)。“実行中”である場合(ステップST215:Y)、ノード監視復旧処理コントローラS7は、復旧フラグ情報(10)を“実行中”から“復旧中”へ変更する(ステップST216)。次に、ノード監視復旧処理コントローラS7は、障害ノード2のACケーブルを接続したPDU10のACコンセント番号情報(2)を指定してPDUコントローラ11へAC再投入を指示し、ノード2のACを再投入する(ステップST217)。ステップST217においてノード監視復旧処理コントローラS7は、また、監視復旧処理待ちタイマーS9のノードタイマー=障害ノード2の情報(1)、タイムアウト時間=障害ノード2の情報(5)を設定して起動し、監視復旧処理待ちタイマーS9からのタイムアウト通知を待つ(ステップST217→図10のステップST110(処理[A]))。
ノード監視復旧処理コントローラS7はノード2タイマーのタイムアウト通知を受け取ると(ステップST213:Y)、監視復旧処理情報記憶メモリS8の障害ノード2の復旧フラグ情報(10)が“復旧中”であるのを確認して(ステップST215:N)、システム管理起動ノード3の監視処理を再開する(図10のステップST110(処理[A]))。
ノード監視復旧処理コントローラS7は、そしてPDU10からシステム管理機能30への“システムチェック”に対してシステム管理機能30から報告された“正常ノード”にノード2の情報(1)が含まれていれば、監視復旧処理情報記憶メモリS8の障害ノード2の登録情報をクリアしてノード2の復旧処理を完了し(ステップST111~ST114)、システム管理起動ノード3の監視処理を再開する(ステップST110(処理[A]))。
もしシステム管理起動ノード3のシステム管理機能30やHW管理機能31で異常が発生しPDU10からの“システムチェック”に応答できなくなった場合、PDU10のノード監視復旧処理コントローラS7はシステム管理機能30から“システムチェック”への返信が無く、監視復旧処理待ちタイマーS9のシステム管理起動ノード3タイマーがタイムアウトしたことを認識し、監視復旧処理情報記憶メモリS8のシステム管理起動ノード3の監視フラグ情報(9)を確認する(図12のステップST118~ST120)。以降のノード監視復旧処理コントローラS7によるシステム管理起動ノード3の復旧処理は図15を参照して説明する(ステップST121)。
図15のノード3タイマータイムアウト待ち処理では、ノード監視復旧処理コントローラS7は、ノード3タイマーのタイムアウト通知を受け取ると(ステップST301:Y)、監視復旧処理情報記憶メモリS8の障害ノード3の復旧フラグ情報(10)を確認し(ステップST302)、復旧フラグ情報(10)が“実行中”であるか否かを判定する(ステップST303)。“実行中”でなかった場合(ステップST303:N)、ノード監視復旧処理コントローラS7は、監視復旧処理情報記憶メモリS8のシステム管理起動ノード3の監視フラグ情報(9)を確認する(ステップST304)。
監視フラグ情報(9)が“監視中1”であった場合(ステップST305:Y)、ノード監視復旧処理コントローラS7は、“システムチェック”をリトライするため監視フラグ情報(9)を“監視中2”へ変更する(ステップST306)。次に、ノード監視復旧処理コントローラS7は、システム管理起動ノード3へ“システムチェック”を送信し、監視復旧処理待ちタイマーS9ノード3タイマーにシステム管理起動ノード3の情報(5)の時間を設定して、システム管理起動ノード3タイマーを起動して応答を待つ(ステップST307)。
再びノード監視復旧処理コントローラS7がシステム管理起動ノード3から応答が無く監視復旧処理待ちタイマーS9のシステム管理起動ノード3タイマータイムアウト通知を受け取った場合(ステップST301:Y)、監視フラグ情報(9)が“監視中2”であることから、ノード監視復旧処理コントローラS7は、リトライ失敗と判断する(ステップST302→ステップST303:N→ステップST304→ステップST305:N)。
ノード監視復旧処理コントローラS7は、システム管理起動ノード3を監視復旧処理情報記憶メモリS8に障害ノードとして登録する(ステップST310)。ステップST310においてノード監視復旧処理コントローラS7は、監視復旧処理情報記憶メモリS8のシステム管理起動ノード3の情報(1)~(5)を障害ノード3として登録し、システム管理起動ノード3の情報をクリアする。
次に、ノード監視復旧処理コントローラS7は、システム管理受信情報記憶メモリS6のマージンノード数情報(8)と監視復旧処理情報記憶メモリS8の登録障害ノードの合計数を比較する(ステップST311)。以降、図13の結合子C1へ進む。ただし、障害ノード2をノード3に読み替える。
マージンノード数情報(8)≧障害ノードの合計数であれば(図13のステップST208:Y)、ノード監視復旧処理コントローラS7は、障害ノード3の復旧フラグ情報(10)を“実行中”に変更して(ステップST209)、システム管理起動ノード3のAC切断/再投入を実行する(ステップST210)。
システム管理起動ノード3のACを切断すると、例えば残りの正常なノード5のシステム管理機能30が起動してシステム監視を開始し、ノード3から応答がないことを検出してPDU10へノード3の情報(1)と“障害ノード”を送信する。PDU10のノード監視復旧処理コントローラS7はノード3の情報(1)と“障害ノード”を受信すると、監視復旧処理情報記憶メモリS8のシステム管理起動ノード情報をチェックし、既にクリアされていることからノード5を新たなシステム管理起動ノードとして登録する。また、ノード監視復旧処理コントローラS7は、システム管理起動ノード5に対する“システムチェック”の実行を開始する。ノード監視復旧処理コントローラS7はノード3のAC切断後、監視復旧処理待ちタイマーS9のノード3タイマータイムアウトを検出して、ノード3のAC再投入を行う(図15のステップST301:Y→ST302→ST303:Y→ST308→ST309)。
もし障害ノード2および3がAC切断/再投入後も復旧せず、保守員が派遣されてノード2および3の復旧に成功した場合、ノード5のシステム管理機能がPDU10からの“システムチェック”に対して“正常ノード”としてノード2および3の情報(1)を送信することでPDU10のノード2および3の復旧処理が完了する(監視復旧処理情報記憶メモリS8の障害ノード登録情報がクリアされる)。
さらに情報処理システム20にノード6を増設した際には、作業員がシステム管理端末8の障害復旧情報入力機能S1からノード6の情報(1)~(5)とユーザー業務の維持に必要な最小ノード数情報(6)を再入力することにより、障害復旧情報記憶メモリS2とシステム管理受信情報記憶メモリS6の格納情報を更新して、自動的にPDU10のシステム構成ノード復旧処理対象へ追加される。
(効果)
以上説明したように本実施形態によって以下の効果を得られる。
保守員派遣が必要であった障害ノードの復旧作業を、システム管理機能とPDUが自動的に実行することで、保守員派遣を減らすことが可能になり、保守員到着を待たずに自動復旧させることでMTTR(平均修復時間)を短縮することが可能になる。
冗長化システムであるため例えば保守員派遣が後回しになり、復旧せず放置されていた障害ノードを、保守員派遣無しでシステム管理機能とPDUが自動的に復旧させることで冗長化構成を保つことが可能になる。
PDUがシステム内のノードの接続先ACコンセントを自動的に特定し、システム管理機能から送信されたログから復旧作業実行可否を判断して実行することで、作業員やシステム管理機能の作業負荷を無くすことができる。
PDUがシステム管理機能のノードを監視し、機能していないことを検出した場合には、システム管理機能のノードのAC給電を強制停止することで、システム管理機能を他のノードへフェイルオーバーさせてから、AC再投入し復旧を図ることにより、システム内のシステム管理機能を保つことも可能である。
以上のように本実施形態に係る情報処理システム20によれば、電源断および再投入によるリセットを自動で行うことができる。
なお、本実施形態は、次の態様を有していてもよい。
(態様1)本実施形態の情報処理システム20は、冗長化された複数のノード2~5と、電源供給手段と、復旧処理手段とを備える。電源供給手段は、複数のノード2~5に対してノード毎に切断および投入自在に電源を供給する。また、復旧処理手段は、ノード2~5に障害が発生した場合、当該ノードに供給する電源の切断および再投入を実行すべきか否かを判定し、実行すべきと判定した場合、当該ノードへ供給する電源を切断および再投入する。ここで、電源供給手段は、例えば、PDUコントローラ11と、ACコンセント100と、図示していない開閉器等を含む構成である。また、復旧処理手段は、例えば、ノード監視復旧処理コントローラS7を含む構成である。この態様によれば、電源断および再投入によるノードのリセットを自動で行うことができる。
(態様2)態様1の情報処理システム20であって、復旧処理手段は、障害の発生の際、予め決められた事象(イベント)が発生した場合に、電源の切断および再投入を実行すべきと判定する。この態様によれば、例えば、電源の断および再投入によって復旧が可能な障害に限って電源の断および再投入を行うことができる。
(態様3)態様1または2の情報処理システム20であって、復旧処理手段は、電源が切断されるノードを除く1または複数の他のノードによって複数のノードが提供する業務処理が継続可能である場合に限って、電源の切断および再投入を実行すべきと判定する。この態様によれば、例えば、業務処理を適切に継続することができる場合に限って電源の断および再投入を行うことができる。
(態様4)態様1~3の情報処理システム20であって、電源供給手段と復旧処理手段は、複数のノードに接続されるPDU(電源タップ)内に設けられている。この態様によれば、例えば、ラックを用いてシステムを容易に構成することができる。
(第2実施形態)
図16~図22等を参照して本発明の第2実施形態について説明する。図16および図17は、本発明の第2実施形態に係るシステム管理端末8の障害復旧情報入力機能S1からの入力データおよびシステム管理機能30の障害復旧情報記憶メモリS2の格納データの例を示す図である。図18および図19は、本発明の第2実施形態に係るPDU10のシステム管理受信情報記憶メモリS6の格納データの例を示す図である。図20および図21は、本発明の第2実施形態に係るPDU10の監視復旧処理情報記憶メモリS8の格納データの例を示す図である。図22は、本発明の第2実施形態に係るPDU10による障害ノード復旧処理の流れを示す図である。
第1実施形態と第2実施形態は、図1を参照して説明した情報処理システム20の構成と図2を参照して説明したノード2~5、システム管理端末8およびPDU10の機能的構成は基本的に同一である。ただし、第2実施形態では図1および図2に示すノード2~5のユーザー業務処理能力が互いに異なる点が、第1実施形態と異なる。また、第1実施形態と第2実施形態は、入力情報とメモリに格納される情報が一部異なる。また、動作については、業務の継続性を判断するための処理の内容が一部互いに異なる。以下、第1実施形態と第2実施形態の相違点について説明する。
なお、図22は、図13に示す第1実施形態に係るPDU10による障害ノード復旧処理に対応する第2実施形態の障害ノード復旧処理の流れを示す。図22に示すステップST401~ST412は、図13に示すステップST201~ST212に対応する処理である。図22に示すステップST401~ST406とステップST409~ST412の内容は、図13に示すステップST201~ST206とステップST209~ST212の内容と同一である。図22に示すステップST407~ST408の内容と、図13に示すステップST207~ST208の内容が異なる。
第2実施形態において、図16および図17に示すように、作業員は、図2に示すシステム管理端末8の障害復旧情報入力機能S1に対してノード2~5の図3に示す情報(1)~(5)に加え、新たに各ノードの業務処理能力値を示す情報(11)を入力する。また、作業員は、障害復旧情報入力機能S1に対してシステムの図3に示す情報(6)に代えてユーザー業務の維持に必要な最少業務処理能力値を示す情報(12)を入力する。情報(7)については図4に示す情報(7)と同一である。図16および図17に示す情報(1)~(5)、(11)、(12)および(7)は、システム管理機能30の障害復旧情報記憶メモリS2に格納される。
また、図18および図19に示すように、PDU10のシステム管理受信情報記憶メモリS6には、ノード2~5について情報(1)~(5)と業務処理能力値を示す情報(11)が格納される。また、システム管理受信情報記憶メモリS6には、システムについてユーザー業務の維持に必要な最少業務処理能力値を示す情報(12)とマージン業務処理能力値を示す情報(13)が格納される。マージン業務処理能力値は、起動中のノードについて情報(11)を合計した値から情報(12)を引いた値である。第2実施形態では、第1実施形態と異なり、システム管理受信情報記憶メモリS6には、ノード2~5について情報(11)が新たに格納される。また、システム管理受信情報記憶メモリS6には、システムについて、図6に示す情報(6)と情報(8)に代えて、情報(12)と情報(13)が格納される。
また、図20および図21に示すように、PDU10の監視復旧処理情報記憶メモリS8には、システム管理機能30が起動中のノードについて、図7に示す情報(1)~(5)および情報(9)に加えて、情報(11)が格納される。また、監視復旧処理情報記憶メモリS8には、障害が発生したノードについて、図8に示す情報(1)~(5)および情報(10)に加えて、情報(11)が格納される。
また、第1実施形態と第2実施形態の動作についての差分は次の通りである。第2実施形態では、作業員がPDU10のPDU SW12を投入後(図9のステップST104に対応)、システム管理端末8の障害復旧情報入力機能S1からノード2~5の情報(1)~(5)および情報(11)と、システムの情報(12)と、PDU10の情報(7)を入力し、入力した情報が障害復旧情報入力機能S1からシステム管理機能30へ送信される(図9のステップST106に対応(ただし情報が一部異なる))。
PDU復旧処理制御機能S4は、入力された情報を障害復旧情報記憶メモリS2に格納し、システム管理機能30からPDU10へノード2~5の情報(1)~(5)および(11)とシステムの情報(12)が送信される(図9のステップST107に対応(ただし情報が一部異なる))。ノード監視復旧処理コントローラS7は、システム管理受信情報記憶メモリS6をクリアしてから受け取ったノード2~5の情報(1)~(5)および(11)とシステムの情報(12)を格納する。また、ノード監視復旧処理コントローラS7は、ノード2~5の情報(11)の合計値から情報(12)を引いた値をマージン業務処理能力値情報(13)としてシステム管理受信情報記憶メモリS6に格納する(図9のステップST108に対応(ただし情報が一部異なる))。
第2実施形態においてシステム管理機能30がノード2の障害復旧不可を検出した場合、システム管理起動ノード3からPDU10へ障害ノード2のログと“障害ノード”が送信される(図11のステップST115に対応)。また、PDU10のノード監視復旧処理コントローラS7は、障害ノード2のログにノード2の情報(3)と一致する番号を検出した場合(図22のステップST406:Y)、システム管理受信情報記憶メモリS6のマージン業務処理能力値の情報(13)と監視復旧処理情報記憶メモリS8の障害ノード2の情報(11)の合計値を比較する(図22のステップST407)。ノード監視復旧処理コントローラS7は、情報(13)≧障害ノード合計業務処理能力値の場合(図22のステップST408:Y)、障害ノード2のAC切断/再投入処理の実行可否を判断するようにしている(図22のステップST409~)。
第2実施形態の効果は、業務処理能力が異なるノードで構成された冗長化システムであっても、システムの冗長性を確認して障害ノードのAC切断/再投入処理が実行可能となる。
(第3実施形態)
図23は、本発明の第3実施形態に係る情報処理システム40の構成の例を示すブロック図である。図23に示す情報処理システム40(情報処理システム20に対応)は、冗長化された複数のノード41と、電源供給手段42と、復旧処理手段43とを少なくとも備えればよい。電源供給手段42は、複数のノード41に対してノード41毎に切断および投入自在に電源を供給する。復旧処理手段43は、ノード41に障害が発生した場合、当該ノード41に供給する電源の切断および再投入を実行すべきか否かを判定し、実行すべきと判定した場合に当該ノード41へ供給する電源を切断および再投入する。
情報処理システム40によれば、電源断および再投入によるリセットを自動で行うことができる。
(第4実施形態)
図24は、本発明の第4実施形態に係る制御方法における処理の手順の例を示す図である。図24に示す制御方法は、電源の切断および再投入を行うこと(ステップSST601)を含む。
電源の切断および再投入を行うこと(ステップSST601)では、冗長化された複数のノードと、前記複数のノードに対して前記ノード毎に切断および投入自在に電源を供給する電源供給手段とを備える情報処理システムを制御するコンピュータが、前記ノードに障害が発生した場合、当該ノードに供給する前記電源の切断および再投入を実行すべきか否かを判定し、実行すべきと判定した場合、当該ノードへ供給する前記電源を切断および再投入する。
図24に示す制御方法によれば、電源断および再投入によるリセットを自動で行うことができる。
図25は、少なくとも1つの実施形態に係るコンピュータの構成例を示す概略ブロック図である。
図25に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740と、不揮発性記録媒体750とを備える。
上記のPDUコントローラ11、ノード2~5、ノード監視復旧処理コントローラS7、システム管理端末8、および、情報処理システム40のうち何れか1つ以上またはその一部が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。また、インタフェース740は、不揮発性記録媒体750用のポートを有し、不揮発性記録媒体750からの情報の読出、および、不揮発性記録媒体750への情報の書込を行う。
PDUコントローラ11がコンピュータ700に実装される場合、その動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、PDUコントローラ11が行う処理のための記憶領域を主記憶装置720に確保する。
また、インタフェース740は、PDUコントローラ11と他のデバイスまたはユーザーとのインタフェースとして機能する。
ノード2がコンピュータ700に実装される場合、その動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、ノード2が行う処理のための記憶領域を主記憶装置720に確保する。
また、インタフェース740は、ノード2と他のデバイスまたはユーザーとのインタフェースとして機能する。
ノード3~5についてもノード2の場合と同様である。
ノード監視復旧処理コントローラS7がコンピュータ700に実装される場合、その動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、ノード監視復旧処理コントローラS7が行う処理のための記憶領域を主記憶装置720に確保する。
また、インタフェース740は、ノード監視復旧処理コントローラS7と他のデバイスまたはユーザーとのインタフェースとして機能する。
システム管理端末8がコンピュータ700に実装される場合、その動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、システム管理端末8が行う処理のための記憶領域を主記憶装置720に確保する。
また、インタフェース740は、システム管理端末8と他のデバイスまたはユーザーとのインタフェースとして機能する。
情報処理システム40がコンピュータ700に実装される場合、その動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、情報処理システム40が行う処理のための記憶領域を主記憶装置720に確保する。
また、インタフェース740は、情報処理システム40と他のデバイスまたはユーザーとのインタフェースとして機能する。
上述したプログラムのうち何れか1つ以上が不揮発性記録媒体750に記録されていてもよい。この場合、インタフェース740が不揮発性記録媒体750からプログラムを読み出すようにしてもよい。そして、CPU710が、インタフェース740が読み出したプログラムを直接実行するか、あるいは、主記憶装置720または補助記憶装置730に一旦保存して実行するようにしてもよい。
なお、PDUコントローラ11、ノード2~5、ノード監視復旧処理コントローラS7、システム管理端末8、および、情報処理システム40が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。