JP5585654B2 - 情報処理システム、管理装置、および情報処理装置の管理方法 - Google Patents

情報処理システム、管理装置、および情報処理装置の管理方法 Download PDF

Info

Publication number
JP5585654B2
JP5585654B2 JP2012529447A JP2012529447A JP5585654B2 JP 5585654 B2 JP5585654 B2 JP 5585654B2 JP 2012529447 A JP2012529447 A JP 2012529447A JP 2012529447 A JP2012529447 A JP 2012529447A JP 5585654 B2 JP5585654 B2 JP 5585654B2
Authority
JP
Japan
Prior art keywords
management
information
processing
state
power
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.)
Expired - Fee Related
Application number
JP2012529447A
Other languages
English (en)
Other versions
JPWO2012023200A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012023200A1 publication Critical patent/JPWO2012023200A1/ja
Application granted granted Critical
Publication of JP5585654B2 publication Critical patent/JP5585654B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3031Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、情報処理システム、管理装置、および情報処理装置の管理方法に関する。
コンピュータなどの情報処理装置の処理を外部の装置から管理するようにしたシステムは、広く普及している。例えば、ブレードサーバシステムの物理的/論理的な仕様を定めたATCA(Advanced Telecom Computing Architecture)規格では、ブレードサーバシステムが有する情報処理装置であるサーバブレードにおける起動処理の進行に関して、複数の状態が規定されている。そして、ブレードサーバシステムのシャーシ内などに設けられる管理装置(シェルフマネージャ)は、サーバブレードにおける状態の遷移を管理することで、サーバブレードの起動処理を進行させる。管理装置は、サーバブレードの状態を遷移させる過程で、消費電力などの情報をサーバブレードから順次取得し、サーバブレードを含めたシャーシ内のデバイスなどのハードウェア資源による電力需要を予測する。そして、予測された電力需要が、シャーシ内の電源装置から供給可能な範囲内であれば、サーバブレードに対して、電源装置からの電源の供給を開始させる。このように、管理装置の管理下でサーバブレードにおける起動処理をあらかじめ決められた順番で進行させることで、ブレードサーバシステム全体の信頼性を維持した状態で、サーバブレードを確実に起動させることができる。
なお、情報処理装置と管理装置とを有するシステムの他の例として、シャーシ内に、複数のプロセッサカードと、各プロセッサカードにおけるファンの回転速度および温度の検出やプロセッサカードの挿抜の検出を行うサーバ管理カードとを備えるサーバシステムがある。
一方、システムの耐故障性を向上させる方法として、運用系装置とは別に待機系装置を用意する方法がある。例えば、本体装置とサービスプロセッサとの間で情報の整合がとられるシステムにおいて、処理を運用中の系統である運用系のサービスプロセッサが故障した場合に、本体装置と予備のサービスプロセッサとを接続して、本体装置が保持する情報を予備のサービス処理装置が読み出すものがある。
特開2003−150409号公報 特開昭59−14054号公報
"PICMG 3.0 Revision 2.0 AdvancedTCA Base Specification",PCI Industrial Computer Manufactures Group,2005年10月28日,P3−31〜3−38
ところで、ATCA規格に準拠したサーバシステムにおいても、システムの耐故障性の向上を目的として、運用系の管理装置とは別に、運用系の管理装置が運用中に待機する待機系の管理装置を設置することにより、管理装置を冗長化することが考えられる。しかし、管理装置を冗長化した場合、処理を行う情報処理装置であるサーバブレードでの起動処理の実行中に運用系の管理装置が停止したときに、サーバブレードにおける状態遷移の制御を待機系の管理装置がどのようにして引き継ぐかという課題があった。
前述のように、運用系の管理装置は、サーバブレードの起動処理をあらかじめ決められた順番で進行させる。サーバブレードの起動処理の制御を待機系の管理装置が引き継ぐ場合でも、サーバブレードの起動処理の順番は守られなくてはならない。サーバブレードの起動処理の制御を待機系の管理装置が引き継いだときに、サーバブレードの起動処理の順番が変わってしまうと、サーバブレードの起動処理が停止し、起動処理を正常に完了できなくなる。例えば、サーバブレードの起動処理中に運用系の管理装置が変更になったとき、新たに運用系となった管理装置がサーバブレードの起動処理を最初から実行させるように制御した場合には、起動処理の順番が守られないため、起動処理を正常に完了できない。
また、上記のサーバシステムに限らず、情報処理装置での処理シーケンスの進行を管理装置により管理する他のシステムでも、運用系の管理装置とは別に待機系の管理装置を設置することが考えられる。そして、このように運用系の管理装置が情報処理装置での処理シーケンスを管理するとともに待機系の管理装置を有するシステムでも、情報処理装置での処理の実行中に運用系の管理装置が停止した場合に、情報処理装置に対する制御を待機系の管理装置がどのようにして引き継ぎ、情報処理装置の処理を続行させるかという課題があった。
本発明はこのような課題に鑑みてなされたものであり、情報処理装置の処理の実行を管理する管理装置が別の管理装置に変更された場合に、情報処理装置の処理を続行させることが可能な情報処理システム、管理装置、および情報処理装置の管理方法を提供することを目的とする。
上記目的を達成するために、情報処理システムが提供される。この情報処理システムは、複数の処理ステップを含む処理シーケンスを実行する情報処理装置と、前記情報処理装置に処理ステップを所定の順で実行させることで、前記処理シーケンスの実行を管理する複数の管理装置と、を備える。複数の管理装置のうちのいずれか1つは、前記処理シーケンスの実行管理を行う運用系として動作し、運用系以外の管理装置は、前記処理シーケンスの実行管理を運用系の管理装置から引き継ぐまで待機する待機系として動作する。また、前記各管理装置は、待機系から運用系に遷移して、運用系であった他の前記管理装置から前記処理シーケンスの実行管理を引き継いだときに、前記処理シーケンスの進行状態を示す状態情報を前記情報処理装置から取得する情報取得手段と、前記情報取得手段によって取得された前記状態情報に基づいて、前記処理シーケンスの未実行の処理ステップの実行を前記情報処理装置に継続させる制御手段と、を有する。
また、上記目的を達成するために、上記の情報処理システムに含まれる管理装置、および、上記の情報処理システムと同様の処理を行う情報処理装置の管理方法が提供される。
上記の情報処理システム、管理装置、および情報処理装置の管理方法によれば、情報処理装置での処理シーケンスの実行を管理する運用系の管理装置が別の管理装置に変更された場合でも、変更後の管理装置の制御の下で情報処理装置での処理シーケンスを続行させることができる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになる。
第1の実施の形態に係る情報処理システムの構成例を示す図である。 第2の実施の形態に係る情報処理システムとしてのブレードサーバシステムの構成例を示す図である。 サーバブレードのハードウェア構成例を示す図である。 管理カードのハードウェア構成例を示す図である。 サーバブレードの処理機能の例を示すブロック図である。 管理カードの処理機能の例を示すブロック図である。 ブレード管理テーブルに保持される情報の例を示す図である。 ブレード管理部の内部構成例を示すブロック図である。 運用系管理カードから待機系管理カードに対してデータを通知する際に用いられるコマンドについて説明する図である。 運用系管理カードによる起動制御手順の例を示すフローチャートである。 運用系管理カードによる起動制御手順の例を示すフローチャートである。 運用系管理カードの電源切断制御部による電源切断制御手順の例を示すフローチャートである。 サーバブレードが起動する際の各装置の処理例を示すシーケンス図である。 サーバブレードが起動する際の各装置の処理例を示すシーケンス図である。 サーバブレードの電源が切断される際の各装置の処理例を示すシーケンス図である。 サーバブレードの電源が切断される際の各装置の処理例を示すシーケンス図である。 サーバブレードの状態と、待機系管理カードが認識する状態とが一致しない場合の参考処理例を示すシーケンス図である。 待機系として動作する管理カードのフラグ設定部の処理手順の例を示すフローチャートである。 起動制御部を制御する起動時移行制御部の処理手順の例を示すフローチャートである。 電源切断制御部を制御する切断時移行制御部の処理手順の例を示すフローチャートである。 サーバブレードに対する起動制御が別の管理カードに引き継がれる場合の処理例1を示すシーケンス図である。 サーバブレードに対する起動制御が別の管理カードに引き継がれる場合の処理例1を示すシーケンス図である。 サーバブレードに対する起動制御が別の管理カードに引き継がれる場合の処理例2を示すシーケンス図である。 サーバブレードに対する電源切断制御が別の管理カードに引き継がれる場合の処理例1を示すシーケンス図である。 サーバブレードに対する電源切断制御が別の管理カードに引き継がれる場合の処理例1を示すシーケンス図である。 サーバブレードに対する電源切断制御が別の管理カードに引き継がれる場合の処理例2を示すシーケンス図である。
以下、図面を参照して実施の形態を詳細に説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係る情報処理システムの構成例を示す図である。
図1に示す情報処理システムは、複数の管理装置10a,10bと、情報処理装置20とを含む。管理装置10a,10bおよび情報処理装置20は、例えば、コンピュータとして実現される。
管理装置10a,10bは、情報処理装置20での処理シーケンスの実行を管理する。管理装置10a,10bのうち一方の管理装置は、情報処理装置20での処理シーケンスの実行を管理する運用系として動作する。また、他方の管理装置は、情報処理装置20での処理シーケンスの実行管理を運用系の管理装置から引き継ぐまで待機する待機系として動作する。待機系の管理装置は、例えば運用系の管理装置が異常発生によって停止した場合などに、待機系から運用系に遷移して、処理シーケンスの実行管理を運用系であった管理装置から引き継ぐ。
図1の例では、運用系の管理装置は、情報処理装置20に、処理ステップA、処理ステップB、処理ステップC、処理ステップDの順に処理シーケンスを実行させる。情報処理装置20で実行される各処理ステップでの処理内容には、例えば、運用系の管理装置からの要求に応じて所定の処理を行って、運用系の管理装置に応答する処理が含まれてもよい。あるいは、運用系の管理装置からの要求に応じて実行されるものの、運用系の管理装置への応答を必要としない処理が含まれてもよい。
管理装置10a,10bは、情報取得手段11と、制御手段12とを有する。これらの情報取得手段11および制御手段12の処理は、処理シーケンスの実行管理を、運用系であった他方の管理装置から引き継ぐ際に実行される。ここで、説明をわかりやすくするために、例として、管理装置10bが備える情報取得手段11および制御手段12の処理について説明する。
情報取得手段11は、管理装置10bが待機系から運用系に遷移して、運用系であった他方の管理装置10aから処理シーケンスの実行管理を引き継いだときに、処理シーケンスの進行状態を示す状態情報を、情報処理装置20から取得する。情報取得手段11は、この処理を、例えば、管理装置10aが停止したことや、管理装置10aにおいてリセットが発生したことを検知したときに実行する。なお、状態情報は、情報処理装置20において処理シーケンスがどの段階まで実行されたかを判別できる情報であればよい。例えば、状態情報は、情報処理装置20で最後に実行された処理ステップを示す情報である。また、状態情報は、情報処理装置20が処理ステップを実行するたびに遷移する状態を示す情報であってもよい。
制御手段12は、情報取得手段11によって取得された状態情報に基づいて、処理シーケンスに含まれる処理ステップのうち未実行の処理ステップの実行を、情報処理装置20に継続させる。情報処理装置20に未実行の処理ステップを実行させることにより、管理装置10aによる処理シーケンスの実行管理が、管理装置10bによって引き継がれる。すなわち、未実行の処理ステップのうちの先頭の処理ステップから、情報処理装置20での処理シーケンスの実行が再開される。そして、以後、管理装置10aによる処理シーケンスの実行管理手順と同様の処理手順が、管理装置10bによって実行される。
次に、図1を参照して、管理装置10aによる処理シーケンスの実行管理が管理装置10bに引き継がれる際の処理手順の例について説明する。なお、以下の説明では、例として、次のような手順で情報処理装置20での処理シーケンスの実行が管理されるものとする。情報処理装置20は、各処理ステップの実行を終了するたびに、実行を終了した処理ステップを示す状態情報を、運用系の管理装置10aに通知する。通知を受けた管理装置10aは、通知された状態情報を基に、情報処理装置20で実行が終了した処理ステップを認識し、認識した処理ステップの次の処理ステップを、情報処理装置20に実行させる。管理装置は、例えば、次の処理ステップにおいて決められた最初の処理を情報処理装置20に開始させることで、処理ステップを実行させる。
まず、初期状態では、運用系の管理装置10aの管理の下で、情報処理装置20において処理シーケンスが実行される。情報処理装置20は、処理シーケンス中の処理ステップAの処理を終了すると、処理ステップAの実行を終了したことを示す状態情報を、管理装置10aに送信する(ステップS1)。管理装置10aは、情報処理装置20から処理ステップAの終了を示す状態情報を受信すると、次の処理ステップBの実行を情報処理装置20に要求する(ステップS2)。情報処理装置20は、管理装置10aからの要求に応じて、処理ステップBを実行し、処理ステップBの実行が終了すると、処理ステップBが終了したことを示す状態情報を管理装置10aに送信する(ステップS3)。
ここで、例えば、管理装置10aが故障するなどして、待機系であった管理装置10bが、情報処理装置20を管理する運用系に遷移したものとする。このとき、管理装置10bの情報取得手段11は、情報処理装置20から状態情報を取得する(ステップS4)。例えば、管理装置10bの情報取得手段11は、情報処理装置20に対して状態情報の通知を要求し、通知要求を受けた情報処理装置20は、状態情報を管理装置10bに通知する。
管理装置10bの制御手段12は、情報取得手段11が情報処理装置20から状態情報を取得すると、取得した状態情報から、情報処理装置20での処理ステップBの実行が終了したと判断して、次の処理ステップCの実行を情報処理装置20に要求する(ステップS5)。
情報処理装置20は、管理装置10bの制御手段12からの要求に応じて、処理ステップCを実行し、実行が終了すると、処理ステップCが終了したことを示す状態情報を管理装置10bに送信する(ステップS6)。管理装置10bの制御手段12は、情報処理装置20から状態情報を受信すると、次の処理ステップDの実行を情報処理装置20に要求する(ステップS7)。情報処理装置20は、制御手段12からの要求に応じて、処理ステップDを実行する。
以上の処理では、管理装置10bは、情報処理装置20から状態情報を取得することで、情報処理装置20で実行済みの処理ステップを認識する。そして、管理装置10bは、次に情報処理装置20が実行すべき処理ステップを判断し、その処理ステップを情報処理装置20に実行させる。これにより、管理装置10bは、管理装置10aによって実行されていた処理シーケンスの実行管理を、情報処理装置20での処理順を守ったまま引き継ぐことができる。また、情報処理装置20では、処理シーケンスの実行中に、自装置を管理する運用系の管理装置が変更されても、変更後の運用系の管理装置による制御の下で処理シーケンスが継続される。従って、情報処理装置20での処理を進行させることができるようになる。
次に、情報処理システムの例として、ATCA規格に準拠したブレードサーバシステムを適用した場合の実施の形態について説明する。
[第2の実施の形態]
図2は、第2の実施の形態に係る情報処理システムとしてのブレードサーバシステムの構成例を示す図である。
ブレードサーバシステム100は、複数のスロットを備えた筐体であるシャーシ110を備え、各スロットには、ブレードと呼ばれる基板を装着できるようになっている。シャーシ110の内部には、データを送受信するバスや電源線などを含むバックプレーン120が設けられ、スロットに装着されたブレードは、バックプレーン120を介して互いに接続される。
図2に示すブレードサーバシステム100は、ブレードとして、1つ以上のサーバブレードを備えている。本実施の形態のブレードサーバシステム100は、例として最大8個のサーバブレード200a〜200hを装着可能であるものとする。サーバブレード200a〜200hのそれぞれは、CPU(Central Processing Unit)や記憶装置などのハードウェア資源としてのデバイスを備え、各種のサーバとして稼働するブレードである。サーバブレード200a〜200hは、例えば、通信サービスを提供するサーバである。
また、ブレードサーバシステム100は、管理カード300a,300bを備えている。管理カード300a,300bもそれぞれ、シャーシ110内の所定のスロットに挿入されるブレードである。
管理カード300a,300bは、シャーシ110に搭載された各ブレードを制御する。例えば、管理カード300a,300bは、シャーシ110内の各ブレードに対する電源モジュール410からの電源分配の制御、各ブレードにおける異常発生の監視、各ブレードでの温度検出結果に応じたファンモジュール420でのファンの回転速度の制御などを行う。また、後述するように、管理カード300a,300bは、サーバブレード200a〜200hの起動時および電源切断時の処理シーケンスを制御する機能も有する。
さらに、管理カード300a,300bは、通信モジュールなどにより外部のネットワーク510に接続し、ネットワーク510に接続された遠隔監視装置520からの要求に応じて、シャーシ110内の各ブレードを制御することもできる。ネットワーク510は、例えばLAN(Local Area Network)である。なお、遠隔監視装置520は、管理カード300a,300bのいずれかから通知される情報に基づいて、シャーシ110に搭載された各ブレードにおける異常発生を監視してもよい。
なお、これらの2つの管理カード300a,300bのうち、一方は、処理を運用中の系統である運用系として動作し、他方は、運用系が動作中の間、運用系の管理カードをバックアップする待機系として動作する。以下の説明では、管理カード300a,300bのうち、運用系として動作中のものを“運用系管理カード”と呼称し、待機系として動作中のものを“待機系管理カード”と呼称する。
また、ブレードサーバシステム100のシャーシ110には、電源モジュール410およびファンモジュール420が搭載されている。電源モジュール410は、シャーシ110に搭載された装置に対して、バックプレーン120を介して共通に電源を供給する。ファンモジュール420は、管理カード300a,300bからの制御に応じてファンを回転させ、シャーシ110内の温度を調整する。
図3は、サーバブレードのハードウェア構成例を示す図である。なお、図3では、例としてサーバブレード200aの構成例を示すが、他のサーバブレード200b〜200hも、図3と同様の構成であればよい。
サーバブレード200aは、CPU201、RAM(Random Access Memory)202、MCH(Memory Controller Hub)203、ICH(In/Out Controller Hub)204、ハードディスクドライブ(HDD:Hard Disk Drive)205、IPMC(Intelligent Platform Management Controller)206、NVRAM(Non Volatile RAM)207、電源スイッチ208、電源回路209、温度センサ210および電圧センサ211を備えている。
CPU201は、サーバブレード200a全体を統括的に制御する。RAM202は、サーバブレード200aの主記憶装置として使用され、CPU201に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。
MCH203は、CPU201、RAM202およびICH204のそれぞれの間で、データを中継する。ICH204は、MCH203、HDD205およびIPMC206のそれぞれの間で、データを中継する。
HDD205は、サーバブレード200aの二次記憶装置として使用され、CPU201により実行されるプログラムやその実行に必要な各種のデータなどを記憶する。なお、二次記憶装置としては、例えば、フラッシュメモリなどの半導体記憶装置が使用されてもよい。
IPMC206は、IPMI(IPM Interface)規格に準拠して、バックプレーン120内のIPMB(IPM Bus)121を通じて運用系管理カードと通信する。また、IPMC206は、ICH204およびMCH203を通じて、CPU201との間でデータを送受信する。IPMC206は、例えば、内部にCPUやROM(Read Only Memory)などを含むマイクロコンピュータである。
サーバブレード200aがブレードサーバシステム100のスロットに装着され、サーバブレード200aの電源回路209とバックプレーン120内の電源線とが接続されると、IPMC206は、電源回路209からの電源が投入された状態となる。このとき、サーバブレード200a内のIPMC206以外のデバイスには、電源回路209からの電源は投入されない。以下、サーバブレード200aにおける電源状態の1つとして、サーバブレード200a内のIPMC206にのみ電源が投入された状態を“電源オフ状態”と呼ぶ。この“電源オフ状態”は、後述する“状態1”に相当する。また、サーバブレード200aの全体に電源が投入された状態を“運用状態”と呼ぶ。この“運用状態”は、後述する“状態4”に相当する。
IPMC206は、サーバブレード200aが電源オフ状態から運用状態に遷移する起動時や、サーバブレード200aが運用状態から電源オフ状態に遷移する電源切断時に、運用系管理カードによる制御の下で、電源回路209をはじめとするサーバブレード200a内の各部の動作を制御する。また、IPMC206は、サーバブレード200aが運用状態のとき、運用系管理カードからの要求に応じて、温度センサ210による温度検出値および電圧センサ211による電圧検出値を、運用系管理カードに対して送信する。なお、IPMC206は、温度センサ210による温度検出値および電圧センサ211による電圧検出値を、自発的に運用系管理カードに対して送信してもよい。
NVRAM207は、IPMC206での処理に必要な各種のデータを記憶する不揮発性メモリである。NVRAM207には、例えば、サーバブレード200aの起動時に、IPMC206によって運用系管理カードに通知される情報などがあらかじめ格納される。
電源スイッチ208は、スイッチ機構に対する入力操作に応じた信号をIPMC206に供給する。IPMC206は、電源スイッチ208に対する入力操作に応じて、サーバブレード200aを電源オフ状態から運用状態に遷移させる起動処理と、サーバブレード200aを運用状態から電源オフ状態に遷移させる電源切断処理とのいずれかを開始する。
電源回路209は、バックプレーン120内の電源線(図示せず)を通じて、電源モジュール410から電源の供給を受け、サーバブレード200a内の各部に対して電源を供給する。電源回路209は、サーバブレード200a内のデバイスのうち、少なくとも、IPMC206とその他のデバイスとに対して、それぞれ個別に電源を供給できる。例えば、電源回路209は、IPMC206に対してのみ電源を供給した状態で、IPMC206からの要求に応じて、その他のデバイスへの電源供給を開始したり停止したりすることができる。
温度センサ210は、例えばCPU201の周辺など、サーバブレード200a内の所定の位置の温度を検出し、検出結果をIPMC206に出力する。電圧センサ211は、電源回路209からサーバブレード200a内の各部に出力される電源の電圧を検出し、検出結果をIPMC206に出力する。
図4は、管理カードのハードウェア構成例を示す図である。
管理カード300aは、CPU301、RAM302、不揮発性メモリ303、IPMC304、ネットワークインタフェース(I/F)305およびウォッチドッグタイマ(WDT:Watch Dog Timer)306を備えている。
CPU301は、管理カード300a全体を統括的に制御する。RAM302は、管理カード300aの主記憶装置として使用され、CPU301に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。
不揮発性メモリ303は、管理カード300aの二次記憶装置として使用され、CPU301により実行されるプログラムやその実行に必要な各種のデータなどを記憶する。不揮発性メモリ303は、例えば、フラッシュメモリなどの半導体記憶装置である。なお、二次記憶装置としては、HDDが使用されてもよい。
IPMC304は、IPMI規格に準拠して、バックプレーン120内のIPMB121を通じて、サーバブレード200a〜200hなどのシャーシ110内のブレードと通信する。また、IPMC304は、他の管理カード300bと通信することも可能である。さらに、IPMC304は、バックプレーン120内のIPMB121とCPU301との間のデータ送受信を制御する。また、IPMC304は、リセット信号線122を介して、管理カード300bと接続されている。IPMC304は、管理カード300aがリセットされると、リセット信号線122にリセットパルスを出力し、管理カード300bに対してリセットの発生を通知する。また、IPMC304は、管理カード300bから出力されたリセットパルスを、リセット信号線122を介して受信することで、管理カード300bでのリセットの発生を検知する。
ネットワークI/F305は、ネットワーク510に接続し、遠隔監視装置520などのネットワーク510上の他の機器との間でデータを送受信する。
WDT306は、その内部に設けられたタイマの計時時間に基づいて、CPU301でのプログラム実行処理を監視し、管理カード300aが異常停止したことを検知すると、管理カード300aをリセットさせる。
なお、管理カード300aにも、管理カード300a内の各部に電源を供給する回路や、その回路のコントローラなどが設けられるが、図4では省略する。また、管理カード300bについても、上記の管理カード300aと同様のハードウェア構成によって実現される。
次に、管理カード300a,300bによるサーバブレード200a〜200hの動作制御について説明する。特に、以下では、サーバブレード200a〜200hの起動時および電源切断時における動作を運用系管理カードが制御する手順について、詳しく説明する。
サーバブレード200a〜200hのそれぞれにおいては、電源の投入/切断に関する状態として、次の状態1〜状態6までの6つの状態が規定されている。状態1は、電源オフ状態である。ただし、状態1では、電源回路209からサーバブレード内のIPMC206に対してのみ、電源が供給される。サーバブレードは、状態1から起動する際には、起動処理を開始した状態である状態2と、起動処理中である状態3とを経て、サーバブレードの全体に対する電源投入が完了した運用状態である状態4に遷移する。また、サーバブレードは、電源の切断時には、状態4から、電源切断処理を開始した状態である状態5と、電源切断処理中である状態6とを経て、状態1に遷移する。
サーバブレード200a〜200hのそれぞれにおける状態の変化は、運用系管理カードによって管理される。運用系管理カードは、各サーバブレードにおける状態遷移を、あらかじめ決められたシーケンスに従ってサーバブレードごとにそれぞれ個別に制御する。
図5は、サーバブレードの処理機能の例を示すブロック図である。なお、図5では、例としてサーバブレード200aの処理機能について示すが、他のサーバブレード200b〜200hも、図5と同様の処理機能を有する。
サーバブレード200aは、起動/切断処理部221およびセンサ検出値送信部222を備えている。これらの起動/切断処理部221およびセンサ検出値送信部222の処理は、例えば、IPMC206が備えるCPUが所定のプログラムを実行することで実現される。
起動/切断処理部221は、運用系管理カードによる制御の下で、あらかじめ決められたシーケンスに従って、サーバブレード200aの起動処理(電源投入処理)および電源切断処理を実行する。起動/切断処理部221は、基本的に、前述した状態1〜状態6のそれぞれにおいて決められた処理を、運用系管理カードからの要求または実行許可通知に応じて実行し、実行が終了すると、次の状態に遷移するとともに、遷移した状態を示す状態情報を運用系管理カードに通知する。後述するように、サーバブレード200aは、ATCA規格で規定された“Platform Event Message”コマンドを用いて、状態情報を4ビットデータとして運用系管理カードに通知する。その後、起動/切断処理部221は、運用系管理カードからの要求または実行許可通知に応じて、遷移した状態に対して決められた処理を実行する。
また、起動/切断処理部221は、サーバブレード200aの起動処理の際、NVRAM207に格納された電力情報231を読み出し、運用系管理カードに送信する。電力情報231は、サーバブレード200aの運用状態における消費電力を示す情報であり、例えば、それぞれ1バイトのデータである“Power Multiplier”および“Power Draw”を含む。“Power Multiplier”の値をP1、“Power Draw”の値をP2とすると、消費電力の値(W)はP1/10×P2によって計算される。サーバブレード200aは、ATCA規格で規定された“Get Power Level”コマンドを運用系管理カードから受信すると、受信したコマンドの応答として“Power Multiplier”および“Power Draw”を送信する。
さらに、起動/切断処理部221は、サーバブレード200aが運用状態に遷移した後に、NVRAM207に格納されたセンサ情報テーブル232および製造情報テーブル233から情報を読み出し、運用系管理カードに送信する。
センサ情報テーブル232は、例えば、IPMI規格で“Full Sensor Record”と呼ばれるテーブルであり、サーバブレード200aが備えるセンサの種類を示す情報を保持する。センサ情報テーブル232には、サーバブレード200aが備えるセンサごとにレコードが設けられる。図5に示した例のように、サーバブレード200aが温度センサ210および電圧センサ211という2つのセンサを備えている場合、センサ情報テーブル232には温度センサ210および電圧センサ211のそれぞれに対応するレコードが設けられる。
センサ情報テーブル232内の各レコードには、レコードの識別番号である2バイトの“Record ID”、レコードに対応するセンサの識別番号である1バイトの“Sensor Number”、レコードに対応するセンサの種別を示す1バイトの“Sensor Type”などが登録される。ここで、以下の説明では数値の最後に“h”を付加することで16進数を表すものとすると、センサが温度センサの場合、“Sensor Type”は“01h”とされ、センサが電圧センサである場合、“Sensor Type”は“02h”とされる。
製造情報テーブル233は、サーバブレード200aの製造メーカ、型番、シリアル番号などの情報を保持する。製造情報テーブル233は、例えば、NVRAM207内に設定されたFRU(Field Replacement Unit)情報領域234に記憶される。FRU情報領域234は、運用系管理カードがサーバブレード200aに対して直接的にアドレスを指定することでアクセス可能なメモリ領域である。
製造情報テーブル233は、IPMI規格で“Product Info Area”と呼ばれる80バイトの領域に記憶される。製造情報テーブル233には、例えば、製造者名を示す“Manufacturer Name”、製品の型番を示す“Product Part/Model Number”、製品のシリアルナンバを示す“Product Serial Number”が格納される。
また、起動/切断処理部221は、運用系管理カードからの要求に応じて、現在のサーバブレード200aの状態を示す状態情報を通知する機能も有する。後述するように、状態情報の通知要求は、運用系管理カードが変更になった場合に、新たな運用系管理カード、すなわち当初運用系だった管理カードから処理を引き継いだ管理カードから、必要に応じてサーバブレード200aに出力される。
センサ検出値送信部222は、サーバブレード200aが運用状態であるとき、温度センサ210および電圧センサ211の各検出値を、運用系管理カードに対して送信する。センサ検出値送信部222は、ATCA規格で規定された“Get Sensor Reading”コマンドを運用系管理カードから受信すると、受信したコマンドの応答として、温度センサ210および電圧センサ211の各検出値を1バイトずつのデータとして運用系管理カードに送信する。なお、センサ検出値送信部222は、例えば、運用系管理カードからの要求によらずに、温度センサ210および電圧センサ211の各検出値を定期的に運用系管理カードに送信してもよい。
次に、図6は、管理カードの処理機能の例を示すブロック図である。なお、図6では、例として管理カード300aの処理機能について示すが、管理カード300bも図8と同様の処理機能を有する。
管理カード300aは、ブレード管理部310a〜310hと、リセット検出部340とを備えている。これらのブレード管理部310a〜310hおよびリセット検出部340の処理は、例えば、管理カード300aが備えるCPU301によって所定のプログラムが実行されることで実現される。
ブレード管理部310a〜310hは、管理カード300aが運用系である場合に、それぞれサーバブレード200a〜200hにおける状態1〜6の遷移を管理する。例えば、ブレード管理部310aは、サーバブレード200aにおける状態遷移を管理し、ブレード管理部310bは、サーバブレード200bにおける状態遷移を管理する。
また、ブレード管理部310a〜310hは、それぞれサーバブレード200a〜200hにおける状態遷移を並行して制御することができる。例えば、ブレード管理部310cがサーバブレード200cを状態1から状態4まで遷移させる起動処理の制御と、ブレード管理部310dがサーバブレード200dを状態4から状態1まで遷移させる電源切断処理の制御とを並行して実行できる。
ブレード管理部310a〜310hは、サーバブレード200a〜200hにおける状態遷移を管理する際に、ブレード管理テーブル350を利用する。例えば、ブレード管理部310a〜310hは、管理対象のサーバブレードの状態を示す状態情報をブレード管理テーブル350に登録する。また、ブレード管理部310a〜310hは、管理対象のサーバブレードを状態1から状態4まで遷移させる間に、ブレード管理テーブル350に対して、サーバブレードの消費電力を示す電力情報を登録する。さらに、ブレード管理部310a〜310hは、管理対象のサーバブレードが状態4に遷移すると、管理対象のサーバブレードのセンサ情報および製造情報をブレード管理テーブル350に登録する。また、ブレード管理部310a〜310hは、管理対象のサーバブレードを状態4から状態1に遷移させる間に、管理対象のサーバブレードの電力情報、センサ情報および製造情報を、ブレード管理テーブル350から削除する。
ブレード管理テーブル350は、例えば、管理カード300aのRAM302に格納されればよいが、ブレード管理テーブル350に保持される情報の一部(サーバブレードのアドレス)は、不揮発性メモリ303にあらかじめ記憶される。なお、ブレード管理テーブル350に保持される情報の詳細については、図7で説明する。
また、ブレード管理部310a〜310hは、サーバブレード200a〜200hにおける状態遷移を管理する際に、最大許容電力361および現在の許容電力362を参照する。最大許容電力361は、ブレード管理部310a〜310hのそれぞれがサーバブレード200a〜200hの状態遷移を制御する過程で、電力配分計算を行う際に参照される。最大許容電力361は、ブレードサーバシステム100に搭載された電源モジュール410からサーバブレード200a〜200h全体に対して供給可能な最大電力を表す。この最大許容電力361は、例えば、管理カード300aの不揮発性メモリ303に対して設定される。
現在の許容電力362は、電源モジュール410が、現在状態4であるサーバブレード以外に、あとどれだけの電力を供給可能かを示す値であり、ブレード管理部310a〜310hによって計算され、更新される。現在の許容電力362は、ブレード管理テーブル350に登録されたサーバブレードの電力情報の値の総和を、最大許容電力361から減算することで得られる。実際の計算では、現在の許容電力362の初期値は最大許容電力361の値とされ、現在の許容電力362の値は、サーバブレードが状態4に遷移するたびに、状態4に遷移したサーバブレードの消費電力の分だけ減算される。また、現在の許容電力362の値は、サーバブレードが状態1に遷移するたびに、状態1に遷移したサーバブレードの消費電力の分だけ加算される。なお、現在の許容電力362は、例えば、管理カード300aのRAM302に格納される。
なお、ブレード管理部310a〜310hは、管理カード300aが待機系である場合には、ブレード管理テーブル350内の情報および現在の許容電力362を、運用系管理カード(すなわち管理カード300b)から通知された情報によって更新する。
また、ブレード管理部310a〜310hは、サーバブレード200a〜200hにおける状態遷移を管理する際に、更新許可フラグFL0を参照する。更新許可フラグFL0は、現在の許容電力362の更新が許可された状態であるか否かを示す。更新許可フラグFL0は、初期状態ではオンにされ、更新許可フラグFL0がオンであるとき、ブレード管理部310a〜310hは、更新許可フラグFL0をオフにすることで、現在の許容電力362を更新できる。ブレード管理部310a〜310hのうちの1つが更新許可フラグFL0をオフにしたとき、更新許可フラグFL0をオフにしたブレード管理部のみが現在の許容電力362を更新でき、その他のブレード管理部が現在の許容電力362を更新できない状態になる。また、更新許可フラグFL0をオフからオンに戻すことができるのは、その直前に更新許可フラグFL0をオフにしたブレード管理部のみである。
更新許可フラグFL0が使用されることで、複数のブレード管理部によって複数のサーバブレードにおける起動処理や電源切断処理が並行して制御された状態でも、現在の許容電力362の計算を正確に実行できるようになる。
リセット検出部340は、管理カード300aが待機系である場合に、運用系管理カード(すなわち管理カード300b)からリセット信号線122を通じて送信されるリセットパルスに基づいて、運用系管理カードにおいてリセットが発生したか否かを監視する。リセット検出部340によって運用系管理カードでのリセットが検出されると、管理カード300aは運用系に遷移する。
図7は、ブレード管理テーブルに保持される情報の例を示す図である。
ブレード管理テーブル350は、サーバブレード200a〜200hのそれぞれに対応するレコード350a〜350hを備える。レコード350a〜350hのそれぞれには、アドレス、状態情報、電力情報、センサ情報および製造情報が格納される。
アドレスは、IPMB121における各サーバブレードの位置を示す情報であり、シャーシ110のスロットごとにあらかじめ決められている。例えば、サーバブレードが挿入される8個のスロットには、“41h”から“48h”までのアドレスがあらかじめ付与される。なお、管理カード300a,300bが挿入されるスロットのアドレスも、あらかじめ決められている。例えば、管理カード300aのアドレスは“08h”であり、管理カード300bのアドレスは“09h”である。これらのIPMB121におけるアドレスは、IPMB121を通じてコマンドが送受信される際に、コマンドの送信元および送信先をそれぞれ識別する情報として用いられる。
レコード内の状態情報、電力情報、センサ情報および製造情報は、そのレコードに対応するサーバブレードを制御するブレード管理部によって更新される。例えば、レコード350a内の状態情報、電力情報、センサ情報および製造情報は、ブレード管理部310aによって更新され、レコード350b内の状態情報、電力情報、センサ情報および製造情報は、ブレード管理部310bによって更新される。
また、管理カード300aが運用系である場合には、管理カード300a内のブレード管理テーブル350には、管理対象のサーバブレードから通知された状態情報、電力情報、センサ情報および製造情報が登録される。一方、管理カード300aが待機系である場合には、管理カード300a内のブレード管理テーブル350には、運用系の管理カード(すなわち管理カード300b)から転送された状態情報、電力情報、センサ情報および製造情報が登録される。
状態情報は、前述した、サーバブレードの電源に関する状態(状態1〜状態6)を示す。ブレード管理部は、管理対象のサーバブレードの状態が変化するたびに、管理対象のサーバブレードに対応するレコード内の状態情報を更新する。
状態情報は、ATCA規格で規定された“Platform Event Message”コマンドを用いて、サーバブレードから運用系管理カードに通知される。“Platform Event Message”コマンドでは、状態情報は4ビットデータとして送信され、状態1〜状態6は、それぞれ“1h”〜“6h”の値とされる。
なお、ブレード管理部は、管理対象のサーバブレードのIPMC206と通信できない場合(例えば、スロットにサーバブレードが挿入されていない場合)には、レコード内の状態情報を空欄にする。あるいは、ブレード管理部は、管理対象のサーバブレードのIPMC206と通信できない場合には、レコード内の状態情報を状態0としてもよい。これらのいずれの場合でも、ブレード管理部は、管理対象のサーバブレードがスロットに挿入され、管理対象のサーバブレードのIPMC206に電源が投入されて、電源が投入されたIPMC206との通信が開始されると、レコード内の状態情報を状態1とする。また、ブレード管理部は、管理対象のサーバブレードが状態1であるときに、管理対象のサーバブレードのIPMC206と通信できなくなった場合(例えば、スロットからサーバブレードが取り外された場合)には、レコード内の状態情報を空欄または状態0とする。
電力情報の欄には、サーバブレードの消費電力を示す情報として、サーバブレードに保持された電力情報231がサーバブレードから通知され、登録される。電力情報231は、“Get Power Level”コマンドに対する応答として、サーバブレードから運用系管理カードに通知され、それぞれ1バイトのデータである“Power Multiplier”および“Power Draw”を含む。なお、ブレード管理テーブル350の電力情報の欄には、例えば、サーバブレードから通知された“Power Multiplier”および“Power Draw”を基に計算された消費電力の値(W)が格納されてもよい。
運用系管理カード内のブレード管理部は、管理対象のサーバブレードが状態3であるときに、管理対象のサーバブレードに対して“Get Power Level”コマンドを送信し、管理対象のサーバブレードから電力情報231を受信する。このとき、ブレード管理部は、現在の許容電力362の値から、受信した電力情報231を基に計算した消費電力の値を減算する。なお、前述のように、現在の許容電力362の初期値は、最大許容電力361の値である。ブレード管理部は、減算結果が0以上である場合に、管理対象のサーバブレードに対して状態4への遷移を許可する。このとき、ブレード管理部は、受信した電力情報231をブレード管理テーブル350内の電力情報の欄に登録するとともに、上記の減算結果によって現在の許容電力362の値を更新する。
また、運用系管理カード内のブレード管理部は、管理対象のサーバブレードに対して状態1への遷移を許可したとき、管理対象のサーバブレードについての消費電力の値を、ブレード管理テーブル350の電力情報の欄から削除する。これとともに、ブレード管理部は、現在の許容電力362の値に、状態1に遷移させたサーバブレードについての消費電力の値を加算し、その加算結果によって現在の許容電力362を更新する。
センサ情報は、サーバブレードが備えるセンサに関する情報である。センサ情報には、サーバブレードが備えるセンサごとに付与された識別情報である1バイトの“Sensor Number”と、各識別情報に対応するセンサの種別を表す1バイトの“Sensor Type”とが格納される。“Sensor Number”および“Sensor Type”は、ATCA規格で規定された“Get Device SDR”コマンドに対する応答として、サーバブレードのセンサ情報テーブル232から読み出されて運用系管理カードに通知される。
製造情報の欄には、サーバブレードの製品に関する情報として、製造者名を示す“Manufacturer Name”、製品の型番を示す“Product Part/Model Number”、製品のシリアルナンバを示す“Product Serial Number”が格納される。これらの“Manufacturer Name”、“Product Part/Model Number”および“Product Serial Number”は、ATCA規格で規定された“Read FRU Data”コマンドに対する応答として、サーバブレードの製造情報テーブル233から読み出されて運用系管理カードに通知される。
次に、図8は、ブレード管理部の内部構成例を示すブロック図である。なお、図8では、サーバブレード200aを管理するブレード管理部310aについて説明するが、ブレード管理部310b〜310hについても、それぞれ図8と同じ構成とされればよい。
ブレード管理部310aは、起動制御部311、電源切断制御部312、待機系処理部321、フラグ設定部322、起動時移行制御部331、切断時移行制御部332およびブレード監視部341を備えている。
起動制御部311および電源切断制御部312は、管理カード300aが運用系管理カードである場合に動作する。起動制御部311は、管理対象のサーバブレード200aが状態1から状態4まで遷移する起動処理を、あらかじめ決められたシーケンスに従って制御する。電源切断制御部312は、管理対象のサーバブレード200aが状態4から状態5,6を経て状態1に遷移する電源切断処理を、あらかじめ決められたシーケンスに従って制御する。
起動制御部311は、サーバブレード200aの起動制御中において、サーバブレード200aの状態が変化するたびに、サーバブレード200aから状態情報の通知を受ける。起動制御部311は、サーバブレード200aから通知された状態情報によって、ブレード管理テーブル350のレコード350a内の状態情報を更新する。
また、起動制御部311は、サーバブレード200aの起動制御の際に、サーバブレード200aから通知された電力情報と、RAM302に記憶された現在の許容電力362とを基に、サーバブレード200aに対して状態4への遷移を許可するか否かを判定する。起動制御部311は、サーバブレード200aから通知された電力情報に基づく消費電力の値を現在の許容電力362の値から減算し、その減算結果が0以上である場合に、サーバブレード200aに対して状態4への遷移を許可する。このとき、起動制御部311は、サーバブレード200aから通知された電力情報の値を、ブレード管理テーブル350のレコード350a内の電力情報の欄に登録する。これとともに、起動制御部311は、上記の減算結果によって現在の許容電力362の値を更新する。
さらに、起動制御部311は、サーバブレード200aの起動制御の際に、ブレード管理テーブル350のレコード350aにおけるセンサ情報および製造情報の各欄に、サーバブレード200aから通知された情報を登録する。
また、起動制御部311は、サーバブレード200aの起動制御中において、ブレード管理テーブル350に登録した情報と、現在の許容電力362の更新後の値とを、待機系管理カード(すなわち管理カード300b)に対して送信する。また、起動制御部311は、待機系管理カードに送信した情報のうち少なくとも一部を、遠隔監視装置520に対しても送信する。
また、起動制御部311は、管理カード300aが待機系から運用系に遷移したとき、起動制御シーケンス中の処理ステップのうち、起動時移行制御部331から要求された処理ステップから処理を開始する。これにより、他の管理カード300bによるサーバブレード200aの起動制御中に管理カード300aが運用系となった場合に、起動制御部311は、サーバブレード200aの起動制御を引き継ぐことが可能になる。
電源切断制御部312は、サーバブレード200aの電源切断制御中において、サーバブレード200aの状態が変化するたびに、サーバブレード200aから状態情報の通知を受ける。電源切断制御部312は、サーバブレード200aから通知された状態情報によって、ブレード管理テーブル350のレコード350a内の状態情報を更新する。これとともに、電源切断制御部312は、サーバブレード200aから通知された状態情報を、待機系管理カードおよび遠隔監視装置520に対して転送する。
また、電源切断制御部312は、サーバブレード200aに対して状態1への遷移を許可すると、ブレード管理テーブル350のレコード350aから電力情報を読み出し、読み出した電力情報に基づく消費電力の値を、現在の許容電力362の値に加算する。電源切断制御部312は、加算結果によって現在の許容電力362の値を更新するとともに、更新した現在の許容電力362の値を待機系管理カードに送信する。このとき、電源切断制御部312は、ブレード管理テーブル350のレコード350aに登録された電力情報、センサ情報および製造情報を削除する。
さらに、電源切断制御部312は、管理カード300aが待機系から運用系に遷移したとき、電源切断制御シーケンス中の処理ステップのうち、切断時移行制御部332から要求された処理ステップから処理を開始する。これにより、他の管理カード300bによるサーバブレード200aの電源切断制御中に管理カード300aが運用系となった場合に、電源切断制御部312は、サーバブレード200aの電源切断制御を引き継ぐことが可能になる。
待機系処理部321およびフラグ設定部322は、管理カード300aが待機系である場合に動作する。待機系処理部321は、運用系管理カードから転送された、サーバブレード200aについての状態情報、電力情報、センサ情報および製造情報を受信し、受信したこれらの情報をブレード管理テーブル350のレコード350aに登録する。また、待機系処理部321は、運用系管理カードから転送された、現在の許容電力の値を受信し、受信した値によってRAM302内の現在の許容電力362を更新する。
フラグ設定部322は、ブレード管理テーブル350のレコード350aに登録された、サーバブレード200aについての状態情報を監視し、登録された状態情報に応じて、起動フラグFL1および切断フラグFL2の値を設定する。なお、起動フラグFL1および切断フラグFL2は、それぞれ、ブレード管理部ごとにRAM302に設定される。
起動時移行制御部331は、管理カード300aが待機系から運用系に遷移したときに、起動制御部311に開始させる動作を判定し、サーバブレード200aに対する起動制御を続行させる。起動時移行制御部331は、管理カード300aが待機系から運用系に遷移したとき、起動フラグFL1がオンである場合には、サーバブレード200aから状態情報を取得し、サーバブレード200aから取得した状態情報に応じて起動制御部311を制御する。
切断時移行制御部332は、管理カード300aが待機系から運用系に遷移したときに、電源切断制御部312に開始させる動作を判定し、サーバブレード200aに対する電源切断制御を続行させる。切断時移行制御部332は、管理カード300aが待機系から運用系に遷移したとき、切断フラグFL2がオンである場合には、サーバブレード200aから状態情報を取得し、サーバブレード200aから取得した状態情報に応じて電源切断制御部312を制御する。
ブレード監視部341は、管理カード300aが運用系であって、サーバブレード200aが運用状態であるとき、サーバブレード200aに対して、センサの検出値を定期的に要求する。ブレード監視部341は、例えば、サーバブレード200aの温度センサ210の検出値を基に、ファンモジュール420によるファンの回転動作を制御する。また、ブレード監視部341は、サーバブレード200aの温度センサ210および電圧センサ211の各検出値を基に、サーバブレード200aで異常が発生したか否かを監視する。例えば、ブレード監視部341は、サーバブレード200aから通知された温度が所定のしきい値を超えた場合や、サーバブレード200aから通知された電圧が所定の範囲から逸脱した場合に、サーバブレード200aで異常が発生したと判定する。
ところで、本実施の形態のブレードサーバシステムでは、運用系管理カードから待機系管理カードに対して、状態情報などのデータが通知される。しかし、IPMI規格およびATCA規格では、管理カード間でデータを送受信する際のプロトコルについて規定されていない。そこで、本実施の形態では、運用系管理カードから待機系管理カードにデータを通知する制御コマンドとして、次の図9に示すような“Set MMC Notice”コマンドを用意する。
図9は、運用系管理カードから待機系管理カードに対してデータを通知する際に用いられるコマンドについて説明する図である。
図9の左側には、IPMI規格で規定されたリクエストデータの通信フォーマット(General IPMI request format)を示す。リクエストデータの第1バイトには、送信先のアドレスを示す“Responder Slave Address”が格納され、第4バイトには、送信元のアドレスを示す“Requester Slave Address”が格納される。また、リクエストデータの第2バイトには“NetFn”(ネットワークファンクション)が格納され、第4バイトには“Command”が格納される。“NetFn”の値と“Command”の値との組み合わせによって、コマンドが特定される。
リクエストデータの第8バイトから第Nバイト(ただし、Nは0から31までの整数)には“Data Bytes”が設けられている。“Date Bytes”には、必要に応じて送信データが格納される。例えば、ある情報をコマンド発行先に通知する場合には、リクエストデータ内の“Data Bytes”に、通知する情報が格納される。
本実施の形態では、リクエストデータの“Command”および“NetFn”の各欄に対して、組み合わせがIPMI規格で未使用となるような値を設定した“Set MMC Notice”コマンドを用意する。“Set MMC Notice”コマンドの送信の際には、例えば、リクエストデータの“Command”の値は“01h”とされ、“NetFn”の値は“40h”とされる。なお、“Set MMC Notice”コマンドを受信した側が返信するレスポンスデータにおいては、“NetFn”の値は“41h”とされる。
“Set MMC Notice”コマンドのリクエストデータでは、“Data Byte”の第1バイトに“Data Classification”、第2バイトに“Blade Address”、第3バイト以降に“Data”がそれぞれ格納される。“Data Classification”は、待機系管理カードに通知するデータの種別を示す。この“Data Classification”には、“Data”の欄に格納するデータの種別ごとに異なる値が設定される。運用系管理カードから待機系管理カードに通知されるデータの種別としては、状態情報、電力計算結果(現在の許容電力362)、サーバブレードの電力情報、サーバブレードのセンサ情報、サーバブレードの製造情報、サーバブレードからの情報収集の完了通知などがある。ただし、“Data Classification”に情報収集の完了を示す値が設定された場合には、“Data”の欄には特に値が設定されなくてもよい。
“Blade Address”には、“Data”の欄に格納するデータがどのサーバブレードに関するデータかを示すアドレスが格納される。この“Blade Address”に格納されるアドレスは、ブレード管理テーブル350の各レコードに登録されたアドレスである。例えば、サーバブレード200aに関するデータを待機系管理カードに通知する場合、“Blade Address”にはアドレス“41h”が設定される。
運用系管理カードから待機系管理カードに対して状態情報、サーバブレードの電力情報、サーバブレードのセンサ情報、および、サーバブレードの製造情報が通知される場合、“Data”には、サーバブレードから運用系管理カードに対して通知された情報が格納される。例えば、待機系管理カードに状態情報を通知する場合、“Data”の第1バイトに、“Platform Event Message”コマンドのリクエストデータに格納された状態情報が設定される。
また、電力計算結果(現在の許容電力362)は、例えば、待機系管理カードに対して電力情報と同時に送信される。例えば、待機系管理カードに電力情報が通知される際に、“Data”の第1バイトおよび第2バイトには、サーバブレードから通知された“Power Multiplier”および“Power Draw”の各値が設定され、第3バイトおよび第4バイトに、運用系管理カードに保持された現在の許容電力362の値が設定される。
なお、現在の許容電力362の値は、例えば、“Power Multiplier”および“Power Draw”と同じ記述方式で設定されればよい。例えば、現在の許容電力362を2バイトデータとし、第1バイトの値をP3、第2バイトの値をP4とすると、現在の許容電力362の実際の値は、P3/10×P4によって計算される。
次に、運用系管理カードによるサーバブレードの起動制御および電源切断制御の基本的な処理手順について説明する。以下の説明では、例として、運用系管理カードによってサーバブレード200aの起動制御および電源切断制御を行う場合の処理について説明するが、運用系管理カードによってサーバブレード200b〜200hのそれぞれの起動制御および電源切断制御を行う場合も、制御対象のサーバブレードごとに同様の処理が実行される。
まず、図10,図11は、運用系管理カードによる起動制御手順の例を示すフローチャートである。図10,図11に示す処理は、運用系管理カードのブレード管理部310aの起動制御部311によって実行されるものである。
なお、図10の初期状態では、サーバブレード200aは、電源オフ状態である状態1であり、運用系管理カードのブレード管理部310aは、サーバブレード200aが状態1であることを認識した状態であるものとする。運用系管理カードのブレード管理部310aの起動制御部311は、例えば、サーバブレード200aが新たにシャーシ110に取り付けられ、サーバブレード200aのIPMC206との通信が開始された際に、そのサーバブレード200aの状態を状態1と認識する。このとき、起動制御部311は、ブレード管理テーブル350のレコード350a内の状態情報の欄に、状態1を示す値を登録する。また、起動制御部311は、後述する電源切断制御部312の処理により、サーバブレード200aから状態1を示す状態情報を受信したとき(後の図12のステップS57に対応)にも、サーバブレード200aが状態1に遷移したことを認識する。
[ステップS11]起動制御部311は、遠隔監視装置520からの、サーバブレード200aに対する電源投入要求を監視し、電源投入要求を受信した場合には、ステップS12の処理を実行する。また、起動制御部311は、例えば、ステップS11の監視処理の開始から計時を行い、一定時間内に電源投入要求を受信しなかった場合には、ステップS14の処理を実行する。
[ステップS12]起動制御部311は、サーバブレード200aに対して電源投入を要求する。
サーバブレード200aの起動/切断処理部221は、起動制御部311からの電源投入要求を受けると、起動処理を開始して状態2に遷移し、“Platform Event Message”コマンドを用いて、状態2に遷移したことを運用系管理カードに通知する。
[ステップS13]起動制御部311は、サーバブレード200aの起動/切断処理部221からの状態情報を監視する。起動制御部311は、サーバブレード200aの起動/切断処理部221から状態2を示す状態情報を受信すると、状態2を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録した後、ステップS15の処理を実行する。
[ステップS14]電源投入要求を受信していない場合、起動制御部311は、サーバブレード200aの起動/切断処理部221からの状態情報を監視する。起動制御部311は、サーバブレード200aの起動/切断処理部221から状態2を示す状態情報を受信すると、状態2を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録した後、ステップS15の処理を実行する。また、起動制御部311は、例えば、ステップS14の監視処理の開始から計時を行い、一定時間内に状態情報を受信しなかった場合には、ステップS11の処理を実行する。
なお、ステップS14においてサーバブレード200aの起動/切断処理部221から状態2を示す状態情報を受信する場合とは、遠隔監視装置520からの電源投入要求によらずに、サーバブレード200aの起動処理が開始される場合である。このような例としては、サーバブレード200aが備える電源スイッチ208への操作入力によって、サーバブレード200aの電源投入が要求された場合が考えられる。サーバブレード200aの起動/切断処理部221は、状態1において電源スイッチ208に操作入力が行われると、起動処理を開始して状態2に遷移し、“Platform Event Message”コマンドを用いて、状態2に遷移したことを運用系管理カードに通知する。
[ステップS15]起動制御部311は、“Set MMC Notice”コマンドを用いて、待機系管理カードに対して、サーバブレード200aから受信した状態2を示す状態情報を通知する。また、起動制御部311は、遠隔監視装置520に対しても、状態2を示す状態情報を通知する。
状態2を示す状態情報の通知を受けた待機系管理カードにおいて、ブレード管理部310aの待機系処理部321は、受信した状態情報を、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。
[ステップS16]起動制御部311は、“Get Device ID”コマンドを用いて、サーバブレード200aの起動/切断処理部221に対して種別情報の送信を要求する。起動制御部311は、サーバブレード200aの起動/切断処理部221から種別情報を受信すると、ステップS17の処理を実行する。
[ステップS17]起動制御部311は、サーバブレード200aの起動/切断処理部221から受信した種別情報に基づいて、通信相手のサーバブレード200aが起動/電源切断処理の制御対象としてサポートする相手であるかを判定する。この判定処理では、起動制御部311は、“Get Device ID”コマンドに対するレスポンスデータ内の“Completion Code”の値が“00h”である場合に、通信相手が正常に通信可能なIPMCであり、制御のサポート対象であると判定する。この場合、起動制御部311は、ステップS18の処理を実行する。一方、起動制御部311は、“Get Device ID”コマンドに対するレスポンスデータ内の“Completion Code”の値が“00h”以外の値である場合に、通信相手が制御のサポート対象でないと判定する。この場合、起動制御部311は、例えばサーバブレード200aにエラーを通知した後、起動制御を終了する。
[ステップS18]起動制御部311は、サーバブレード200aの起動/切断処理部221に対して起動許可通知を送信する。
サーバブレード200aの起動/切断処理部221は、起動制御部311からの起動許可通知を受けると、状態3に遷移し、“Platform Event Message”コマンドを用いて、状態3に遷移したことを運用系管理カードに通知する。
[ステップS19]起動制御部311は、サーバブレード200aの起動/切断処理部221からの状態情報を監視する。起動制御部311は、サーバブレード200aの起動/切断処理部221から、起動処理中である状態3を示す状態情報を受信すると、状態3を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録した後、ステップS20の処理を実行する。
[ステップS20]起動制御部311は、“Set MMC Notice”コマンドを用いて、待機系管理カードに対して状態3を示す状態情報を通知する。また、起動制御部311は、遠隔監視装置520に対しても、状態3を示す状態情報を通知する。
状態3を示す状態情報の通知を受けた待機系管理カードにおいて、ブレード管理部310aの待機系処理部321は、受信した状態情報を、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。
[ステップS21]起動制御部311は、現在の許容電力362の更新が許可された状態か否かを示す更新許可フラグFL0の値を参照する。起動制御部311は、更新許可フラグFL0がオンであれば、ステップS22の処理を実行する。一方、起動制御部311は、更新許可フラグFL0がオフである場合には、処理を一時的に停止し、更新許可フラグFL0がオンになった後、ステップS22の処理を実行する。
[ステップS22]起動制御部311は、更新許可フラグFL0の値をオフにして、他のブレード管理部310b〜310hが現在の許容電力362を更新できない状態にする。
[ステップS23]起動制御部311は、“Get Power Level”コマンドを用いて、サーバブレード200aの起動/切断処理部221に対して電力情報の送信を要求する。起動制御部311は、サーバブレード200aの起動/切断処理部221から電力情報を受信すると、ステップS24の処理を実行する。
“Get Power Level”コマンドのリクエストデータを受信したサーバブレード200aの起動/切断処理部221は、NVRAM207から電力情報231を読み出し、読み出した電力情報231を“Power Multiplier”および“Power Draw”に設定したレスポンスデータを、運用系管理カードに送信する。
[ステップS24]サーバブレード200aから受信した電力情報は、運用状態である状態4になったときのサーバブレード200aの消費電力を示すものである。起動制御部311は、現在の許容電力362としてRAM302に保持された値から、サーバブレード200aから受信した電力情報が示す消費電力の値を減算して、サーバブレード200aが運用状態に遷移したときの残りの許容電力を計算する。
なお、現在の許容電力362の初期値は、電源モジュール410が供給可能な最大電力を示す最大許容電力361の値である。例えば、サーバブレード200a以外のサーバブレード200b〜200hが電源切断状態(状態1)である場合、現在の許容電力362の値は最大許容電力361と一致する。
[ステップS25]起動制御部311は、ステップS24での減算結果が0以上である場合、サーバブレード200aに対する電源モジュール410からの電源供給が可能であると判定して、ステップS27の処理を実行する。一方、起動制御部311は、ステップS24での減算結果が0未満である場合、サーバブレード200aに対する電源モジュール410からの電源供給が不可能であると判定して、ステップS26の処理を実行する。
[ステップS26]サーバブレード200aに対する電源モジュール410からの電源供給が不可能と判定した場合、起動制御部311は、更新許可フラグFL0の値をオンに戻した後、起動制御を終了する。このとき、起動制御部311は、例えば、サーバブレード200aの起動/切断処理部221にエラーを通知してもよい。
[ステップS27]起動制御部311は、ステップS24での減算結果により、RAM302に保持された現在の許容電力362の値を更新する。また、起動制御部311は、ステップS23でサーバブレード200aから受信した電力情報を、ブレード管理テーブル350のレコード350a内の電力情報の欄に登録する。
[ステップS28]起動制御部311は、“Set MMC Notice”コマンドを用いて、ステップS24での減算結果(すなわち、更新後の現在の許容電力362の値)と、ステップS23でサーバブレード200aから受信した電力情報とを、待機系管理カードに対して通知する。
“Set MMC Notice”コマンドを受信した待機系管理カードにおいて、ブレード管理部310aの待機系処理部321は、受信した減算結果により、RAM302に保持された現在の許容電力362の値を更新する。これとともに、待機系処理部321は、受信した電力情報を、ブレード管理テーブル350のレコード350a内の電力情報の欄に登録する。
[ステップS29]起動制御部311は、サーバブレード200aの起動/切断処理部221に対して、運用状態への遷移を許可する運用許可通知を送信する。
運用許可通知を受信したサーバブレード200aの起動/切断処理部221は、電源回路209に対して、サーバブレード200a全体に対して電源を投入するように要求する。これにより、サーバブレード200aは、運用状態である状態4に遷移する。その後、サーバブレード200aの起動/切断処理部221は、“Platform Event Message”コマンドを用いて、状態4に遷移したことを運用系管理カードに通知する。
[ステップS30]起動制御部311は、更新許可フラグFL0の値をオンに戻す。
[ステップS31]起動制御部311は、サーバブレード200aの起動/切断処理部221からの状態情報を監視する。起動制御部311は、サーバブレード200aの起動/切断処理部221から、運用状態である状態4を示す状態情報を受信すると、状態4を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録した後、ステップS32の処理を実行する。
[ステップS32]起動制御部311は、“Set MMC Notice”コマンドを用いて、待機系管理カードに対して状態4を示す状態情報を通知する。また、起動制御部311は、遠隔監視装置520に対しても、状態4を示す状態情報を通知する。
状態4を示す状態情報の通知を受けた待機系管理カードにおいて、ブレード管理部310aの待機系処理部321は、受信した状態情報を、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。
[ステップS33]起動制御部311は、“Get Device SDR”コマンドを用いて、サーバブレード200aの起動/切断処理部221に対してセンサ情報の送信を要求する。起動制御部311は、“Get Device SDR”コマンドのリクエストデータに“Record ID”を1つ設定する。“Get Device SDR”コマンドのリクエストデータを受信したサーバブレード200aの起動/切断処理部221は、リクエストデータの“Record ID”に設定されたIDに対応するレコードをセンサ情報テーブル232から選択し、選択したレコードから“Sensor Number”および“Sensor Type”を読み出す。起動/切断処理部221は、読み出した各情報を格納したレスポンスデータを、運用系管理カードに送信する。
レスポンスデータを受信した起動制御部311は、ブレード管理テーブル350のレコード350a内のセンサ情報の欄に、受信したレスポンスデータから抽出した“Sensor Number”および“Sensor Type”の各値を対応付けて登録する。また、起動制御部311は、“Record ID”の値を変えながら“Get Device SDR”コマンドを順次発行することで、サーバブレードが備えるすべてのセンサについてのセンサ情報を取得し、ブレード管理テーブル350のレコード350aに登録する。
[ステップS34]起動制御部311は、“Read FRU Data”コマンドを用いて、サーバブレード200aの起動/切断処理部221に対して製造情報の送信を要求し、起動/切断処理部221から製造情報を取得する。
このステップS34では、起動制御部311は、まず、“Read FRU Data”コマンドを用いて、サーバブレード200aにおけるFRU情報領域234の先頭から例えば8バイト分のデータを取得する。そして、起動制御部311は、取得した8バイトのデータから、FRU情報領域234における製造情報テーブル233(Product Info Area)の先頭アドレスを抽出する。次に、起動制御部311は、“Read FRU Data”コマンドを用いて、製造情報テーブル233の先頭から例えば80バイト分のデータを取得する。起動制御部311は、取得した80バイトのデータから、“Manufacturer Name”“Product Part/Model Number”“Product Serial Number”などの製造情報を抽出する。
起動制御部311は、ブレード管理テーブル350のレコード350a内の製造情報の欄に、受信したレスポンスデータから抽出した“Manufacturer Name”“Product Part/Model Number”“Product Serial Number”の各値を登録する。
[ステップS35]起動制御部311は、ステップS33,S34においてサーバブレード200aから受信したセンサ情報および製造情報を、“Platform Event Message”コマンドを用いて待機系管理カードに通知する。
“Platform Event Message”コマンドを受信した待機系管理カードにおいて、ブレード管理部310aの待機系処理部321は、運用系管理カードから受信したセンサ情報および製造情報を、ブレード管理テーブル350のレコード350a内のセンサ情報および製造情報の各欄に登録する。
[ステップS36]起動制御部311は、“Platform Event Message”コマンドを用いて、待機系管理カードに対して、サーバブレード200aからの情報収集が完了したことを通知する。
[ステップS37]起動制御部311は、ブレード管理部310a内のブレード監視部341に対して、サーバブレード200aの動作監視処理を開始するように要求し、サーバブレード200aの起動制御を終了する。
以上の図10,図11に示した起動時の処理によれば、サーバブレード200aにおける状態1から状態4への遷移が、ブレード管理部310aの起動制御部311によって管理される。起動制御部311は、サーバブレード200aが起動する過程において、あらかじめ決められた手順に従って、サーバブレード200aからサーバブレード200aに関する情報を収集する。そして、起動制御部311は、収集した情報に問題がなければ、サーバブレード200aの状態を遷移させて、次の状態で規定された情報を収集する。
起動制御部311は、収集した情報を基に、シャーシ110内で共有されている電源モジュール410からサーバブレード200aに対して、電源を供給しても問題がないかを判定する。そして、起動制御部311は、電源を供給しても問題がないと判定した場合にのみ、サーバブレード200aが完全に起動することを許可する。このような手順が実行されることで、サーバブレード200aの起動が完了した際の異常発生確率が低減され、ブレードサーバシステム100の信頼性が向上する。
また、上記の図10,図11の処理において、ブレード管理部310aの起動制御部311は、サーバブレード200aが状態3に遷移した後、サーバブレード200aを状態4に遷移させてよいかを判定し、サーバブレード200aに対して状態4への遷移を許可するまでの間、更新許可フラグFL0をオフにする。これにより、サーバブレード200aが状態3に遷移してから状態4への遷移を許可されるまでの間に、現在の許容電力362が他のブレード管理部310b〜310hによって更新されないようになる。このため、サーバブレード200aが状態3から状態4に遷移する際に、他のサーバブレード200b〜200hの少なくとも1つにおける起動処理または電源切断処理が並行して実行された場合でも、現在の許容電力362を正確に計算できる。従って、ブレードサーバシステム100に挿入されたサーバブレードを電源モジュール410の許容電力を超えない範囲で動作させることができ、ブレードサーバシステム100の信頼性を保つことができる。
なお、図11の処理において、ステップS24での減算結果によって現在の許容電力362を更新し(ステップS27)、減算結果および現在の許容電力362の各値を待機系管理カードに通知し(ステップS28)、更新許可フラグFL0をオンに戻す(ステップS30)処理は、例えば、ステップS31でサーバブレード200aから状態4に遷移したことの通知を受けた後に実行されてもよい。
ところで、上記の図10,図11に示した処理は、サーバブレード200aの起動処理中に運用系管理カードが変更されなかった場合に、運用系管理カードのブレード管理部310aの起動制御部311によって実行されるものである。しかしながら、後述するように、サーバブレード200aの起動処理中に運用系管理カードが別の管理カードに変更された場合には、新たに運用系となった管理カードのブレード管理部310aの起動制御部311により、上記処理手順の途中から起動制御が引き継がれる。
次に、図12は、運用系管理カードの電源切断制御部による電源切断制御手順の例を示すフローチャートである。図12に示す処理は、運用系管理カードのブレード管理部310aの電源切断制御部312によって実行されるものである。
なお、図12の初期状態では、サーバブレード200aは、運用状態である状態4であり、運用系管理カードのブレード管理部310aは、サーバブレード200aが状態4であることを認識した状態であるものとする。ブレード管理部310aの電源切断制御部312は、起動制御部311がサーバブレード200aから状態4を示す状態情報を受信し、状態4を示す情報がブレード管理テーブル350のレコード350a内の状態情報の欄に登録されたときに(図11のステップS31に対応)、サーバブレード200aが状態4に遷移したことを認識する。
[ステップS41]電源切断制御部312は、遠隔監視装置520からの、サーバブレード200aに対する電源切断要求を監視し、電源切断要求を受信した場合には、ステップS42の処理を実行する。また、電源切断制御部312は、例えば、ステップS41の監視処理の開始から計時を行い、一定時間内に電源切断要求を受信しなかった場合には、ステップS44の処理を実行する。
[ステップS42]電源切断制御部312は、サーバブレード200aの起動/切断処理部221に対して電源切断を要求する。
サーバブレード200aの起動/切断処理部221は、電源切断制御部312からの電源切断要求を受けると、電源切断処理を開始して状態5に遷移し、“Platform Event Message”コマンドを用いて、状態5に遷移したことを運用系管理カードに通知する。
[ステップS43]電源切断制御部312は、サーバブレード200aの起動/切断処理部221からの状態情報を監視する。電源切断制御部312は、サーバブレード200aの起動/切断処理部221から、電源切断処理を開始した状態である状態5を示す状態情報を受信すると、状態5を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録した後、ステップS45の処理を実行する。
[ステップS44]電源切断制御部312は、サーバブレード200aの起動/切断処理部221からの状態情報を監視する。電源切断制御部312は、サーバブレード200aの起動/切断処理部221から状態5を示す状態情報を受信すると、状態5を示す状態情報を、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録した後、ステップS45の処理を実行する。また、電源切断制御部312は、例えば、ステップS44の監視処理の開始から計時を行い、一定時間内に状態情報を受信しなかった場合には、ステップS41の処理を実行する。
なお、ステップS44においてサーバブレード200aの起動/切断処理部221から状態5を示す状態情報を受信する場合とは、遠隔監視装置520からの電源切断要求によらずに、サーバブレード200aの電源切断処理が開始される場合である。このような例としては、サーバブレード200aが備える電源スイッチ208への操作入力によって、サーバブレード200aの電源切断が要求された場合が考えられる。サーバブレード200aの起動/切断処理部221は、状態4において電源スイッチ208に操作入力が行われると、電源切断処理を開始して状態5に遷移し、“Platform Even Message”コマンドを用いて、状態5に遷移したことを運用系管理カードに通知する。
[ステップS45]電源切断制御部312は、“Set MMC Notice”コマンドを用いて、待機系管理カードに対して状態5を示す状態情報を通知する。また、電源切断制御部312は、遠隔監視装置520に対しても、状態5を示す状態情報を通知する。
状態5を示す状態情報の通知を受けた待機系管理カードにおいて、ブレード管理部310aの待機系処理部321は、受信した状態情報を、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。
[ステップS46]電源切断制御部312は、サーバブレード200aの起動/切断処理部221に対して電源切断を許可するか否かを判定する。この処理では、電源切断制御部312は、状態4から状態5に遷移したことを、状態情報を基に認識することで、電源切断を許可する。電源切断制御部312は、電源切断を許可する場合にはステップS47の処理を実行する。一方、電源切断制御部312は、電源切断を許可しないと判定した場合には、例えばサーバブレード200aの起動/切断処理部221にエラーを通知した後、電源切断制御を終了する。
[ステップS47]電源切断制御部312は、現在の許容電力362の更新が可能か否かを示す更新許可フラグFL0の値を参照する。電源切断制御部312は、更新許可フラグFL0がオンであれば、ステップS48の処理を実行する。一方、電源切断制御部312は、更新許可フラグFL0がオフである場合には、処理を一時的に停止し、更新許可フラグFL0がオンになった後、ステップS48の処理を実行する。
[ステップS48]電源切断制御部312は、更新許可フラグFL0の値をオフにして、他のブレード管理部310b〜310hが現在の許容電力362を更新できない状態にする。
[ステップS49]電源切断制御部312は、サーバブレード200aの起動/切断処理部221に対して電源切断許可通知を送信する。
サーバブレード200aの起動/切断処理部221は、電源切断制御部312からの電源切断許可通知を受けると、電源切断処理中である状態6に遷移し、“Platform Event Message”コマンドを用いて、状態6に遷移したことを運用系管理カードに通知する。その後、起動/切断処理部221は、電源回路209を制御して、IPMC206以外のサーバブレード200a内への電源供給を停止させる。IPMC206以外のサーバブレード200a内への電源供給が停止されると、起動/切断処理部221は、状態1に遷移し、“Platform Event Message”コマンドを用いて、状態1に遷移したことを運用系管理カードに通知する。
[ステップS50]電源切断制御部312は、サーバブレード200aの起動/切断処理部221からの状態情報を監視し、電源切断処理中である状態6を示す状態情報を受信すると、ステップS51の処理を実行する。
[ステップS51]電源切断制御部312は、“Set MMC Notice”コマンドを用いて、待機系管理カードに対して状態6を示す状態情報を通知する。また、電源切断制御部312は、遠隔監視装置520に対しても、状態6を示す状態情報を通知する。
状態6を示す状態情報の通知を受けた待機系管理カードにおいて、ブレード管理部310aの待機系処理部321は、受信した状態情報を、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。
[ステップS52]電源切断制御部312は、現在の許容電力362の再計算を行う。具体的には、電源切断制御部312は、ブレード管理テーブル350のレコード350aから、電力情報の欄に登録された、サーバブレード200aの消費電力の値を読み出す。電源切断制御部312は、読み出した消費電力の値を、RAM302に保持された現在の許容電力362の値に加算する。
[ステップS53]電源切断制御部312は、ステップS52での加算結果により、RAM302に保持された現在の許容電力362の値を更新する。また、電源切断制御部312は、ブレード管理テーブル350のレコード350a内の電力情報の欄から、サーバブレード200aの消費電力の値を削除する。
[ステップS54]電源切断制御部312は、“Set MMC Notice”コマンドを用いて、待機系管理カードに対して、ステップS52での加算結果(すなわち、更新後の現在の許容電力362の値)を通知する。
“Set MMC Notice”コマンドを受信した待機系管理カードにおいて、ブレード管理部310aの待機系処理部321は、受信した加算結果により、RAM302に保持された現在の許容電力362の値を更新する。これとともに、待機系処理部321は、ブレード管理テーブル350のレコード350a内の電力情報の欄に登録された値を削除する。
[ステップS55]電源切断制御部312は、更新許可フラグFL0をオンに戻す。
[ステップS56]電源切断制御部312は、サーバブレード200aの起動/切断処理部221からの状態情報を監視する。電源切断制御部312は、サーバブレード200aの起動/切断処理部221から、電源オフ状態である状態1を示す状態情報を受信すると、ステップS57の処理を実行する。
[ステップS57]電源切断制御部312は、“Set MMC Notice”コマンドを用いて、待機系管理カードに対して状態1を示す状態情報を通知する。また、電源切断制御部312は、遠隔監視装置520に対しても、状態1を示す状態情報を通知する。以上で、サーバブレード200aに対する電源切断制御が終了する。
状態1を示す状態情報の通知を受けた待機系管理カードにおいて、ブレード管理部310aの待機系処理部321は、受信した状態情報を、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。
以上の図12に示した電源切断時の処理によれば、サーバブレード200aにおける状態4から状態1への遷移が、ブレード管理部310aの電源切断制御部312によって管理される。電源切断制御部312は、あらかじめ決められた手順に従って、サーバブレード200aを状態4から状態1へ遷移させる。これにより、サーバブレード200aでの電源切断処理時における異常発生確率が低減され、ブレードサーバシステムの信頼性が向上する。
また、サーバブレード200aが状態4から状態1に遷移する過程で、サーバブレード200aの消費電力の値が、RAM302に保持された現在の許容電力362に加算される。これにより、サーバブレード200aが消費していた電力分が、ブレードサーバシステム100全体の許容電力に戻され、例えば、新たに起動するサーバブレードに対して電源モジュール410からの電力を供給できるようになる。
また、上記の図12の処理において、ブレード管理部310aの電源切断制御部312は、サーバブレード200aに状態6への遷移を許可してから、現在の許容電力362を更新し、更新された現在の許容電力362を待機系管理カードに通知するまでの間、更新許可フラグFL0をオフにする。これにより、サーバブレード200aに状態6への遷移を許可してから、現在の許容電力362を更新し、更新された現在の許容電力362を待機系管理カードに通知するまでの間に、現在の許容電力362が他のブレード管理部310b〜310hによって更新されないようになる。このため、サーバブレード200aが状態6から状態7または状態1に遷移する際に、他のサーバブレード200b〜200hの少なくとも1つにおける起動処理または電源切断処理が並行して実行された場合でも、現在の許容電力362を正確に計算できる。従って、ブレードサーバシステム100に挿入されたサーバブレードを電源モジュール410の許容電力を超えない範囲で動作させることができ、ブレードサーバシステム100の信頼性を保つことができる。
なお、図12の処理において、現在の許容電力362を更新し(ステップS53)、更新された現在の許容電力362を待機系管理カードに通知し(ステップS54)、更新許可フラグFL0をオンに戻す(ステップS55)処理は、例えば、ステップS57でサーバブレード200aが状態1に遷移したことの通知を受けた後に実行されてもよい。
ところで、以上の図12に示した処理は、サーバブレード200aの電源切断処理中に運用系管理カードが変更されなかった場合に、運用系管理カードのブレード管理部310aの電源切断制御部312によって実行されるものである。しかしながら、後述するように、サーバブレード200aの電源切断処理中に運用系管理カードが別の管理カードに変更された場合には、新たに運用系となった管理カードのブレード管理部310aの電源切断制御部312により、上記処理手順の途中から電源切断制御が引き継がれる。
次に、1つの運用系管理カードによってサーバブレードの起動処理および電源切断処理が正常に実行された場合のシステム内の各装置の処理例について、シーケンス図を用いて説明する。
まず、図13,図14は、サーバブレードが起動する際の各装置の処理例を示すシーケンス図である。
なお、図13,図14では、例として、サーバブレード200aが起動する際の処理について説明する。このため、図13,図14で説明する管理カード300aの起動制御部311の処理は、管理カード300aのブレード管理部310a内の起動制御部311によって実行されるものである。また、図13,図14で説明する管理カード300bの待機系処理部321の処理は、管理カード300bのブレード管理部310a内の待機系処理部321によって実行されるものである。サーバブレード200a以外のサーバブレードが起動する際には、管理カード300a,300bでは、起動するサーバブレードに対応するブレード管理部によって、図13,図14の管理カード300a,300bと同様の処理が行われる。
図13の初期状態では、管理カード300aが運用系であり、管理カード300bが待機系であるものとする。また、サーバブレード200aは状態1であり、管理カード300a,300bの両方とも、サーバブレード200aが状態1であることを認識した状態であるものとする(ステップS101)。
上記の状態から、例えば、遠隔監視装置520から運用系の管理カード300aに対して、サーバブレード200aの電源を投入する要求が発行される(ステップS102)。管理カード300aの起動制御部311は、遠隔監視装置520からの要求に応じて、サーバブレード200aの起動/切断処理部221に対して電源投入を要求する(ステップS103)。
サーバブレード200aの起動/切断処理部221は、起動処理を開始した状態である状態2に遷移し(ステップS104)、“Platform Event Message”コマンドを用いて、管理カード300aに対して、状態2を示す状態情報を通知する(ステップS105)。管理カード300aのブレード管理部310aの起動制御部311は、サーバブレード200aが状態2に遷移したことを認識し(ステップS106)、状態2を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。起動制御部311は、“Set MMC Notice”コマンドを用いて、管理カード300bに対して、状態2を示す状態情報を通知する(ステップS107)。このとき、起動制御部311は、遠隔監視装置520に対しても、状態2を示す状態情報を通知する(ステップS108)。管理カード300bの待機系処理部321は、管理カード300aからの状態情報を受信し、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する(ステップS109)。
なお、例えば、サーバブレード200aが備える電源スイッチ208への操作入力によって、サーバブレード200aの電源投入が要求された場合には、遠隔監視装置520は電源投入要求を発しないので、ステップS102,S103が実行されずに、ステップS104の処理が実行される。
状態2への遷移を認識した管理カード300aの起動制御部311は、“Get Device ID”コマンドを用いて、サーバブレード200aに対して種別情報の送信を要求する(ステップS110)。サーバブレード200aの起動/切断処理部221は、種別情報として“Completion Code”に“00h”を設定したレスポンスデータを、管理カード300aに返信する(ステップS111)。
管理カード300aの起動制御部311は、通知された種別情報に基づいて、サーバブレード200aが、自ブレードが動作状態の監視および起動/電源切断の制御をサポートするサーバブレードであるか否かを判定する(ステップS112)。この判定処理では、起動制御部311は、“Completion Code”の値が“00h”である場合に、制御をサポートするサーバブレードであると判定する。サーバブレード200aがサポート対象であると判定した場合、管理カード300aの起動制御部311は、サーバブレード200aに対して起動許可通知を送信する(ステップS113)。
サーバブレード200aの起動/切断処理部221は、起動許可通知を受信すると、起動処理中である状態3に遷移し(ステップS114)、“Platform Event Message”コマンドを用いて、管理カード300aに対して状態3を示す状態情報を通知する(ステップS115)。管理カード300aの起動制御部311は、サーバブレード200aが状態3に遷移したことを認識し(ステップS116)、状態3を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。起動制御部311は、“Set MMC Notice”コマンドを用いて、管理カード300bに対して、状態3を示す状態情報を通知する(ステップS117)。このとき、起動制御部311は、遠隔監視装置520に対しても、状態3を示す状態情報を通知する(ステップS118)。管理カード300bの待機系処理部321は、管理カード300aからの状態情報を受信し、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する(ステップS119)。
また、状態3への遷移を認識した管理カード300aの起動制御部311は、更新許可フラグFL0をオフにした後、サーバブレード200aの起動/切断処理部221に対して、“Get Power Level”コマンドを用いて電力情報の送信を要求する(ステップS120)。サーバブレード200aの起動/切断処理部221は、NVRAM207から電力情報231を読み出して、管理カード300aに通知する(ステップS121)。
管理カード300aの起動制御部311は、現在の許容電力362としてRAM302に保持された値から、サーバブレード200aから受信した電力情報が示す消費電力の値を減算し、その減算結果を基にサーバブレード200aへの電力供給が可能であるか否かを判定する(ステップS122)。起動制御部311は、減算結果が0以上である場合に、サーバブレード200aへの電源供給が可能と判定する。このとき、起動制御部311は、減算結果により、RAM302に保持された現在の許容電力362に値を更新する。さらに、起動制御部311は、“Set MMC Notice”コマンドを用いて、減算結果を管理カード300bに通知した後(ステップS123)、サーバブレード200aの起動/切断処理部221に対して運用許可通知を送信する(ステップS124)。また、起動制御部311は、更新フラグFL0をオンに戻す。
サーバブレード200aの起動/切断処理部221は、運用許可通知を受信すると、電源回路209に、サーバブレード200aの全体に対する電源供給を開始させる(ステップS125)。装置全体への電源供給が完了すると、起動/切断処理部221は、サーバブレード200aの全体に対する電源投入が完了した運用状態である状態4に遷移する(ステップS126)。起動/切断処理部221は、“Platform Event Message”コマンドを用いて、状態4を示す状態情報を管理カード300aに通知する(ステップS127)。
管理カード300aの起動制御部311は、サーバブレード200aが状態4に遷移したことを認識し(ステップS128)、状態4を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。起動制御部311は、“Set MMC Notice”コマンドを用いて、管理カード300bに対して、状態4を示す状態情報を通知する(ステップS129)。このとき、起動制御部311は、遠隔監視装置520に対しても、状態4を示す状態情報を通知する(ステップS130)。管理カード300bの待機系処理部321は、管理カード300aからの状態情報を受信し、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する(ステップS131)。
また、状態4の遷移を認識した管理カード300aの起動制御部311は、“Get Device SDR”コマンドを用いて、サーバブレード200aに対してセンサ情報の送信を要求する(ステップS132)。サーバブレード200aの起動/切断処理部221は、“Get Device SDR”コマンドのリクエストデータ内の“Record ID”に設定されたIDに対応するレコードをセンサ情報テーブル232から選択する。起動/切断処理部211は、選択したセンサ情報テーブル232から“Sensor Number”および“Sensor Type”を読み出し、読み出した情報を“Requested bytes”に格納したレスポンスデータを、管理カード300aに送信する(ステップS133)。
レスポンスデータを受信した管理カード300aの起動制御部311は、ブレード管理テーブル350のレコード350a内のセンサ情報の欄に、受信したレスポンスデータから抽出した“Sensor Number”および“Sensor Type”の各値を対応付けて登録する。また、起動制御部311は、“Record ID”の値を変えながら“Get Device SDR”コマンドを順次発行することで、サーバブレードが備えるすべてのセンサについてのセンサ情報を取得し、ブレード管理テーブル350のレコード350aに登録する。
管理カード300aの起動制御部311は、さらに、“Read FRU Data”コマンドを用いて、サーバブレード200aに対して製造情報の送信を要求する(ステップS134)。製造情報の送信が要求される際には、起動制御部311は、まず、“Read FRU Data”コマンドを用いて、サーバブレード200aにおけるFRU情報領域234の先頭から8バイト分のデータを取得する。そして、起動制御部311は、取得した8バイトのデータから、FRU情報領域234における製造情報テーブル233(Product Info Area)の先頭アドレスを取得する。次に、起動制御部311は、“Read FRU Data”コマンドを用いて、製造情報テーブル233の先頭から例えば80バイト分のデータを取得する。このときに取得した80バイトのデータに、“Manufacturer Name”“Product Part/Model Number”“Product Serial Number”などの製造情報が含まれる(ステップS135)。
起動制御部311は、ブレード管理テーブル350のレコード350a内の製造情報の欄に、受信したレスポンスデータから抽出した“Manufacturer Name”“Product Part/Model Number”“Product Serial Number”の各値を登録する。
管理カード300aの起動制御部311は、サーバブレード200aから受信したセンサ情報223および製造情報224を、“Platform Event Message”コマンドを用いて管理カード300bに通知する(ステップS136,S137)。管理カード300bの待機系処理部321は、受信したセンサ情報および製造情報を、ブレード管理テーブル350のレコード350a内のセンサ情報および製造情報の各欄に登録する。管理カード300aの起動制御部311は、“Platform Event Message”コマンドを用いて、管理カード300bに対して情報収集が完了したことを通知して起動制御を完了し(ステップS138)、ブレード管理部310a内のブレード監視部341の処理を開始させる。
ブレード監視部341は、“Get Sensor Reading”コマンドを用いて、センサの検出値の送信をサーバブレード200aに定期的に要求する(ステップS139)。サーバブレード200aのセンサ検出値送信部222は、管理カード300aからの要求に応じて、温度センサ210および電圧センサ211の各検出値を、管理カード300aのブレード監視部341に通知する(ステップS140)。
以上の図13,図14に示した起動時の処理によれば、サーバブレード200aにおける状態1から状態4への遷移が、管理カード300aの起動制御部311によって管理される。起動制御部311は、サーバブレード200aが起動する過程において、あらかじめ決められた手順に従って、サーバブレード200aからサーバブレード200aに関する情報を収集する。そして、起動制御部311は、収集した情報に問題がなければ、サーバブレード200aの状態を遷移させて、次の状態で規定された情報を収集する。
起動制御部311は、収集した情報を基に、シャーシ110内で共有されている電源モジュール410からサーバブレード200aに対して、電源を供給しても問題がないかを判定する。そして、起動制御部311は、電源を供給しても問題がないと判定した場合にのみ、サーバブレード200aが完全に起動することを許可する。このような手順が実行されることで、サーバブレード200aの起動が完了した際の異常発生確率が低減され、ブレードサーバシステム100の信頼性が向上する。
次に、図15,図16は、サーバブレードの電源が切断される際の各装置の処理例を示すシーケンス図である。
なお、図15,図16では、例として、サーバブレード200aの電源が切断される際の処理について説明する。このため、図15,図16で説明する管理カード300aの電源切断制御部312の処理は、管理カード300aのブレード管理部310a内の電源切断制御部312によって実行されるものである。また、図15,図16で説明する管理カード300bの待機系処理部321の処理は、管理カード300bのブレード管理部310a内の待機系処理部321によって実行されるものである。サーバブレード200a以外のサーバブレードの電源が切断される際には、管理カード300a,300bでは、電源が切断されるサーバブレードに対応するブレード管理部によって、図15,図16の管理カード300a,300bと同様の処理が行われる。
図15の初期状態では、管理カード300aが運用系であり、管理カード300bが待機系であるものとする。また、サーバブレード200aは状態4であり、管理カード300a,300bの両方とも、サーバブレード200aが状態4であることを認識した状態であるものとする(ステップS151)。
上記の状態から、例えば、遠隔監視装置520から運用系の管理カード300aに対して、サーバブレード200aの電源を切断する要求が発行される(ステップS152)。管理カード300aの電源切断制御部312は、遠隔監視装置520からの要求に応じて、サーバブレード200aの起動/切断処理部221に対して電源切断を要求する(ステップS153)。
サーバブレード200aの起動/切断処理部221は、電源切断処理を開始した状態である状態5に遷移し(ステップS154)、“Platform Event Message”コマンドを用いて、管理カード300aに対して状態5を示す状態情報を通知する(ステップS155)。管理カード300aの電源切断制御部312は、サーバブレード200aが状態5に遷移したことを認識し(ステップS156)、状態5を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。電源切断制御部312は、“Set MMC Notice”コマンドを用いて、管理カード300bに対して、状態5を示す状態情報を通知する(ステップS157)。このとき、電源切断制御部312は、遠隔監視装置520に対しても、状態5を示す状態情報を通知する(ステップS158)。管理カード300bの待機系処理部321は、管理カード300aからの状態情報を受信し、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する(ステップS159)。
なお、例えば、サーバブレード200aが備える電源スイッチ208への操作入力によって、サーバブレード200aの電源切断が要求された場合には、遠隔監視装置520は電源切断要求を発しないので、ステップS152,S153が実行されずに、ステップS154の処理が実行される。
状態5への遷移を認識した管理カード300aの電源切断制御部312は、サーバブレード200aの電源切断を許可するか否かを判定する(ステップS160)。電源切断を許可すると判定した場合、電源切断制御部312は、サーバブレード200aの起動/切断処理部221に対して、電源切断許可通知を送信する(ステップS161)。このとき、電源切断制御部312は、更新付加フラグFL0をオフにする。
サーバブレード200aの起動/切断処理部221は、電源切断処理中である状態6に遷移し(ステップS162)、“Platform Event Message”コマンドを用いて、管理カード300aに対して、状態6を示す状態情報を通知する(ステップS163)。管理カード300aの電源切断制御部312は、サーバブレード200aが状態6に遷移したことを認識し(ステップS164)、状態6を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。
電源切断制御部312は、“Set MMC Notice”コマンドを用いて、管理カード300bに対して、状態6を示す状態情報を通知する(ステップS165)。このとき、電源切断制御部312は、遠隔監視装置520に対しても、状態6を示す状態情報を通知する(ステップS166)。管理カード300bの待機系処理部321は、管理カード300aからの状態情報を受信し、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する(ステップS167)。
また、状態6への遷移を認識した管理カード300aの電源切断制御部312は、現在の許容電力362の再計算を行う(ステップS168)。電源切断制御部312は、ブレード管理テーブル350のレコード350aから、電力情報の欄に登録された、サーバブレード200aの消費電力の値を読み出す。電源切断制御部312は、読み出した消費電力の値を、RAM302に保持された現在の許容電力362の値に加算し、その加算結果により、RAM302に保持された現在の許容電力362の値を更新する。また、電源切断制御部312は、ブレード管理テーブル350のレコード350a内の電力情報の欄から、サーバブレード200aの消費電力の値を削除する。
電源切断制御部312は、“Set MMC Notice”コマンドを用いて、管理カード300bに対して、加算結果(すなわち更新後の現在の許容電力362の値)を通知する(ステップS169)。
一方、サーバブレード200aの起動/切断処理部221は、状態6に遷移すると、IPMC206を除くサーバブレード200a内の各部への電源供給を停止するように、電源回路209に要求する(ステップS170)。起動/切断処理部221は、IPMC206を除くサーバブレード200a内の各部への電源供給が停止されると、電源オフ状態である状態1に遷移し(ステップS171)、“Platform Event Message”コマンドを用いて、状態1を示す状態情報を管理カード300aに通知する(ステップS172)。
管理カード300aの電源切断制御部312は、サーバブレード200aが状態1に遷移したことを認識し(ステップS173)、状態1を示す状態情報をブレード管理テーブル350のレコード350a内の状態情報の欄に登録する。電源切断制御部312は、“Set MMC Notice”コマンドを用いて、管理カード300bに対して、状態1を示す状態情報を通知する(ステップS174)。このとき、電源切断制御部312は、遠隔監視装置520に対しても、状態1を示す状態情報を通知する(ステップS175)。管理カード300bの待機系処理部321は、管理カード300aからの状態情報を受信し、ブレード管理テーブル350のレコード350a内の状態情報の欄に登録する(ステップS176)。
以上の図15,図16に示した電源切断時の処理によれば、サーバブレード200aにおける状態4から状態1への遷移が、管理カード300aの電源切断制御部312によって管理される。電源切断制御部312は、あらかじめ決められた手順に従って、サーバブレード200aを状態4から状態1へ遷移させる。これにより、サーバブレード200aでの電源切断処理時における異常発生確率が低減され、ブレードサーバシステムの信頼性が向上する。
また、サーバブレード200aが状態4から状態1に遷移する過程で、サーバブレード200aの消費電力の値が、RAM302に保持された現在の許容電力362に加算される。これにより、サーバブレード200aが消費していた電力分が、ブレードサーバシステム100全体の許容電力に戻され、例えば、新たに起動するサーバブレードに対して電源モジュール410からの電力を供給できるようになる。
次に、運用系の管理カードが他の管理カードに変更された場合に、新たに運用系となった管理カードがサーバブレードの制御処理を引き継ぐ際の処理について説明する。サーバブレードのそれぞれにおける起動処理および電源切断処理は、運用系管理カードの制御の下であらかじめ決められた順序に従って実行される必要がある。このように決められた順序に従って起動処理や電源切断処理が実行されることで、ブレードサーバシステムの信頼性が維持される。
そして、各サーバブレードは、起動処理や電源切断処理の途中で運用系管理カードが他方の管理カードに変更された場合でも、処理の順序を守ったまま起動処理や電源切断処理を実行する必要がある。起動処理や電源切断処理の途中で運用系管理カードが他方の管理カードに変更されたとき、起動処理や電源切断処理の順序が変わってしまうと、サーバブレードの起動処理や電源切断処理は正しく実行されなくなり、処理が停止する。
例えば、サーバブレードの起動処理中に運用系の管理カードが変更になったとき、新たに運用系となった管理カードがサーバブレードの起動処理を最初から実行させるように制御した場合には、起動処理の順番が守られないため、起動処理を正常に完了できない。また、遠隔監視装置520は、運用系管理カードからサーバブレードの状態情報の通知を随時受けていることから、サーバブレードの状態が決められた順に遷移するかを監視することができる。このような遠隔監視装置520による状態遷移の監視下で、新たに運用系となった管理カードがサーバブレードの起動処理を最初から実行させるように制御した場合には、遠隔監視装置520は、サーバブレードにおける状態遷移の順序が守られていないことを検知して、サーバブレードにおいて故障が発生したと判断してしまうこともある。
一方、上記の図12〜図16の処理例では、運用系管理カードは、サーバブレードから通知された状態情報を、待機系管理カードにも随時通知する。これによって、運用系管理カードだけでなく、待機系管理カードも、サーバブレードの状態を認識することができる。
待機系管理カードにおける状態情報の利用方法としては、例えば、運用系管理カードから通知された最新の状態情報を、待機系管理カードが待機系から運用系に遷移したときに利用することが考えられる。例えば、サーバブレードの起動処理中に運用系管理カードが故障した場合に、運用系に遷移した別の管理カードが、自装置が認識するサーバブレードの状態を起点として、サーバブレードの起動処理を続行する、という処理が考えられる。
しかしながら、運用系管理カードから待機系管理カードに対して状態情報を随時転送するだけでは、新たに運用系となった管理カードによってサーバブレードの制御を正しく引き継ぐことができない場合があるという問題があった。この問題は、運用系管理カードでの故障発生タイミングによっては、サーバブレードが実際に遷移した状態と、待機系管理カードが認識するサーバブレードの状態とが、必ずしも一致しないことに起因する。
ここで、図17は、サーバブレードの状態と、待機系管理カードが認識する状態とが一致しない場合の参考処理例を示すシーケンス図である。なお、図17では、図13と同様に、例としてサーバブレード200aが起動する際の処理について示す。また、図17では、図13と同じ処理ステップには同じ符号を付して示す。
前述のように、運用系管理カードの起動制御部311は、サーバブレード200aから状態情報の通知を受けると、その状態情報を待機系管理カードに通知する。例えば、図17において、管理カード300aの起動制御部311は、ステップS105において、起動処理を開始した状態である状態2を示す状態情報をサーバブレード200aから受信し、ステップS107において、状態2を示す状態情報を管理カード300bに通知する。これにより、運用系の管理カード300aだけでなく、待機系の管理カード300bも、サーバブレード200aが状態2に遷移したことを認識する。
ところが、サーバブレード200aの状態が遷移してから、遷移した状態を示す状態情報が運用系管理カードから待機系管理カードに通知されるまでの期間では、サーバブレード200aが実際に遷移した状態と、待機系管理カードが認識するサーバブレード200aの状態とが一致しない。このため、この期間に運用系管理カードが他方の管理カードに変更されると、新たな運用系管理カードは、サーバブレード200aに実行させるべき処理を正しく判別できなくなる。
例えば、図17において、サーバブレード200aは、起動処理中である状態3に遷移すると(ステップS114)、状態3を示す状態情報を運用系の管理カード300aに通知する(ステップS115)。ここで、サーバブレード200aから管理カード300aに対して状態情報を通知した直後に、管理カード300aに異常が発生し、管理カード300aがリセットされたものとすると(ステップS191)、管理カード300bは、管理カード300aでのリセット発生を検出し、運用系に遷移する(ステップS192)。このとき、管理カード300bが保持するブレード管理テーブル350のレコード350aにおいては、状態情報の欄に、ステップS107で管理カード300aから通知された状態2を示す情報が登録されている。すなわち、管理カード300bは、サーバブレード200aが状態3に遷移したことを認識していないので、このままでは、状態3において決められた制御を実行することはできない。従って、サーバブレード200aでは、いずれの管理カードからも状態遷移の指示が来ないため、状態3に遷移した状態で処理が停止してしまい、起動処理が完了されない。
また、サーバブレードの電源切断処理においても、同様の原因で、運用系管理カードが変更されるタイミングによっては、電源切断処理の制御が継続されず、電源切断処理が途中で停止してしまう場合がある。
これに対して、本実施の形態では、サーバブレードの起動処理中に運用系管理カードが変更された場合には、変更後の運用系管理カードの起動制御部311は、起動時移行制御部331の制御の下で、起動処理の制御を引き継ぐ。変更後の運用系管理カードの起動時移行制御部331は、必要に応じて、サーバブレードに対して状態情報の通知を要求し、サーバブレードの現在の状態を認識する。これによって、サーバブレードの起動制御を、変更後の運用系管理カードがより確実に引き継ぎ、サーバブレードでの起動処理を続行させることができるようにする。
また、起動時移行制御部331は、状態情報の通知を要求するか否かを、起動フラグFL1の値に応じて判断する。起動フラグFL1が用いられることで、起動制御の引き継ぎ処理が効率化される。
一方、サーバブレードの電源切断処理中に運用系管理カードが変更された場合には、変更後の運用系管理カードの電源切断制御部312は、切断時移行制御部332の制御の下で、電源切断処理の制御を引き継ぐ。変更後の運用系管理カードの切断時移行制御部332は、必要に応じて、サーバブレードに対して状態情報の通知を要求し、サーバブレードの現在の状態を認識する。これによって、サーバブレードの電源切断制御を、変更後の運用系管理カードがより確実に引き継ぎ、サーバブレードでの電源切断処理を続行させることができるようにする。
また、切断時移行制御部332は、状態情報の通知を要求するか否かを、切断フラグFL2の値に応じて判断する。切断フラグFL2が用いられることで、電源切断制御の引き継ぎ処理が効率化される。
起動フラグFL1および切断フラグFL2の値は、管理カードが待機系である状態において、フラグ設定部322によって設定される。ここで、待機系管理カードにおける各ブレード管理部のフラグ設定部322の処理について説明する。次の図18では例として、待機系管理カードのブレード管理部310aに設けられたフラグ設定部322によって、サーバブレード200aの状態に応じたフラグの値が設定される場合の処理について説明する。サーバブレード200a以外のサーバブレードの状態に応じてフラグの値が設定される場合には、サーバブレードに対応するブレード管理部に設けられたフラグ設定部322によって、以下の処理が実行される。
図18は、待機系として動作する管理カードのフラグ設定部の処理手順の例を示すフローチャートである。この図18に示すステップS201〜S208の処理は、フラグ設定部322を備える管理カードが待機系である間、例えば一定時間ごとに繰り返される。
[ステップS201]フラグ設定部322は、ブレード管理テーブル350のレコード350aから、サーバブレード200aの状態を示す状態情報を取得する。なお、フラグ設定部322は、例えば、レコード350a内の状態情報が更新されるたびに、更新された状態情報を取得する。
[ステップS202〜S204]フラグ設定部322は、取得した状態情報が示すサーバブレード200aの状態を判定する。フラグ設定部322は、取得した状態情報が状態1,状態2,状態3のいずれかを示す場合、ステップS205の処理を実行し、取得した状態情報が状態1〜状態3ではない場合、すなわち、サーバブレード200aの全体に対する電源投入が完了した運用状態である状態4,電源切断処理を開始した状態5,電源切断処理中である状態6のいずれかを示す場合、ステップS207の処理を実行する。
[ステップS205]フラグ設定部322は、起動フラグFL1をオンにする。
[ステップS206]フラグ設定部322は、切断フラグFL2をオフにする。この後、ステップS201の処理に戻る。
[ステップS207]フラグ設定部322は、起動フラグFL1をオフにする。
[ステップS208]フラグ設定部322は、切断フラグFL2をオンにする。この後、ステップS201の処理に戻る。
以上の処理によれば、ブレード管理部310aが参照する起動フラグFL1は、サーバブレード200aで起動処理が開始された後、運用系管理カードから状態2および状態3を示す状態情報が通知されたとき、オンのままとなり、状態4を示す状態情報が運用系管理カードから通知されたとき、オフになる。すなわち、ブレード管理部310aが参照する起動フラグFL1は、サーバブレード200aで起動処理が開始された後に、サーバブレード200aの起動処理が終了したことの通知を運用系管理カードから受けたか否かを示す情報となる。
また、ブレード管理部310aが参照する切断フラグFL2は、サーバブレード200aで電源切断処理が開始された後、運用系管理カードから状態5および状態6を示す状態情報が通知されたとき、すでにオンになっていればオンのままとなり、電源オフ状態である状態1を示す状態情報が通知されたとき、オフになる。すなわち、ブレード管理部310aが参照する切断フラグFL2は、サーバブレード200aで電源切断処理が開始された後に、電源切断処理が終了したことの通知を運用系管理カードから受けたか否かを示す情報となる。
次に、図19は、起動制御部を制御する起動時移行制御部の処理手順の例を示すフローチャートである。この図19では、例として、ブレード管理部310a内の起動時移行制御部331の処理について説明するものとするが、サーバブレード200a以外のサーバブレードの起動処理中では、起動処理中のサーバブレードに対応するブレード管理部内の起動時移行制御部331によって同様の処理が行われる。なお、図19の処理の初期状態では、図19の処理を実行する起動時移行制御部331が設けられた管理カードは、待機系の状態である。
[ステップS221]起動時移行制御部331は、リセット検出部340による検出信号を監視し、運用系である他方の管理カードがリセットされたか否かを判定する。起動時移行制御部331は、リセット検出部340によってリセットが検出された場合に、ステップS222の処理を実行する。このとき、リセットを検出した管理カードは運用系に遷移する。
[ステップS222]起動時移行制御部331は、起動フラグFL1を参照し、起動フラグFL1がオンである場合には、ステップS224の処理を実行する。また、起動時移行制御部331は、起動フラグFL1がオフである場合、すなわち、サーバブレード200aが状態4に遷移したことの通知をすでに受けていた場合には、ステップS223の処理を実行する。
[ステップS223]起動時移行制御部331は、起動制御部311に対して、図11に示したステップS33から、図11に図示したサーバブレード200aの起動制御を開始するように要求し、処理を終了する。この場合、ブレード管理テーブル350のレコード350aには、サーバブレード200aが状態4であることがすでに登録されているので、起動制御部311は、運用系管理カードから状態4の通知を受けた後のステップS33から、起動処理を開始すればよい。
[ステップS224]起動時移行制御部331は、“Set Event Receiver”コマンドを用いて、サーバブレード200aに対して、状態情報の送信を要求する。
“Set Event Receiver”コマンドのリクエストデータを受信したサーバブレード200aは、レスポンスデータを返信した後、現在の状態を示す状態情報を設定した“Platform Event Message”コマンドのリクエストデータを、“Set Event Receiver”コマンドの発行元の管理カードに対して送信する。
[ステップS225]起動時移行制御部331は、サーバブレード200aから通知された状態情報を受信する。
[ステップS226〜S228]起動時移行制御部331は、サーバブレード200aから受信した状態情報が示す状態を判定する。起動時移行制御部331は、受信した状態情報が電源オフ状態である状態1を示す場合、ステップS229の処理を実行し、受信した状態情報が起動処理を開始した状態である状態2を示す場合、ステップS230の処理を実行し、受信した状態情報が起動処理中である状態3を示す場合、ステップS232の処理を実行する。また、起動時移行制御部331は、受信した状態情報が状態1〜状態3ではない、すなわち、サーバブレード200aの全体に対する電源投入が完了した運用状態である状態4,電源切断処理を開始した状態である状態5,電源切断処理中である状態6のいずれかを示す場合、ステップS234の処理を実行する。
[ステップS229]起動時移行制御部331は、起動制御部311に対して、図10に示したステップS11から、サーバブレード200aの起動制御を開始するように要求し、処理を終了する。
[ステップS230]起動時移行制御部331は、ブレード管理テーブル350のレコード350aに登録されていた状態情報に基づいて、サーバブレード200aでの起動処理の処理順、すなわち状態の遷移順が正しいか否かを判定する。起動時移行制御部331は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が、電源オフ状態である状態1または起動処理を開始した状態である状態2のいずれかを示す場合に、起動処理順が正しいと判定して、ステップS231の処理を実行する。一方、起動時移行制御部331は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が状態1および状態2以外の状態を示す場合には、例えばサーバブレード200aにエラーを通知した後、処理を終了する。
[ステップS231]起動時移行制御部331は、起動制御部311に対して、図10に示したステップS15から、サーバブレード200aの起動制御を開始するように要求する。起動時移行制御部331は、ブレード管理テーブル350のレコード350aに、ステップS225で受信した状態情報を登録し、処理を終了する。
[ステップS232]起動時移行制御部331は、ブレード管理テーブル350のレコード350aに登録されていた状態情報に基づいて、サーバブレード200aでの起動処理の処理順が正しいか否かを判定する。起動時移行制御部331は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が起動処理を開始した状態である状態2または起動処理中である状態3のいずれかを示す場合に、起動処理順が正しいと判定して、ステップS233の処理を実行する。一方、起動時移行制御部331は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が状態2および状態3以外の状態を示す場合には、例えばサーバブレード200aにエラーを通知した後、処理を終了する。
[ステップS233]起動時移行制御部331は、起動制御部311に対して、図10に示したステップS20から、サーバブレード200aの起動制御を開始するように要求する。起動時移行制御部331は、ブレード管理テーブル350のレコード350aに、ステップS225で受信した状態情報を登録し、処理を終了する。
[ステップS234]起動時移行制御部331は、ブレード管理テーブル350のレコード350aに登録されていた状態情報に基づいて、サーバブレード200aでの起動処理の処理順が正しいか否かを判定する。起動時移行制御部331は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が、起動処理中である状態3またはサーバブレード200aの全体に対する電源投入が完了した運用状態である状態4のいずれかを示す場合に、起動処理順が正しいと判定して、ステップS235の処理を実行する。一方、起動時移行制御部331は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が状態3および状態4以外の状態を示す場合には、処理順が正しくないと判断し、例えばサーバブレード200aにエラーを通知した後、処理を終了する。
[ステップS235]起動時移行制御部331は、起動制御部311に対して、図11に示したステップS32から、サーバブレード200aの起動制御を開始するように要求する。起動時移行制御部331は、ブレード管理テーブル350のレコード350aに、ステップS225で受信した状態情報を登録し、処理を終了する。
以上の処理では、起動時移行制御部331は、自装置が待機系から運用系に遷移したとき、起動フラグFL1がオンであれば、状態情報をあらためてサーバブレード200aから取得する。そして、起動時移行制御部331は、取得した状態情報を基に、起動制御部311に、サーバブレード200aの起動制御を引き継がせる。このような処理により、起動時移行制御部331は、サーバブレード200aでの起動処理の完了が確認されていない状態でも、サーバブレード200aの現在の状態を正しく認識でき、その結果、サーバブレード200aの起動処理を最後まで継続させることができる。
従って、決められた処理順通りにサーバブレード200aへの電源投入を完了させることができ、ブレードサーバシステム100の信頼性を維持できる。例えば、シャーシ110内のデバイスへ供給される総電力が、電源モジュール410が供給し得る最大電力を上回るといった事態が発生する確率を低減できる。
また、状態情報をサーバブレード200aから取得するか否かが起動フラグFL1の値を基に判定されることで、判定処理が単純化され、その結果、起動制御の引き継ぎ処理の効率が向上する。
さらに、ステップS230,S232,S234での判定処理により、サーバブレード200aでの起動処理を正しい順序で実行させることができる。特に、これらの処理ステップでは、ブレード管理テーブル350のレコード350aに登録されていた状態情報が示す状態が、ステップS225で受信した状態情報が示す状態より1段階前の状態であっても、起動処理の処理順が正しいと判定される。このような判定処理により、サーバブレード200aの実際の状態と、運用系に遷移した管理サーバが認識するサーバブレード200aの状態とが異なる状況であっても、サーバブレード200aの起動処理を正しく続行させることができる。
なお、ブレード管理部310aの起動制御部311は、上記のステップS223,S229,S231,S233,S235のいずれかで発せられる要求に応じて、サーバブレード200aの起動処理を開始する。このとき、起動制御部311によって実行される処理には、例えばステップS15,S20など、情報を待機系管理カードに通知する処理が含まれる。しかしながら、これらの処理では、正常動作中の待機系管理カードが他に存在する場合にのみ、その待機系管理カードに情報が通知されればよい。
次に、図20は、電源切断制御部を制御する切断時移行制御部の処理手順の例を示すフローチャートである。この図20では、例として、ブレード管理部310a内の切断時移行制御部332の処理について説明するものとするが、サーバブレード200a以外のサーバブレードの電源切断処理中では、電源切断処理中のサーバブレードに対応するブレード管理部内の切断時移行制御部332によって同様の処理が行われる。なお、図20の処理の初期状態では、図20の処理を実行する切断時移行制御部332が設けられた管理カードは、待機系の状態である。
[ステップS251]起動時移行制御部331は、リセット検出部340による検出信号を監視し、運用系である他方の管理カードがリセットされたか否かを判定する。切断時移行制御部332は、リセット検出部340によってリセットが検出された場合に、ステップS252の処理を実行する。このとき、切断時移行制御部332が設けられた管理カードは運用系に遷移する。
[ステップS252]切断時移行制御部332は、切断フラグFL2を参照し、切断フラグFL2がオンである場合には、ステップS253の処理を実行する。また、切断時移行制御部332は、切断フラグFL2がオフである場合には、サーバブレード200aは電源オフ状態にあるため、電源切断制御を終了する。
[ステップS253]切断時移行制御部332は、“Set Event Receiver”コマンドを用いて、サーバブレード200aに対して、状態情報の送信を要求する。
“Set Event Receiver”コマンドのリクエストデータを受信したサーバブレード200aは、レスポンスデータを返信した後、現在の状態を示す状態情報を設定した“Platform Event Message”コマンドのリクエストデータを、“Set Event Receiver”コマンドの発行元の管理カードに対して送信する。
[ステップS254]切断時移行制御部332は、サーバブレード200aから通知された状態情報を受信する。
[ステップS255〜S257]切断時移行制御部332は、サーバブレード200aから受信した状態情報が示す状態を判定する。切断時移行制御部332は、受信した状態情報がサーバブレード200aの全体に対する電源投入が完了した運用状態である状態4を示す場合、ステップS258の処理を実行し、受信した状態情報が電源切断処理を開始した状態である状態5を示す場合、ステップS259の処理を実行し、受信した状態情報が電源切断処理中である状態6を示す場合、ステップS261の処理を実行する。また、切断時移行制御部332は、受信した状態情報が状態4〜状態6以外、すなわち、電源オフ状態である状態1,起動処理を開始した状態である状態2,起動処理中である状態3のいずれかを示す場合、ステップS263の処理を実行する。
[ステップS258]切断時移行制御部332は、電源切断制御部312に対して、図12に示したステップS41から、サーバブレード200aの電源切断制御を開始するように要求し、処理を終了する。
[ステップS259]切断時移行制御部332は、ブレード管理テーブル350のレコード350aに登録されていた状態情報に基づいて、サーバブレード200aでの電源切断処理の処理順、すなわち状態の遷移順が正しいか否かを判定する。切断時移行制御部332は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が状態4または状態5のいずれかを示す場合に、電源切断処理順が正しいと判定して、ステップS260の処理を実行する。一方、切断時移行制御部332は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が状態4および状態5以外の状態を示す場合には、例えばサーバブレード200aにエラーを通知した後、処理を終了する。
[ステップS260]切断時移行制御部332は、電源切断制御部312に対して、図12に示したステップS45から、サーバブレード200aの電源切断制御を開始するように要求する。切断時移行制御部332は、ブレード管理テーブル350のレコード350aに、ステップS254で受信した状態情報を登録し、処理を終了する。
[ステップS261]切断時移行制御部332は、ブレード管理テーブル350のレコード350aに登録されていた状態情報に基づいて、サーバブレード200aでの電源切断処理の処理順が正しいか否かを判定する。切断時移行制御部332は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が状態5または状態6のいずれかを示す場合に、電源切断処理順が正しいと判定して、ステップS262の処理を実行する。一方、切断時移行制御部332は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が状態5および状態6以外の状態を示す場合には、例えばサーバブレード200aにエラーを通知した後、処理を終了する。
[ステップS262]切断時移行制御部332は、電源切断制御部312に対して、図12に示したステップS51から、サーバブレード200aの電源切断制御を開始するように要求する。切断時移行制御部332は、ブレード管理テーブル350のレコード350aに、ステップS254で受信した状態情報を登録し、処理を終了する。
[ステップS263]切断時移行制御部332は、ブレード管理テーブル350のレコード350aに登録されていた状態情報に基づいて、サーバブレード200aでの起動処理の処理順が正しいか否かを判定する。切断時移行制御部332は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が状態6または状態1のいずれかを示す場合に、電源切断処理順が正しいと判定して、ステップS264の処理を実行する。一方、切断時移行制御部332は、ブレード管理テーブル350のレコード350aに登録されていた状態情報が状態6および状態1以外の状態を示す場合には、例えばサーバブレード200aにエラーを通知した後、処理を終了する。
[ステップS264]切断時移行制御部332は、電源切断制御部312に対して、図12に示したステップS57から、サーバブレード200aの電源切断制御を開始するように要求する。切断時移行制御部332は、ブレード管理テーブル350のレコード350aに、ステップS254で受信した状態情報を登録し、処理を終了する。
以上の処理では、切断時移行制御部332は、自装置が待機系から運用系に遷移したとき、切断フラグFL2がオンであれば、状態情報をあらためてサーバブレード200aから取得する。そして、切断時移行制御部332は、取得した状態情報を基に、電源切断制御部312に、サーバブレード200aの電源切断制御を引き継がせる。このような処理により、切断時移行制御部332は、サーバブレード200aでの電源切断処理の完了が確認されていない状態でも、サーバブレード200aの現在の状態を正しく認識でき、その結果、サーバブレード200aの電源切断処理を最後まで継続させることができる。従って、決められた処理順通りにサーバブレード200aの電源切断処理を完了させることができ、ブレードサーバシステム100の信頼性を維持できる。
また、状態情報をサーバブレード200aから取得するか否かが切断フラグFL2の値を基に判定されることで、判定処理が単純化され、その結果、電源切断制御の引き継ぎ処理の効率が向上する。
さらに、ステップS259,S261,S263での判定処理により、サーバブレード200aでの電源切断処理を正しい順序で実行させることができる。特に、これらの処理ステップでは、ブレード管理テーブル350のレコード350aに登録されていた状態情報が示す状態が、ステップS254で受信した状態情報が示す状態より1段階前の状態であっても、電源切断処理の処理順が正しいと判定される。このような判定処理により、サーバブレード200aの実際の状態と、運用系に遷移した管理サーバが認識するサーバブレード200aの状態とが異なる状況であっても、サーバブレード200aの電源切断処理を正しく続行させることができる。
なお、電源切断制御部312は、上記のステップS258,S260,S262,S264のいずれかで発せられる要求に応じて、サーバブレード200aの電源切断処理を開始する。このとき、電源切断制御部312によって実行される処理には、例えばステップS45,S49など、情報を待機系管理カードに通知する処理が含まれる。しかしながら、これらの処理では、正常動作中の待機系管理カードが他に存在する場合にのみ、その待機系管理カードに情報が通知されればよい。
次に、サーバブレードに対する起動制御および電源切断制御が、別の管理カードに引き継がれる場合の処理例について説明する。以下の図21〜図26では、管理カード300aが運用系である状態から、管理カード300aに異常が発生した場合の処理例を挙げる。これらの図21〜図26では、例として、サーバブレード200aに対する起動制御および電源切断制御が行われる場合について説明する。このため、図21〜図26において説明する管理カード300a,300bの処理は、管理カード300a,300bがそれぞれ備えるブレード管理部310a内の処理ブロックによって実行されるものである。サーバブレード200a以外のサーバブレードに対する起動制御および電源切断制御が行われる場合には、管理カード300a,300bでは、制御対象のサーバブレードに対応するブレード管理部内の処理ブロックによって、図21〜図26に示す処理が実行される。
図21,図22は、サーバブレードに対する起動制御が別の管理カードに引き継がれる場合の処理例1を示すシーケンス図である。なお、図21,図22では、図13,図14と同じ処理ステップには同じ符号を付して示す。
図21の初期状態では、図13と同様に、管理カード300aは運用系であり、管理カード300bは待機系である。また、サーバブレード200aは状態1であり、管理カード300a,300bの両方とも、サーバブレード200aが状態1であることを認識した状態である(ステップS101)。このとき、管理カード300bのブレード管理部310aによって参照される起動フラグFL1はオンになっている。
この状態から、例えば、遠隔監視装置520から運用系の管理カード300aに対して、サーバブレード200aの電源を投入する要求が発行されると(ステップS102)、管理カード300aの起動制御部311の制御の下で、サーバブレード200aの起動処理が開始される。管理カード300aの起動制御部311は、サーバブレード200aの起動/切断処理部221に対して電源投入を要求する(ステップS103)。サーバブレード200aの起動/切断処理部221は、起動処理を開始した状態である状態2に遷移し(ステップS104)、管理カード300aに対して、状態2を示す状態情報を通知する(ステップS105)。
この状態で、管理カード300aに異常が発生すると、管理カード300aのWDT306はタイムアウトを検出し、管理カード300aをリセットする(ステップS301)。管理カード300bのリセット検出部340は、管理カード300aでのリセット発生を検出し、管理カード300bは運用系に遷移する(ステップS302)。
管理カード300aの起動時移行制御部331は、起動フラグFL1を参照し、状態情報をサーバブレード200aから取得するか否かを判定する(ステップS303)。起動フラグFL1はオンであることから、管理カード300bの起動時移行制御部331は、“Set Event Receiver”コマンドを用いて、サーバブレード200aに対して状態情報の送信を要求する(ステップS304)。サーバブレード200aの起動/切断処理部221は、状態2を示す状態情報を管理カード300bに通知する(ステップS305)。
管理カード300bの起動時移行制御部331は、サーバブレード200aが状態2であることを認識する(ステップS306)。このとき、管理カード300bの起動時移行制御部331は、起動処理の処理順が正しいと判定した後、起動制御部311に、図10の処理をステップS15を起点として開始させる(図19のステップS230,S231に対応)。
これにより、管理カード300aの起動制御部311の代わりに、管理カード300bの起動制御部311の制御の下で、サーバブレード200aの起動処理が続行される。すなわち、図13のステップS108以降に管理カード300aの起動制御部311、サーバブレード200aの起動/切断処理部221および遠隔監視装置520が行う処理と同様の処理が、管理カード300bの起動制御部311、サーバブレード200aの起動/切断処理部221および遠隔監視装置520によって実行される。
管理カード300bの起動制御部311は、ステップS306においてサーバブレード200aが状態2であることを認識すると、サーバブレード200aから種別情報を取得する(ステップS110a,S111)。管理カード300bの起動制御部311は、種別情報に基づき、サーバブレード200aが、自装置が動作状態の監視および起動/電源切断の制御をサポートするブレードであると判定すると(ステップS112a)、サーバブレード200aに起動許可を与える(ステップS113a)。
管理カード300bの起動制御部311は、サーバブレード200aが状態3に遷移したことを認識すると(ステップS116a)、サーバブレード200aから電力情報を取得する(ステップS120a,121)。管理カード300bの起動制御部311は、現在の許容電力362としてRAM302に保持された値から、サーバブレード200aから受信した電力情報が示す消費電力の値を減算し、その減算結果が0以上である場合に、サーバブレード200aに対して運用許可通知を送信する(ステップS122a,S124a)。管理カード300bの起動制御部311は、サーバブレード200aが状態4に遷移したことを認識すると(ステップS128a)、サーバブレード200aからのセンサ情報および製造情報の収集を開始する(ステップS132a〜S135)。
以上の図21,図22の処理では、管理カード300bが運用系に遷移した時点(ステップS302)では、管理カード300bが認識するサーバブレード200aの状態と、サーバブレード200aの実際の状態とが一致しない。このような状態認識の間違いが生じたにもかかわらず、管理カード300bの起動制御部311は、管理カード300aの起動制御部311による起動制御を正しく引き継ぐことができ、その結果、サーバブレード200aの起動処理が続行されるようになる。
また、管理カード300bが認識するサーバブレード200aの状態と、サーバブレード200aの実際の状態とが一致しない場合としては、上記の他に次のようなケースがある。例えば、サーバブレード200aが状態3に遷移し、状態3を示す状態情報が運用系の管理カード300aに通知されたものの、同じ状態情報が待機系の管理カード300bに転送される前に、運用系の管理カード300aに故障が発生した場合(ケース1)がある。これは、図13において、ステップS115の処理が完了した後、ステップS117の処理が実行される前に、運用系の管理カード300aに故障が発生した場合である。あるいは、他の例として、サーバブレード200aが状態4に遷移し、状態4を示す状態情報が運用系の管理カード300aに通知されたものの、同じ状態情報が待機系の管理カード300bに転送される前に、運用系の管理カード300aに故障が発生した場合(ケース2)がある。これは、図14において、ステップS127の処理が完了した後、ステップS129の処理が実行される前に、運用系の管理カード300aに故障が発生した場合である。
上記のケース1、ケース2のいずれの場合でも、管理カード300aでの故障発生を検知した管理カード300bの起動時移行制御部331は、起動フラグFL1がオンであることから、サーバブレード200aに対して状態情報の送信を要求する。ケース1では、起動時移行制御部331は、サーバブレード200aからの状態情報に基づいて、サーバブレード200aが状態3であることを認識し、起動制御部311に、図10の処理をステップS20を起点として開始させる。また、ケース2では、起動時移行制御部331は、サーバブレード200aからの状態情報に基づいて、サーバブレード200aが状態4であることを認識し、起動制御部311に、図11の処理をステップS32を起点として開始させる。従って、どちらのケースでも、管理カード300bの起動制御部311は、管理カード300aの起動制御部311による起動制御を正しく引き継ぐことができ、その結果、サーバブレード200aの起動処理が続行されるようになる。
図23は、サーバブレードに対する起動制御が別の管理カードに引き継がれる場合の処理例2を示すシーケンス図である。なお、図23では、図13,図14,図22と同じ処理ステップには同じ符号を付して示す。
図23の例では、管理カード300aの起動制御部311の制御の下で、サーバブレード200aの起動処理が開始される。サーバブレード200aの起動/切断処理部221は、状態4に遷移し(ステップS126)、状態4を示す状態情報を管理カード300aに通知する(ステップS127)。管理カード300aの起動制御部311は、サーバブレード200aが状態4に遷移したことを認識し(ステップS128)、管理カード300bおよび遠隔監視装置520のそれぞれに対して、状態4を示す状態情報を通知する(ステップS129,S130)。管理カード300bの待機系処理部321は、管理カード300aから受信した状態情報を、ブレード管理テーブル350のレコード350aに登録する(ステップS131)。このとき、管理カード300bのフラグ設定部322は、起動フラグFL1をオフにする。
この状態で、管理カード300aに異常が発生すると、管理カード300aのWDT306はタイムアウトを検出し、管理カード300aをリセットする(ステップS301a)。管理カード300bのリセット検出部340は、管理カード300aでのリセット発生を検出し、管理カード300bは運用系に遷移する(ステップS302a)。
管理カード300aの起動時移行制御部331は、起動フラグFL1を参照し、状態情報をサーバブレード200aから取得するか否かを判定する(ステップS303a)。起動フラグFL1はオフであることから、管理カード300bの起動時移行制御部331は、状態情報を取得することなく、起動制御部311に、図11の処理をステップS33を起点として開始させる(図19のステップS223に対応)。これにより、管理カード300bの起動制御部311、サーバブレード200aの起動/切断処理部221および遠隔監視装置520によって、図22のステップS132a以後の処理が実行される。
以上の図23の処理では、管理カード300bが運用系に遷移した時点(ステップS302a)で、管理カード300bの起動時移行制御部331は、起動フラグFL1に基づいて、サーバブレード200aがすでに状態4に遷移したことを認識する。状態4は、起動制御部311が遷移を管理する最終の状態であるため、管理カード300bの起動時移行制御部331は、状態情報をサーバブレード200aからあらためて取得する必要がないと判断する。従って、起動時移行制御部331は、無駄な通信処理を行うことなく、起動制御部311に起動制御を引き継がせることができる。
なお、その他のケースとして、サーバブレード200aが状態1であり、運用系である管理カード300aおよび待機系である管理カード300bの両方とも、サーバブレード200aが状態1であることを認識した状態において、管理カード300aに異常が発生するケースがある。この場合、管理カード300bのブレード管理部310aによって参照される起動フラグFL1はオンになっている。管理カード300aにおけるエラーの発生を検知した管理カード300bの起動時移行制御部331は、起動フラグFL1がオンであることから、サーバブレード200aに対して状態情報の送信を要求する。管理カード300bの起動時移行制御部311は、サーバブレード200aから受信した状態情報に基づき、サーバブレード200aが状態1であることを認識し、例えば、遠隔監視装置520からのサーバブレード200aの電源投入要求を監視する。
次に、図24,図25は、サーバブレードに対する電源切断制御が別の管理カードに引き継がれる場合の処理例1を示すシーケンス図である。なお、図24,図25では、図15,図16と同じ処理ステップには同じ符号を付して示す。
図24の初期状態では、図15と同様に、管理カード300aは運用系であり、管理カード300bは待機系である。また、サーバブレード200aは状態4であり、管理カード300a,300bの両方とも、サーバブレード200aが状態4であることを認識した状態である(ステップS151)。このとき、管理カード300bに保持された切断フラグFL2はオンになっている。
この状態から、例えば、遠隔監視装置520から運用系の管理カード300aに対して、サーバブレード200aの電源を切断する要求が発行されると(ステップS152)、管理カード300aの電源切断制御部312の制御の下で、サーバブレード200aの電源切断処理が開始される。管理カード300bの電源切断制御部312は、サーバブレード200aに対して電源切断を要求する(ステップS153)。サーバブレード200aの起動/切断処理部221は、状態5に遷移し(ステップS154)、管理カード300bに対して、状態5を示す状態情報を通知する(ステップS155)。
この状態で管理カード300aに異常が発生すると、管理カード300aのWDT306はタイムアウトを検出し、管理カード300aをリセットする(ステップS351)。管理カード300bのリセット検出部340は、管理カード300aでのリセット発生を検出し、管理カード300bは運用系に遷移する(ステップS352)。
管理カード300aの切断時移行制御部332は、切断フラグFL2を参照し、状態情報をサーバブレード200aから取得するか否かを判定する(ステップS353)。切断フラグFL2はオンであることから、管理カード300bの切断時移行制御部332は、“Set Event Receiver”コマンドを用いて、サーバブレード200aに対して状態情報の送信を要求する(ステップS354)。サーバブレード200aの起動/切断処理部221は、状態5を示す状態情報を管理カード300bに通知する(ステップS355)。
管理カード300bの切断時移行制御部332は、サーバブレード200aが状態5であることを認識し(ステップS356)、さらに電源切断処理の処理順が正しいと判定した後、電源切断制御部312に、図12の処理をステップS45を起点として開始させる(図20のステップS259,S260に対応)。
これにより、管理カード300aの電源切断制御部312の代わりに、管理カード300bの電源切断制御部312の制御の下で、サーバブレード200aの電源切断処理が続行される。すなわち、図15のステップS158以降に管理カード300aの電源切断制御部312、サーバブレード200aの起動/切断処理部221および遠隔監視装置520が行う処理と同様の処理が、管理カード300bの電源切断制御部312、サーバブレード200aの起動/切断処理部221および遠隔監視装置520によって実行される。
管理カード300bの電源切断制御部312は、サーバブレード200aの電源切断を許可するか否かを判定し(ステップS160a)。電源切断を許可すると判定した場合、サーバブレード200aに対して電源切断許可を与える(ステップS161a)。管理カード300bの電源切断制御部312は、サーバブレード200aが状態6に遷移したことを認識すると(ステップS164a)、ブレード管理テーブル350のレコード350aから、電力情報の欄に登録された、サーバブレード200aの消費電力の値を読み出す。電源切断制御部312は、読み出した消費電力の値を、RAM302に保持された現在の許容電力362の値に加算し、その加算結果により、RAM302に保持された現在の許容電力362の値を更新する(ステップS168a)。
一方、サーバブレード200aでは、IPMC206を除くサーバブレード200a内の各部への電源供給が停止され(ステップS170)、サーバブレード200aは状態1に遷移する(ステップS171)。管理カード300bの電源切断制御部312は、サーバブレード200aが状態1に遷移したことを認識し(ステップS173a)、遠隔監視装置520に対して状態1を示す状態情報を通知する(ステップS175a)することで、電源切断制御を完了する。
以上の図24,図25の処理では、管理カード300bが運用系に遷移した時点(ステップS352)では、管理カード300bが認識するサーバブレード200aの状態と、サーバブレード200aの実際の状態とが一致しない。このような状態認識の間違いが生じたにもかかわらず、管理カード300bの電源切断制御部312は、管理カード300aの電源切断制御部312による電源切断制御を正しく引き継ぐことができ、その結果、サーバブレード200aの電源切断処理が続行されるようになる。
また、管理カード300bが認識するサーバブレード200aの状態と、サーバブレード200aの実際の状態とが一致しない場合としては、上記の他に次のようなケースもある。例えば、サーバブレード200aが状態6に遷移し、状態6を示す状態情報が運用系の管理カード300aに通知されたものの、同じ状態情報が待機系の管理カード300bに転送される前に、運用系の管理カード300aに故障が発生した場合(ケース3)がある。これは、図15のステップS163の処理が完了した後、図16のステップS165の処理が実行される前に、運用系の管理カード300aに故障が発生した場合である。あるいは、他の例として、サーバブレード200aが状態1に遷移し、状態1を示す状態情報が運用系の管理カード300aに通知されたものの、同じ状態情報が待機系の管理カード300bに転送される前に、運用系の管理カード300aに故障が発生した場合(ケース4)がある。これは、図16において、ステップS172の処理が完了した後、ステップS174の処理が実行される前に、運用系の管理カード300aに故障が発生した場合である。
上記のケース3、ケース4のいずれの場合でも、管理カード300aでの故障発生を検知した管理カード300bの切断時移行制御部332は、起動フラグFL2がオンであることから、サーバブレード200aに対して状態情報の送信を要求する。ケース3では、切断時移行制御部332は、サーバブレード200aからの状態情報に基づいて、サーバブレード200aが状態6であることを認識し、電源切断制御部312に、図12の処理をステップS51を起点として開始させる。また、ケース4では、切断時移行制御部332は、サーバブレード200aからの状態情報に基づいて、サーバブレード200aが状態1であることを認識し、電源切断制御部312に、図12の処理をステップS57を起点として開始させる。従って、どちらのケースでも、管理カード300bの電源切断制御部312は、管理カード300aの電源切断制御部312による電源切断制御を正しく引き継ぐことができ、その結果、サーバブレード200aの電源切断処理が続行されるようになる。
図26は、サーバブレードに対する電源切断制御が別の管理カードに引き継がれる場合の処理例2を示すシーケンス図である。なお、図26では、図15,図16と同じ処理ステップには同じ符号を付して示す。
図26の例では、管理カード300aの電源切断制御部312の制御の下で、サーバブレード200aの電源切断処理が開始される。サーバブレード200aの起動/切断処理部221は、状態1に遷移し(ステップS171)、状態1を示す状態情報を管理カード300aに通知する(ステップS172)。管理カード300aの電源切断制御部312は、サーバブレード200aが状態1に遷移したことを認識し(ステップS173)、管理カード300bおよび遠隔監視装置520のそれぞれに対して、状態1を示す状態情報を通知する(ステップS174,S175)。管理カード300bの待機系処理部321は、管理カード300aから受信した状態情報を、ブレード管理テーブル350のレコード350aに登録する(ステップS176)。このとき、管理カード300bのフラグ設定部322は、切断フラグFL2をオフにする。
この状態で、管理カード300aに異常が発生すると、管理カード300aのWDT306はタイムアウトを検出し、管理カード300aをリセットする(ステップS351a)。管理カード300bのリセット検出部340は、管理カード300aでのリセット発生を検出し、管理カード300bは運用系に遷移する(ステップS352a)。
管理カード300aの切断時移行制御部332は、切断フラグFL2を参照し、状態情報をサーバブレード200aから取得するか否かを判定する(ステップS353a)。切断フラグFL2はオフであることから、管理カード300bの切断時移行制御部332は、状態情報をサーバブレード200aから取得することなく、電源切断制御を終了する。
上記の図26の処理では、管理カード300bが運用系に遷移した時点(ステップS352d)で、管理カード300bの切断時移行制御部332は、切断フラグFL2に基づいて、サーバブレード200aがすでに状態1に遷移したことを認識する。状態1は、電源切断制御部312が遷移を管理する最終の状態であるため、管理カード300bの切断時移行制御部332は、状態情報をサーバブレード200aからあらためて取得する必要がないと判断する。従って、切断時移行制御部332は、無駄な通信処理を行うことなく、電源切断制御部312に電源切断制御を完了させることができる。
なお、その他のケースとして、サーバブレード200aが状態4であり、運用系である管理カード300aおよび待機系である管理カード300bの両方とも、サーバブレード200aが状態4あることを認識した状態において、管理カード300aに異常が発生するケースがある。この場合、管理カード300bのブレード管理部310aによって参照される起動フラグFL2はオンになっている。管理カード300aにおけるエラーの発生を検知した管理カード300bの切断時移行制御部332は、起動フラグFL2がオンであることから、サーバブレード200aに対して状態情報の送信を要求する。管理カード300bの切断時移行制御部312は、サーバブレード200aから受信した状態情報に基づき、サーバブレード200aが状態4であることを認識し、例えば、遠隔監視装置520からのサーバブレード200aの電源切断要求を監視する。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、上記の管理装置、情報処理装置、管理カード、サーバブレードなどが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、HDD、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc−Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
10a,10b 管理装置
11 情報取得手段
12 制御手段
20 情報処理装置

