(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022185768
(43)【公開日】2022-12-15
(54)【発明の名称】情報処理装置及び復旧方法
(51)【国際特許分類】
G06F 11/07 20060101AFI20221208BHJP
G06F 15/177 20060101ALI20221208BHJP
【FI】
G06F11/07 193
G06F11/07 151
G06F15/177 Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021093594
(22)【出願日】2021-06-03
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】須藤 悦男
【テーマコード(参考)】
5B042
5B045
【Fターム(参考)】
5B042GA11
5B042GC07
5B042JJ08
5B042JJ23
5B042KK01
5B042KK02
5B042MC15
5B045JJ38
5B045JJ42
(57)【要約】
【課題】情報処理装置を管理する管理部を故障から復旧させる際に、情報処理装置の運用を継続する。
【解決手段】管理部は、画像処理を行う画像処理部を含み、情報処理装置を管理する。監視部は、管理部を監視し、管理部の異常を検出した場合、異常検出信号を出力する。情報処理部は、情報処理を行い、監視部から異常検出信号が出力された場合、異常検出信号に基づいて画像処理部を切り離し、管理部を再起動する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
情報処理を行う情報処理装置であって、
画像処理を行う画像処理部を含み、前記情報処理装置を管理する管理部と、
前記管理部を監視し、前記管理部の異常を検出した場合、異常検出信号を出力する監視部と、
前記情報処理を行い、前記監視部から前記異常検出信号が出力された場合、前記異常検出信号に基づいて前記画像処理部を切り離し、前記管理部を再起動する情報処理部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記情報処理部は、第1プログラム及び第2プログラムを実行し、
前記監視部は、前記第1プログラムに対する第1割り込み要求を、前記異常検出信号として前記情報処理部へ出力し、
前記情報処理部は、前記第1割り込み要求に基づいて、前記第2プログラムに対する第2割り込み要求を生成し、前記第2割り込み要求に基づいて前記画像処理部を切り離すことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記監視部は、前記第1割り込み要求を出力した後、前記第1プログラムに対する第3割り込み要求を前記情報処理部へ出力し、
前記情報処理部は、前記第3割り込み要求に基づいて、前記情報処理部と前記画像処理部との間の通信状態をチェックし、前記通信状態が通信不可である場合、前記管理部を再起動することを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記第1プログラムは、基本入出力システムであり、前記第2プログラムは、オペレーティングシステムであることを特徴とする請求項2又は3記載の情報処理装置。
【請求項5】
前記監視部は、問合せ信号を前記管理部へ送信し、所定期間内に前記管理部から応答信号を受信しない場合、前記管理部の異常が発生したと判定して、前記異常検出信号を出力することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
情報処理を行い、
画像処理を行う画像処理部を含み、情報処理装置を管理する管理部が、監視部により監視され、前記監視部により前記管理部の異常が検出されて異常検出信号が出力された場合、前記異常検出信号に基づいて前記画像処理部を切り離し、
前記管理部を再起動する、
処理をプロセッサが実行することを特徴とする復旧方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復旧技術に関する。
【背景技術】
【0002】
サーバシステムの運用中に、ファームウェア又はハードウェアの問題に起因して、サーバ内のBMC(Baseboard Management Controller)がハングアップする故障が発生することがある。BMCの故障の発生頻度は、例えば、1年に数件程度である。
【0003】
BMCは、リモート端末からサーバを管理するための制御用IC(Integrated Circuit)チップである。リモート端末は、BMCを介して、サーバ内のハードウェアの情報を取得したり、ハードウェアに対するリモート操作を行ったりすることができる。BMCがハングアップしてもサーバの運用に支障はないが、ハードウェアの情報の取得及びリモート操作に支障が生じるため、BMCの復旧作業が行われる。
【0004】
BMCの復旧作業に関連して、BMC、又は、サーバシステムの別のコンポーネントをリセットするためのシステムが知られている(例えば、特許文献1を参照)。BMC等のコントローラを二重化することなく、BMC等のコントローラにストールが発生した場合でも、コンピュータシステムを継続して動作させるストール監視装置も知られている(例えば、特許文献2を参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-125339号公報
【特許文献2】特開2011-204046号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
BMCの復旧作業では、BMCのリセットが行われる。BMCには、オペレーティングシステム(Operating System,OS)が使用するVGA(Video Graphics Array)チップも内蔵されているため、BMCのリセットはOSにも影響して、サーバシステムの動作に異常が発生する。このため、OSを含むサーバシステム全体を停止させてから、BMCのリセットが行われる。
【0007】
このように、BMCの復旧作業は大掛かりな作業である。顧客のサーバシステムにおいて、BMCがハングアップした場合、作業者がサーバシステムの設置場所へ出向いて、BMCの復旧作業を実施する。このため、BMCがハングアップする度に作業者が客先へ出向く手間が発生し、かつ、BMCが復旧するまでに長い時間がかかる。復旧作業によりサーバシステムの運用が長時間停止すると、顧客の業務に与える影響が大きくなる。
【0008】
なお、かかる問題は、BMCの故障に限らず、情報処理装置(コンピュータ)を管理する様々な管理部の故障が発生したときに生ずるものである。
【0009】
1つの側面において、本発明は、情報処理装置を管理する管理部を故障から復旧させる際に、情報処理装置の運用を継続することを目的とする。
【課題を解決するための手段】
【0010】
1つの案では、情報処理装置は、管理部、監視部、及び情報処理部を含む。管理部は、画像処理を行う画像処理部を含み、情報処理装置を管理する。監視部は、管理部を監視し、管理部の異常を検出した場合、異常検出信号を出力する。情報処理部は、情報処理を行い、監視部から異常検出信号が出力された場合、異常検出信号に基づいて画像処理部を切り離し、管理部を再起動する。
【発明の効果】
【0011】
1つの側面によれば、情報処理装置を管理する管理部を故障から復旧させる際に、情報処理装置の運用を継続することができる。
【図面の簡単な説明】
【0012】
【
図1】比較例のサーバシステムにおけるサーバのハードウェア構成図である。
【
図2】実施形態の情報処理装置の機能的構成図である。
【
図4】実施形態のサーバシステムのハードウェア構成図である。
【
図5】実施形態のサーバシステムにおけるサーバのハードウェア構成図である。
【
図7A】第1の復旧処理のフローチャート(その1)である。
【
図7B】第1の復旧処理のフローチャート(その2)である。
【
図7C】第1の復旧処理のフローチャート(その3)である。
【
図7D】第1の復旧処理のフローチャート(その4)である。
【
図8A】第2の復旧処理のフローチャート(その1)である。
【
図8B】第2の復旧処理のフローチャート(その2)である。
【
図9A】第3の復旧処理のフローチャート(その1)である。
【
図9B】第3の復旧処理のフローチャート(その2)である。
【
図9C】第3の復旧処理のフローチャート(その3)である。
【
図9D】第3の復旧処理のフローチャート(その4)である。
【
図10A】第4の復旧処理のフローチャート(その1)である。
【
図10B】第4の復旧処理のフローチャート(その2)である。
【
図10C】第4の復旧処理のフローチャート(その3)である。
【
図10D】第4の復旧処理のフローチャート(その4)である。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0014】
図1は、比較例のサーバシステムにおけるサーバのハードウェア構成例を示している。
図1のサーバ101は、BMC111、チップセット112、及びCPU(Central Processing Unit)113を含み、BMC111は、VGA121を含む。これらの構成要素は、ハードウェアである。VGA121とチップセット112は、PCI-E(Peripheral Component Interconnect-Express)バス122により接続されている。
【0015】
サーバシステムは、サーバ101に加えて、RAID(Redundant Arrays of Inexpensive Disks)装置、テープ装置等の他の装置を含んでいてもよい。
【0016】
CPU113は、基本入出力システム(Basic Input/Output System,BIOS)131及びOS132を実行する。OS132は、VGAドライバ141を含む。OS132は、VGAドライバ141を用いてVGA121にアクセスすることで、VGA121にビデオリダイレクション等の画像処理を行わせる。
【0017】
BMC111の復旧作業において、BMC111がリセットされると、VGA121もリセットされる。PCI-Eバス122及びチップセット112を介してVGA121に接続されているCPU113は、VGA121がリセットされると、VGA121に対するアクセスのタイムアウトを検出し、OS132の実行を停止する。このため、リモート端末の表示装置に、OS132の画面が表示されなくなる。
【0018】
PCI Hotplugの機能を用いてOS132からVGA121を切り離すことは可能であるが、OS132は、BMC111がハングアップしたことを検知しないため、VGA121を切り離すことはない。また、BMC111は、OS132とは独立にサーバ101を監視する役割を有するため、OS132からBMC111を切り離す仕組みが存在しない。
【0019】
このため、
図1のサーバ101では、以下のような手順でBMC111の復旧作業が実施される。
【0020】
(P1)リモート端末のWeb UI(User Interface)に不具合が発生し、作業者が異常の発生に気付く。
【0021】
(P2)作業者は、サーバシステムの設置場所(サーバルーム等)へ出向いて、サーバ101のLED(Light Emitting Diode)を確認する。そして、LEDが点灯から消灯に変化していることから、BMC111の異常であることが判明する。
【0022】
(P3)作業者は、サーバ101で実行中の処理をすべて終了させてから、OS132を停止する。
【0023】
(P4)作業者は、サーバ101以外の各装置の電源をオフにすることで、サーバシステムを停止する。
【0024】
(P5)作業者は、BMC111のリセットを行う。
【0025】
(P6)作業者は、監視画面上でリセットの結果を確認し、結果が正常であれば、(P7)の作業に進み、結果が異常であれば、保守作業を依頼する。
【0026】
(P7)作業者は、各装置の電源をオンにすることで、サーバシステムを起動する。
【0027】
このように、OS132を含むサーバシステム全体を停止させてから、BMC111のリセットが行われるため、作業者がサーバルーム等へ出向く手間が発生し、かつ、BMC111が復旧するまでに長い時間がかかる。
【0028】
図2は、実施形態の情報処理装置の機能的構成例を示している。
図2の情報処理装置201は、管理部211、監視部212、及び情報処理部213を含む。管理部211は、画像処理を行う画像処理部221を含み、情報処理装置201を管理する。
【0029】
図3は、
図2の情報処理装置201が行う復旧処理の例を示すフローチャートである。情報処理部213は、情報処理を行う(ステップ301)。そして、監視部212は、管理部211を監視し、管理部211の異常を検出した場合、異常検出信号を出力する。
【0030】
監視部212から異常検出信号が出力された場合、情報処理部213は、異常検出信号に基づいて画像処理部221を切り離し(ステップ302)、管理部211を再起動する(ステップ303)。
【0031】
図2の情報処理装置201によれば、情報処理装置201を管理する管理部211を故障から復旧させる際に、情報処理装置201の運用を継続することができる。
【0032】
図4は、実施形態のサーバシステムのハードウェア構成例を示している。
図4のサーバシステムは、サーバ401及びRAID装置402を含む。サーバ401は、
図2の情報処理装置201に対応する。サーバ401とRAID装置402は、通信ネットワークにより接続されている。
【0033】
RAID装置402は、サーバ401が使用するデータを記憶する。RAID装置402は、補助記憶装置の一例である。サーバ401は、RAID装置402が記憶するデータを用いて情報処理を行い、処理結果をRAID装置402に格納する。
【0034】
図5は、
図4のサーバ401のハードウェア構成例を示している。
図5のサーバ401は、BMC511、チップセット512、CPU513、監視回路514、メモリ515、及び通信回路516を含む。BMC511は、VGA521を含む。これらの構成要素は、ハードウェアである。CPU513は、プロセッサと呼ばれることもある。
【0035】
BMC511、CPU513、監視回路514、及びVGA521は、
図2の管理部211、情報処理部213、監視部212、及び画像処理部221にそれぞれ対応する。監視回路514は、例えば、CPLD(Complex Programmable Logic Device)である。
【0036】
CPU513、メモリ515、及び通信回路516は、チップセット512に接続されており、監視回路514は、BMC511及びチップセット512に接続されている。VGA521とチップセット512は、PCI-Eバス522により接続されている。
【0037】
メモリ515は、例えば、RAM(Random Access Memory)等の半導体メモリであり、情報処理に用いられるプログラム及びデータを記憶する。通信回路516は、通信ネットワークに接続され、RAID装置402と通信する。
【0038】
CPU513は、通信回路516を介して、RAID装置402からデータを取得し、取得されたデータをメモリ515に格納する。そして、CPU513は、メモリ515に格納されたデータを用いてプログラムを実行することにより情報処理を行い、通信回路516を介して、処理結果をRAID装置402へ送信する。
【0039】
BMC511は、サーバ401を管理する。不図示のリモート端末は、BMC511を介して、サーバ401内のハードウェアの情報を取得したり、ハードウェアに対するリモート操作を行ったりすることができる。VGA521は、ビデオリダイレクション等の画像処理を行う。
【0040】
CPU513は、情報処理を行う際、BIOS531及びOS532を実行する。BIOS531は、第1プログラムの一例であり、OS532は、第2プログラムの一例である。
【0041】
BIOS531は、割り込み処理ルーチン541を含む。割り込み処理ルーチン541は、OS532に対する割り込み要求を生成する処理と、CPU513とVGA521との間の通信状態をチェックする処理とを含む。割り込み処理ルーチン541は、割り込みサービスルーチンと呼ばれることもある。
【0042】
OS532は、VGAドライバ542を含む。OS532は、VGAドライバ542を用いてVGA521にアクセスすることで、VGA521に画像処理を行わせる。また、OS532は、VGAドライバ542が有するPCI Hotplugの機能を用いて、OS532からVGA521を切り離すことができる。
【0043】
BIOS531は、OS532と通信することができるため、BMC511がハングアップした場合、BIOS531からOS532へBMC511の異常を通知することが可能である。しかし、BIOS531は、BMC511を監視しているわけではなく、BMC511の状態を認識していない。そこで、BMC511の異常を検出するために、監視回路514が設けられる。
【0044】
監視回路514は、ウォッチドッグ機能によりBMC511を監視する。監視回路514は、問合せ信号をBMC511へ送信し、所定期間内にBMC511から応答信号を受信したか否かをチェックする。所定期間内に応答信号を受信しない場合、監視回路514は、BMC511に異常が発生したと判定する。これにより、BMC511の異常を検出することができる。
【0045】
BMC511の異常が検出された場合、監視回路514は、BIOS531に対する割り込み要求を、チップセット512を介してCPU513へ出力する。BIOS531に対する割り込み要求は、第1プログラムに対する第1割り込み要求の一例であり、異常検出信号に対応する。
【0046】
CPU513は、監視回路514からの割り込み要求に基づいて、BIOS531の割り込み処理ルーチン541を実行することで、OS532に対する割り込み要求を生成する。OS532に対する割り込み要求は、第2プログラムに対する第2割り込み要求の一例である。
【0047】
CPU513は、割り込み処理ルーチン541からの割り込み要求に基づき、OS532のVGAドライバ542を用いて、PCI-Eバス522からVGA521を切り離すことで、CPU513からVGA521を切り離す。
【0048】
CPU513からVGA521を切り離す処理は、CPU513とVGA521との間の通信状態を、通信可能な状態から通信不可の状態に変更する処理を表す。通信可能な状態は、リンクアップに対応し、通信不可の状態は、リンクダウンに対応する。
【0049】
監視回路514がBIOS531に対する割り込み要求を出力することで、BMC511の異常をBIOS531に通知することができる。また、BIOS531の割り込み処理ルーチン541がOS532に対する割り込み要求を生成することで、BMC511の異常をOS532に通知することができる。
【0050】
監視回路514は、BIOS531に対する割り込み要求を出力した後、BIOS531に対する次の割り込み要求を、チップセット512を介してCPU513へ出力する。BIOS531に対する次の割り込み要求は、第1プログラムに対する第3割り込み要求の一例である。
【0051】
CPU513は、監視回路514からの次の割り込み要求に基づいて、割り込み処理ルーチン541を実行することで、CPU513とVGA521との間の通信状態をチェックする。そして、通信状態が通信不可である場合、CPU513は、BMC511をリセットすることで、BMC511を再起動する。
【0052】
監視回路514がBIOS531に対する次の割り込み要求を出力することで、VGA521が切り離されたか否かを割り込み処理ルーチン541にチェックさせることができる。そして、VGA521が切り離されている場合にBMC511をリセットすることで、OS532に影響を与えることなく、BMC511を再起動することが可能になる。
【0053】
図6は、
図5のサーバ401におけるBMC511の復旧処理の例を示している。復旧処理は、以下のような手順で行われる。
【0054】
(P11)監視回路514は、定期的にウォッチドッグ機能によりBMC511を監視する。
【0055】
(P12)BMC511に異常が発生し、BMC511がハングアップする。
【0056】
(P13)所定期間内にBMC511から応答信号を受信しないため、監視回路514は、BMC511に異常が発生したと判定し、BIOS531に対する最初の割り込み要求をCPU513へ出力する。その後、監視回路514は、定期的に、BIOS531に対する割り込み要求をCPU513へ出力する。
【0057】
(P14)CPU513は、監視回路514からの最初の割り込み要求に基づいて割り込み処理ルーチン541を実行することで、OS532に対する割り込み要求を生成する。これにより、CPU513は、VGA521の切り離しをOS532に要求する。
【0058】
(P15)CPU513は、割り込み処理ルーチン541からの割り込み要求に基づき、OS532のVGAドライバ542を用いて、CPU513からVGA521を切り離す。
【0059】
(P16)CPU513は、監視回路514から定期的に出力される割り込み要求に基づいて、割り込み処理ルーチン541を実行することで、CPU513とVGA521との間の通信がリンクダウンしているか否かをチェックする。
【0060】
(P17)CPU513とVGA521との間の通信がリンクダウンしている場合、CPU513は、VGA521が切り離されたと判定し、BMC511をリセットすることで、BMC511を再起動する。そして、BMC511は、監視回路514をリセットすることで、割り込み要求の出力を停止させる。
【0061】
(P18)BMC511は、再起動された後、BIOS531に対する割り込み要求をCPU513へ出力する。これにより、BMC511は、VGA521の接続をBIOS531に要求する。
【0062】
(P19)CPU513は、BMC511からの割り込み要求に基づいて、割り込み処理ルーチン541を実行することで、OS532に対する割り込み要求を生成する。これにより、CPU513は、VGA521の接続をOS532に要求する。
【0063】
(P20)CPU513は、割り込み処理ルーチン541からの割り込み要求に基づき、OS532のVGAドライバ542を用いて、VGA521をPCI-Eバス522に組み込むことで、VGA521をCPU513に接続する。
【0064】
(P16)において、CPU513は、CPU513とVGA521との間の通信がリンクダウンしているか否かを、以下のような手順でチェックすることができる。
【0065】
(P21)CPU513は、lspci、PCI device info等のコマンド、又はライブラリ関数を用いて、PCIデバイスの一覧を取得する。PCIデバイスは、PCI-Eバス522に組み込まれているデバイスを表す。
【0066】
(P22)CPU513は、PCIデバイスの一覧からVGA521を検索する。
【0067】
(P23)PCIデバイスの一覧にVGA521が含まれている場合、CPU513は、通信がリンクダウンしていないと判定し、(P21)以降の処理を繰り返す。
【0068】
(P24)PCIデバイスの一覧にVGA521が含まれていない場合、CPU513は、通信がリンクダウンしていると判定する。
【0069】
図5のサーバ401によれば、監視回路514及び割り込み処理ルーチン541を設けることで、BMC511の異常を検出してOS532に通知することができ、自動的にBMC511を故障から復旧させることが可能になる。
【0070】
復旧処理を行う際、作業者がサーバルーム等へ出向いて復旧作業を行う必要がないため、復旧作業開始までの待ち時間が発生しない。また、サーバシステムを停止する必要がなく、BMC511が活性でリセットされるため、復旧処理の間もサーバシステムの運用を継続することができる。
【0071】
新たなハードウェアとしては監視回路514を追加するだけで済むため、既存のサーバシステムにも容易に
図6の復旧処理を適用することができる。また、BIOS531及びOS532の割り込み処理を利用することで、容易に復旧処理を実装することができる。
【0072】
次に、
図7Aから
図10Dまでを参照しながら、
図5のサーバ401におけるBMC511の復旧処理について、より詳細に説明する。以下では、CPU513がOS532を実行することで行われる処理を、OS532が行う処理として記述することがある。また、CPU513がBIOS531の割り込み処理ルーチン541を実行することで行われる処理を、割り込み処理ルーチン541が行う処理として記述することがある。
【0073】
図7A~
図7Dは、OS532が動作している場合の第1の復旧処理の例を示すフローチャートである。まず、ユーザは、サーバ401の電源をオンにする(ステップ701)。これにより、BMC511が起動し(ステップ702)、サーバ401は、BMC511の起動に失敗したか否かをチェックする(ステップ703)。
【0074】
BMC511の起動に失敗した場合(ステップ703,YES)、サーバ401は、アラームを出力して(ステップ724)、処理を終了する。一方、BMC511の起動に成功した場合(ステップ703,NO)、BMC511は、サーバ401の管理を開始する。そして、BMC511は、監視回路514を起動し(ステップ704)、監視回路514の起動に失敗したか否かをチェックする(ステップ705)。
【0075】
監視回路514の起動に失敗した場合(ステップ705,YES)、サーバ401は、アラームを出力して(ステップ724)、処理を終了する。一方、監視回路514の起動に成功した場合(ステップ705,NO)、監視回路514は、ウォッチドッグ機能を開始し(ステップ706)、ウォッチドッグ機能の開始に失敗したか否かをチェックする(ステップ707)。
【0076】
ウォッチドッグ機能の開始に失敗した場合(ステップ707,YES)、サーバ401は、アラームを出力して(ステップ724)、処理を終了する。一方、ウォッチドッグ機能の開始に成功した場合(ステップ707,NO)、CPU513は、OS532を起動する(ステップ708)。これにより、OS532が起動し(ステップ731)、CPU513は、OS532の起動に失敗したか否かをチェックする(ステップ732)。
【0077】
OS532の起動に失敗した場合(ステップ732,YES)、CPU513は、アラームを出力して(ステップ736)、処理を終了する。一方、OS532の起動に成功した場合(ステップ732,NO)、CPU513は、OS532を実行する。
【0078】
次に、監視回路514は、問合せ信号をBMC511へ送信し(ステップ709)、所定期間内にBMC511から応答信号を受信したか否かをチェックする(ステップ710)。所定期間内に応答信号を受信した場合(ステップ710,YES)、監視回路514は、ステップ709以降の処理を繰り返す。
【0079】
一方、所定期間内に応答信号を受信しない場合(ステップ710,NO)、監視回路514は、BIOS531に対する割り込み要求をCPU513へ出力する(ステップ711)。BIOS531に対する割り込み要求により起動された割り込み処理ルーチン541は、OS532に対する割り込み要求を出力する(ステップ712)。
【0080】
OS532は、OS532に対する割り込み要求を受け付け(ステップ733)、VGAドライバ542を用いて、PCI-Eバス522からVGA521を切り離す(ステップ734)。
【0081】
次に、監視回路514から定期的に出力される割り込み要求により、割り込み処理ルーチン541が起動される。起動された割り込み処理ルーチン541は、タイマを起動して、一定期間の間、CPU513とVGA521との間の通信がリンクダウンしているか否かの判定を繰り返す。
【0082】
リンクダウンの判定において、割り込み処理ルーチン541は、コマンド又はライブラリ関数を用いてPCIデバイスの一覧を取得し(ステップ713)、タイムアウトしたか否かをチェックする(ステップ714)。
【0083】
タイムアウトしていない場合(ステップ714,NO)、割り込み処理ルーチン541は、PCIデバイスの一覧からVGA521を検索する(ステップ715)。PCIデバイスの一覧にVGA521が含まれている場合(ステップ715,YES)、割り込み処理ルーチン541は、ステップ713以降の処理を繰り返す。
【0084】
一方、PCIデバイスの一覧にVGA521が含まれていない場合(ステップ715,NO)、割り込み処理ルーチン541は、CPU513とVGA521との間の通信がリンクダウンしていると判定し、BMC511をリセットする(ステップ716)。そして、サーバ401は、BMC511のリセットに失敗したか否かをチェックする(ステップ717)。
【0085】
BMC511のリセットに失敗した場合(ステップ717,YES)、サーバ401は、アラームを出力して(ステップ724)、処理を終了する。一方、BMC511のリセットに成功した場合(ステップ717,NO)、BMC511は、監視回路514をリセットし(ステップ718)、監視回路514のリセットに失敗したか否かをチェックする(ステップ719)。
【0086】
監視回路514のリセットに失敗した場合(ステップ719,YES)、サーバ401は、アラームを出力して(ステップ724)、処理を終了する。一方、監視回路514のリセットに成功した場合(ステップ719,NO)、監視回路514は、ウォッチドッグ機能を開始し(ステップ720)、ウォッチドッグ機能の開始に失敗したか否かをチェックする(ステップ721)。
【0087】
ウォッチドッグ機能の開始に失敗した場合(ステップ721,YES)、サーバ401は、アラームを出力して(ステップ724)、処理を終了する。一方、ウォッチドッグ機能の開始に成功した場合(ステップ721,NO)、BMC511は、BIOS531に対する割り込み要求をCPU513へ出力する(ステップ722)。BIOS531に対する割り込み要求により起動された割り込み処理ルーチン541は、OS532に対する割り込み要求を出力する(ステップ723)。
【0088】
OS532は、OS532に対する割り込み要求に基づき、VGAドライバ542を用いて、VGA521をPCI-Eバス522に組み込む(ステップ735)。
【0089】
リンクダウンの判定においてタイムアウトした場合(ステップ714,YES)、サーバ401は、ステップ716以降の処理を行うことで、強制的にBMC511をリセットする。
【0090】
図8A及び
図8Bは、OS532が停止している場合の第2の復旧処理の例を示すフローチャートである。ステップ801~ステップ823の処理は、
図7Aのステップ701~ステップ707及びステップ709~ステップ715と
図7Bのステップ716~ステップ724の処理と同様である。
【0091】
第1の復旧処理とは異なり、ウォッチドッグ機能の開始に成功した場合(ステップ807,NO)、OS532は起動されず、停止したままである。このため、ステップ811において、割り込み処理ルーチン541からOS532に対する割り込み要求が出力された場合、割り込み要求はペンディングされる。そして、OS532が起動されたときに、ペンディングされている割り込み要求が消去される。
【0092】
同様に、ステップ822において、割り込み処理ルーチン541からOS532に対する割り込み要求が出力された場合も、割り込み要求はペンディングされる。そして、OS532が起動されたときに、ペンディングされている割り込み要求が消去される。
【0093】
OS532が停止しているため、VGA521の切り離しが行われず、リンクダウンの判定においてタイムアウトが発生する(ステップ813,YES)。したがって、ステップ815以降の処理が行われ、BMC511が強制的にリセットされる。
【0094】
図9A~
図9Dは、OS532からの応答がない場合の第3の復旧処理の例を示すフローチャートである。ステップ901~ステップ924の処理は、
図7Aのステップ701~ステップ715と
図7Bのステップ716~ステップ724の処理と同様である。また、ステップ931、ステップ932、及びステップ934の処理は、
図7Cのステップ731及びステップ732と
図7Dのステップ736の処理と同様である。
【0095】
第1の復旧処理とは異なり、OS532の起動に成功した場合(ステップ932,NO)、起動されたOS532がハングアップし(ステップ933)、無応答の状態になる。このため、ステップ912において、割り込み処理ルーチン541からOS532に対する割り込み要求が出力された場合、割り込み要求はペンディングされる。そして、OS532が次に起動されたときに、ペンディングされている割り込み要求が消去される。
【0096】
同様に、ステップ923において、割り込み処理ルーチン541からOS532に対する割り込み要求が出力された場合も、割り込み要求はペンディングされる。そして、OS532が次に起動されたときに、ペンディングされている割り込み要求が消去される。
【0097】
OS532がハングアップしているため、VGA521の切り離しが行われず、リンクダウンの判定においてタイムアウトが発生する(ステップ914,YES)。したがって、ステップ916以降の処理が行われ、BMC511が強制的にリセットされる。
【0098】
図10A~
図10Dは、VGA521の切り離しが失敗した場合の第4の復旧処理の例を示すフローチャートである。ステップ1001~ステップ1024の処理は、
図7Aのステップ701~ステップ715と
図7Bのステップ716~ステップ724の処理と同様である。また、ステップ1031~ステップ1036の処理は、
図7Cのステップ731~ステップ734と
図7Dのステップ735及びステップ736の処理と同様である。
【0099】
第1の復旧処理とは異なり、OS532は、OS532に対する割り込み要求を受け付けた後(ステップ1033)、VGAドライバ542を用いて、PCI-Eバス522からVGA521を切り離そうとするが、切り離しに失敗する(ステップ1034)。このため、リンクダウンの判定においてタイムアウトが発生し(ステップ1014,YES)、ステップ1016以降の処理が行われて、BMC511が強制的にリセットされる。
【0100】
その後、割り込み処理ルーチン541からOS532に対する割り込み要求が出力された場合(ステップ1023)、OS532は、VGAドライバ542を用いて、VGA521をPCI-Eバス522に組み込もうとする。しかし、VGA521の切り離しが行われていないため、OS532は、VGA521の組み込みに失敗する(ステップ1035)。
【0101】
図2の情報処理装置201の構成は一例に過ぎず、情報処理装置201の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
図4のサーバシステムの構成は一例に過ぎず、サーバシステムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、サーバシステムは、複数のサーバを含んでいてもよく、テープ装置等の他の装置を含んでいてもよい。
【0102】
図1のサーバ101及び
図5のサーバ401の構成は一例に過ぎず、サーバシステムの構成又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、
図5のサーバ401がRAID装置402と通信しない場合は、通信回路516を省略することができる。
【0103】
図3及び
図7A~
図10Dのフローチャートは一例に過ぎず、サーバシステムの構成又は条件に応じて一部の処理を省略又は変更してもよい。
図6に示したBMC511の復旧処理は一例に過ぎず、サーバシステムの構成又は条件に応じて一部の処理を省略又は変更してもよい。
【0104】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【0105】
図1乃至
図10Dを参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
情報処理を行う情報処理装置であって、
画像処理を行う画像処理部を含み、前記情報処理装置を管理する管理部と、
前記管理部を監視し、前記管理部の異常を検出した場合、異常検出信号を出力する監視部と、
前記情報処理を行い、前記監視部から前記異常検出信号が出力された場合、前記異常検出信号に基づいて前記画像処理部を切り離し、前記管理部を再起動する情報処理部と、
を備えることを特徴とする情報処理装置。
(付記2)
前記情報処理部は、第1プログラム及び第2プログラムを実行し、
前記監視部は、前記第1プログラムに対する第1割り込み要求を、前記異常検出信号として前記情報処理部へ出力し、
前記情報処理部は、前記第1割り込み要求に基づいて、前記第2プログラムに対する第2割り込み要求を生成し、前記第2割り込み要求に基づいて前記画像処理部を切り離すことを特徴とする付記1記載の情報処理装置。
(付記3)
前記監視部は、前記第1割り込み要求を出力した後、前記第1プログラムに対する第3割り込み要求を前記情報処理部へ出力し、
前記情報処理部は、前記第3割り込み要求に基づいて、前記情報処理部と前記画像処理部との間の通信状態をチェックし、前記通信状態が通信不可である場合、前記管理部を再起動することを特徴とする付記2記載の情報処理装置。
(付記4)
前記第1プログラムは、基本入出力システムであり、前記第2プログラムは、オペレーティングシステムであることを特徴とする付記2又は3記載の情報処理装置。
(付記5)
前記監視部は、問合せ信号を前記管理部へ送信し、所定期間内に前記管理部から応答信号を受信しない場合、前記管理部の異常が発生したと判定して、前記異常検出信号を出力することを特徴とする付記1乃至4の何れか1項に記載の情報処理装置。
(付記6)
情報処理を行い、
画像処理を行う画像処理部を含み、情報処理装置を管理する管理部が、監視部により監視され、前記監視部により前記管理部の異常が検出されて異常検出信号が出力された場合、前記異常検出信号に基づいて前記画像処理部を切り離し、
前記管理部を再起動する、
処理をプロセッサが実行することを特徴とする復旧方法。
(付記7)
前記情報処理を行う処理は、第1プログラム及び第2プログラムを実行する処理を含み、
前記監視部は、前記第1プログラムに対する第1割り込み要求を、前記異常検出信号として出力し、
前記画像処理部を切り離す処理は、
前記第1割り込み要求に基づいて、前記第2プログラムに対する第2割り込み要求を生成する処理と、
前記第2割り込み要求に基づいて前記画像処理部を切り離す処理とを含むことを特徴とする付記6記載の復旧方法。
(付記8)
前記監視部は、前記第1割り込み要求を出力した後、前記第1プログラムに対する第3割り込み要求を出力し、
前記プロセッサは、前記第3割り込み要求に基づいて、前記プロセッサと前記画像処理部との間の通信状態をチェックする処理をさらに実行し、
前記管理部を再起動する処理は、前記通信状態が通信不可である場合、前記管理部を再起動する処理を含むことを特徴とする付記7記載の復旧方法。
(付記9)
前記第1プログラムは、基本入出力システムであり、前記第2プログラムは、オペレーティングシステムであることを特徴とする付記7又は8記載の復旧方法。
(付記10)
前記監視部は、問合せ信号を前記管理部へ送信し、所定期間内に前記管理部から応答信号を受信しない場合、前記管理部の異常が発生したと判定して、前記異常検出信号を出力することを特徴とする付記6乃至9の何れか1項に記載の復旧方法。
【符号の説明】
【0106】
101、401 サーバ
111、511 BMC
112、512 チップセット
113、513 CPU
121、521 VGA
122、522 PCI-Eバス
131、531 BIOS
132、532 OS
141、542 VGAドライバ
201 情報処理装置
211 管理部
212 監視部
213 情報処理部
221 画像処理部
401 サーバ
402 RAID装置
514 監視回路
515 メモリ
516 通信回路
541 割り込み処理ルーチン