(57)【特許請求の範囲】
【請求項１】
複数のコアプロセッサを備える複数のモジュールと、
１つのサーバとして動作させる前記モジュールまたは前記モジュールの組み合わせを示すパーティションを管理する管理ユニットと
を備え、
前記管理ユニットは、
前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、当該モジュールが属する前記パーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部と、
稼働中のコアプロセッサの障害の発生を検知する障害検知部と、
前記障害検知部が障害を検知した場合に、前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部と、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部と、
前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部と、
前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部と、
前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュールのパーティションの所属を交換するモジュール交換部と
を備えることを特徴とするサーバ装置。
【請求項２】
前記管理ユニットのモジュール交換部は、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールが属するパーティションのライセンス数と当該パーティションの稼動可能なコアプロセッサ数との差以下であるときに、前記２つのモジュールのパーティションの所属を交換する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
複数のコアプロセッサを備える複数のモジュールにおいて、前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、前記モジュールの組み合わせを示すパーティションのうち当該モジュールが属するパーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部と、
稼働中のコアプロセッサの障害の発生を検知する障害検知部と、
前記障害検知部が障害を検知した場合に、前記ライセンス記憶部を参照して１つのサーバとして動作させる前記モジュールまたは当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部と、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部と、
前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部と、
前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部と、
前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュールのパーティションの所属を交換するモジュール交換部と
を備えることを特徴とする管理ユニット。
【請求項４】
前記モジュール交換部は、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールが属するパーティションのライセンス数と当該パーティションの稼動可能なコアプロセッサ数との差以下であるときに、前記２つのモジュールのパーティションの所属を交換する
ことを特徴とする請求項３に記載の管理ユニット。
【請求項５】
複数のコアプロセッサを備える複数のモジュールと、前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、前記モジュールの組み合わせを示すパーティションのうち当該モジュールが属するパーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部とを備え、１つのサーバとして動作させる前記モジュールまたは前記パーティション毎に前記モジュールを動作させるサーバ装置の障害対処方法であって、
障害検知部は、稼働中のコアプロセッサの障害の発生を検知し、
障害パーティション特定部は、前記障害検知部が障害を検知した場合に、前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定し、
パーティション内判定部は、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定し、
パーティション外判定部は、前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定し、
モジュール特定部は、前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定し、
モジュール交換部は、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュールのパーティションの所属を交換する
ことを特徴とする障害対処方法。
【請求項６】
前記モジュール交換部は、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールが属するパーティションのライセンス数と当該パーティションの稼動可能なコアプロセッサ数との差以下であるときに、前記２つのモジュールのパーティションの所属を交換する
ことを特徴とする請求項５に記載の障害対処方法。
【請求項７】
複数のコアプロセッサを備える複数のモジュールを搭載するサーバ装置に備えられる、１つのサーバとして動作させる前記モジュールまたは前記モジュールの組み合わせを示すパーティションを管理する管理ユニットを、
前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、当該モジュールが属する前記パーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部、
稼働中のコアプロセッサの障害の発生を検知する障害検知部、
前記障害検知部が障害を検知した場合に、前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部、
前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部、
前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部、
前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部、
前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュールのパーティションの所属を交換するモジュール交換部
として機能させるためのプログラム。
【請求項８】
前記モジュール交換部は、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールが属するパーティションのライセンス数と当該パーティションの稼動可能なコアプロセッサ数との差以下であるときに、前記２つのモジュールのパーティションの所属を交換する
ことを特徴とする請求項７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコアプロセッサを備える複数のモジュールを備えるサーバ装置、管理ユニット、障害対処方法及びプログラムに関する。
【背景技術】
【０００２】
サーバ装置の販売者であるライセンサーが、予め複数のコアプロセッサを搭載したサーバ装置を、サーバ装置の利用者であるライセンシーに販売し、ライセンサーとライセンシーとの間の契約に基づいてサーバ装置が使用可能なコアプロセッサ数を制限するビジネスモデルが知られている。本ビジネスモデルによれば、ライセンサーは、異なる性能のサーバ装置を製造しなくて良いため、生産のコストを低下させることができる。他方、ライセンシーは、必要に応じてライセンサーとの契約を締結することで、利用目的に応じてサーバ装置の性能を変化させることができる。
【０００３】
このようなサーバ装置は、複数のコアプロセッサを複数のパーティションに分けて、別個のサーバとして分けて用いることができる。なお、サーバ装置は、複数のコアプロセッサとメモリとを搭載したモジュールを複数備えることで、複数のコアプロセッサを備えるため、当該パーティションは、モジュール単位で行われる。
この場合、サーバ装置は、パーティション毎に使用可能なコアプロセッサ数を管理する。
【０００４】
このようなサーバ装置においてあるコアプロセッサに障害が発生した場合、サーバ装置の管理ユニットは、障害が発生したコアプロセッサが属するパーティション内の、稼動可能かつ不使用なコアプロセッサへライセンスを委譲することで、サーバにおいて稼動するコアプロセッサ数を減少させないよう障害対処を行う。
なお、特許文献１には、同一のサーバ装置を複数のサーバとして動作させる場合に、当該サーバ間でコアライセンスを授受する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２２７８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、パーティション毎に使用可能なコアプロセッサ数を管理しているため、障害が発生したコアプロセッサが属するパーティション内に稼動可能かつ不使用なコアプロセッサが無い場合、たとえ他のパーティション内に稼動可能かつ不使用なコアプロセッサがあったとしても、ライセンスの委譲をすることができないという問題がある。
また、１つのモジュールに複数のコアプロセッサが搭載される場合、同一のモジュールに搭載される２つのコアプロセッサをそれぞれ異なるサーバ装置として機能させることはできないため、特許文献１の方法を用いてライセンスの委譲を行うことができないという問題がある。
【課題を解決するための手段】
【０００７】
本発明は上記の課題を解決するためになされたものであり、複数のコアプロセッサを備える複数のモジュールと、１つのサーバとして動作させる前記モジュールまたは前記モジュールの組み合わせを示すパーティションを管理する管理ユニットとを備え、前記管理ユニットは、前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、当該モジュールが属する前記パーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部と、稼働中のコアプロセッサの障害の発生を検知する障害検知部と、前記障害検知部が障害を検知した場合に、前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部と、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部と、前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部と、前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部と、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュールのパーティションの所属を交換するモジュール交換部とを備えることを特徴とする。
【０００８】
また、本発明は、複数のコアプロセッサを備える複数のモジュールにおいて、前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、前記モジュールの組み合わせを示すパーティションのうち当該モジュールが属するパーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部と、稼働中のコアプロセッサの障害の発生を検知する障害検知部と、前記障害検知部が障害を検知した場合に、前記ライセンス記憶部を参照して１つのサーバとして動作させる前記モジュールまたは当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部と、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部と、前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部と、前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部と、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュールのパーティションの所属を交換するモジュール交換部とを備えることを特徴とする。
【０００９】
また、本発明は、複数のコアプロセッサを備える複数のモジュールと、前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、前記モジュールの組み合わせを示すパーティションのうち当該モジュールが属するパーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部とを備え、１つのサーバとして動作させる前記モジュールまたは前記パーティション毎に前記モジュールを動作させるサーバ装置の障害対処方法であって、障害検知部は、稼働中のコアプロセッサの障害の発生を検知し、障害パーティション特定部は、前記障害検知部が障害を検知した場合に、前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定し、パーティション内判定部は、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定し、パーティション外判定部は、前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定し、モジュール特定部は、前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定し、モジュール交換部は、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュールのパーティションの所属を交換することを特徴とする。
【００１０】
また、本発明は、複数のコアプロセッサを備える複数のモジュールを搭載するサーバ装置に備えられる、１つのサーバとして動作させる前記モジュールまたは前記モジュールの組み合わせを示すパーティションを管理する管理ユニットを、前記コアプロセッサごとに、当該コアプロセッサを備える前記モジュール、当該モジュールが属する前記パーティション、当該コアプロセッサが稼働可能であるか否かを示す情報、および当該コアプロセッサが使用中であるか否かを示す情報を、関連付けて記憶するライセンス記憶部、稼働中のコアプロセッサの障害の発生を検知する障害検知部、前記障害検知部が障害を検知した場合に、前記ライセンス記憶部を参照して当該障害が発生したコアプロセッサを備えるモジュールが属するパーティションを特定する障害パーティション特定部、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション内判定部、前記パーティション内判定部が、稼動可能かつ不使用のコアプロセッサが無いと判定した場合に、前記ライセンス記憶部を参照して、前記障害パーティション特定部が特定したパーティション以外のパーティションに属する何れかのモジュールに、稼動可能かつ不使用のコアプロセッサがあるか否かを判定するパーティション外判定部、前記パーティション外判定部が、稼動可能かつ不使用のコアプロセッサがあると判定した場合に、前記ライセンス記憶部を参照して、当該コアプロセッサを備えるモジュールを特定するモジュール特定部、前記障害が発生したコアプロセッサを備えるモジュールにおいて稼動不可能なコアプロセッサの数が、前記モジュール特定部が特定したモジュールの稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュールのパーティションの所属を交換するモジュール交換部として機能させるためのプログラムである。
【発明の効果】
【００１１】
本発明によれば、障害が発生したコアプロセッサが属するパーティション内に稼動可能かつ不使用なコアプロセッサが無い場合、当該コアプロセッサを有するモジュールと、稼動可能かつ不使用なコアプロセッサの数に余裕がある他のパーティション内に属するモジュールとを交換する。これにより、障害が発生したコアプロセッサが属するパーティション内に稼動可能かつ不使用なコアプロセッサが無い場合にも、ライセンスの委譲をすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態によるサーバ装置の構成を示す概略ブロック図である。
【図２】ＦｌａｓｈＲＯＭが記憶する情報を示す図である。
【図３】本発明の一実施形態によるマネージメントボードの構成を示す概略ブロック図である。
【図４】マネージメントボードによる障害対処動作を示すフローチャートである。
【図５】サーバ装置による障害対処動作の第１の動作例を示す図である。
【図６】サーバ装置による障害対処動作の第２の動作例を示す図である。
【図７】サーバ装置による障害対処動作の第３の動作例を示す図である。
【図８】本発明による管理ユニットの基本構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図１は、本発明の一実施形態によるサーバ装置の構成を示す概略ブロック図である。
サーバ装置は、複数のモジュール１０（モジュール１０−１〜モジュール１０−Ｎ）と、１つのマネージメントボード２０を備え、モジュール１０それぞれとマネージメントボード２０（管理ユニット）とは、内部バスによって接続される。
モジュール１０は、４つのコアプロセッサ１１（コアプロセッサ１１−１−１〜コアプロセッサ１１−Ｎ−４）とメモリ１２（メモリ１２−１〜メモリ１２−Ｎ）とを搭載する基板である。
マネージメントボード２０は、ＢＭＣＦＷ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ｆｉｒｍ  Ｗａｒｅ）を記憶するＦｌａｓｈＲＯＭ２１（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、当該ＢＭＣＦＷを実行するサービスプロセッサ２２とを備える。なお、ＢＭＣＦＷとは、パーティションごとのコアプロセッサ１１のライセンスの管理及びコアプロセッサ１１の制御を行うためのファームウェアである。
【００１４】
図２は、ＦｌａｓｈＲＯＭ２１が記憶する情報を示す図である。
ＦｌａｓｈＲＯＭ２１（ライセンス記憶部）は、ＢＭＣＦＷのほかに、パーティション、モジュール１０及びコアプロセッサ１１の情報を格納するテーブルを記憶する。
具体的には、ＦｌａｓｈＲＯＭ２１が記憶するテーブルは、図２に示すように、パーティションごとに、当該パーティションに属するモジュール１０を格納する。つまり、パーティション構成テーブルは、１つのサーバとして機能させる１つまたは複数のモジュール１０を、パーティションを特定するパーティションに関連付けて格納する。図２に示す例では、モジュール１０−１及びモジュール１０−２がパーティションＰ１に属し、モジュール１０−３がパーティションＰ２に属す。
さらに、当該テーブルは、図２に示すように、モジュール１０が備えるコアプロセッサ１１の識別情報、当該コアプロセッサ１１にライセンスキーが与えられているか否か、及び当該コアプロセッサ１１が正常であるか否かを関連付けて格納する。図２に示す例では、パーティションＰ１には８つのライセンスキーＬ１〜Ｌ８が発行されており、パーティションＰ２には、３つのライセンスキーＬ９〜Ｌ１１が発行されている。
【００１５】
図３は、本発明の一実施形態によるマネージメントボード２０の構成を示す概略ブロック図である。
マネージメントボード２０のサービスプロセッサ２２は、ＦｌａｓｈＲＯＭ２１からＢＭＣＦＷを読み出して実行する。これにより、サービスプロセッサ２２は、障害検知部２０１、障害パーティション特定部２０２、システム制御部２０３、パーティション内判定部２０４、パーティション外判定部２０５、モジュール特定部２０６、モジュール交換部２０７、ライセンス委譲部２０８を備える。
【００１６】
障害検知部２０１は、稼働中のコアプロセッサ１１に障害が発生しているか否かを判定する。
障害パーティション特定部２０２は、障害検知部２０１が障害を検知したコアプロセッサ１１を備えるモジュール１０を特定し、ＦｌａｓｈＲＯＭ２１が当該モジュール１０に関連付けて記憶するパーティションを読み出すことで、パーティションを特定する。
システム制御部２０３は、パーティション毎に、モジュール１０に対してシステムの停止、再構成、起動などの制御を行う。
【００１７】
パーティション内判定部２０４は、ＦｌａｓｈＲＯＭ２１が、障害パーティション特定部２０２が特定したパーティションに関連付けて記憶するコアプロセッサ１１のうち、稼動可能かつ不使用のものがあるか否かを判定する。
パーティション外判定部２０５は、ＦｌａｓｈＲＯＭ２１が、障害パーティション特定部２０２が特定したパーティション以外のパーティションに関連付けて記憶するコアプロセッサ１１のうち、稼動可能かつ不使用のものがあるか否かを判定する。
【００１８】
モジュール特定部２０６は、パーティション外判定部２０５が、稼動可能かつ不使用のコアプロセッサ１１があると判定した場合に、当該コアプロセッサ１１を備えるモジュール１０を特定する。
モジュール交換部２０７は、パーティション間でモジュール特定部２０６が特定したモジュール１０と障害が発生したコアプロセッサ１１を備えるモジュール１０とを交換する。
【００１９】
ライセンス委譲部２０８は、パーティション内判定部２０４が、稼動可能かつ不使用のコアプロセッサ１１があると判定した場合に、障害が発生したコアプロセッサ１１のライセンスを、当該稼動可能かつ不使用のコアプロセッサ１１に委譲する。また、ライセンス委譲部２０８は、パーティション内判定部２０４が、稼動可能かつ不使用のコアプロセッサ１１が無いと判定した場合に、障害が発生したコアプロセッサ１１と同一のモジュール１０に備えられた全てのコアプロセッサ１１のライセンスを、モジュール交換部２０７によって交換されたモジュール１０のコアプロセッサ１１に委譲する。
【００２０】
次に、本実施形態のマネージメントボード２０によるサーバ装置の障害対処動作について説明する。
図４は、マネージメントボード２０による障害対処動作を示すフローチャートである。
障害検知部２０１が、稼働中のコアプロセッサ１１の障害発生を検知すると（ステップＳ１）、障害パーティション特定部２０２は、ＦｌａｓｈＲＯＭ２１が記憶するテーブルを参照し、障害が発生したコアプロセッサ１１が属するパーティションを特定する（ステップＳ２）。次に、システム制御部２０３は、障害パーティション特定部２０２が特定したパーティションが構成するサーバシステムを停止させる（ステップＳ３）。
【００２１】
次に、パーティション内判定部２０４は、ＦｌａｓｈＲＯＭ２１のテーブルを参照し、障害パーティション特定部２０２が特定したパーティションに関連付けられたコアプロセッサ１１の中に、状態が正常であり（稼動可能）、かつライセンスキーが発行されていない（不使用）ものがあるか否かを判定する（ステップＳ４）。
【００２２】
パーティション内判定部２０４が、稼動可能かつ不使用のコアプロセッサ１１があると判定した場合（ステップＳ４：ＹＥＳ）、ライセンス委譲部２０８は、障害が発生したコアプロセッサ１１のライセンスを、当該稼動可能かつ不使用のコアプロセッサ１１に委譲する（ステップＳ５）。具体的には、ライセンス委譲部２０８は、ＦｌａｓｈＲＯＭ２１のテーブルにおいて、パーティション内判定部２０４が抽出した稼動可能かつ不使用のコアプロセッサ１１に、障害が発生したコアプロセッサ１１に関連付けられたライセンスキーを関連付けて記録し、障害が発生したコアプロセッサ１１に関連付けられたライセンスキーを削除する。
次に、システム制御部２０３は、ステップＳ２で障害パーティション特定部２０２が特定したパーティションが構成するサーバシステムを起動し（ステップＳ６）、処理を終了する。これにより、障害が発生したパーティションに、代替となるコアプロセッサ１１がある場合、当該パーティションで使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【００２３】
他方、ステップＳ４においてパーティション内判定部２０４が、稼動可能かつ不使用のコアプロセッサ１１がないと判定した場合（ステップＳ４：ＮＯ）、パーティション外判定部２０５は、ＦｌａｓｈＲＯＭ２１のテーブルを参照し、障害パーティション特定部２０２が特定したパーティション以外のパーティションに関連付けられたコアプロセッサ１１の中に、状態が正常であり（稼動可能）、かつライセンスキーが発行されていない（不使用）ものがあるか否かを判定する（ステップＳ７）。
【００２４】
パーティション外判定部２０５が、稼動可能かつ不使用のコアプロセッサ１１があると判定した場合（ステップＳ７：ＹＥＳ）、モジュール特定部２０６は、ＦｌａｓｈＲＯＭ２１のテーブルを参照し、当該稼動可能かつ不使用のコアプロセッサ１１が属するモジュール１０及び当該モジュール１０が属すパーティションを特定する（ステップＳ８）。次に、モジュール特定部２０６は、ＦｌａｓｈＲＯＭ２１のテーブルを参照し、モジュール特定部２０６が特定したパーティションの稼動可能なコアプロセッサ数と当該パーティションのライセンス数との差を算出する（ステップＳ９）。次に、モジュール特定部２０６は、ＦｌａｓｈＲＯＭ２１のテーブルを参照し、障害が発生したコアプロセッサ１１を備えるモジュール１０が備える、状態が正常でない（稼動不可能）コアプロセッサ１１の個数を算出する（ステップＳ１０）。
【００２５】
次に、モジュール特定部２０６は、ステップＳ８で特定したモジュール１０の中から、ステップＳ１０で算出した稼動不可能なコアプロセッサ１１の個数が、ステップＳ９で算出した稼動可能なコアプロセッサ数とライセンス数との差以下となるモジュール１０を抽出する（ステップＳ１１）。
【００２６】
そして、モジュール交換部２０７は、障害が発生したコアプロセッサ１１を備えるモジュール１０と、ステップＳ１１で抽出したモジュール１０との間で、パーティションの所属を交換する（ステップＳ１２）。具体的には、モジュール交換部２０７は、ＦｌａｓｈＲＯＭ２１のテーブルにおいて、障害が発生したコアプロセッサ１１を備えるモジュール１０に関連付けられたパーティションを、ステップＳ１１で抽出したモジュール１０が属すパーティションに書き換え、ステップＳ１１で抽出したモジュール１０が属すパーティションを、障害が発生したコアプロセッサ１１を備えるモジュール１０に関連付けられたパーティションに書き換える。次に、ライセンス委譲部２０８は、モジュール交換部２０７によって交換された２つのモジュール１０が備えるコアプロセッサ１１のライセンスを、相互に委譲する（ステップＳ１３）。
【００２７】
そして、システム制御部２０３は、モジュール交換部２０７によって交換されたモジュール１０が属すそれぞれのパーティションが構成するサーバシステムを起動し（ステップＳ１４）、処理を終了する。これにより、障害が発生したパーティションに、代替となるコアプロセッサ１１がない場合にも、当該パーティションで使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【００２８】
なお、パーティション外判定部２０５が、稼動可能かつ不使用のコアプロセッサ１１がないと判定した場合（ステップＳ７：ＮＯ）、ライセンスを委譲できるコアプロセッサ１１が無いため、システム制御部２０３は、ステップＳ２で障害パーティション特定部２０２が特定したパーティションが構成するサーバシステムを、障害が発生したコアプロセッサ１１を縮退させて起動し（ステップＳ１５）、処理を終了する。
【００２９】
ここで、本実施形態のサーバ装置による障害対処動作の具体的な動作例を説明する。
図５は、サーバ装置による障害対処動作の第１の動作例を示す図である。
第１の動作例では、モジュール１０−１とモジュール１０−２がパーティションＰ１に属しており、モジュール１０−３がパーティションＰ２に属している。また、第１の動作例では、全てのコアプロセッサ１１が正常に動作している。
また、パーティションＰ１には、７つのライセンスキーＬ１〜Ｌ７が発行されている。具体的には、ライセンスキーＬ１は、コアプロセッサ１１−１−１に付与されている。ライセンスキーＬ２は、コアプロセッサ１１−１−２に付与されている。ライセンスキーＬ３は、コアプロセッサ１１−１−３に付与されている。ライセンスキーＬ４は、コアプロセッサ１１−２−１に付与されている。ライセンスキーＬ５は、コアプロセッサ１１−２−２に付与されている。ライセンスキーＬ６は、コアプロセッサ１１−２−３に付与されている。ライセンスキーＬ７は、コアプロセッサ１１−２−４に付与されている。
また、パーティションＰ２には、３つのライセンスキーＬ８〜Ｌ１０が発行されている。具体的には、ライセンスキーＬ８は、コアプロセッサ１１−３−１に付与されている。ライセンスキーＬ９は、コアプロセッサ１１−３−２に付与されている。ライセンスキーＬ１０は、コアプロセッサ１１−３−４に付与されている。
【００３０】
ここで、コアプロセッサ１１−２−４に障害が発生すると、上述したステップＳ４により、パーティション内判定部２０４は、コアプロセッサ１１−２−４が属すパーティションＰ１の中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第１の動作例では、コアプロセッサ１１−１−４が、稼動可能かつ不使用である。そのため、ライセンス委譲部２０８は、上述したステップＳ５により、コアプロセッサ１１−２−４のライセンスＬ７を、コアプロセッサ１１−１−４に委譲する。
これにより、パーティションＰ１で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【００３１】
図６は、サーバ装置による障害対処動作の第２の動作例を示す図である。
第２の動作例では、モジュール１０−１とモジュール１０−２がパーティションＰ１に属しており、モジュール１０−３がパーティションＰ２に属している。また、第２の動作例では、コアプロセッサ１１−１−４が障害により動作を停止している。
また、パーティションＰ１には、７つのライセンスキーＬ１〜Ｌ７が発行されている。具体的には、ライセンスキーＬ１は、コアプロセッサ１１−１−１に付与されている。ライセンスキーＬ２は、コアプロセッサ１１−１−２に付与されている。ライセンスキーＬ３は、コアプロセッサ１１−１−３に付与されている。ライセンスキーＬ４は、コアプロセッサ１１−２−１に付与されている。ライセンスキーＬ５は、コアプロセッサ１１−２−２に付与されている。ライセンスキーＬ６は、コアプロセッサ１１−２−３に付与されている。ライセンスキーＬ７は、コアプロセッサ１１−２−４に付与されている。
また、パーティションＰ２には、３つのライセンスキーＬ８〜Ｌ１０が発行されている。具体的には、ライセンスキーＬ８は、コアプロセッサ１１−３−１に付与されている。ライセンスキーＬ９は、コアプロセッサ１１−３−２に付与されている。ライセンスキーＬ１０は、コアプロセッサ１１−３−４に付与されている。
【００３２】
ここで、コアプロセッサ１１−２−４に障害が発生すると、上述したステップＳ４により、パーティション内判定部２０４は、コアプロセッサ１１−２−４が属すパーティションＰ１の中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第２の動作例では、パーティションＰ１の中に稼動可能かつ不使用のプロセッサは無い。そのため、上述したステップＳ７により、パーティション外判定部２０５は、パーティションＰ１以外のパーティションの中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第２の動作例では、コアプロセッサ１１−３−３が、稼動可能かつ不使用である。
【００３３】
第２の動作例では、パーティションＰ２のライセンス数は３であり、稼動可能なコアプロセッサ数は４であるため、差の値は１となる。他方、モジュール１０−２の稼動不可能なコアプロセッサ数は１である。そのため、上述したステップＳ１１により、モジュール特定部２０６は、モジュール１０−２の稼動不可能なコアプロセッサ数が、コアプロセッサ１１−３−３が属するパーティションＰ２のライセンス数と稼動可能なコアプロセッサ数との差以下となるモジュール１０−３を抽出する。そして、モジュール交換部２０７は、モジュール１０−２とモジュール１０−３の交換を行い、ライセンス委譲部２０８は、モジュール１０−２とモジュール１０−３のライセンスの相互委譲を行い、当該ライセンスの再配分を行う。
これにより、パーティションＰ１及びパーティションＰ２で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【００３４】
図７は、サーバ装置による障害対処動作の第３の動作例を示す図である。
第３の動作例では、モジュール１０−１とモジュール１０−２がパーティションＰ１に属しており、モジュール１０−３がパーティションＰ２に属している。また、第３の動作例では、コアプロセッサ１１−３−３が障害により動作を停止している。
また、パーティションＰ１には、６つのライセンスキーＬ１〜Ｌ６が発行されている。具体的には、ライセンスキーＬ１は、コアプロセッサ１１−１−１に付与されている。ライセンスキーＬ２は、コアプロセッサ１１−１−２に付与されている。ライセンスキーＬ３は、コアプロセッサ１１−１−３に付与されている。ライセンスキーＬ４は、コアプロセッサ１１−２−１に付与されている。ライセンスキーＬ５は、コアプロセッサ１１−２−２に付与されている。ライセンスキーＬ６は、コアプロセッサ１１−２−３に付与されている。
また、パーティションＰ２には、３つのライセンスキーＬ７〜Ｌ９が発行されている。具体的には、ライセンスキーＬ７は、コアプロセッサ１１−３−１に付与されている。ライセンスキーＬ８は、コアプロセッサ１１−３−２に付与されている。ライセンスキーＬ９は、コアプロセッサ１１−３−４に付与されている。
【００３５】
ここで、コアプロセッサ１１−３−４に障害が発生すると、上述したステップＳ４により、パーティション内判定部２０４は、コアプロセッサ１１−３−４が属すパーティションＰ２の中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第３の動作例では、パーティションＰ２の中に稼動可能かつ不使用のプロセッサは無い。そのため、上述したステップＳ７により、パーティション外判定部２０５は、パーティションＰ２以外のパーティションの中に、稼動可能かつ不使用のプロセッサがあるか否かを判定する。第３の動作例では、コアプロセッサ１１−１−４及びコアプロセッサ１１−２−４が、稼動可能かつ不使用である。
【００３６】
第３の動作例では、パーティションＰ１のライセンス数は６であり、稼動可能なコアプロセッサ数は８であるため、差の値は２となる。他方、モジュール１０−３の稼動不可能なコアプロセッサ数は２である。そのため、上述したステップＳ１１により、モジュール特定部２０６は、モジュール１０−３の稼動不可能なコアプロセッサ数が、コアプロセッサ１１−１−４及びコアプロセッサ１１−２−４が属するパーティションＰ１のライセンス数と稼動可能なコアプロセッサ数との差以下となるモジュール１０を１つ抽出する。ここでは、モジュール特定部２０６は、モジュール１０−２を選択する。そして、モジュール交換部２０７は、モジュール１０−２とモジュール１０−３の交換を行い、ライセンス委譲部２０８は、モジュール１０−２とモジュール１０−３のライセンスの相互委譲を行い、当該ライセンスの再配分を行う。このとき、モジュール１０−３には稼動可能なプロセッサが２つしかないため、ライセンスが１つ余ることになる。そこで、ライセンス委譲部２０８は、当該余ったライセンスＬ４を、モジュール１０−１のコアプロセッサ１１−１−４に委譲する。
これにより、パーティションＰ１及びパーティションＰ２で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。
【００３７】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、モジュール交換部２０７が、障害が発生したコアプロセッサ１１を備えるモジュール１０において稼動不可能なコアプロセッサ１１の数が、モジュール特定部２０６が特定したモジュール１０が属するパーティションのライセンス数と当該パーティションの稼動可能なコアプロセッサ数との差以下であるときに、モジュール１０のパーティションの所属を交換する場合について説明したが、これに限られない。
【００３８】
具体的には、モジュール交換部２０７は、障害が発生したコアプロセッサ１１を備えるモジュール１０において稼動不可能なコアプロセッサ１１の数が、モジュール特定部２０６が特定したモジュール１０の稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュール１０のパーティションの所属を交換するような構成であっても良い。このような構成であった場合、少なくとも上述した図６のようなパターンにおいて、パーティションＰ１及びパーティションＰ２で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができる。他方、このような構成であった場合、図７のようなパターンにおいては、パーティションＰ１及びパーティションＰ２で使用可能なコアプロセッサ数を減らすことなく、システムの稼動を継続させることができない。
【００３９】
また、本実施形態では、マネージメントボード２０のサービスプロセッサ２２が、ＦｌａｓｈＲＯＭ２１が記憶するＢＭＣＦＷを実行することで、上述した各処理部を備える場合について説明したが、これに限られない。例えば、ＢＭＣＦＷは、ＦｌａｓｈＲＯＭ２１に代えて他のコンピュータ読み取り可能な記録媒体に記録されていても良い。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、ＢＭＣＦＷを通信回線によってサーバ装置に配信し、この配信を受けたサービスプロセッサ２２が当該ＢＭＣＦＷを実行するようにしても良い。
【００４０】
また、当該ＢＭＣＦＷは、上述した機能の一部を実現するためのものであっても良い。さらに、上述した機能をマネージメントボード２０にすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４１】
《基本構成》
図８は、本発明による管理ユニットの基本構成を示す概略ブロック図である。
上述した実施形態では、本発明による管理ユニットの一実施形態として図３に示すマネージメントボード２０の構成について説明したが、本発明による管理ユニットの基本構成は、図８に示すとおりである。
すなわち、本発明による管理ユニットは、障害検知部２０１、障害パーティション特定部２０２、パーティション内判定部２０４、パーティション外判定部２０５、モジュール特定部２０６、及びモジュール交換部２０７を基本構成とする。
【００４２】
障害検知部２０１は、稼働中のコアプロセッサ１１の障害の発生を検知する。
障害パーティション特定部２０２は、障害検知部２０１が障害を検知した場合に、当該障害が発生したコアプロセッサ１１を備えるモジュール１０が属するパーティションを特定する。
パーティション内判定部２０４は、障害パーティション特定部２０２が特定したパーティションに属する何れかのモジュール１０に、稼動可能かつ不使用のコアプロセッサ１１があるか否かを判定する。
パーティション外判定部２０５は、パーティション内判定部２０４が、稼動可能かつ不使用のコアプロセッサ１１が無いと判定した場合に、障害パーティション特定部２０２が特定したパーティション以外のパーティションに属する何れかのモジュール１０に、稼動可能かつ不使用のコアプロセッサ１１があるか否かを判定する。
モジュール特定部２０６は、パーティション外判定部２０５が、稼動可能かつ不使用のコアプロセッサ１１があると判定した場合に、当該コアプロセッサ１１を備えるモジュール１０を特定する。
モジュール交換部２０７は、障害が発生したコアプロセッサ１１を備えるモジュール１０において稼動不可能なコアプロセッサ１１の数が、モジュール特定部２０６が特定したモジュール１０の稼動可能かつ不使用のコアプロセッサ数以下であるときに、当該２つのモジュール１０のパーティションの所属を交換する。
これにより、管理ユニットは、これにより、障害が発生したコアプロセッサ１１が属するパーティション内に稼動可能かつ不使用なコアプロセッサ１１が無い場合にも、ライセンスの委譲をすることができる。
【符号の説明】
【００４３】
１０…モジュール  １１…コアプロセッサ  １２…メモリ  ２０…マネージメントボード  ２１…ＦｌａｓｈＲＯＭ  ２２…サービスプロセッサ  ２０１…障害検知部  ２０２…障害パーティション特定部  ２０３…システム制御部  ２０４…パーティション内判定部  ２０５…パーティション外判定部  ２０６…モジュール特定部  ２０７…モジュール交換部  ２０８…ライセンス委譲部
【図１】
0005978783.tif 000002
【図２】
0005978783.tif 000003
【図３】
0005978783.tif 000004
【図４】
0005978783.tif 000005
【図５】
0005978783.tif 000006
【図６】
0005978783.tif 000007
【図７】
0005978783.tif 000008
【図８】
0005978783.tif 000009