Claims (7)

  1. 複数の処理ステップを含む処理シーケンスを実行する情報処理装置と、
    前記情報処理装置に処理ステップを所定の順で実行させることで、前記処理シーケンスの実行を管理する複数の管理装置であって、いずれか1つの管理装置が、前記処理シーケンスの実行管理を行う運用系として動作し、運用系以外の管理装置が、前記処理シーケンスの実行管理を運用系の管理装置から引き継ぐまで待機する待機系として動作する複数の管理装置と、
    を備え、
    前記各管理装置は、
    待機系から運用系に遷移して、運用系であった他の前記管理装置から前記処理シーケンスの実行管理を引き継いだときに、前記処理シーケンスの進行状態を示す状態情報を前記情報処理装置から取得する情報取得手段と、
    前記情報取得手段によって取得された前記状態情報に基づいて、前記処理シーケンスの未実行の処理ステップの実行を前記情報処理装置に継続させる制御手段と、
    を有することを特徴とする情報処理システム。
  2. 前記各管理装置は、
    運用系として動作する際に、前記処理シーケンスの各処理ステップが実行されるたびに、前記状態情報を前記情報処理装置から受信する第1の受信手段と、
    待機系として動作中であって、運用系の前記管理装置によって前記処理シーケンスの実行管理が行われる間、前記状態情報のうち、少なくとも、前記処理シーケンスに含まれる最終の処理ステップが実行されたことを示す最終状態情報を、運用系の前記管理装置から受信する第2の受信手段と、
    をさらに有し、
    前記情報取得手段は、前記処理シーケンスの実行管理を運用系であった他の前記管理装置から引き継ぐとき、前記第2の受信手段によって前記最終状態情報が未受信である場合に、前記状態情報を前記情報処理装置から取得する、
    ことを特徴とする請求項1記載の情報処理システム。
  3. 前記各管理装置は、待機系として動作する間、前記情報処理装置の状態を示すフラグ情報を記録媒体に設定し、運用系の前記管理装置によって前記処理シーケンスの実行管理が開始された後、前記最終状態情報を前記第2の受信手段が受信したときに、前記フラグ情報の値を変化させるフラグ設定手段をさらに有し、
    前記情報取得手段は、待機系から運用系に遷移したとき、前記フラグ情報の値が前記最終状態情報の受信によって変化していない場合に、前記状態情報を前記情報処理装置から取得する、
    ことを特徴とする請求項2記載の情報処理システム。
  4. 前記第2の受信手段は、運用系の前記管理装置による前記処理シーケンスの実行管理中において、運用系の前記管理装置の前記第1の受信手段が前記情報処理装置から前記状態情報を受信するたびに、当該第1の受信手段が受信した状態情報を運用系の前記管理装置から受信し、
    前記制御手段は、前記処理シーケンスの実行管理を運用系の前記管理装置から引き継ぐとき、前記情報取得手段によって前記情報処理装置から取得された前記状態情報と、前記第2の受信手段による受信済みの前記状態情報とを照合して、前記情報処理装置において処理ステップが所定の順で実行されているか否かを判定する、
    ことを特徴とする請求項2または3記載の情報処理システム。
  5. 前記制御手段は、前記情報取得手段によって取得された前記状態情報が、前記情報受信手段が最後に受信した前記状態情報と同一であるか、または、最後に受信した前記状態情報より1処理ステップ分だけ前記処理シーケンスが進行した状態を示す場合に、前記情報取得手段によって取得された前記状態情報に基づいて、前記処理シーケンスの未実行の処理ステップの実行を前記情報処理装置に継続させることを特徴とする請求項4記載の情報処理システム。
  6. 情報処理装置における処理シーケンスの実行を管理する管理装置において、
    前記処理シーケンスに含まれる処理ステップを所定の順で実行させる実行管理処理を他の管理装置から引き継ぐとき、前記処理シーケンスの進行状態を示す状態情報を前記情報処理装置から取得する情報取得手段と、
    前記情報取得手段によって取得された前記状態情報に基づいて、前記処理シーケンスの未実行の処理ステップの実行を前記情報処理装置に継続させる制御手段と、
    を有することを特徴とする管理装置。
  7. 情報処理装置における処理シーケンスの実行を管理する管理方法において、
    複数の管理装置のうち運用系として動作する第1の管理装置が、前記処理シーケンスに含まれる処理ステップを前記情報処理装置に所定の順で実行させることで、前記処理シーケンスの実行を管理し、
    運用系の管理装置が変更されて、前記複数の管理装置のうち新たに運用系となった第2の管理装置が前記処理シーケンスの実行管理を前記第1の管理装置から引き継ぐとき、前記第2の管理装置が、前記処理シーケンスの進行状態を示す状態情報を前記情報処理装置から取得し、
    前記第2の管理装置が、前記情報処理装置から取得した前記状態情報に基づいて、前記処理シーケンスの未実行の処理ステップの実行を前記情報処理装置に継続させる、
    ことを特徴とする管理方法。
