(58)【調査した分野】(Int.Cl.,DB名)
複数のコアプロセッサを備える複数のモジュールを搭載するサーバ装置に備えられる、1つのサーバとして動作させる前記モジュールまたは前記モジュールの組み合わせを示すパーティションを管理する管理ユニットを、
前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、当該モジュールが属する前記パーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部、
稼働中のコアプロセッサの障害の発生を検知する障害検知部、
前記障害検知部が障害を検知した場合に、前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部、
前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部、
前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部、
前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該2つのモジュールのパーティションの所属を交換するモジュール交換部
として機能させるためのプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、パーティション毎に使用可能なコアプロセッサ数を管理しているため、障害が発生したコアプロセッサが属するパーティション内に稼動可能かつ不使用なコアプロセッサが無い場合、たとえ他のパーティション内に稼動可能かつ不使用なコアプロセッサがあったとしても、ライセンスの委譲をすることができないという問題がある。
また、1つのモジュールに複数のコアプロセッサが搭載される場合、同一のモジュールに搭載される2つのコアプロセッサをそれぞれ異なるサーバ装置として機能させることはできないため、特許文献1の方法を用いてライセンスの委譲を行うことができないという問題がある。
【課題を解決するための手段】
【0007】
本発明は上記の課題を解決するためになされたものであり、複数のコアプロセッサを備える複数のモジュールと、1つのサーバとして動作させる前記モジュールまたは前記モジュールの組み合わせを示すパーティションを管理する管理ユニットとを備え、前記管理ユニットは、
前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、当該モジュールが属する前記パーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部と、稼働中のコアプロセッサの障害の発生を検知する障害検知部と、前記障害検知部が障害を検知した場合に、
前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部と、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部と、前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部と、前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、
前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部と、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該2つのモジュールのパーティションの所属を交換するモジュール交換部とを備えることを特徴とする。
【0008】
また、本発明は、複数のコアプロセッサを備える複数のモジュールにおいて、
前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、前記モジュールの組み合わせを示すパーティションのうち当該モジュールが属するパーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部と、稼働中のコアプロセッサの障害の発生を検知する障害検知部と、前記障害検知部が障害を検知した場合に、
前記ライセンス記憶部を参照して1つのサーバとして動作させる前記モジュールまた
は当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部と、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部と、前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部と、前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、
前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部と、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該2つのモジュールのパーティションの所属を交換するモジュール交換部とを備えることを特徴とする。
【0009】
また、本発明は、複数のコアプロセッサを備える複数のモジュール
と、前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、前記モジュールの組み合わせを示すパーティションのうち当該モジュールが属するパーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部とを備え、1つのサーバとして動作させる前記モジュールまたは
前記パーティション毎に前記モジュールを動作させるサーバ装置の障害対処方法であって、障害検知部は、稼働中のコアプロセッサの障害の発生を検知し、障害パーティション特定部は、前記障害検知部が障害を検知した場合に、
前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定し、パーティション内判定部は、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定し、パーティション外判定部は、前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定し、モジュール特定部は、前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、
前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定し、モジュール交換部は、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該2つのモジュールのパーティションの所属を交換することを特徴とする。
【0010】
また、本発明は、複数のコアプロセッサを備える複数のモジュールを搭載するサーバ装置に備えられる、1つのサーバとして動作させる前記モジュールまたは前記モジュールの組み合わせを示すパーティションを管理する管理ユニットを、
前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、当該モジュールが属する前記パーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部、稼働中のコアプロセッサの障害の発生を検知する障害検知部、前記障害検知部が障害を検知した場合に、
前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部、前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部、前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、
前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該2つのモジュールのパーティションの所属を交換するモジュール交換部として機能させるためのプログラムである。
【発明の効果】
【0011】
本発明によれば、障害が発生したコアプロセッサが属するパーティション内に稼動可能かつ不使用なコアプロセッサが無い場合、当該コアプロセッサを有するモジュールと、稼動可能かつ不使用なコアプロセッサの数に余裕がある他のパーティション内に属するモジュールとを交換する。これにより、障害が発生したコアプロセッサが属するパーティション内に稼動可能かつ不使用なコアプロセッサが無い場合にも、ライセンスの委譲をすることができる。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態によるサーバ装置の構成を示す概略ブロック図である。
サーバ装置は、複数のモジュール10(モジュール10−1〜モジュール10−N)と、1つのマネージメントボード20を備え、モジュール10それぞれとマネージメントボード20(管理ユニット)とは、内部バスによって接続される。
モジュール10は、4つのコアプロセッサ11(コアプロセッサ11−1−1〜コアプロセッサ11−N−4)とメモリ12(メモリ12−1〜メモリ12−N)とを搭載する基板である。
マネージメントボード20は、BMCFW(Baseboard Management Controller Firm Ware)を記憶するFlashROM21(Read Only Memory)と、当該BMCFWを実行するサービスプロセッサ22とを備える。なお、BMCFWとは、パーティションごとのコアプロセッサ11のライセンスの管理及びコアプロセッサ11の制御を行うためのファームウェアである。
【0014】
図2は、FlashROM21が記憶する情報を示す図である。
FlashROM21(ライセンス記憶部)は、BMCFWのほかに、パーティション、モジュール10及びコアプロセッサ11の情報を格納するテーブルを記憶する。
具体的には、FlashROM21が記憶するテーブルは、
図2に示すように、パーティションごとに、当該パーティションに属するモジュール10を格納する。つまり、パーティション構成テーブルは、1つのサーバとして機能させる1つまたは複数のモジュール10を、パーティションを特定するパーティションに関連付けて格納する。
図2に示す例では、モジュール10−1及びモジュール10−2がパーティションP1に属し、モジュール10−3がパーティションP2に属す。
さらに、当該テーブルは、
図2に示すように、モジュール10が備えるコアプロセッサ11の識別情報、当該コアプロセッサ11にライセンスキーが与えられているか否か、及び当該コアプロセッサ11が正常であるか否かを関連付けて格納する。
図2に示す例では、パーティションP1には8つのライセンスキーL1〜L8が発行されており、パーティションP2には、3つのライセンスキーL9〜L11が発行されている。
【0015】
図3は、本発明の一実施形態によるマネージメントボード20の構成を示す概略ブロック図である。
マネージメントボード20のサービスプロセッサ22は、FlashROM21からBMCFWを読み出して実行する。これにより、サービスプロセッサ22は、障害検知部201、障害パーティション特定部202、システム制御部203、パーティション内判定部204、パーティション外判定部205、モジュール特定部206、モジュール交換部207、ライセンス委譲部208を備える。
【0016】
障害検知部201は、稼働中のコアプロセッサ11に障害が発生しているか否かを判定する。
障害パーティション特定部202は、障害検知部201が障害を検知したコアプロセッサ11を備えるモジュール10を特定し、FlashROM21が当該モジュール10に関連付けて記憶するパーティションを読み出すことで、パーティションを特定する。
システム制御部203は、パーティション毎に、モジュール10に対してシステムの停止、再構成、起動などの制御を行う。
【0017】
パーティション内判定部204は、FlashROM21が、障害パーティション特定部202が特定したパーティションに関連付けて記憶するコアプロセッサ11のうち、稼動可能かつ不使用のものがあるか否かを判定する。
パーティション外判定部205は、FlashROM21が、障害パーティション特定部202が特定したパーティション以外のパーティションに関連付けて記憶するコアプロセッサ11のうち、稼動可能かつ不使用のものがあるか否かを判定する。
【0018】
モジュール特定部206は、パーティション外判定部205が、稼動可能かつ不使用のコアプロセッサ11があると判定した場合に、当該コアプロセッサ11を備えるモジュール10を特定する。
モジュール交換部207は、パーティション間でモジュール特定部206が特定したモジュール10と障害が発生したコアプロセッサ11を備えるモジュール10とを交換する。
【0019】
ライセンス委譲部208は、パーティション内判定部204が、稼動可能かつ不使用のコアプロセッサ11があると判定した場合に、障害が発生したコアプロセッサ11のライセンスを、当該稼動可能かつ不使用のコアプロセッサ11に委譲する。また、ライセンス委譲部208は、パーティション内判定部204が、稼動可能かつ不使用のコアプロセッサ11が無いと判定した場合に、障害が発生したコアプロセッサ11と同一のモジュール10に備えられた全てのコアプロセッサ11のライセンスを、モジュール交換部207によって交換されたモジュール10のコアプロセッサ11に委譲する。
【0020】
次に、本実施形態のマネージメントボード20によるサーバ装置の障害対処動作について説明する。
図4は、マネージメントボード20による障害対処動作を示すフローチャートである。
障害検知部201が、稼働中のコアプロセッサ11の障害発生を検知すると(ステップS1)、障害パーティション特定部202は、FlashROM21が記憶するテーブルを参照し、障害が発生したコアプロセッサ11が属するパーティションを特定する(ステップS2)。次に、システム制御部203は、障害パーティション特定部202が特定したパーティションが構成するサーバシステムを停止させる(ステップS3)。
【0021】
次に、パーティション内判定部204は、FlashROM21のテーブルを参照し、障害パーティション特定部202が特定したパーティションに関連付けられたコアプロセッサ11の中に、状態が正常であり(稼動可能)、かつライセンスキーが発行されていない(不使用)ものがあるか否かを判定する(ステップS4)。
【0022】
パーティション内判定部204が、稼動可能かつ不使用のコアプロセッサ11があると判定した場合(ステップS4:YES)、ライセンス委譲部208は、障害が発生したコアプロセッサ11のライセンスを、当該稼動可能かつ不使用のコアプロセッサ11に委譲する(ステップS5)。具体的には、ライセンス委譲部208は、FlashROM21のテーブルにおいて、パーティション内判定部204が抽出した稼動可能かつ不使用のコアプロセッサ11に、障害が発生したコアプロセッサ11に関連付けられたライセンスキーを関連付けて記録し、障害が発生したコアプロセッサ11に関連付けられたライセンスキーを削除する。
次に、システム制御部203は、ステップS2で障害パーティション特定部202が特定したパーティションが構成するサーバシステムを起動し(ステップS6)、処理を終了する。これにより、障害が発生したパーティションに、代替となるコアプロセッサ11がある場合、当該パーティションで使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【0023】
他方、ステップS4においてパーティション内判定部204が、稼動可能かつ不使用のコアプロセッサ11がないと判定した場合(ステップS4:NO)、パーティション外判定部205は、FlashROM21のテーブルを参照し、障害パーティション特定部202が特定したパーティション以外のパーティションに関連付けられたコアプロセッサ11の中に、状態が正常であり(稼動可能)、かつライセンスキーが発行されていない(不使用)ものがあるか否かを判定する(ステップS7)。
【0024】
パーティション外判定部205が、稼動可能かつ不使用のコアプロセッサ11があると判定した場合(ステップS7:YES)、モジュール特定部206は、FlashROM21のテーブルを参照し、当該稼動可能かつ不使用のコアプロセッサ11が属するモジュール10及び当該モジュール10が属すパーティションを特定する(ステップS8)。次に、モジュール特定部206は、FlashROM21のテーブルを参照し、モジュール特定部206が特定したパーティションの稼動可能なコアプロセッサ数と当該パーティションのライセンス数との差を算出する(ステップS9)。次に、モジュール特定部206は、FlashROM21のテーブルを参照し、障害が発生したコアプロセッサ11を備えるモジュール10が備える、状態が正常でない(稼動不可能)コアプロセッサ11の個数を算出する(ステップS10)。
【0025】
次に、モジュール特定部206は、ステップS8で特定したモジュール10の中から、ステップS10で算出した稼動不可能なコアプロセッサ11の個数が、ステップS9で算出した稼動可能なコアプロセッサ数とライセンス数との差以下となるモジュール10を抽出する(ステップS11)。
【0026】
そして、モジュール交換部207は、障害が発生したコアプロセッサ11を備えるモジュール10と、ステップS11で抽出したモジュール10との間で、パーティションの所属を交換する(ステップS12)。具体的には、モジュール交換部207は、FlashROM21のテーブルにおいて、障害が発生したコアプロセッサ11を備えるモジュール10に関連付けられたパーティションを、ステップS11で抽出したモジュール10が属すパーティションに書き換え、ステップS11で抽出したモジュール10が属すパーティションを、障害が発生したコアプロセッサ11を備えるモジュール10に関連付けられたパーティションに書き換える。次に、ライセンス委譲部208は、モジュール交換部207によって交換された2つのモジュール10が備えるコアプロセッサ11のライセンスを、相互に委譲する(ステップS13)。
【0027】
そして、システム制御部203は、モジュール交換部207によって交換されたモジュール10が属すそれぞれのパーティションが構成するサーバシステムを起動し(ステップS14)、処理を終了する。これにより、障害が発生したパーティションに、代替となるコアプロセッサ11がない場合にも、当該パーティションで使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【0028】
なお、パーティション外判定部205が、稼動可能かつ不使用のコアプロセッサ11がないと判定した場合(ステップS7:NO)、ライセンスを委譲できるコアプロセッサ11が無いため、システム制御部203は、ステップS2で障害パーティション特定部202が特定したパーティションが構成するサーバシステムを、障害が発生したコアプロセッサ11を縮退させて起動し(ステップS15)、処理を終了する。
【0029】
ここで、本実施形態のサーバ装置による障害対処動作の具体的な動作例を説明する。
図5は、サーバ装置による障害対処動作の第1の動作例を示す図である。
第1の動作例では、モジュール10−1とモジュール10−2がパーティションP1に属しており、モジュール10−3がパーティションP2に属している。また、第1の動作例では、全てのコアプロセッサ11が正常に動作している。
また、パーティションP1には、7つのライセンスキーL1〜L7が発行されている。具体的には、ライセンスキーL1は、コアプロセッサ11−1−1に付与されている。ライセンスキーL2は、コアプロセッサ11−1−2に付与されている。ライセンスキーL3は、コアプロセッサ11−1−3に付与されている。ライセンスキーL4は、コアプロセッサ11−2−1に付与されている。ライセンスキーL5は、コアプロセッサ11−2−2に付与されている。ライセンスキーL6は、コアプロセッサ11−2−3に付与されている。ライセンスキーL7は、コアプロセッサ11−2−4に付与されている。
また、パーティションP2には、3つのライセンスキーL8〜L10が発行されている。具体的には、ライセンスキーL8は、コアプロセッサ11−3−1に付与されている。ライセンスキーL9は、コアプロセッサ11−3−2に付与されている。ライセンスキーL10は、コアプロセッサ11−3−4に付与されている。
【0030】
ここで、コアプロセッサ11−2−4に障害が発生すると、上述したステップS4により、パーティション内判定部204は、コアプロセッサ11−2−4が属すパーティションP1の中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第1の動作例では、コアプロセッサ11−1−4が、稼動可能かつ不使用である。そのため、ライセンス委譲部208は、上述したステップS5により、コアプロセッサ11−2−4のライセンスL7を、コアプロセッサ11−1−4に委譲する。
これにより、パーティションP1で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【0031】
図6は、サーバ装置による障害対処動作の第2の動作例を示す図である。
第2の動作例では、モジュール10−1とモジュール10−2がパーティションP1に属しており、モジュール10−3がパーティションP2に属している。また、第2の動作例では、コアプロセッサ11−1−4が障害により動作を停止している。
また、パーティションP1には、7つのライセンスキーL1〜L7が発行されている。具体的には、ライセンスキーL1は、コアプロセッサ11−1−1に付与されている。ライセンスキーL2は、コアプロセッサ11−1−2に付与されている。ライセンスキーL3は、コアプロセッサ11−1−3に付与されている。ライセンスキーL4は、コアプロセッサ11−2−1に付与されている。ライセンスキーL5は、コアプロセッサ11−2−2に付与されている。ライセンスキーL6は、コアプロセッサ11−2−3に付与されている。ライセンスキーL7は、コアプロセッサ11−2−4に付与されている。
また、パーティションP2には、3つのライセンスキーL8〜L10が発行されている。具体的には、ライセンスキーL8は、コアプロセッサ11−3−1に付与されている。ライセンスキーL9は、コアプロセッサ11−3−2に付与されている。ライセンスキーL10は、コアプロセッサ11−3−4に付与されている。
【0032】
ここで、コアプロセッサ11−2−4に障害が発生すると、上述したステップS4により、パーティション内判定部204は、コアプロセッサ11−2−4が属すパーティションP1の中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第2の動作例では、パーティションP1の中に稼動可能かつ不使用のプロセッサは無い。そのため、上述したステップS7により、パーティション外判定部205は、パーティションP1以外のパーティションの中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第2の動作例では、コアプロセッサ11−3−3が、稼動可能かつ不使用である。
【0033】
第2の動作例では、パーティションP2のライセンス数は3であり、稼動可能なコアプロセッサ数は4であるため、差の値は1となる。他方、モジュール10−2の稼動不可能なコアプロセッサ数は1である。そのため、上述したステップS11により、モジュール特定部206は、モジュール10−2の稼動不可能なコアプロセッサ数が、コアプロセッサ11−3−3が属するパーティションP2のライセンス数と稼動可能なコアプロセッサ数との差以下となるモジュール10−3を抽出する。そして、モジュール交換部207は、モジュール10−2とモジュール10−3の交換を行い、ライセンス委譲部208は、モジュール10−2とモジュール10−3のライセンスの相互委譲を行い、当該ライセンスの再配分を行う。
これにより、パーティションP1及びパーティションP2で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【0034】
図7は、サーバ装置による障害対処動作の第3の動作例を示す図である。
第3の動作例では、モジュール10−1とモジュール10−2がパーティションP1に属しており、モジュール10−3がパーティションP2に属している。また、第3の動作例では、コアプロセッサ11−3−3が障害により動作を停止している。
また、パーティションP1には、6つのライセンスキーL1〜L6が発行されている。具体的には、ライセンスキーL1は、コアプロセッサ11−1−1に付与されている。ライセンスキーL2は、コアプロセッサ11−1−2に付与されている。ライセンスキーL3は、コアプロセッサ11−1−3に付与されている。ライセンスキーL4は、コアプロセッサ11−2−1に付与されている。ライセンスキーL5は、コアプロセッサ11−2−2に付与されている。ライセンスキーL6は、コアプロセッサ11−2−3に付与されている。
また、パーティションP2には、3つのライセンスキーL7〜L9が発行されている。具体的には、ライセンスキーL7は、コアプロセッサ11−3−1に付与されている。ライセンスキーL8は、コアプロセッサ11−3−2に付与されている。ライセンスキーL9は、コアプロセッサ11−3−4に付与されている。
【0035】
ここで、コアプロセッサ11−3−4に障害が発生すると、上述したステップS4により、パーティション内判定部204は、コアプロセッサ11−3−4が属すパーティションP2の中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第3の動作例では、パーティションP2の中に稼動可能かつ不使用のプロセッサは無い。そのため、上述したステップS7により、パーティション外判定部205は、パーティションP2以外のパーティションの中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第3の動作例では、コアプロセッサ11−1−4及びコアプロセッサ11−2−4が、稼動可能かつ不使用である。
【0036】
第3の動作例では、パーティションP1のライセンス数は6であり、稼動可能なコアプロセッサ数は8であるため、差の値は2となる。他方、モジュール10−3の稼動不可能なコアプロセッサ数は2である。そのため、上述したステップS11により、モジュール特定部206は、モジュール10−3の稼動不可能なコアプロセッサ数が、コアプロセッサ11−1−4及びコアプロセッサ11−2−4が属するパーティションP1のライセンス数と稼動可能なコアプロセッサ数との差以下となるモジュール10を1つ抽出する。ここでは、モジュール特定部206は、モジュール10−2を選択する。そして、モジュール交換部207は、モジュール10−2とモジュール10−3の交換を行い、ライセンス委譲部208は、モジュール10−2とモジュール10−3のライセンスの相互委譲を行い、当該ライセンスの再配分を行う。このとき、モジュール10−3には稼動可能なプロセッサが2つしかないため、ライセンスが1つ余ることになる。そこで、ライセンス委譲部208は、当該余ったライセンスL4を、モジュール10−1のコアプロセッサ11−1−4に委譲する。
これにより、パーティションP1及びパーティションP2で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【0037】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、モジュール交換部207が、障害が発生したコアプロセッサ11を備えるモジュール10において稼動不可能なコアプロセッサ11の数が、モジュール特定部206が特定したモジュール10が属するパーティションのライセンス数と当該パーティションの稼動可能なコアプロセッサ数との差以下であるときに、モジュール10のパーティションの所属を交換する場合について説明したが、これに限られない。
【0038】
具体的には、モジュール交換部207は、障害が発生したコアプロセッサ11を備えるモジュール10において稼動不可能なコアプロセッサ11の数が、モジュール特定部206が特定したモジュール10の稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該2つのモジュール10のパーティションの所属を交換するような構成であっても良い。このような構成であった場合、少なくとも上述した
図6のようなパターンにおいて、パーティションP1及びパーティションP2で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。他方、このような構成であった場合、
図7のようなパターンにおいては、パーティションP1及びパーティションP2で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができない。
【0039】
また、本実施形態では、マネージメントボード20のサービスプロセッサ22が、FlashROM21が記憶するBMCFWを実行することで、上述した各処理部を備える場合について説明したが、これに限られない。例えば、BMCFWは、FlashROM21に代えて他のコンピュータ読み取り可能な記録媒体に記録されていても良い。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、BMCFWを通信回線によってサーバ装置に配信し、この配信を受けたサービスプロセッサ22が当該BMCFWを実行するようにしても良い。
【0040】
また、当該BMCFWは、上述した機能の一部を実現するためのものであっても良い。さらに、上述した機能をマネージメントボード20にすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0041】
《基本構成》
図8は、本発明による管理ユニットの基本構成を示す概略ブロック図である。
上述した実施形態では、本発明による管理ユニットの一実施形態として
図3に示すマネージメントボード20の構成について説明したが、本発明による管理ユニットの基本構成は、
図8に示すとおりである。
すなわち、本発明による管理ユニットは、障害検知部201、障害パーティション特定部202、パーティション内判定部204、パーティション外判定部205、モジュール特定部206、及びモジュール交換部207を基本構成とする。
【0042】
障害検知部201は、稼働中のコアプロセッサ11の障害の発生を検知する。
障害パーティション特定部202は、障害検知部201が障害を検知した場合に、当該障害が発生したコアプロセッサ11を備えるモジュール10が属するパーティションを特定する。
パーティション内判定部204は、障害パーティション特定部202が特定したパーティションに属する何れかのモジュール10に、稼動可能かつ不使用のコアプロセッサ11があるか否かを判定する。
パーティション外判定部205は、パーティション内判定部204が、稼動可能かつ不使用のコアプロセッサ11が無いと判定した場合に、障害パーティション特定部202が特定したパーティション以外のパーティションに属する何れかのモジュール10に、稼動可能かつ不使用のコアプロセッサ11があるか否かを判定する。
モジュール特定部206は、パーティション外判定部205が、稼動可能かつ不使用のコアプロセッサ11があると判定した場合に、当該コアプロセッサ11を備えるモジュール10を特定する。
モジュール交換部207は、障害が発生したコアプロセッサ11を備えるモジュール10において稼動不可能なコアプロセッサ11の数が、モジュール特定部206が特定したモジュール10の稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該2つのモジュール10のパーティションの所属を交換する。
これにより、管理ユニットは、これにより、障害が発生したコアプロセッサ11が属するパーティション内に稼動可能かつ不使用なコアプロセッサ11が無い場合にも、ライセンスの委譲をすることができる。