以下、図面を参照しながら、実施形態を詳細に説明する。
図1は、複数のSBを含む情報処理システムの構成例を示している。図1の情報処理システム101は、SB#0〜SB#3、MMB#0、及びMMB#1を含む。
MMB#0及びMMB#1は、冗長構成のMMBであり、ファームウェアを用いて、情報処理システム101全体の管理及び監視を行う。ユーザは、MMBが提供するユーザインタフェースを介して、1つ以上のSB及び1つ以上のIO(Input/Output)資源を選択することで、パーティションを構築することができる。オペレーティングシステム(Operating System,OS)及びBIOS(Basic Input/Output System)は、パーティション単位で動作し、MMB#0及びMMB#1は、パーティション情報を保持する。
情報処理システム101内には、1つ又は複数のパーティションを構築することができる。1つのパーティションが複数のSBを含む場合、ユーザは、いずれか1つのSBをHome SBとして設定する。
図1の例では、パーティション#0は、SB#0及びSB#1を含み、パーティション#1は、SB#2のみを含む。SB#0は、パーティション#0のHome SBであり、SB#1は、非Home SBである。SB#2は、パーティション#1のHome SBである。Home BMCは、パーティション内のすべてのSB上のハードウェアにアクセスでき、OSと通信し、WebUI(Web User Interface)等を介して、BMCが持つ各機能を外部に直接提供するBMCである。
SB#i(i=0〜3)は、BMC112−i及びハードウェア113−iを含む。ハードウェア113−iは、CPU(Central Processing Unit)#0、CPU#1、メモリ114−i、電圧センサ115−i等のハードウェアデバイスを含む。BMC112−iは、ハードウェア113−iとI2C(Inter-Integrated Circuit)等の信号線で接続されており、IPMIに準じてハードウェア113−iの管理及び監視を行う。
Home SBのBMCは、センサ定義情報と、そのSB上のハードウェアデバイスが出力する情報とを保持し、非Home SBのBMCは、そのSB上のハードウェアデバイスが出力する情報のみを保持する。ハードウェアデバイスが出力する情報は、センサデータと呼ばれることもある。
OS111−j(j=0,1)は、パーティション#j内のHome SBのCPU上で動作し、KCS(Keyboard Controller Style)インタフェースによって、Home SB上のBMCにアクセスすることができる。
BMC112−0〜BMC112−3、MMB#0、及びMMB#1は、情報処理システム101内に閉じたプライベートローカルエリアネットワーク(Local Area Network,LAN)によって接続されている。MMB#j(j=0,1)は、プライベートLANを介して、BMC112−0〜BMC112−3と通信することができ、BMC112−iは、プライベートLANを介して、他のBMC112−k(k≠i)と通信することができる。
Home SBのBMCは、センサ定義情報に基づいて、非Home SBのBMCから、そのSB上のハードウェアが出力するセンサデータを取得する。OSは、パーティション内のHome SB上のBMCを介して、非Home SB上のBMCからセンサデータを収集する。ここで、非Home SB上のハードウェアが出力するセンサデータを収集する時間を短縮するために、比較例の技術を用いる方法が考えられる。
図2は、上記比較例の技術を用いた情報処理システムの構成例を示している。図2の情報処理システム201は、パーティション#0及びMMB211を含み、パーティション#0は、SB#0及びSB#1を含む。SB#0は、パーティション#0のHome SBであり、SB#1は、非Home SBである。
SB#i(i=0,1)は、BMC212−i、PCH(Platform Controller Hub)213−i、ハードウェア214−i、及びスイッチ部215−iを含む。ハードウェア214−iは、CPU221−i及びメモリ222−iを含む。BMC212−iは、ハードウェア214−iの管理及び監視を行う。
PCH213−iは、CPU221−iと周辺IOデバイスとの間の通信を管理するLSI(Large-scale Integrated Circuit)である。周辺IOデバイスに接続されるバスとしては、SATA(Serial AT Attachment)、USB(Universal Serial Bus)、LPC(Low Pin Count)バス等が用いられる。
PCH213−iとCPU221−iは、DMI(Direct Media Interface)バス等の信号線によって接続され、PCH213−iとBMC212−iは、LPCバス等の信号線によって接続される。CPUアーキテクチャの制約上、CPU221−0上でOSが起動された後、OSはHome SB上のPCH213−0のみを認識することができる。
PCH213−iは、BMC212−i又は他のIOデバイスから受信する信号をCPU221−iへ出力し、CPU221−iから受信する信号をBMC212−i又は他のIOデバイスへ出力する。
スイッチ部215−iは、スイッチ制御部231−i、入力側スイッチ部232−i、及び出力側スイッチ部233−iを含む。入力側スイッチ部232−iは、I2C等の信号線で、ハードウェア214−i、出力側スイッチ部233−0、及び出力側スイッチ部233−1に接続されている。出力側スイッチ部233−iは、I2C等の信号線で、BMC212−i、入力側スイッチ部232−0、及び入力側スイッチ部232−1に接続されている。スイッチ制御部231−iは、入力側スイッチ部232−i及び出力側スイッチ部233−iを切り替えることで、信号線の接続を変更する。
BMC212−iは、スイッチ制御部231−iとGPIO(General Purpose Input/Output)等の信号線で接続されている。BMC212−iは、スイッチ制御部231−iを介して、入力側スイッチ部232−i及び出力側スイッチ部233−iを切り替えることで、SB#0又はSB#1上のいずれのハードウェア214−iに対してもアクセスすることができる。
パーティション#0の構築時に、MMB211は、Home SBであるSB#0上のBMC212−0に対して、パーティション#0に属するSBの識別情報として、“SB#0”及び“SB#1”を通知する。さらに、MMB211は、BMC212−0に対して、SB#0がパーティション#0のHome SBであることを通知する。
BMC212−0は、制御信号をスイッチ制御部231−0へ出力し、スイッチ制御部231−0は、入力側スイッチ部232−0を制御する。これにより、ハードウェア214−0が、入力側スイッチ部232−0を介して、出力側スイッチ部233−0に接続される。
次に、MMB211は、非Home SBであるSB#1上のBMC212−1に対して、Home SBの識別情報“SB#0”を通知する。
BMC212−1は、制御信号をスイッチ制御部231−1へ出力し、スイッチ制御部231−1は、入力側スイッチ部232−1を制御する。これにより、ハードウェア214−1が、入力側スイッチ部232−1を介して、出力側スイッチ部233−0に接続される。
センサデータ収集時に、SB#0のCPU221−0上で動作するOSは、BMC212−0に対して、パーティション#0のハードウェアのセンサデータを取得する取得依頼を発行する。
BMC212−0は、制御信号をスイッチ制御部231−0へ出力し、スイッチ制御部231−0は、出力側スイッチ部233−0を制御する。これにより、BMC212−0が、出力側スイッチ部233−0を介して、ハードウェア214−0に接続される。そこで、BMC212−0は、ハードウェア214−0にアクセスして、ハードウェア214−0からセンサデータを取得する。
次に、BMC212−0は、制御信号をスイッチ制御部231−0へ出力し、スイッチ制御部231−0は、出力側スイッチ部233−0を制御する。これにより、BMC212−0が、出力側スイッチ部233−0及び入力側スイッチ部232−1を介して、ハードウェア214−1に接続される。そこで、BMC212−0は、ハードウェア214−1にアクセスして、ハードウェア214−1からセンサデータを取得する。
次に、BMC212−0は、ハードウェア214−0及びハードウェア214−1から取得したセンサデータを、OSへ返信する。
図2の情報処理システム201によれば、Home SB上のBMCは、Home SB上のハードウェアだけでなく、非Home SB上のハードウェアからもセンサデータを直接取得することができる。したがって、OS又はOS上で動作するエージェントソフトウェアからの取得依頼に対して、非Home SB上のBMCを経由することなく、パーティション内のすべてのハードウェアのセンサデータを返信することが可能になる。これにより、パーティション内のセンサデータを収集する時間が短縮される。
複数のSBを含むパーティション内において、システム運用中に非Home SB上のBMCが故障した場合、MMBは、その非Home SBからセンサデータを取得することができなくなる。しかし、MMBは、Home SB上のBMCに対して、故障したBMCを搭載するSBのセンサデータを問い合わせることで、間接的にそのSBのセンサデータを取得することが可能である。
一方、システム運用中にHome SB上のBMCが故障した場合、MMBからそのパーティションに対する操作を行うことができなくなるが、OSは動作を継続する。この場合、ユーザは、ハードウェアの管理及び監視を放棄して、システム運用を継続させることが可能である。しかしながら、ハードウェアの管理及び監視を放棄すると、ハードウェアのセンサデータが収集されなくなるため、エラーが発生する可能性がある状態でシステム運用が継続されることになる。
そこで、システム運用を一旦停止して、Home SB上でBMC、PCH等が搭載されているボード、又はHome SB自体を交換することで、Home SB上のBMCの機能を回復させる方法が考えられる。しかしながら、システム運用の停止は極力避けることが望ましい。
Home SB上のBMCの役割をパーティション内の別のSB上のBMCに引き継がせることができれば、システム運用を停止することなく、ハードウェアの管理及び監視を継続することができる。以下では、Home SB上のBMCの役割を別のBMCに引き継がせることを、Home BMCを切り替えると言い換えて記載することがある。
通常、Home BMCとHome SB上のBMCは一致しているが、Home BMCを切り替えた場合、Home SBは変更されず、別のSB上のBMCが新たなHome BMCとなる。このため、Home BMCとHome SB上のBMCは一致しなくなる。
図2の情報処理システム201において、Home BMCの切り替えは、各SB上の入力側スイッチ部232−i及び出力側スイッチ部233−iの切り替えによって実現できる。しかし、入力側スイッチ部232−i及び出力側スイッチ部233−iを制御できるのは、同じSB上のBMC212−iのみである。
Home SB上のBMC212−0が故障した場合であっても、非Home SB上のBMC212−1は、入力側スイッチ部232−1及び出力側スイッチ部233−1を切り替えることができる。しかし、故障したBMC212−0が入力側スイッチ部232−0及び出力側スイッチ部233−0を切り替えることはできず、ハードウェア214−0をBMC212−1に正しく接続することは難しい。
また、各ハードウェア214−iのセンサデータは、Home BMCによって管理されており、所定時間(例えば、10秒)に1度の頻度で、MMB211に保存される。しかし、BMC212−0が故障した場合、最後にセンサデータがMMB211に保存されてから、故障発生の直前までに取得されたセンサデータを、別のBMCに引き継がせることはできない。
さらに、Home BMCは、システム運用中にPCH213−0を介して、CPU221−0上で動作するOSと通信することが多い。例えば、仮想メディア、サーバ管理用のKCSコマンド通信、電源制御、ハードウェアエラー監視等を行う場合に、Home BMCとOSの間で通信が発生する。また、各SB上のBMC212−iは、同じSB上のPCH213−iのみと物理的に接続されており、他のSB上のPCH213−iとは物理的に接続されていない。
このため、仮にHome BMCを切り替えることができたとしても、Home SB以外のSB上に存在する新たなHome BMCは、OSが認識しているPCH213−0と通信することができない。したがって、新たなHome BMCは、OSとの通信を伴うサービスを提供することが難しい。
図3は、実施形態の情報処理システムの構成例を示している。図3の情報処理システム301は、情報処理装置311−1〜情報処理装置311−N(Nは2以上の整数)を含む。各情報処理装置311−i(i=1〜N)は、ハードウェア321−i、制御部322−i、及びHW(Hardware)情報スイッチ部323−iを含む。
制御部322−iは、ハードウェア321−iを管理し、HW情報スイッチ部323−iは、他の情報処理装置311−k(k≠i)、ハードウェア321−i、及び制御部322−iの間の接続を切り替える。
情報処理装置311−1内の制御部322−1の故障が検知された場合、HW情報スイッチ部323−1は、ハードウェア321−1を、情報処理装置311−1と情報処理装置311−2との間のHW情報信号線331に接続する制御を行う。このとき、HW情報スイッチ部323−1は、情報処理装置311−1の外部から受信するHW情報制御信号に従って、ハードウェア321−1をHW情報信号線331に接続する制御を行う。
制御部322−1の故障が検知された場合、HW情報スイッチ部323−2は、制御部322−2をHW情報信号線331に接続する制御を行う。そして、制御部322−2は、HW情報信号線331を介して、ハードウェア321−1が出力する情報を取得する。
図3の情報処理システム301によれば、情報処理システムにおいて1つの情報処理装置内の制御部が故障した場合に、他の情報処理装置内の制御部が、故障した制御部を含む情報処理装置内のハードウェアから情報を直接取得することができる。
図4は、図3の情報処理システム301の第1の具体例を示している。図4の情報処理システム401は、パーティション#0及びMMB411を含み、パーティション#0は、SB#0及びSB#1を含む。SB#0は、パーティション#0のHome SBであり、SB#1は、SubHome SBである。SubHome SBは、Home SB上のBMCが故障した際にHome BMCの役割を引き継ぐBMCが搭載されているSBである。
SB#i(i=0,1)は、BMC412−i、PCH413−i、ハードウェア414−i、HW情報スイッチ部415−i、及びPCHスイッチ部416−iを含む。ハードウェア414−iは、CPU421−i及びメモリ422−iを含む。ハードウェア414−iは、電圧センサ、温度センサ等の他のハードウェアデバイスを含んでいてもよい。BMC412−iは、ハードウェア414−iの管理及び監視を行う。
SB#0及びSB#1の各々は、図3の情報処理装置311−iに対応する。パーティション#0は、3個以上のSBを含んでいてもよい。この場合、各SBは、SB#0及びSB#1と同様の構成を有する。
MMB411は、プライベートLANを介して、BMC412−0及びBMC412−1と通信することができ、BMC412−0は、プライベートLANを介して、BMC412−1と通信することができる。
MMB411は、ユーザによってパーティションが作成され、Home SBが設定されたときに、SubHome SBを設定することができる。例えば、MMB411は、パーティションに含まれるHome SB以外のSBのうち、識別情報“SB#i”に含まれる番号iが最も小さいSBを、SubHome SBとして選択する。そして、Home SB上のBMCよりも先に、SubHome SB上のBMCが故障した場合、MMB411は、次に小さな番号iを有するSBを、新たなSubHome SBとして選択する。
パーティションに含まれるSB上のBMCのうち、Home SB以外のすべてのSB上のBMCが故障した場合は、BMCの冗長性がなくなるため、SubHome SBは設定されない。
PCH413−iは、CPU421−iと周辺IOデバイスとの間の通信を管理する。PCH413−iとCPU421−iは、DMIバス等の信号線によって接続される。CPU421−0上でOSが起動された後、OSはHome SB上のPCH413−0のみを認識することができる。PCH413−iは、通信管理部の一例である。
HW情報スイッチ部415−iは、スイッチ制御部431−i、入力側HW情報スイッチ部432−i、及び出力側HW情報スイッチ部433−iを含む。入力側HW情報スイッチ部432−iは、I2C等のHW情報信号線で、ハードウェア414−i、出力側HW情報スイッチ部433−0、及び出力側HW情報スイッチ部433−1に接続されている。情報処理システム401が3個以上のSBを含む場合、入力側HW情報スイッチ部432−iは、すべてのSB上の出力側HW情報スイッチ部433−iに接続される。
出力側HW情報スイッチ部433−iは、I2C等のHW情報信号線で、BMC412−i、入力側HW情報スイッチ部432−0、及び入力側HW情報スイッチ部432−1に接続されている。情報処理システム401が3個以上のSBを含む場合、出力側HW情報スイッチ部433−iは、すべてのSB上の入力側HW情報スイッチ部432−iに接続される。
スイッチ制御部431−iは、入力側HW情報スイッチ部432−i及び出力側HW情報スイッチ部433−iを切り替えることで、HW情報信号線の接続を変更する。
BMC412−i及びMMB411は、スイッチ制御部431−iとGPIO等の信号線で接続されている。BMC412−iは、スイッチ制御部431−iを介して、入力側HW情報スイッチ部432−i及び出力側HW情報スイッチ部433−iを切り替えることで、SB#0又はSB#1上のいずれのハードウェア414−iに対してもアクセスすることができる。MMB411も、スイッチ制御部431−iを介して、入力側HW情報スイッチ部432−i及び出力側HW情報スイッチ部433−iを切り替えることができる。
PCHスイッチ部416−iは、スイッチ制御部441−i、入力側PCHスイッチ部442−i、及び出力側PCHスイッチ部443−iを含む。PCHスイッチ部416−i、入力側PCHスイッチ部442−i、及び出力側PCHスイッチ部443−iは、プロセッサ通信スイッチ部、入力側プロセッサ通信スイッチ部、及び出力側プロセッサ通信スイッチ部の一例である。
入力側PCHスイッチ部442−iは、LPCバス等のPCH信号線で、PCH413−i、出力側PCHスイッチ部443−0、及び出力側PCHスイッチ部443−1に接続されている。情報処理システム401が3個以上のSBを含む場合、入力側PCHスイッチ部442−iは、すべてのSB上の出力側PCHスイッチ部443−iに接続される。
出力側PCHスイッチ部443−iは、LPCバス等のPCH信号線で、BMC412−i、入力側PCHスイッチ部442−0、及び入力側PCHスイッチ部442−1に接続されている。情報処理システム401が3個以上のSBを含む場合、出力側PCHスイッチ部443−iは、すべてのSB上の入力側PCHスイッチ部442−iに接続される。
LPCバスは、レガシーIOデバイスをサポートするためのバスである。CPU421−i上で動作するOSは、LPCバスを経由するKCSインタフェースによって、PCH413−iを介してBMC412−iと通信することができる。LPCバス等のPCH信号線は、プロセッサ通信信号線の一例である。
スイッチ制御部441−iは、入力側PCHスイッチ部442−i及び出力側PCHスイッチ部443−iを切り替えることで、PCH信号線の接続を変更する。
MMB411は、スイッチ制御部441−iとGPIO等の信号線で接続されている。MMB411は、スイッチ制御部441−iを介して、入力側PCHスイッチ部442−i及び出力側PCHスイッチ部443−iを切り替える。これにより、BMC412−iは、SB#0又はSB#1上のいずれのPCH413−iに対してもアクセスすることができる。
図5は、図4のMMB411の機能的構成例を示している。図5のMMB411は、通知部501、HW情報スイッチ処理部502、PCHスイッチ処理部503、及びHome引き継ぎ処理部504を含み、パーティション情報511及び引き継ぎ情報512を保持する。
パーティション情報511は、情報処理システム401内のパーティション構成を示す情報である。パーティション情報511は、各パーティションに属する各SBの識別情報を含む。さらに、パーティション情報511は、各パーティションのHome SBを示す識別情報、各パーティションのSubHome SBを示す識別情報、及び各パーティションのHome BMCを含むSBを示す識別情報を含む。
図4の例では、Home SBの識別情報は“SB#0”であり、SubHome SBの識別情報は“SB#1”であり、Home BMCを含むSBの識別情報は“SB#0”である。通知部501は、ユーザによってパーティションが作成されたときに、パーティション情報511を各BMC412−iへ送信する。
引き継ぎ情報512は、Home SB上のBMC412−0(Home BMC)が故障した際に、SubHome SB上のBMC412−1によって引き継がれる情報である。BMC412−0とMMB411との間で引き継ぎ情報512の同期が行われ、BMC412−0が故障した場合、新たなHome BMCであるBMC412−1が、MMB411から引き継ぎ情報512を取得する。
引き継ぎ情報512は、エラー監視情報、SEL(System Event Log)情報、NVRAM(Non-Volatile Random Access Memory)情報、BMC内部変数、BIOS情報、LPC設定情報、及びKCS設定情報を含む。
エラー監視情報、SEL情報、及びNVRAM情報は、Home SB上に設けられた不図示のNVRAMに記憶されており、BMC内部変数及びBIOS情報は、Home BMC内のメモリに記憶されている。LPC設定情報及びKCS設定情報は、Home BMC内のCPUに保持されている。
エラー監視情報は、Home BMCによってパーティション内の各SB上のハードウェア414−iから取得されたセンサデータである。したがって、エラー監視情報には、Home SB上のハードウェア414−0が出力したセンサデータだけでなく、SubHome SB上のハードウェア414−1が出力したセンサデータも含まれる。
BMC内部変数は、Home BMCがハードウェア414−iの管理及び監視を行うために、ユーザによって設定された変数であり、BIOS情報は、BMC−PCH−OS間の通信を行うために用いられる情報である。SEL情報は、パーティション内におけるシステムイベントの履歴を示す情報であり、NVRAM情報は、Home SB上のNVRAMに記憶されている、SEL情報以外の情報である。NVRAM情報には、パーティション内の各SBのCPU使用率、消費電力等の統計情報が含まれている。
LPC設定情報は、LPCバスの接続に用いられる情報であり、ボーレート、接続の制御方式、受信側レジスタのIOアドレス等を含む。KCS設定情報は、KCSインタフェースの接続に用いられる情報であり、受信側レジスタのIOアドレス、サーバ管理ソフトウェアからコマンドによって設定された制御情報等を含む。一方、USB、PMBus(Power Management Bus)等の接続に関する情報は、引き継ぎ情報512には含まれない。
PCHスイッチ処理部503は、パーティション情報511が示すパーティション構成に応じて、PCH制御信号を各SB上のPCHスイッチ部416−iへ送信する。PCH制御信号は、プロセッサ通信制御信号の一例である。PCHスイッチ部416−iは、受信したPCH制御信号に従って、入力側PCHスイッチ部442−i及び出力側PCHスイッチ部443−iを切り替える制御を行う。
パーティションの構築時には、同じSB上のPCH413−iとBMC412−iが接続されるように、入力側PCHスイッチ部442−i及び出力側PCHスイッチ部443−iが切り替えられる。そして、BMC412−0は、PCH413−0を介して、CPU421−0上で動作するOSと通信する。
Home引き継ぎ処理部504は、BMC412−0が正常に動作しているか否かをチェックし、BMC412−0の故障を検知した場合、引き継ぎ情報512をBMC412−1へ送信する。そして、Home引き継ぎ処理部504は、パーティション情報511に含まれる、Home BMCを含むSBの識別情報を“SB#1”に変更し、通知部501は、変更後のパーティション情報511をBMC412−1へ送信する。
次に、HW情報スイッチ処理部502は、HW情報制御信号をHome SB上のHW情報スイッチ部415−0へ送信する。HW情報スイッチ部415−0は、受信したHW情報制御信号に従って、ハードウェア414−0を、入力側HW情報スイッチ部432−0と出力側HW情報スイッチ部433−1との間のHW情報信号線に接続する制御を行う。
一方、PCHスイッチ処理部503は、PCH制御信号を各SB上のPCHスイッチ部416−iへ送信する。PCHスイッチ部416−0は、受信したPCH制御信号に従って、PCH413−0を、入力側PCHスイッチ部442−0と出力側PCHスイッチ部443−1との間のPCH信号線に接続する制御を行う。また、PCHスイッチ部416−1は、受信したPCH制御信号に従って、BMC412−1を、同じPCH信号線に接続する制御を行う。そして、BMC412−1は、そのPCH信号線に接続されたPCH413−0を介して、CPU421−0上で動作するOSと通信する。
図6は、図4のBMC412−iの機能的構成例を示している。図6のBMC412−iは、HW情報スイッチ処理部601及び情報引き継ぎ処理部602を含み、引き継ぎ情報611を保持する。ただし、Home SB上のBMCのみが引き継ぎ情報611を保持しており、それ以外のBMC412−iは、引き継ぎ情報611を保持していない。
引き継ぎ情報611のうち、エラー監視情報、SEL情報、及びNVRAM情報は、BMC412−iの外部に設けられたNVRAMから取得され、LPC設定情報及びKCS設定情報は、BMC412−i内のCPUから取得される。BMC内部変数及びBIOS情報は、BMC412−i内のメモリに記憶されている。
引き継ぎ情報611に含まれるいずれかの情報が更新された場合、図5の引き継ぎ情報512が同期して更新される。例えば、新たなセンサデータが取得されたときは、そのセンサデータが直ちにMMB411へ送信され、BMC内部変数が変更されたときは、そのBMC内部変数が直ちにMMB411へ送信される。これにより、MMB411は、Home SB上で更新された情報を遅滞なく取得することができる。
HW情報スイッチ処理部601は、MMB411から受信したパーティション情報511が示すパーティション構成に応じて、HW情報制御信号をHW情報スイッチ部415−iへ出力する。HW情報スイッチ部415−iは、受信したHW情報制御信号に従って、入力側HW情報スイッチ部432−i及び出力側HW情報スイッチ部433−iを切り替える制御を行う。
パーティションの構築時には、各SB上のハードウェア414−iとHome SB上のBMC412−0が接続されるように、入力側HW情報スイッチ部432−i及び出力側HW情報スイッチ部433−iが切り替えられる。そして、BMC412−0は、ハードウェア414−0及びハードウェア414−1が出力するセンサデータを取得する。
BMC412−1の情報引き継ぎ処理部602は、MMB411から受信した変更後のパーティション情報511に含まれる、Home BMCを含むSBの識別情報“SB#1”に基づいて、BMC412−1がHome BMCに設定されたことを検知する。
次に、情報引き継ぎ処理部602は、MMB411から受信した引き継ぎ情報512を、引き継ぎ情報611としてBMC412−1内のメモリに格納する。そして、情報引き継ぎ処理部602は、引き継ぎ情報611のうち、エラー監視情報、SEL情報、及びNVRAM情報をNVRAMに格納し、LPC設定情報及びKCS設定情報を、BMC412−1内のCPUが有するレジスタに適用する。
BMC412−1のHW情報スイッチ処理部601は、HW情報制御信号をHW情報スイッチ部415−1へ出力する。HW情報スイッチ部415−1は、受信したHW情報制御信号に従って、BMC412−1を、入力側HW情報スイッチ部432−0と出力側HW情報スイッチ部433−1との間のHW情報信号線に接続する制御を行う。そして、BMC412−1は、そのHW情報信号線を介して、ハードウェア414−0が出力するセンサデータを取得する。
図4の情報処理システム401によれば、MMB411は、各SB上のBMC412−iを経由することなく、HW情報スイッチ部415−iを直接制御することができる。したがって、MMB411は、Home BMCの故障を検知した場合、Home BMCをBMC412−0からBMC412−1に切り替えて、Home SB上のハードウェア414−0を強制的にSubHome SBに接続することが可能になる。
そして、MMB411から新たなHome BMCであることを通知されたBMC412−1は、HW情報スイッチ部415−1を制御することで、ハードウェア414−0からセンサデータを直接取得することができる。
また、MMB411は、各SB上のPCHスイッチ部416−iも直接制御することができる。したがって、MMB411は、Home BMCをBMC412−0からBMC412−1に切り替えた場合、Home SB上のPCH413−0を強制的にSubHome SB上のBMC412−1に接続することが可能になる。これにより、BMC412−1は、PCH413−0を介して、CPU421−0上で動作するOSと通信しながら、OSとの通信を伴うサービスを提供することが可能になる。
さらに、Home BMCとMMB411との間で引き継ぎ情報の同期を行うことで、Home BMCが故障した場合、新たなHome BMCが、故障したHome BMCが管理していた情報を引き継ぐことが可能になる。これにより、エラー監視情報、SEL情報、NVRAM情報、BMC内部変数、BIOS情報、LPC設定情報、及びKCS設定情報が、新たなHome BMCに引き継がれる。
このように、Home SB上のBMCが故障した場合、情報処理システム401を停止させることなく、同じパーティション内の別のBMCが、Home BMCの役割を自動的に引き継ぐことができる。したがって、システム運用を停止することなく、ハードウェアの管理及び監視が継続され、パーティション内のどのBMCが故障したとしても、すべてのBMCが故障しない限り、システム運用を継続することができる。
次に、図7から図16までを参照しながら、図4の情報処理システム401がSB#0〜SB#3を含む場合の具体例について説明する。
図7は、図4のHW情報スイッチ部415−iの構成例を示している。スイッチ制御部431−iは、選択部701及び設定部702を含み、入力側HW情報スイッチ部432−iは、スイッチ711−i〜スイッチ714−iを含み、出力側HW情報スイッチ部433−iは、スイッチ721−i〜スイッチ724−iを含む。
スイッチ711−iは、ポートaとハードウェア414−iの間の接続を切り替え、スイッチ712−iは、ポートbとハードウェア414−iの間の接続を切り替える。スイッチ713−iは、ポートcとハードウェア414−iの間の接続を切り替え、スイッチ714−iは、ポートdとハードウェア414−iの間の接続を切り替える。
スイッチ721−iは、ポートAとBMC412−iの間の接続を切り替え、スイッチ722−iは、ポートBとBMC412−iの間の接続を切り替える。スイッチ723−iは、ポートCとBMC412−iの間の接続を切り替え、スイッチ724−iは、ポートDとBMC412−iの間の接続を切り替える。スイッチ711−iのポートaとスイッチ721−iのポートAは、装置内HW情報信号線によって接続されている。
BMC412−i及びMMB411は、入力側HW情報スイッチ部432−i及び出力側HW情報スイッチ部433−iを切り替える制御信号G1〜制御信号G4を、スイッチ制御部431−iへ出力する。選択部701は、MMB411からの選択信号に従って、BMC412−i又はMMB411のいずれか一方の制御信号G1〜制御信号G4を選択して、設定部702へ出力する。
設定部702へ出力される制御信号G1〜制御信号G4は、HW情報制御信号の一例である。このうち、制御信号G1及び制御信号G2は、出力側HW情報スイッチ部433−iを切り替える制御信号であり、制御信号G3及び制御信号G4は、入力側HW情報スイッチ部432−iを切り替える制御信号である。
設定部702は、制御信号G1及び制御信号G2に基づいて、制御信号XA〜制御信号XDをスイッチ721−i〜スイッチ724−iへそれぞれ出力する。また、設定部702は、制御信号G3及び制御信号G4に基づいて、制御信号Xa〜制御信号Xdをスイッチ711−i〜スイッチ714−iへそれぞれ出力する。
図8は、図7の選択部701の構成例を示している。選択部701は、スイッチ801〜スイッチ804及びスイッチ811〜スイッチ814を含む。スイッチ801〜スイッチ804及びスイッチ811〜スイッチ814は、MMB411から送信される選択信号によって、ON又はOFFに設定される。
スイッチ801〜スイッチ804がONに設定され、スイッチ811〜スイッチ814がOFFに設定された場合、BMC412−iからの制御信号G1〜制御信号G4が設定部702へ出力される。一方、スイッチ801〜スイッチ804がOFFに設定され、スイッチ811〜スイッチ814がONに設定された場合、MMB411からの制御信号G1〜制御信号G4が設定部702へ出力される。
MMB411は、選択信号を選択部701へ送信することで、制御信号G1〜制御信号G4を設定部702へ出力することができる。一方、BMC412−iは、MMB411に対して選択部701の切り替え操作を依頼することで、制御信号G1〜制御信号G4を設定部702へ出力することができる。
図9は、図7の制御信号G1〜制御信号G4の例を示している。図9(a)は、出力側HW情報スイッチ部433−iを切り替える制御信号G1及び制御信号G2の例を示している。例えば、制御信号G1及び制御信号G2がともに論理“0”である場合、スイッチ721−iがONに設定され、スイッチ722−i〜スイッチ724−iがOFFに設定される。したがって、BMC412−iは、出力側HW情報スイッチ部433−iのポートAに接続される。
同様にして、制御信号G1が論理“0”であり、制御信号G2が論理“1”である場合、BMC412−iはポートBに接続され、制御信号G1が論理“1”であり、制御信号G2が論理“0”である場合、BMC412−iはポートCに接続される。制御信号G1及び制御信号G2がともに論理“1”である場合、BMC412−iはポートDに接続される。
図9(b)は、入力側HW情報スイッチ部432−iを切り替える制御信号G3及び制御信号G4の例を示している。例えば、制御信号G3及び制御信号G4がともに論理“0”である場合、スイッチ711−iがONに設定され、スイッチ712−i〜スイッチ714−iがOFFに設定される。したがって、ハードウェア414−iは、入力側HW情報スイッチ部432−iのポートaに接続される。
同様にして、制御信号G1が論理“0”であり、制御信号G2が論理“1”である場合、ハードウェア414−iはポートbに接続され、制御信号G1が論理“1”であり、制御信号G2が論理“0”である場合、ハードウェア414−iはポートcに接続される。制御信号G1及び制御信号G2がともに論理“1”である場合、ハードウェア414−iはポートdに接続される。
図7の構成によれば、スイッチ制御部431−iは、入力側HW情報スイッチ部432−iによってハードウェア414−iの接続先を切り替えることができ、出力側HW情報スイッチ部433−iによってBMC412−iの接続先を切り替えることができる。
図10は、図4のPCHスイッチ部416−iの構成例を示している。スイッチ制御部441−iは、受信部1001及び設定部1002を含み、入力側PCHスイッチ部442−iは、スイッチ1011−i〜スイッチ1014−iを含み、出力側PCHスイッチ部443−iは、スイッチ1021−i〜スイッチ1024−iを含む。
スイッチ1011−i〜スイッチ1014−iの動作は、図7のスイッチ711−i〜スイッチ714−iの動作と同様であり、スイッチ1021−i〜スイッチ1024−iの動作は、図7のスイッチ721−i〜スイッチ724−iの動作と同様である。スイッチ1011−iのポートaとスイッチ1021−iのポートAは、装置内PCH信号線によって接続されている。
MMB411は、入力側PCHスイッチ部442−i及び出力側PCHスイッチ部443−iを切り替える制御信号G1〜制御信号G4を、スイッチ制御部441−iへ送信する。受信部1001は、MMB411から制御信号G1〜制御信号G4を受信して、設定部1002へ出力する。
設定部1002へ出力される制御信号G1〜制御信号G4は、PCH制御信号の一例である。このうち、制御信号G1及び制御信号G2は、出力側PCHスイッチ部443−iを切り替える制御信号であり、制御信号G3及び制御信号G4は、入力側PCHスイッチ部442−iを切り替える制御信号である。
設定部1002は、制御信号G1及び制御信号G2に基づいて、制御信号XA〜制御信号XDをスイッチ1021−i〜スイッチ1024−iへそれぞれ出力する。また、設定部1002は、制御信号G3及び制御信号G4に基づいて、制御信号Xa〜制御信号Xdをスイッチ1011−i〜スイッチ1014−iへそれぞれ出力する。制御信号G1〜制御信号G4と接続先ポートとの対応関係は、図9と同様である。
図10の構成によれば、スイッチ制御部441−iは、入力側PCHスイッチ部442−iによってPCH413−iの接続先を切り替えることができ、出力側PCHスイッチ部443−iによってBMC412−iの接続先を切り替えることができる。
図11は、Home SB上のBMCが同じSB上のハードウェアにアクセスする場合のスイッチ制御の例を示している。各SB#iのポートa〜ポートdは、入力側HW情報スイッチ部432−iのポートを表し、ポートA〜ポートDは、出力側HW情報スイッチ部433−iのポートを表す。
SB#0のポートAは、SB#0のポートaに接続されており、ポートBは、SB#1のポートbに接続されており、ポートCは、SB#2のポートcに接続されており、ポートDは、SB#3のポートdに接続されている。
SB#1のポートAは、SB#1のポートaに接続されており、ポートBは、SB#2のポートbに接続されており、ポートCは、SB#3のポートcに接続されており、ポートDは、SB#0のポートdに接続されている。
SB#2のポートAは、SB#2のポートaに接続されており、ポートBは、SB#3のポートbに接続されており、ポートCは、SB#0のポートcに接続されており、ポートDは、SB#1のポートdに接続されている。
SB#3のポートAは、SB#3のポートaに接続されており、ポートBは、SB#0のポートbに接続されており、ポートCは、SB#1のポートcに接続されており、ポートDは、SB#2のポートdに接続されている。
各SB#i上のBMC412−iは、SB#0〜SB#3のポートA〜ポートDとポートa〜ポートdとの間の接続関係を示す情報を保持している。
図11の例では、パーティション#0は、SB#0及びSB#1を含む。パーティション#0のHome SBであるSB#0上のBMC412−0は、ポートAに接続され、ハードウェア414−0は、ポートaに接続されている。したがって、BMC412−0は、同じSB#0上のハードウェア414−0にアクセスして、センサデータを取得することができる。
例えば、ハードウェア414−0内の複数のハードウェアデバイスがバスに接続されている場合、BMC712−0は、それらのハードウェアデバイスのアドレスを順番に指定することで、それぞれのハードウェアデバイスからセンサデータを取得する。
図12は、Home SB上のBMCが非Home SB上のハードウェアにアクセスする場合のスイッチ制御の例を示している。この例では、SB#0上のBMC412−0は、ポートBに接続され、非Home SB(SubHome SB)であるSB#1上のハードウェア414−1は、ポートbに接続されている。したがって、BMC412−0は、SB#1上のハードウェア414にアクセスして、センサデータを取得することができる。
図13は、Home BMCが故障した際に、SubHome SB上のBMCが同じSB上のハードウェアにアクセスする場合のスイッチ制御の例を示している。SB#0上のBMC412−0が故障した場合、Home BMCがBMC412−0からBMC412−1に切り替えられ、SB#1上のBMC412−1は、ポートAに接続され、ハードウェア414−1は、ポートaに接続される。したがって、BMC412−1は、同じSB#1上のハードウェア414−1にアクセスして、センサデータを取得することができる。
図14は、Home BMCが故障した際に、SubHome SB上のBMCがHome SB上のハードウェアにアクセスする場合のスイッチ制御の例を示している。この例では、SB#1上のBMC412−1は、ポートDに接続され、SB#0上のハードウェア414−0は、ポートdに接続されている。したがって、BMC412−1は、SB#0上のハードウェア414−0にアクセスして、センサデータを取得することができる。
図15は、各SB上のBMCが同じSB上のPCHにアクセスする場合のスイッチ制御の例を示している。各SB#iのポートa〜ポートdは、入力側PCHスイッチ部442−iのポートを表し、ポートA〜ポートDは、出力側PCHスイッチ部443−iのポートを表す。SB間におけるポートの接続は、図11と同様である。
この例では、各SB#i上のBMC412−iは、ポートAに接続され、PCH413−iは、ポートaに接続されている。したがって、Home SBであるSB#0上のBMC412−0は、同じSB#0上のPCH413−0にアクセスし、PCH413−0を介して、CPU421−0上で動作するOSと通信することができる。
図16は、Home BMCが故障した際に、SubHome SB上のBMCがHome SB上のPCHにアクセスする場合のスイッチ制御の例を示している。SB#0上のBMC412−0が故障した場合、Home BMCがBMC412−0からBMC412−1に切り替えられ、SB#1上のBMC412−1は、ポートDに接続され、SB#0上のPCH413−0は、ポートdに接続される。したがって、BMC412−1は、SB#0上のPCH413−0にアクセスし、PCH413−0を介して、CPU421−0上で動作するOSと通信することができる。
次に、MMB411がHome BMCの故障を検知する方法について説明する。各SB上のBMC412−iは、一定時間毎に生存確認用のコマンドをMMB411へ送信する。MMB411は、BMC412−iからコマンドを受信することによって、BMC412−iが正常に動作していることを確認し、BMC412−iへ応答を送信する。BMC412−iは、MMB411から応答を受信することによって、MMB411と通信できていることを確認する。
ここで、Home SB上のBMC412−0のハードウェアの故障又はソフトウェアの不具合により、BMC412−0の動作が停止した場合、BMC412−0からのコマンドが途絶えるため、MMB411は、BMC412−0が故障したと判定する。
ハードウェアの故障の場合、BMC412−0が自然に復旧する可能性は小さいため、直ちにHome BMCを切り替えることが望ましい。一方、ソフトウェアの不具合の場合、ウォッチドッグタイマ等によってBMC412−0がリセットされて復旧する可能性がある。しかし、この場合はファームウェアの障害であると考えられるため、原因を解明してファームウェアを修正することが望ましい。したがって、ハードウェアの故障とソフトウェアの不具合とを区別することなく、いずれの場合であってもHome BMCが切り替えられる。
Home BMCの切り替え後に、故障していたBMC412−0が復旧した場合であっても、一度停止したBMC412−0には、ハードウェアの不具合が残っている可能性がある。このため、原則として、再びHome BMCを切り替えてBMC412−0を稼働させることはしない。この場合、BMC412−0は、保守作業時に交換される。
ただし、2個のSBのみを含むパーティション内で、Home BMCの切り替え後に故障していたBMC412−0が復旧し、新たなHome BMCが故障した場合は、復旧したBMC412−0を再びHome BMCとして稼働させてもよい。
図17は、MMB411が行うHome引き継ぎ処理の例を示すフローチャートである。まず、各SB上のBMCは、一定時間毎に生存確認用のコマンドをMMB411へ送信し、MMB411のHome引き継ぎ処理部504は、Home BMCからコマンドを受信したか否かをチェックする(ステップ1501)。
Home BMCからコマンドを受信した場合(ステップ1501,YES)、Home引き継ぎ処理部504は、Home BMCが正常に動作していると判定し、Home BMCに対して引き継ぎ情報611を要求する(ステップ1502)。そして、Home引き継ぎ処理部504は、Home BMCから引き継ぎ情報611を受信し、受信した引き継ぎ情報611を引き継ぎ情報512として保存する(ステップ1503)。
一方、Home BMCからのコマンドが途絶えた場合(ステップ1501,NO)、Home引き継ぎ処理部504は、Home BMCが故障したと判定し、SubHome SB上のBMCからコマンドを受信したか否かをチェックする(ステップ1504)。
SubHome SB上のBMCからコマンドを受信した場合(ステップ1504,YES)、Home引き継ぎ処理部504は、SubHome SB上のBMCを新たなHome BMCに指定する。そして、Home引き継ぎ処理部504は、引き継ぎ情報512をSubHome SB上のBMCへ送信する(ステップ1506)。
次に、Home引き継ぎ処理部504は、SubHome SB上のBMCに対して引き継ぎ処理の開始を指示する(ステップ1507)。そして、Home引き継ぎ処理部504は、パーティション情報511に含まれる、Home BMCを含むSBの識別情報を、Home SBの識別情報からSubHome SBの識別情報に変更する。通知部501は、変更後のパーティション情報511をSubHome SB上のBMCに通知する(ステップ1508)。
次に、Home引き継ぎ処理部504は、HW情報スイッチ処理部502及びPCHスイッチ処理部503に対して、スイッチ制御の開始を指示する(ステップ1509)。
一方、SubHome SB上のBMCからのコマンドが途絶えた場合(ステップ1504,NO)、Home引き継ぎ処理部504は、SubHome SB上のBMCも故障したと判定する。そして、Home引き継ぎ処理部504は、パーティション内の他のBMCからコマンドを受信したか否かをチェックする(ステップ1505)。
他のBMCからコマンドを受信した場合(ステップ1504,YES)、Home引き継ぎ処理部504は、SubHome SB上のBMCの代わりに、コマンドを送信したBMCを新たなHome BMCに指定して、ステップ1506以降の処理を行う。
パーティション内のすべてのBMCからのコマンドが途絶えた場合(ステップ1505,NO)、Home引き継ぎ処理部504は、異常処理を行う(ステップ1510)。
図18は、MMB411から引き継ぎ処理の開始を指示されたSubHome SB上のBMCが行う情報引き継ぎ処理の例を示すフローチャートである。まず、SubHome SB上のBMCの情報引き継ぎ処理部602は、MMB411から受信した変更後のパーティション情報511に含まれる、Home BMCを含むSBの識別情報を参照する。
情報引き継ぎ処理部602は、参照した識別情報に基づいて、SubHome SB上のBMCがHome BMCに設定されたことを検知する。そして、情報引き継ぎ処理部602は、MMB411から受信した引き継ぎ情報512を、引き継ぎ情報611としてSubHome SB上のBMC内のメモリに格納する。
次に、情報引き継ぎ処理部602は、引き継ぎ情報611を読み出して(ステップ1601)、エラー監視情報、SEL情報、及びNVRAM情報をNVRAMに格納する(ステップ1602)。
次に、情報引き継ぎ処理部602は、LPC設定情報に含まれるボーレートを、SubHome SB上のBMC内のCPUが有するLPCレジスタに適用する(ステップ1603)。次に、情報引き継ぎ処理部602は、LPC設定情報に含まれる接続の制御方式を、LPCレジスタに適用し(ステップ1604)、LPC設定情報に含まれる受信側レジスタのIOアドレスを、LPCレジスタに適用する(ステップ1605)。
次に、情報引き継ぎ処理部602は、KCS設定情報に含まれる受信側レジスタのIOアドレスを、SubHome SB上のBMC内のCPUが有するKCSレジスタに適用する(ステップ1606)。次に、情報引き継ぎ処理部602は、KCS設定情報に含まれる、サーバ管理ソフトウェアによって設定された制御情報を、KCSレジスタに適用する(ステップ1607)。
図18の情報引き継ぎ処理によれば、引き継ぎ情報512に含まれるBIOS情報が、SubHome SB上のBMC内のメモリに格納され、LPC設定情報及びKCS設定情報が、そのBMC内のCPUが有するレジスタに適用される。これにより、SubHome SB上のBMCは、Home SB上のBMCと同様にして、Home SB上で動作するOSと通信することが可能になる。
図19は、Home BMCの故障時に、MMB411のHW情報スイッチ処理部502が行うスイッチ制御処理のシーケンスの例を示している。まず、MMB411のHome引き継ぎ処理部504は、Home BMCであるBMC412−0の故障を検知し、通知部501は、変更後のパーティション情報511を、SubHome SB上のBMC412−1に通知する(手順1701)。これにより、Home BMCがBMC412−0からBMC412−1に切り替えられたことが通知される。
次に、MMB411のHW情報スイッチ処理部502は、MMB411の制御信号G1〜制御信号G4を選択する選択信号を、スイッチ制御部431−0へ送信する。そして、スイッチ制御部431−0の選択部701は、選択信号に従って、スイッチ801〜スイッチ804をOFFに設定し、スイッチ811〜スイッチ814をONに設定する。
次に、MMB411のHW情報スイッチ処理部502は、SB#0上のハードウェア414−0とBMC412−0との接続を切断するためのHW情報制御信号を、スイッチ制御部431−0へ送信する(手順1702)。
この場合、制御信号(G1,G2)が(0,1)、(1,0)、又は(1,1)に設定され、HW情報制御信号として送信される。スイッチ制御部431−0の設定部702は、受信した制御信号(G1,G2)に従って、出力側HW情報スイッチ部433−0を切り替えることで、ハードウェア414−0とBMC412−0との接続を切断する。
次に、BMC412−1のHW情報スイッチ処理部601は、SB#1上のハードウェア414−1とBMC412−1とを接続するためのHW情報制御信号を、スイッチ制御部431−1へ出力する(手順1703)。
この場合、制御信号(G1,G2)及び制御信号(G3,G4)がともに(0,0)に設定され、HW情報制御信号として出力される。スイッチ制御部431−1の設定部702は、受信した制御信号(G1,G2)及び制御信号(G3,G4)に従って、出力側HW情報スイッチ部433−1及び入力側HW情報スイッチ部432−1を切り替える。これにより、図13に示したように、ハードウェア414−1とBMC412−1とが接続される。
次に、BMC412−1のHW情報スイッチ処理部601は、SB#0上のハードウェア414−0とSB#1上のBMC412−1とを接続するためのHW情報制御信号を、スイッチ制御部431−1へ出力する(手順1704)。
この場合、制御信号(G1,G2)が(1,1)に設定され、HW情報制御信号として出力される。スイッチ制御部431−1の設定部702は、受信した制御信号(G1,G2)に従って、出力側HW情報スイッチ部433−1を切り替える。これにより、BMC412−0が、入力側HW情報スイッチ部432−0と出力側HW情報スイッチ部433−1との間のHW情報信号線に接続される。
次に、MMB411のHW情報スイッチ処理部502は、SB#0上のハードウェア414−0とSB#1上のBMC412−1とを接続するためのHW情報制御信号を、スイッチ制御部431−0へ送信する(手順1705)。
この場合、制御信号(G3,G4)が(1,1)に設定され、HW情報制御信号として送信される。スイッチ制御部431−0の設定部702は、受信した制御信号(G3,G4)に従って、入力側HW情報スイッチ部432−0を切り替える。これにより、図14に示したように、ハードウェア414−0が、入力側HW情報スイッチ部432−0と出力側HW情報スイッチ部433−1との間のHW情報信号線に接続される。したがって、そのHW情報信号線を介して、ハードウェア414−0とBMC412−1とが接続される。
図20は、Home BMCの故障時に、MMB411のPCHスイッチ処理部503が行うスイッチ制御処理のシーケンスの例を示している。手順1801は、図19の手順1701と同じ処理を表している。
次に、MMB411のPCHスイッチ処理部503は、SB#0上のPCH413−0とBMC412−0との接続を切断するためのPCH制御信号を、スイッチ制御部441−0へ送信する(手順1802)。
この場合、制御信号(G1,G2)が(0,1)、(1,0)、又は(1,1)に設定され、PCH制御信号として送信される。スイッチ制御部441−0の設定部1002は、受信した制御信号(G1,G2)に従って、出力側PCHスイッチ部443−0を切り替えることで、PCH413−0とBMC412−0との接続を切断する。
次に、MMB411のPCHスイッチ処理部503は、SB#1上のPCH413−1とBMC412−1との接続を切断するためのPCH制御信号を、スイッチ制御部441−1へ送信する(手順1803)。
この場合、制御信号(G1,G2)が(1,1)に設定され、PCH制御信号として送信される。スイッチ制御部441−1の設定部1002は、受信した制御信号(G1,G2)に従って、出力側PCHスイッチ部443−1を切り替える。これにより、PCH413−1とBMC412−1との接続が切断され、BMC412−1が、入力側PCHスイッチ部442−0と出力側PCHスイッチ部443−1との間のPCH信号線に接続される。
次に、BMC412−1は、SB#0上のPCH413−0と接続可能であることを、MMB411に通知する(手順1804)。
BMC412−1は、単一のPCHのみを認識するため、同時に2つのPCHが接続されると、誤動作を起こす可能性がある。そこで、BMC412−1は、MMB411によってPCH413−1とBMC412−1との接続が切断された後に、PCH413−0と接続可能であることをMMB411に通知する。これにより、PCH413−0及びPCH413−1が同時にBMC412−1に接続されることが回避され、BMC412−1の誤動作を防止することができる。
次に、MMB411のPCHスイッチ処理部503は、SB#0上のPCH413−0とSB#1上のBMC412−1とを接続するためのPCH制御信号を、スイッチ制御部441−0へ送信する(手順1805)。
この場合、制御信号(G3,G4)が(1,1)に設定され、PCH制御信号として送信される。スイッチ制御部441−0の設定部1002は、受信した制御信号(G3,G4)に従って、入力側PCHスイッチ部432−0を切り替える。これにより、図16に示したように、PCH413−0が、入力側PCHスイッチ部442−0と出力側PCHスイッチ部443−1との間のPCH信号線に接続され、そのPCH信号線を介して、PCH413−0とBMC412−1とが接続される。
CPU421−0上で動作するOSにとっては、PCH413−0とBMC412−0との接続が切断されることで、BMC412−0に接続されている他のデバイスとの接続も切断されたように見える。しかし、PCH413−0とBMC412−1とが接続されたときに、再接続されたように見えるため、OSは、特別な制御を行わずに処理を継続することができる。
次に、Home BMCが通信を行っている途中で故障した場合の処理について、補足する。定常状態において、Home BMCは、ハードウェア414−iからセンサデータを取得する場合のように、一定間隔で通信を行うことが多い。このような通信は、成功又は失敗にかかわらず、定期的に行われるため、Home BMCの故障と通信のタイミングとが重なった場合の通信失敗は許容されることになる。しかし、Home BMCの切り替え後に行われる通信は成功するため、サーバ管理における影響は最小限に抑えられる。
一方、SEL発行依頼通信のように、単発で行われる通信も存在する。このような通信の失敗時にはリトライが行われるが、Home BMCが故障した場合、リトライがタイムアウトしてしまい、通信処理が正しく行われない。このため、Home BMCの故障発生の直前から、Home BMCの切り替え後までは、通信処理が失敗する。
例えば、Home BMCと非Home BMCの間のSEL発行依頼通信については、それぞれのBMCの通信に、Home BMCの切り替えを考慮したリトライ時間を加えて、他の処理に影響しないように並列処理を行う方法が考えられる。これにより、通信を成功させることが可能である。しかし、OS又はBIOSからHome BMCへのSEL発行依頼通信については、故障したHome BMCがその通信を認識することはできない。
図21は、図3の情報処理システム301の第2の具体例を示している。図21の情報処理システム1901は、パーティション#0及び情報記憶部1951を含み、パーティション#0は、SB#0及びSB#1を含む。SB#0は、パーティション#0のHome SBであり、SB#1は、SubHome SBである。
SB#i(i=0,1)は、BMC1911−i、PCH1912−i、ハードウェア1913−i、HW情報スイッチ部1914−i、及びPCHスイッチ部1915−iを含む。ハードウェア1913−iは、CPU1921−i及びメモリ1922−iを含む。ハードウェア1913−iは、他のハードウェアデバイスを含んでいてもよい。BMC1911−iは、ハードウェア1913−iの管理及び監視を行う。
SB#0及びSB#1の各々は、図3の情報処理装置311−iに対応する。パーティション#0は、3個以上のSBを含んでいてもよい。この場合、各SBは、SB#0及びSB#1と同様の構成を有する。
BMC412−0及びBMC412−1は、プライベートLANを介して、情報記憶部1951にアクセスすることができ、BMC412−0は、プライベートLANを介して、BMC412−1と通信することができる。情報記憶部1951は、不揮発記憶領域を含む。
情報処理システム1901は、ユーザによってパーティションが作成され、Home SBが設定されたときに、図4の情報処理システム401と同様にして、SubHome SBを設定することができる。
PCH1912−iは、CPU1921−iと周辺IOデバイスとの間の通信を管理する。PCH1912−iは、通信管理部の一例である。
HW情報スイッチ部1914−iは、スイッチ制御部1931−i、入力側HW情報スイッチ部1932−i、及び出力側HW情報スイッチ部1933−iを含む。入力側HW情報スイッチ部1932−iは、HW情報信号線で、ハードウェア1913−i、出力側HW情報スイッチ部1933−0、及び出力側HW情報スイッチ部1933−1に接続されている。情報処理システム1901が3個以上のSBを含む場合、入力側HW情報スイッチ部1932−iは、すべてのSB上の出力側HW情報スイッチ部1933−iに接続される。
出力側HW情報スイッチ部1933−iは、HW情報信号線で、BMC1911−i、入力側HW情報スイッチ部1932−0、及び入力側HW情報スイッチ部1932−1に接続されている。情報処理システム1901が3個以上のSBを含む場合、出力側HW情報スイッチ部1933−iは、すべてのSB上の入力側HW情報スイッチ部1932−iに接続される。
スイッチ制御部1931−iは、入力側HW情報スイッチ部1932−i及び出力側HW情報スイッチ部1933−iを切り替えることで、HW情報信号線の接続を変更する。
BMC1911−iは、スイッチ制御部1931−0及びスイッチ制御部1931−1とGPIO等の信号線で接続されている。情報処理システム1901が3個以上のSBを含む場合、BMC1911−iは、すべてのSB上のスイッチ制御部1931−iに接続される。
BMC1911−iは、各SB上のスイッチ制御部1931−iを介して、入力側HW情報スイッチ部1932−i及び出力側HW情報スイッチ部1933−iを切り替える。これにより、BMC1911−iは、SB#0又はSB#1上のいずれのハードウェア1913−iに対してもアクセスすることができる。
PCHスイッチ部1915−iは、スイッチ制御部1941−i、入力側PCHスイッチ部1942−i、及び出力側PCHスイッチ部1943−iを含む。PCHスイッチ部1915−i、入力側PCHスイッチ部1942−i、及び出力側PCHスイッチ部1943−iは、プロセッサ通信スイッチ部、入力側プロセッサ通信スイッチ部、及び出力側プロセッサ通信スイッチ部の一例である。
入力側PCHスイッチ部1942−iは、PCH信号線で、PCH1912−i、出力側PCHスイッチ部1943−0、及び出力側PCHスイッチ部1943−1に接続されている。情報処理システム1901が3個以上のSBを含む場合、入力側PCHスイッチ部1942−iは、すべてのSB上の出力側PCHスイッチ部1943−iに接続される。
出力側PCHスイッチ部1943−iは、PCH信号線で、BMC1911−i、入力側PCHスイッチ部1942−0、及び入力側PCHスイッチ部1942−1に接続されている。情報処理システム1901が3個以上のSBを含む場合、出力側PCHスイッチ部1943−iは、すべてのSB上の入力側PCHスイッチ部1942−iに接続される。PCH信号線は、プロセッサ通信信号線の一例である。
スイッチ制御部1941−iは、入力側PCHスイッチ部1942−i及び出力側PCHスイッチ部1943−iを切り替えることで、PCH信号線の接続を変更する。
BMC1911−iは、スイッチ制御部1941−0及びスイッチ制御部1941−1とGPIO等の信号線で接続されている。情報処理システム1901が3個以上のSBを含む場合、BMC1911−iは、すべてのSB上のスイッチ制御部1941−iに接続される。
BMC1911−iは、各SB上のスイッチ制御部1941−iを介して、入力側PCHスイッチ部1942−i及び出力側PCHスイッチ部1943−iを切り替える。これにより、BMC1911−iは、SB#0又はSB#1上のいずれのPCH1912−iに対してもアクセスすることができる。
図22は、図21のBMC1911−iの機能的構成例を示している。図22のBMC1911−iは、HW情報スイッチ処理部2001、PCHスイッチ処理部2002、Home引き継ぎ処理部2003、及び情報引き継ぎ処理部2004を含み、引き継ぎ情報2011を保持する。
引き継ぎ情報2011は、図6の引き継ぎ情報611に対応し、エラー監視情報、SEL情報、NVRAM情報、BMC内部変数、BIOS情報、LPC設定情報、及びKCS設定情報を含む。
Home SB上のBMC1911−0は、SubHome SB上のBMC1911−1との間で引き継ぎ情報2011の同期を行うか、又は、引き継ぎ情報2011のコピーを情報記憶部1951へ送信してバックアップを行う。BMC1911−0が故障した場合、新たなHome BMCであるBMC1911−1は、同期している引き継ぎ情報2011を使用するか、又は情報記憶部1951から引き継ぎ情報2011を取得して、Home BMCの役割を引き継ぐ。
Home BMCの引き継ぎ情報2011に含まれるいずれかの情報が更新された場合、BMC1911−1又は情報記憶部1951の引き継ぎ情報2011が同期して更新される。例えば、新たなセンサデータが取得されたときは、そのセンサデータが直ちにBMC1911−1又は情報記憶部1951へ送信される。また、BMC1911−0のBMC内部変数が変更されたときは、そのBMC内部変数が直ちにBMC1911−1又は情報記憶部1951へ送信される。これにより、BMC1911−1は、Home SB上に保持されている情報を漏れなく取得することができる。
HW情報スイッチ処理部2001は、HW情報制御信号をHW情報スイッチ部1914−iへ出力する。HW情報スイッチ部1914−iは、受信したHW情報制御信号に従って、入力側HW情報スイッチ部1932−i及び出力側HW情報スイッチ部1933−iを切り替える制御を行う。
パーティションの構築時には、各SB上のハードウェア1913−iとHome SB上のBMC1911−0が接続されるように、入力側HW情報スイッチ部1932−i及び出力側HW情報スイッチ部1933−iが切り替えられる。そして、BMC1911−0は、ハードウェア1913−0及びハードウェア1913−1が出力するセンサデータを取得する。
PCHスイッチ処理部2003は、PCH制御信号を各SB上のPCHスイッチ部1915−iへ送信する。PCHスイッチ部1915−iは、受信したPCH制御信号に従って、入力側PCHスイッチ部1942−i及び出力側PCHスイッチ部1943−iを切り替える制御を行う。
パーティションの構築時には、同じSB上のPCH1912−iとBMC1911−iが接続されるように、入力側PCHスイッチ部1942−i及び出力側PCHスイッチ部1943−iが切り替えられる。そして、BMC1911−0は、PCH1912−0を介して、CPU1921−0上で動作するOSと通信する。
BMC1911−1のHome引き継ぎ処理部2003は、BMC1911−0が正常に動作しているか否かをチェックし、BMC1911−0の故障を検知した場合、Home BMCをBMC1911−0からBMC1911−1へ切り替える。そして、Home引き継ぎ処理部2003は、Home BMCが切り替えられたことを、他のSB上のBMC1911−iに通知する。
BMC1911−0とBMC1911−1との間で引き継ぎ情報2011が同期している場合、BMC1911−1の情報引き継ぎ処理部2004は、BMC1911−1内の引き継ぎ情報2011を使用することで、BMC1911−0から情報を引き継ぐ。一方、引き継ぎ情報2011が情報記憶部1951にバックアップされている場合、BMC1911−1の情報引き継ぎ処理部2004は、情報記憶部1951から引き継ぎ情報2011を取得して、BMC1911−1内のメモリに格納する。
次に、情報引き継ぎ処理部2004は、引き継ぎ情報2011のうち、エラー監視情報、SEL情報、及びNVRAM情報をNVRAMに格納し、LPC設定情報及びKCS設定情報を、BMC1911−1内のCPUが有するレジスタに適用する。
次に、BMC1911−1のHW情報スイッチ処理部2001は、HW情報制御信号をHome SB上のHW情報スイッチ部1914−0へ送信する。HW情報スイッチ部1914−0は、受信したHW情報制御信号に従って、ハードウェア1913−0を、入力側HW情報スイッチ部1932−0と出力側HW情報スイッチ部1933−1との間のHW情報信号線に接続する制御を行う。
次に、HW情報スイッチ処理部2001は、HW情報制御信号をHW情報スイッチ部1914−1へ出力する。HW情報スイッチ部1914−1は、受信したHW情報制御信号に従って、BMC1911−1を、入力側HW情報スイッチ部1932−0と出力側HW情報スイッチ部1933−1との間のHW情報信号線に接続する制御を行う。そして、BMC1911−1は、そのHW情報信号線を介して、ハードウェア1913−0が出力するセンサデータを取得する。
一方、BMC1911−1のPCHスイッチ処理部2002は、PCH制御信号を各SB上のPCHスイッチ部1915−iへ出力する。PCHスイッチ部1915−0は、受信したPCH制御信号に従って、PCH1912−0を、入力側PCHスイッチ部1942−0と出力側PCHスイッチ部1943−1との間のPCH信号線に接続する制御を行う。また、PCHスイッチ部1915−1は、受信したPCH制御信号に従って、BMC1911−1を、同じPCH信号線に接続する制御を行う。そして、BMC1911−1は、そのPCH信号線に接続されたPCH1912−0を介して、CPU1921−0上で動作するOSと通信する。
図21の情報処理システム1901によれば、各SB上のBMC1911−iは、すべてのSB上のHW情報スイッチ部1914−iを直接制御することができる。したがって、BMC1911−1は、Home BMCの故障を検知した場合、Home BMCをBMC1911−0からBMC1911−1に切り替えて、Home SB上のハードウェア1913−0を強制的にBMC1911−1に接続することが可能になる。これにより、BMC1911−1は、ハードウェア1913−0からセンサデータを直接取得することができる。
また、各SB上のBMC1911−iは、すべてのSB上のPCHスイッチ部1915−iも直接制御することができる。したがって、BMC1911−1は、Home BMCをBMC1911−0からBMC1911−1に切り替えた場合、Home SB上のPCH1912−0を強制的にBMC1911−1に接続することが可能になる。これにより、BMC1911−1は、PCH1912−0を介して、CPU1921−0上で動作するOSと通信しながら、OSとの通信を伴うサービスを提供することが可能になる。
さらに、Home BMCとSubHome BMCとの間で引き継ぎ情報の同期を行うことで、Home BMCが故障した場合、新たなHome BMCが、故障したHome BMCが管理していた情報を引き継ぐことが可能になる。
このように、Home SB上のBMCが故障した場合、情報処理システム1901を停止させることなく、同じパーティション内の別のBMCが、Home BMCの役割を自動的に引き継ぐことができる。
情報処理システム1901は、MMBを含まないため、図4の情報処理システム401と比較して、システム全体のハードウェアコストが低減される。一方、BMCのソフトウェア開発コストは、情報処理システム401よりも増加する。
次に、図23及び図24を参照しながら、図21の情報処理システム1901がSB#0〜SB#3を含む場合の具体例について説明する。
図23は、図21のHW情報スイッチ部1914−iの構成例を示している。スイッチ制御部1931−iは、選択部2101−i及び設定部2102−iを含む。入力側HW情報スイッチ部1932−i及び出力側HW情報スイッチ部1933−iは、図7の入力側HW情報スイッチ部432−i及び出力側HW情報スイッチ部433−iと同様の構成を有する。
BMC1911−iは、入力側HW情報スイッチ部1932−i及び出力側HW情報スイッチ部1933−iを切り替える制御信号G1〜制御信号G4を、スイッチ制御部1931−0〜スイッチ制御部1931−3へ出力する。各スイッチ制御部1931−iの選択部2101−iは、いずれかのBMC1911−iからの選択信号に従って、そのBMC412−iの制御信号G1〜制御信号G4を選択して、設定部2102−iへ出力する。制御信号G1〜制御信号G4と接続先ポートとの対応関係は、図9と同様である。
設定部2102−iへ出力される制御信号G1〜制御信号G4は、HW情報制御信号の一例である。このうち、制御信号G1及び制御信号G2は、出力側HW情報スイッチ部1933−iを切り替える制御信号であり、制御信号G3及び制御信号G4は、入力側HW情報スイッチ部1932−iを切り替える制御信号である。
設定部2102−iは、制御信号G1及び制御信号G2に基づいて、制御信号XA〜制御信号XDを出力側HW情報スイッチ部1933−iへ出力する。また、設定部2102−iは、制御信号G3及び制御信号G4に基づいて、制御信号Xa〜制御信号Xdを入力側HW情報スイッチ部1932−iへ出力する。
図24は、図23の選択部2101−iの構成例を示している。選択部2101−iは、スイッチ2201−0〜スイッチ2204−0、スイッチ2201−1〜スイッチ2204−1、スイッチ2201−2〜スイッチ2204−2、及びスイッチ2201−3〜スイッチ2204−3を含む。スイッチ2201−i〜スイッチ2204−i(i=0〜3)は、いずれかのBMC1911−iから送信される選択信号によって、ON又はOFFに設定される。
スイッチ2201−0〜スイッチ2204−0がONに設定され、他のすべてのスイッチがOFFに設定された場合、BMC1911−0からの制御信号G1〜制御信号G4が設定部2102−iへ出力される。スイッチ2201−1〜スイッチ2204−1がONに設定され、他のすべてのスイッチがOFFに設定された場合、BMC1911−1からの制御信号G1〜制御信号G4が設定部2102−iへ出力される。
スイッチ2201−2〜スイッチ2204−2がONに設定され、他のすべてのスイッチがOFFに設定された場合、BMC1911−2からの制御信号G1〜制御信号G4が設定部2102−iへ出力される。スイッチ2201−3〜スイッチ2204−3がONに設定され、他のすべてのスイッチがOFFに設定された場合、BMC1911−3からの制御信号G1〜制御信号G4が設定部2102−iへ出力される。
いずれかのBMC1911−kがHW情報スイッチ部1914−iを制御する場合、BMC1911−kは、同じパーティション内のすべてのBMCに対して、スイッチ制御の可否を確認するコマンドを送信する。そして、それらのBMCからスイッチ制御可を示す応答を受信した場合、BMC1911−kは、HW情報スイッチ部1914−iの制御を開始する。
応答を送信しないBMC1911−mが存在する場合、BMC1911−kは、そのBMC1911−mから生存確認用のコマンドを受信したか否かをチェックし、コマンドを受信した場合、スイッチ制御の可否を確認するコマンドを再送する。生存確認用のコマンドを受信しない場合、BMC1911−kは、そのBMC1911−mを無視して、HW情報スイッチ部1914−iの制御を開始する。
BMC1911−kがHW情報スイッチ部1914−iの制御を行っているときに、他のBMC1911−mからスイッチ制御の可否を確認するコマンドを受信した場合、BMC1911−kは、スイッチ制御不可を示す応答をBMC1911−mへ返信する。
図23及び図24の構成によれば、すべてのBMCが、選択信号を各スイッチ制御部1931−iの選択部2101−iへ送信することで、制御信号G1〜制御信号G4を設定部2102−iへ出力することができる。
図21のPCHスイッチ部1915−iの構成も、図23及び図24と同様である。図21の情報処理システム1901において、Home SB又はSubHome SB上のBMCがハードウェアにアクセスする場合のスイッチ制御は、図11〜図14と同様である。Home SB又はSubHome SB上のBMCがPCHにアクセスする場合のスイッチ制御は、図15及び図16と同様である。
図25は、SubHome SB上のBMCが行うHome引き継ぎ処理の例を示すフローチャートである。まず、各SB上のBMCは、一定時間毎に生存確認用のコマンドを他のSB上のBMCへ送信し、SubHome SB上のBMCのHome引き継ぎ処理部2003は、Home BMCからコマンドを受信したか否かをチェックする(ステップ2301)。
Home BMCからコマンドを受信した場合(ステップ2301,YES)、Home引き継ぎ処理部2003は、Home BMCが正常に動作していると判定し、Home BMCに対して引き継ぎ情報2011を要求する(ステップ2302)。そして、Home引き継ぎ処理部2003は、Home BMCから引き継ぎ情報2011を受信し、受信した引き継ぎ情報2011を保存する(ステップ2303)。
一方、Home BMCからのコマンドが途絶えた場合(ステップ2301,NO)、Home引き継ぎ処理部2003は、Home BMCが故障したと判定し、SubHome SB上のBMCを新たなHome BMCに指定する。そして、Home引き継ぎ処理部2003は、情報引き継ぎ処理部2004に対して引き継ぎ処理の開始を指示する(ステップ2304)。
次に、Home引き継ぎ処理部2003は、SubHome SBの識別情報を、Home BMCを含むSBの識別情報として、パーティション内の他のSB上のBMCに通知する(ステップ2305)。
次に、Home引き継ぎ処理部2003は、HW情報スイッチ処理部2001及びPCHスイッチ処理部2002に対して、スイッチ制御の開始を指示する(ステップ2306)。
Home引き継ぎ処理部2003から引き継ぎ処理の開始を指示された情報引き継ぎ処理部2004は、図18と同様の情報引き継ぎ処理を行う。
引き継ぎ情報2011が情報記憶部1951にバックアップされている場合、図25のステップ2302及びステップ2303の処理を省略することができる。この場合、情報引き継ぎ処理部2004は、情報記憶部1951から引き継ぎ情報2011を取得して、図18と同様の情報引き継ぎ処理を行う。
図26は、Home BMCの故障時に、SubHome SB上のBMC1911−1のHW情報スイッチ処理部2001が行うスイッチ制御処理のシーケンスの例を示している。まず、BMC1911−1のHome引き継ぎ処理部2003は、Home BMCであるBMC412−0の故障を検知し、Home BMCをBMC412−0からBMC412−1に切り替える(手順2401)。
次に、BMC1911−1のHW情報スイッチ処理部2001は、BMC1911−1の制御信号G1〜制御信号G4を選択する選択信号を、スイッチ制御部1931−1へ出力する。そして、スイッチ制御部1931−1の選択部2101−1は、選択信号に従って、スイッチ2201−1〜スイッチ2204−1をONに設定し、他のすべてのスイッチをOFFに設定する。
次に、BMC1911−1のHW情報スイッチ処理部2001は、SB#1上のハードウェア1913−1とBMC1911−1とを接続するためのHW情報制御信号を、スイッチ制御部1931−1へ出力する(手順2402)。これにより、ハードウェア1913−1とBMC1911−1とが接続される。
次に、BMC1911−1のHW情報スイッチ処理部2001は、BMC1911−1の制御信号G1〜制御信号G4を選択する選択信号を、スイッチ制御部1931−0へ送信する。そして、スイッチ制御部1931−0の選択部2101−0は、選択信号に従って、スイッチ2201−1〜スイッチ2204−1をONに設定し、他のすべてのスイッチをOFFに設定する。
次に、BMC1911−1のHW情報スイッチ処理部2001は、SB#0上のハードウェア1913−0とBMC1911−0との接続を切断するためのHW情報制御信号を、スイッチ制御部1931−0へ送信する(手順2403)。これにより、ハードウェア1913−0とBMC1911−0との接続が切断される。
次に、BMC1911−1のHW情報スイッチ処理部2001は、SB#0上のハードウェア1913−0とSB#1上のBMC1911−1とを接続するためのHW情報制御信号を、スイッチ制御部1931−1へ出力する(手順2404)。これにより、BMC1911−1が、入力側HW情報スイッチ部1932−0と出力側HW情報スイッチ部1933−1との間のHW情報信号線に接続される。
次に、BMC1911−1のHW情報スイッチ処理部2001は、SB#0上のハードウェア1913−0とSB#1上のBMC1911−1とを接続するためのHW情報制御信号を、スイッチ制御部1931−0へ送信する(手順2405)。これにより、ハードウェア1913−0が、入力側HW情報スイッチ部1932−0と出力側HW情報スイッチ部1933−1との間のHW情報信号線に接続される。したがって、そのHW情報信号線を介して、ハードウェア1913−0とBMC1911−1とが接続される。
図27は、Home BMCの故障時に、SubHome SB上のBMC1911−1のPCHスイッチ処理部2002が行うスイッチ制御処理のシーケンスの例を示している。手順2501は、図26の手順2401と同じ処理を表している。
次に、BMC1911−1のPCHスイッチ処理部2002は、SB#1上のPCH1912−1とBMC1911−1との接続を切断するためのPCH制御信号を、スイッチ制御部1941−1へ出力する(手順2502)。これにより、PCH1912−1とBMC1911−1との接続が切断され、BMC1911−1が、入力側PCHスイッチ部1942−0と出力側PCHスイッチ部1943−1との間のPCH信号線に接続される。
次に、BMC1911−1のPCHスイッチ処理部2002は、SB#0上のPCH1912−0とBMC1911−0との接続を切断するためのPCH制御信号を、スイッチ制御部1941−0へ送信する(手順2503)。これにより、PCH1912−0とBMC1911−0との接続が切断される。
次に、BMC1911−1のPCHスイッチ処理部2002は、SB#0上のPCH1912−0とSB#1上のBMC1911−1とを接続するためのPCH制御信号を、スイッチ制御部1941−0へ送信する(手順2504)。これにより、PCH1912−0が、入力側PCHスイッチ部1942−0と出力側PCHスイッチ部1943−1との間のPCH信号線に接続され、そのPCH信号線を介して、PCH1912−0とBMC1911−1とが接続される。
図1〜図4及び図21の情報処理システムの構成は一例に過ぎず、情報処理システムの用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、SBの個数は2個又は4個に限られず、情報処理システムは任意の個数のSBを含むことができる。パーティションの個数は1個又は2個に限られず、情報処理システムは任意の個数のパーティションを含むことができる。1つのパーティションに属するSBの個数は、3個以上であってもよい。
各SB上には、CPU及びメモリ以外のハードウェアデバイスが搭載されていてもよい。ハードウェアデバイスが出力するセンサデータは、そのハードウェアデバイスの状態、電圧、温度等に限られず、SBの識別情報等であってもよい。
図21の情報処理システム1901において、Home SB上のBMC1911−0とSubHome SB上のBMC1911−1との間で引き継ぎ情報2011の同期が行われる場合は、情報記憶部1951を省略することができる。
図5のMMB411の構成は一例に過ぎず、情報処理システムの構成又は条件に応じて、一部の構成要素を省略又は変更してもよい。図6及び図22のBMCの構成は一例に過ぎず、情報処理システムの構成又は条件に応じて、一部の構成要素を省略又は変更してもよい。
図7のスイッチ制御部431−i、入力側HW情報スイッチ部432−i、及び出力側HW情報スイッチ部433−iの構成は一例に過ぎず、情報処理システムの構成又は条件に応じて、一部の構成要素を省略又は変更してもよい。入力側HW情報スイッチ部432−i及び出力側HW情報スイッチ部433−iのポートの個数は、情報処理システム内のSBの個数に応じて変更される。
図8の選択部701の構成は一例に過ぎず、情報処理システムの構成又は条件に応じて、一部の構成要素を省略又は変更してもよい。
図10のスイッチ制御部441−i、入力側PCHスイッチ部442−i、及び出力側PCHスイッチ部443−iの構成は一例に過ぎず、情報処理システムの構成又は条件に応じて、一部の構成要素を省略又は変更してもよい。入力側PCHスイッチ部442−i及び出力側PCHスイッチ部443−iのポートの個数は、情報処理システム内のSBの個数に応じて変更される。
図23のスイッチ制御部1931−iの構成は一例に過ぎず、情報処理システムの構成又は条件に応じて、一部の構成要素を省略又は変更してもよい。図24の選択部2101−iの構成は一例に過ぎず、情報処理システムの構成又は条件に応じて、一部の構成要素を省略又は変更してもよい。
図17、図18、及び図25のフローチャートは一例に過ぎず、情報処理システムの構成又は条件に応じて一部の処理を省略又は変更してもよい。図19、図20、図26、及び図27のシーケンスは一例に過ぎず、情報処理システムの構成又は条件に応じて一部の処理を省略又は変更してもよい。
図9の制御信号は一例に過ぎず、MMB411、BMC、及びスイッチ制御部の仕様に応じて、別の制御信号を用いてもよい。
図11〜図14のポート間の接続は一例に過ぎず、ポート間の接続は、入力側HW情報スイッチ部432−i及び出力側HW情報スイッチ部433−iのポートの個数に応じて変化する。図15及び図16のポート間の接続は一例に過ぎず、ポート間の接続は、入力側PCHスイッチ部442−i及び出力側PCHスイッチ部443−iのポートの個数に応じて変化する。
図28は、図5のMMB411として用いられる情報処理装置(コンピュータ)のハードウェア構成例を示している。図28のMMB411は、CPU2601、メモリ2602、インタフェース回路2603、及びインタフェース回路2604を含む。
メモリ2602は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ2602は、図5のパーティション情報511及び引き継ぎ情報512を記憶することができる。
CPU2601(プロセッサ)は、例えば、メモリ2602を利用してプログラムを実行することにより、図5の通知部501、HW情報スイッチ処理部502、PCHスイッチ処理部503、及びHome引き継ぎ処理部504として動作する。
オペレータ又はユーザは、不図示の可搬型記録媒体にプログラム及びデータを格納しておき、それらをメモリ2602にロードして使用することができる。可搬型記録媒体としては、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等が用いられる。可搬型記録媒体は、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USBメモリ等であってもよい。
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ2602又は可搬型記録媒体のような、物理的な(非一時的な)記録媒体である。
インタフェース回路2603は、プライベートLAN等の通信ネットワークに接続され、各BMC412−iと通信する。MMB411は、プログラム及びデータを外部の装置からインタフェース回路2603を介して受信し、それらをメモリ2602にロードして使用することができる。
インタフェース回路2604は、GPIO等の信号線に接続され、各SB上のスイッチ制御部431−i及びスイッチ制御部441−iと通信する。
なお、図28のMMB411の構成は一例に過ぎず、情報処理システム401の構成又は条件に応じて一部の構成要素を省略又は変更してもよい。
図29は、図6のBMC412−i及び図22のBMC1911−iとして用いられる情報処理装置のハードウェア構成例を示している。図29のBMC2701は、BMC412−i又はBMC1911−iに対応し、CPU2711、メモリ2712、及びインタフェース回路2713〜インタフェース回路2716を含む。
メモリ2712は、例えば、ROM、RAM、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ2712は、図6の引き継ぎ情報611又は図22の引き継ぎ情報2011を記憶することができる。
CPU2711は、例えば、メモリ2712を利用してプログラムを実行することにより、ハードウェア414−i又はハードウェア1913−iの管理及び監視を行う。CPU2711は、プログラムを実行することにより、図6のHW情報スイッチ処理部601及び情報引き継ぎ処理部602としても動作する。CPU2711は、プログラムを実行することにより、図22のHW情報スイッチ処理部2001、PCHスイッチ処理部2002、Home引き継ぎ処理部2003、及び情報引き継ぎ処理部2004としても動作する。
オペレータ又はユーザは、不図示の可搬型記録媒体にプログラム及びデータを格納しておき、それらをメモリ2712にロードして使用することができる。このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ2712又は可搬型記録媒体のような、物理的な(非一時的な)記録媒体である。
インタフェース回路2713は、プライベートLAN等の通信ネットワークに接続され、MSB411、情報記憶部1951、又は他のBMCと通信する。BMC2701は、プログラム及びデータを外部の装置からインタフェース回路2713を介して受信し、それらをメモリ2712にロードして使用することができる。
インタフェース回路2714は、LPCバス等の信号線に接続され、CPU上で動作するOS等と通信する。インタフェース回路2715は、I2C等の信号線を介して出力側HW情報スイッチ部433−i又は出力側HW情報スイッチ部1933−iに接続され、ハードウェア414−i又はハードウェア1913−iと通信する。インタフェース回路2716は、GPIO等の信号線に接続され、スイッチ制御部431−i、スイッチ制御部1931−i、又はスイッチ制御部1941−iと通信する。
なお、図29のBMC2701の構成は一例に過ぎず、情報処理システムの構成又は条件に応じて一部の構成要素を省略又は変更してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1乃至図29を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の情報処理装置を備える情報処理システムであって、
前記複数の情報処理装置各々は、
ハードウェアと、
前記ハードウェアを管理する制御部と、
前記複数の情報処理装置のうち他の情報処理装置、前記ハードウェア、及び前記制御部の間の接続を切り替えるハードウェア情報スイッチ部とを含み、
前記複数の情報処理装置のうち第1情報処理装置内の制御部の故障が検知された場合、前記第1情報処理装置内のハードウェア情報スイッチ部は、前記第1情報処理装置の外部から受信するハードウェア情報制御信号に従って、前記第1情報処理装置内のハードウェアを、前記第1情報処理装置と前記複数の情報処理装置のうち第2情報処理装置との間のハードウェア情報信号線に接続する制御を行い、前記第2情報処理装置内のハードウェア情報スイッチ部は、前記第2情報処理装置内の制御部を前記ハードウェア情報信号線に接続する制御を行い、前記第2情報処理装置内の制御部は、前記ハードウェア情報信号線を介して、前記第1情報処理装置内のハードウェアが出力する情報を取得することを特徴とする情報処理システム。
(付記2)
前記複数の情報処理装置各々に含まれるハードウェア情報スイッチ部は、前記ハードウェアと前記他の情報処理装置との間の接続を切り替える入力側ハードウェア情報スイッチ部と、前記制御部と前記他の情報処理装置との間の接続を切り替える出力側ハードウェア情報スイッチ部とを含み、
前記第1情報処理装置内の入力側ハードウェア情報スイッチ部は、前記第1情報処理装置の外部から受信するハードウェア情報制御信号に従って、前記第1情報処理装置内のハードウェアを前記ハードウェア情報信号線に接続し、
前記第2情報処理装置内の出力側ハードウェア情報スイッチ部は、前記第2情報処理装置内の制御部から受信するハードウェア情報制御信号に従って、前記第2情報処理装置内の制御部を前記ハードウェア情報信号線に接続することを特徴とする付記1記載の情報処理システム。
(付記3)
管理装置をさらに備え、
前記第1情報処理装置内の制御部は、前記故障が検知される前に、前記第1情報処理装置内のハードウェアから取得した情報を前記管理装置へ送信し、
前記管理装置は、前記第1情報処理装置内の制御部から受信した情報を保持し、前記故障を検知した場合、保持している情報と前記第1情報処理装置の識別情報とを前記第2情報処理装置内の制御部へ送信し、前記ハードウェア情報制御信号を前記第1情報処理装置内のハードウェア情報スイッチ部へ送信し、
前記第2情報処理装置内の制御部は、前記第1情報処理装置の識別情報に基づいて、前記第2情報処理装置内の制御部を前記ハードウェア情報信号線に接続するように、前記第2情報処理装置内のハードウェア情報スイッチ部を制御することを特徴とする付記1又は2記載の情報処理システム。
(付記4)
前記複数の情報処理装置各々は、
前記ハードウェアに含まれるプロセッサと前記制御部との間の通信を管理する通信管理部と、
前記他の情報処理装置、前記通信管理部、及び前記制御部の間の接続を切り替えるプロセッサ通信スイッチ部とをさらに含み、
前記故障が検知された場合、前記第1情報処理装置内のプロセッサ通信スイッチ部は、前記管理装置から受信する第1プロセッサ通信制御信号に従って、前記第1情報処理装置内の通信管理部を、前記第1情報処理装置と前記第2情報処理装置との間のプロセッサ通信信号線に接続する制御を行い、前記第2情報処理装置内のプロセッサ通信スイッチ部は、前記管理装置から受信する第2プロセッサ通信制御信号に従って、前記第2情報処理装置内の制御部を前記プロセッサ通信信号線に接続する制御を行い、前記第2情報処理装置内の制御部は、前記プロセッサ通信信号線に接続された前記第1情報処理装置内の通信管理部を介して、前記第1情報処理装置内のプロセッサと通信することを特徴とする付記3記載の情報処理システム。
(付記5)
前記複数の情報処理装置各々に含まれるプロセッサ通信スイッチ部は、前記通信管理部と前記他の情報処理装置との間の接続を切り替える入力側プロセッサ通信スイッチ部と、前記制御部と前記他の情報処理装置との間の接続を切り替える出力側プロセッサ通信スイッチ部とを含み、
前記第1情報処理装置内の入力側プロセッサ通信スイッチ部は、前記第1プロセッサ通信制御信号に従って、前記第1情報処理装置内の通信管理部を前記プロセッサ通信信号線に接続し、
前記第2情報処理装置内の出力側プロセッサ通信スイッチ部は、前記第2プロセッサ通信制御信号に従って、前記第2情報処理装置内の制御部を前記プロセッサ通信信号線に接続することを特徴とする付記4記載の情報処理システム。
(付記6)
前記第1情報処理装置内の制御部は、前記故障が検知される前に、前記第1情報処理装置内のプロセッサと制御部との間の通信の設定情報を前記管理装置へ送信し、
前記管理装置は、前記第1情報処理装置内の制御部から受信した設定情報を保持し、前記故障を検知した場合、保持している設定情報を前記第2情報処理装置内の制御部へ送信し、前記第1プロセッサ通信制御信号を前記第1情報処理装置内のプロセッサ通信スイッチ部へ送信し、前記第2プロセッサ通信制御信号を前記第2情報処理装置内のプロセッサ通信スイッチ部へ送信し、
前記第2情報処理装置内の制御部は、前記管理装置から受信した設定情報を用いて、前記第1情報処理装置内のプロセッサと通信することを特徴とする付記4又は5記載の情報処理システム。
(付記7)
前記第1情報処理装置内の制御部は、前記故障が検知される前に、前記第1情報処理装置内のハードウェアから取得した情報を前記第2情報処理装置内の制御部へ送信し、
前記第2情報処理装置内の制御部は、前記故障を検知した場合、前記ハードウェア情報制御信号を前記第1情報処理装置内のハードウェア情報スイッチ部へ送信し、前記第2情報処理装置内の制御部を前記ハードウェア情報信号線に接続するように、前記第2情報処理装置内のハードウェア情報スイッチ部を制御することを特徴とする付記1又は2記載の情報処理システム。
(付記8)
前記複数の情報処理装置各々は、
前記ハードウェアに含まれるプロセッサと前記制御部との間の通信を管理する通信管理部と、
前記他の情報処理装置、前記通信管理部、及び前記制御部の間の接続を切り替えるプロセッサ通信スイッチ部とをさらに含み、
前記故障が検知された場合、前記第1情報処理装置内のプロセッサ通信スイッチ部は、前記第2情報処理装置内の制御部から受信する第1プロセッサ通信制御信号に従って、前記第1情報処理装置内の通信管理部を、前記第1情報処理装置と前記第2情報処理装置との間のプロセッサ通信信号線に接続する制御を行い、前記第2情報処理装置内のプロセッサ通信スイッチ部は、前記第2情報処理装置内の制御部から受信する第2プロセッサ通信制御信号に従って、前記第2情報処理装置内の制御部を前記プロセッサ通信信号線に接続する制御を行い、前記第2情報処理装置内の制御部は、前記プロセッサ通信信号線に接続された前記第1情報処理装置内の通信管理部を介して、前記第1情報処理装置内のプロセッサと通信することを特徴とする付記7記載の情報処理システム。
(付記9)
前記複数の情報処理装置各々に含まれるプロセッサ通信スイッチ部は、前記通信管理部と前記他の情報処理装置との間の接続を切り替える入力側プロセッサ通信スイッチ部と、前記制御部と前記他の情報処理装置との間の接続を切り替える出力側プロセッサ通信スイッチ部とを含み、
前記第1情報処理装置内の入力側プロセッサ通信スイッチ部は、前記第1プロセッサ通信制御信号に従って、前記第1情報処理装置内の通信管理部を前記プロセッサ通信信号線に接続し、
前記第2情報処理装置内の出力側プロセッサ通信スイッチ部は、前記第2プロセッサ通信制御信号に従って、前記第2情報処理装置内の制御部を前記プロセッサ通信信号線に接続することを特徴とする付記8記載の情報処理システム。
(付記10)
前記第1情報処理装置内の制御部は、前記故障が検知される前に、前記第1情報処理装置内のプロセッサと制御部との間の通信の設定情報を、前記第2情報処理装置内の制御部へ送信し、
前記第2情報処理装置内の制御部は、前記故障を検知した場合、前記第1プロセッサ通信制御信号を前記第1情報処理装置内のプロセッサ通信スイッチ部へ送信し、前記第2プロセッサ通信制御信号を前記第2情報処理装置内のプロセッサ通信スイッチ部へ出力し、前記第1情報処理装置内の制御部から受信した設定情報を用いて、前記第1情報処理装置内のプロセッサと通信することを特徴とする付記8又は9記載の情報処理システム。
(付記11)
情報記憶部をさらに備え、
前記第1情報処理装置内の制御部は、前記故障が検知される前に、前記第1情報処理装置内のハードウェアから取得した情報を前記情報記憶部へ送信し、
前記第2情報処理装置内の制御部は、前記故障を検知した場合、前記情報記憶部が記憶している情報を取得し、前記ハードウェア情報制御信号を前記第1情報処理装置内のハードウェア情報スイッチ部へ送信し、前記第2情報処理装置内の制御部を前記ハードウェア情報信号線に接続するように、前記第2情報処理装置内のハードウェア情報スイッチ部を制御することを特徴とする付記1又は2記載の情報処理システム。
(付記12)
前記複数の情報処理装置各々は、
前記ハードウェアに含まれるプロセッサと前記制御部との間の通信を管理する通信管理部と、
前記他の情報処理装置、前記通信管理部、及び前記制御部の間の接続を切り替えるプロセッサ通信スイッチ部とをさらに含み、
前記故障が検知された場合、前記第1情報処理装置内のプロセッサ通信スイッチ部は、前記第2情報処理装置内の制御部から受信する第1プロセッサ通信制御信号に従って、前記第1情報処理装置内の通信管理部を、前記第1情報処理装置と前記第2情報処理装置との間のプロセッサ通信信号線に接続する制御を行い、前記第2情報処理装置内のプロセッサ通信スイッチ部は、前記第2情報処理装置内の制御部から受信する第2プロセッサ通信制御信号に従って、前記第2情報処理装置内の制御部を前記プロセッサ通信信号線に接続する制御を行い、前記第2情報処理装置内の制御部は、前記プロセッサ通信信号線に接続された前記第1情報処理装置内の通信管理部を介して、前記第1情報処理装置内のプロセッサと通信することを特徴とする付記11記載の情報処理システム。
(付記13)
前記複数の情報処理装置各々に含まれるプロセッサ通信スイッチ部は、前記通信管理部と前記他の情報処理装置との間の接続を切り替える入力側プロセッサ通信スイッチ部と、前記制御部と前記他の情報処理装置との間の接続を切り替える出力側プロセッサ通信スイッチ部とを含み、
前記第1情報処理装置内の入力側プロセッサ通信スイッチ部は、前記第1プロセッサ通信制御信号に従って、前記第1情報処理装置内の通信管理部を前記プロセッサ通信信号線に接続し、
前記第2情報処理装置内の出力側プロセッサ通信スイッチ部は、前記第2プロセッサ通信制御信号に従って、前記第2情報処理装置内の制御部を前記プロセッサ通信信号線に接続することを特徴とする付記12記載の情報処理システム。
(付記14)
前記第1情報処理装置内の制御部は、前記故障が検知される前に、前記第1情報処理装置内のプロセッサと制御部との間の通信の設定情報を前記情報記憶部へ送信し、
前記第2情報処理装置内の制御部は、前記故障を検知した場合、前記情報記憶部が記憶している設定情報を取得し、前記第1プロセッサ通信制御信号を前記第1情報処理装置内のプロセッサ通信スイッチ部へ送信し、前記第2プロセッサ通信制御信号を前記第2情報処理装置内のプロセッサ通信スイッチ部へ出力し、前記情報記憶部から取得した設定情報を用いて、前記第1情報処理装置内のプロセッサと通信することを特徴とする付記12又は13記載の情報処理システム。
(付記15)
ハードウェアを含む情報処理装置であって、
前記ハードウェアを管理する制御部と、
他の情報処理装置、前記ハードウェア、及び前記制御部の間の接続を切り替えるハードウェア情報スイッチ部とを備え、
前記制御部の故障が検知された場合、前記ハードウェア情報スイッチ部は、前記ハードウェアを含む情報処理装置の外部から受信するハードウェア情報制御信号に従って、前記ハードウェアを、前記ハードウェアを含む情報処理装置と前記他の情報処理装置との間のハードウェア情報信号線に接続する制御を行い、前記ハードウェアは、前記ハードウェア情報信号線を介して、前記他の情報処理装置へ情報を出力することを特徴とする情報処理装置。