JP2012529447A 2010-08-20 2010-08-20 情報処理システム、管理装置、および情報処理装置の管理方法 Expired - Fee Related JP5585654B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/064043 WO2012023200A1 (ja) 2010-08-20 2010-08-20 情報処理システム、管理装置、および情報処理装置の管理方法

Publications (2)

Publication Number Publication Date
JPWO2012023200A1 JPWO2012023200A1 (ja) 2013-10-28
JP5585654B2 true JP5585654B2 (ja) 2014-09-10

Family

ID=45604874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012529447A Expired - Fee Related JP5585654B2 (ja) 2010-08-20 2010-08-20 情報処理システム、管理装置、および情報処理装置の管理方法

Country Status (3)

Country Link
US (1) US8732500B2 (ja)
JP (1) JP5585654B2 (ja)
WO (1) WO2012023200A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022195601A1 (en) * 2021-03-19 2022-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Data management in a network function

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5871058B2 (ja) * 2012-03-27 2016-03-01 富士通株式会社 管理制御装置、情報処理システム及び管理制御方法
WO2014147773A1 (ja) * 2013-03-20 2014-09-25 富士通株式会社 ハードウェア装置およびハードウェア装置の制御方法
JP6230092B2 (ja) * 2013-03-22 2017-11-15 Necプラットフォームズ株式会社 監視システム
WO2015040690A1 (ja) * 2013-09-18 2015-03-26 富士通株式会社 情報処理装置及び方法
JP6324229B2 (ja) * 2014-06-13 2018-05-16 ヤフー株式会社 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム
JP6435692B2 (ja) * 2014-07-31 2018-12-12 富士通株式会社 情報処理システム、情報処理装置の制御装置、及び情報処理装置の制御プログラム
JP6468079B2 (ja) 2015-06-01 2019-02-13 富士通株式会社 制御システム及び同システムの処理方法
JP6577442B2 (ja) * 2016-11-01 2019-09-18 日本電信電話株式会社 不正侵入防止装置、不正侵入防止方法および不正侵入防止プログラム
US20180367870A1 (en) * 2017-06-14 2018-12-20 Quanta Computer Inc. System for determining slot location in an equipment rack
JP6892599B2 (ja) * 2017-07-05 2021-06-23 富士通株式会社 最適化装置及び最適化装置の制御方法
JP6923790B2 (ja) * 2017-07-06 2021-08-25 富士通株式会社 最適化装置及び最適化装置の制御方法
JP6905189B2 (ja) * 2017-08-18 2021-07-21 富士通株式会社 情報処理装置、情報処理システムおよび制御プログラム
JP6946867B2 (ja) * 2017-09-01 2021-10-13 富士通株式会社 情報処理装置、管理装置およびプログラム
JP7174244B2 (ja) 2018-12-26 2022-11-17 富士通株式会社 最適化装置及び最適化装置の制御方法
CN114008563B (zh) * 2019-06-17 2023-10-03 日立数据管理有限公司 用于识别机架上的服务器并基于服务器的物理位置给服务器分配适当的ip地址的系统和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097031A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited 情報処理装置及び処理実行方法
JP2007316837A (ja) * 2006-05-24 2007-12-06 Fujitsu Ltd サーバシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5914054A (ja) 1982-07-14 1984-01-24 Fujitsu Ltd 予備コンソ−ル切替制御方式
US4907150A (en) * 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
US5276890A (en) * 1989-11-30 1994-01-04 Kabushiki Kaisha Toshiba Resume control system and method for executing resume processing while checking operation mode of CPU
GB9419246D0 (en) * 1994-09-23 1994-11-09 Cambridge Consultants Data processing circuits and interfaces
JPH08314836A (ja) * 1995-05-19 1996-11-29 Hitachi Ltd 管理サービスオブジェクト提供方法
JP4421704B2 (ja) * 1999-07-28 2010-02-24 レノボ シンガポール プライヴェート リミテッド コンピュータのパワーオン方法及びコンピュータ
US6968469B1 (en) * 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
US7685348B2 (en) 2001-08-07 2010-03-23 Hewlett-Packard Development Company, L.P. Dedicated server management card with hot swap functionality
US7949607B2 (en) * 2004-06-21 2011-05-24 Canon Kabushiki Kaisha Image forming apparatus, license managing method for applications executed by image forming apparatus, program for implementing the method, and storage medium storing the program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097031A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited 情報処理装置及び処理実行方法
JP2007316837A (ja) * 2006-05-24 2007-12-06 Fujitsu Ltd サーバシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022195601A1 (en) * 2021-03-19 2022-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Data management in a network function

Also Published As

Publication number Publication date
WO2012023200A1 (ja) 2012-02-23
US8732500B2 (en) 2014-05-20
US20130290763A1 (en) 2013-10-31
JPWO2012023200A1 (ja) 2013-10-28

Similar Documents

Publication Publication Date Title
JP5585654B2 (ja) 情報処理システム、管理装置、および情報処理装置の管理方法
US8707290B2 (en) Firmware update in an information handling system employing redundant management modules
US6968414B2 (en) Monitoring insertion/removal of server blades in a data processing system
US7043650B2 (en) System and method for intelligent control of power consumption of distributed services during periods when power consumption must be reduced
EP2273371B1 (en) Failover procedure for server system
US7203846B2 (en) System and method for intelligent control of power consumption of distributed services during periods of reduced load
US6957353B2 (en) System and method for providing minimal power-consuming redundant computing hardware for distributed services
CN102132523B (zh) 使用网络连接的设备电源管理
CN108804114A (zh) 用于服务器装置的固件以及自定义设定的设定方法
US20030033547A1 (en) System and method for power management in a server system
US20090024764A1 (en) Tracking The Physical Location Of A Server In A Data Center
JP4814982B2 (ja) ストレージ制御装置及びストレージ装置の動作制御方法
US8499080B2 (en) Cluster control apparatus, control system, control method, and control program
JP5282569B2 (ja) 管理装置、管理システム、管理方法及び管理プログラム
CN117251333A (zh) 一种硬盘信息获取方法、装置、设备及存储介质
US20180004268A1 (en) Information processing system, information processing apparatus, location identification method, and non-transitory computer-readable storage medium
WO2010020137A1 (zh) 上电保护方法、模块及系统
US8812900B2 (en) Managing storage providers in a clustered appliance environment
CN117289963A (zh) 在线更新服务器平台服务固件的目标区域的方法及设备
WO2020185435A1 (en) Firmware update system
US7590883B2 (en) Management of warranty information in vital product data for replaceable units of data handling systems
US8074109B1 (en) Third-party voting to select a master processor within a multi-processor computer
CN1972207A (zh) 管理通用即插即用装置的信息的方法和设备
CN116302844B (zh) 硬盘信息的采集方法、装置、计算机设备及存储介质
CN111416721A (zh) 运用于数据中心的机柜异常状态的远端排除方法

Legal Events

Date Code Title Description
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: 20140624

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140707

R150 Certificate of patent or registration of utility model

Ref document number: 5585654

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees