(57)【特許請求の範囲】
【請求項１】
管理サーバと、前記管理サーバからの起動指示を受ける管理対象サーバを備えた情報処理システムであって、
前記管理対象サーバは、
前記管理サーバとそれぞれネットワーク接続される、第１および第２のポートと、
起動指示への対応の優先順位を規定した起動順位テーブルを記憶する記憶部と、
前記第１のポートに接続され、起動により前記管理対象サーバを動作させる処理装置と、
前記第２のポートに接続され、前記処理装置を制御する制御装置と、を有し、
前記制御装置は、前記管理対象サーバへの電源投入を検知し、前記管理サーバに前記管理対象サーバへの電源投入を通知し、
前記管理サーバは、前記電源投入の通知に応じて、前記管理対象サーバの前記第２のポートを通じて、前記制御装置に起動指示および前記第１のポートに設定されるアドレスを通知し、
前記管理サーバが、前記制御装置に対する前記起動指示および前記アドレス通知が失敗したことを検知したときは、前記第１のポートを通じて前記制御装置に起動指示および前記第１のポートに設定されるアドレスを通知し、
前記制御装置は、前記管理サーバからの起動指示の受信に応じて、前記起動順位テーブルに従った起動指示を、前記処理装置に対して行う、
ことを特徴とする情報処理システム。
【請求項２】
前記制御装置は、
前記管理サーバに前記第１のポートに設定されるアドレスの取得を要求した際に、該管理サーバから要求した前記第１のポートに設定されるアドレスを取得できない場合、前記処理装置を介して前記管理サーバに該アドレスの取得を要求する仮想アドレス要求部と、
前記処理装置を介して前記管理サーバから取得した前記第１のポートに設定されるアドレスを前記記憶部に記憶させる記憶制御部と、を更に有する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記処理装置は、
前記制御装置により前記管理サーバから前記第１のポートに設定されるアドレスの取得を要求された場合、該管理サーバにブートを要求するブート要求部と、
前記管理サーバから前記第１のポートに設定されるアドレスとブート命令とを受信し、該ブート命令を実行して、前記制御装置に該アドレスを転送する転送部と、を更に有する
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記管理サーバは、
前記処理装置からブートを要求された場合、前記記憶部から前記第１のポートに設定されるアドレスと、ブート命令とを読出し、該アドレスと該ブート命令とを該処理装置に応答する応答部を、更に有する
ことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
管理サーバと、前記管理サーバとそれぞれネットワーク接続される第１および第２のポートのうち第１のポートに接続され、起動により管理対象サーバを動作させる処理装置、および、前記第２のポートに接続され、前記処理装置を制御する制御装置を有し、前記管理サーバからの起動指示を受ける管理対象サーバとによる仮想アドレス設定方法であって、
前記制御装置は、前記管理対象サーバへの電源投入を検知し、前記管理サーバに前記管理対象サーバへの電源投入を通知し、
前記管理サーバは、前記電源投入の通知に応じて、前記管理対象サーバの前記第２のポートを通じて、前記制御装置に起動指示および前記第１のポートに設定されるアドレスを通知し、
前記管理サーバが、前記制御装置に対する前記起動指示および前記アドレス通知が失敗したことを検知したときは、前記第１のポートを通じて前記制御装置に起動指示および前記第１のポートに設定されるアドレスを通知し、
前記制御装置は、前記管理サーバからの起動指示の受信に応じて、前記起動指示への対応の優先順位を規定した起動順位テーブルに従った起動指示を、前記処理装置に対して行う、
ことを特徴とする仮想アドレス設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び仮想アドレス設定方法に関する。
【背景技術】
【０００２】
ブレードサーバが有するＮＩＣ（Network  Interface  Card）やＨＢＡ（Host  Bus  Adapter）には、出荷時より固有の物理アドレスが割当てられている。また、ブレードサーバと接続するストレージ装置は、アクセスを許可するブレードサーバのＨＢＡに割当てられた物理アドレスを記憶し、記憶する物理アドレスに基づいてブレードサーバからのアクセスを許可するか否かを判定する。
【０００３】
このため、ストレージ装置と接続するブレードサーバを交換する場合、ストレージ装置は、アクセスを許可する物理アドレスを変更することになる。このようなことから、ブレードサーバが有するＮＩＣやＨＢＡに、固有の物理アドレスとは異なる仮想アドレスを設定するＩＯ（Input  Output）仮想化技術が知られている。
【０００４】
ＩＯ仮想化技術では、管理者は、例えば、ブレードサーバを交換する場合、交換後のブレードサーバに交換前のブレードサーバと同一の仮想アドレスを設定することで、ブレードサーバの交換前後でアドレスを同一に維持する。
【０００５】
これにより、交換後のブレードサーバは、ストレージ装置の設定を変更することなく、ストレージ装置にアクセス可能になる。また、交換後のブレードサーバは、ストレージ装置が記憶するＯＳ（Operating  System）、プログラム及びデータからブートを実行して起動することが可能になる。このため、利用者は、ストレージ装置が記憶するアドレスの設定を変更することなく、交換後のブレードサーバを用いて業務を継続することが可能になる。
【０００６】
図９を用いて、ブレードサーバを管理対象としたＩＯ仮想化技術を説明する。図９は、ブレードサーバを管理対象としたＩＯ仮想化技術の一例を示す図である。図９に示すように、情報処理システム１０００は、管理ＧＵＩ（Graphical  User  Interface）装置１０１０と、管理サーバ１０２０と、ストレージ装置１０３０と、ブレードシャーシ１０４０とを有する。この情報処理システム１０００では、管理サーバ１０２０と、ブレードシャーシ１０４０とがイーサースイッチ１００１及び１００２を介して接続する。また、ストレージ装置１０３０と、ブレードシャーシ１０４０とがＦＣスイッチ１００３及び１００４を介して接続する。
【０００７】
また、ブレードシャーシ１０４０が基板１１００を有し、この基板１１００は、ブレードサーバ１１１０及び１１２０と、サーバ管理専用のユニットであるマネージメントブレード（ＭＭＢ）１１３０及び１１４０とを搭載する。さらに、ブレードサーバ１１１０及び１１２０、ＭＭＢ１１３０及び１１４０は、イーサースイッチ１００１及び１００２を介して管理サーバ１０２０と接続する。すなわち、情報処理システム１０００は、管理対象であるブレードシャーシ１０４０の制御経路を二重化している。
【０００８】
管理ＧＵＩ装置１０１０は、管理者から管理対象であるブレードサーバ１１１０及び１１２０の仮想アドレスの定義を受付ける。管理サーバ１０２０は、ブレードシャーシ１０４０内のＭＭＢ１１３０の仮想アドレステーブルに、管理者から定義された仮想アドレスを設定する。そして、ＭＭＢ１１３０は、自装置の故障に備えてＭＭＢ１１４０へ仮想アドレスをコピーして仮想アドレスをバックアップする。
【０００９】
また、管理者が管理サーバからブレードサーバ１１１０及び１１２０の電源をＭＭＢ１１３０経由でオンにする。これにより、ＭＭＢ１１３０は、ブレードサーバ１１１０及び１１２０のＢＩＯＳ（Basic  Input/Output  System）を経由して、仮想アドレステーブルが記憶する仮想アドレスを、ブレードサーバ１１１０及び１１２０が有するＮＩＣ及びＨＢＡに設定する。
【００１０】
これにより、ブレードサーバ１１１０及び１１２０は、ストレージ装置１０３０にアクセスが可能となり、ストレージ装置１０３０が記憶するＯＳ、プログラム及びデータからブートを実行して起動する。
【００１１】
なお、このブレードシャーシ１０４０内の仮想アドレスは、ＮＩＣ及びＨＢＡが有する揮発メモリ上に格納されるので、ブレードシャーシ１０４０の電源プラグがオフされることで、自動的に消去される。これにより、ブレードシャーシ１０４０を別環境に移設した場合に、同一の仮想アドレスが異なるサーバ間で重複して設定されることを防止する。
【００１２】
このようなＩＯの仮想化技術はブレードサーバにおいて主流であったが、大規模なデータセンターで用いられるラックマウントサーバにおいても、近年、ＩＯの仮想化技術を適用させる要望がある。図１０を用いて、ブレードサーバに適用されたＩＯ仮想化技術を、ラックマウントサーバに適用した情報処理システムを説明する。
【００１３】
図１０は、ラックマウントサーバを管理対象としたＩＯ仮想化技術の一例を示す図である。図１０に示すように、情報処理システム２０００は、管理ＧＵＩ装置２０１０と、管理サーバ２０２０と、ストレージ装置２０３０と、ラックマウントサーバ２０４０とを有する。また、ラックマウントサーバ２０４０のマザーボード２１００は、ＣＰＵ（Central  Processing  Unit）２１１０とＢＭＣ(Baseboard  Management  Controller)２１２０とを搭載する。ＢＭＣ２１２０は、サーバ管理専用のユニットであり、ハードウェア障害等のためにオペレ−ティングシステムがダウンしている際においても、障害通報機能およびリモートコントロール機能を管理者に提供する。
【００１４】
このような情報処理システム２０００では、まず、管理者が管理ＧＵＩ装置２０１０を通して、管理対象であるラックマウントサーバ２０４０の仮想アドレスを定義する。続いて、管理サーバ２０２０は、ラックマウントサーバ２０４０内のＢＭＣ２１２０に、ＩＰＭＩ(Intelligent  Platform  Management  Interface)と呼ばれるインターフェースを用いて仮想アドレステーブルに管理対象の仮想アドレスを設定する。
【００１５】
そして、管理者が管理サーバ２０２０から管理対象であるラックマウントサーバ２０４０の電源をＢＭＣ２１２０経由でオンにする。これにより、ＢＭＣ２１２０は、ラックマウントサーバ２０４０のＣＰＵ２１１０を経由して、ＣＰＵ２１１０が有するＮＩＣ及びＨＢＡへ仮想アドレスを設定する。このようにして、情報処理システム２０００では、ラックマウントサーバ２０４０にＩＯ仮想化技術が適用される。
【００１６】
また、これにより、ラックマウントサーバ２０４０は、ストレージ装置２０３０にアクセスが可能となり、ストレージ装置２０３０が記憶するＯＳ、プログラム及びデータからブートを実行して起動する。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００４−３２０７８０号公報
【特許文献２】特開２００８−２２５５６７号公報
【特許文献３】特開２０１１−４８５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述した従来の技術では、管理サーバとＢＭＣとのネットワークに障害が生じた場合に、管理対象サーバを起動することができないという課題がある。
【００１９】
ＢＭＣは、ラックマウントサーバ電源のオン、オフにかかわらず、かつ、ＯＳ（Operating  System）を起動させていないプレブート環境下におけるラックマウントサーバの管理に用いられる。
【００２０】
例えば、ＢＭＣは、遠隔地からコンソール画面を操作する管理者に、ＯＳが起動する前のＢＩＯＳ画面等をビデオリダイレクションで提供する。このプレブート環境下での操作は、ラックマウントサーバ上での業務の運用を開始する前に行われる。このため、もし運用を開始する前にＢＭＣに異常が生じた場合には、管理者は、ＯＳを立ち上げられなくなり、ＢＭＣの異常を検出する。また、一旦ＯＳが立ち上がった後、ＢＭＣに生じる異常は、業務に直接支障をきたさない。
【００２１】
このようなことから、ＢＭＣの通信ポートは一つであり、管理サーバとＢＭＣとのネットワーク接続は二重化されていない。例えば、管理サーバは、ＢＭＣ専用のポートを用いてＢＭＣと通信し、ＢＭＣを制御する。また、ラックマウントサーバにおいて、一般的にＢＭＣとの通信及びＢＭＣの制御は、ＬｏＭ（LAN  on  Mother  Board）及び拡張ＬＡＮカードから制御することはできない。
【００２２】
このため、管理サーバとＢＭＣとのネットワーク接続に単一の障害点があり、管理サーバとＢＭＣとのネットワーク経路上に障害が発生した場合、ラックマウントサーバは、仮想アドレスを設定するコマンドを管理サーバから受信できない。この結果、ラックマウントサーバは、仮想アドレスを設定できず、ストレージ装置にアクセスすることができなくなる。
【００２３】
１つの側面では、本発明は、管理装置と管理対象装置内の制御装置間で通信異常が生じた場合でも、管理対象装置を起動することができる情報処理システム及び仮想アドレス設定方法を提供することを目的とする。
【課題を解決するための手段】
【００２４】
１つの案では、情報処理システムは、管理サーバと、管理サーバからの起動指示を受ける管理対象サーバを備え、管理対象サーバは、管理サーバとそれぞれネットワーク接続される、第１および第２のポートと、起動指示への対応の優先順位を規定した起動順位テーブルを記憶する記憶部と、第１のポートに接続され、起動により前記管理対象サーバを動作させる処理装置と、第２のポートに接続され、前記処理装置を制御する制御装置と、を有する。制御装置は、管理対象サーバへの電源投入を検知し、管理サーバに管理対象サーバへの電源投入を通知し、管理サーバは、電源投入の通知に応じて、管理対象サーバの第２のポートを通じて、制御装置に起動指示および第１のポートに設定されるアドレスを通知し、管理サーバが、制御装置に対する起動指示およびアドレス通知が失敗したことを検知したときは、第１のポートを通じて制御装置に起動指示および第１のポートに設定されるアドレスを通知し、制御装置は、管理サーバからの起動指示の受信に応じて、起動順位テーブルに従った起動指示を、処理装置に対して行う。
【発明の効果】
【００２５】
１実施形態における情報処理システムによれば、管理装置と管理対象装置内の制御装置間で通信異常が生じた場合でも、管理対象装置を起動することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、実施例１に係る情報処理システムの機能構成を示す機能ブロック図である。
【図２Ａ】図２Ａは、仮想アドレス定義ファイルが記憶するデータ構造の一例を示す図である。
【図２Ｂ】図２Ｂは、ＢＭＣが記憶する初期設定値の一例を示す図である。
【図２Ｃ】図２Ｃは、仮想アドレステーブルが記憶するデータ構造の一例を示す図である。
【図３】図３は、正常時におけるＢＭＣへの仮想アドレス設定処理の処理動作を示す図である。
【図４】図４は、正常時における演算処理装置によるＯＳ起動処理の処理動作を示す図である。
【図５】図５は、異常時における演算処理装置によるＯＳ起動処理の処理動作を示す図である。
【図６】図６は、異常時におけるＢＭＣへの仮想アドレス設定処理の処理動作を示す図である。
【図７】図７は、ＢＭＣへの仮想アドレス設定処理の処理手順を示すフローチャートである。
【図８】図８は、演算処理装置によるＯＳ起動処理の処理手順を示すフローチャートである。
【図９】図９は、ブレードサーバを管理対象としたＩＯ仮想化技術の一例を示す図である。
【図１０】図１０は、ラックマウントサーバを管理対象としたＩＯ仮想化技術の一例を示す図である。
【発明を実施するための形態】
【００２７】
以下に、本願の開示する情報処理システム及び仮想アドレス設定方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００２８】
実施例１では、図１から図８を用いて、情報処理システムの構成、情報処理システムにおける処理動作、情報処理システムによる処理手順及び効果などについて説明する。
【００２９】
［実施例１に係る情報処理システム１０の構成］
図１を用いて、実施例１に係る情報処理システム１０の機能構成を説明する。図１は、実施例１に係る情報処理システム１０の機能構成を示す機能ブロック図である。図１に示すように、情報処理システム１０は、管理ＧＵＩ（Graphical  User  Interface）装置１１と、管理サーバ２０と、ストレージ装置３０と、ラックマウントサーバ４０とを有する。
【００３０】
情報処理システム１０では、管理ＧＵＩ装置１１と、管理サーバ２０とがネットワークにより互いに通信可能に接続する。また、管理サーバ２０とラックマウントサーバ４０とが、イーサースイッチ１３またはイーサースイッチ１４を介して互いに通信可能に接続する。また、ストレージ装置３０とラックマウントサーバ４０とが、ＦＣスイッチ１５またはＦＣスイッチ１６を介して互いに通信可能に接続する。
【００３１】
管理ＧＵＩ装置１１は、管理者から各種設定を受付ける。例えば、管理ＧＵＩ装置１１は、管理対象のサーバであるラックマウントサーバ４０の仮想アドレスの定義を管理者から受付ける。管理サーバ２０は、ラックマウントサーバ４０の設定や状態の管理、ブート制御、異常検出など、ラックマウントサーバ４０の管理及び制御を行う。なお、管理サーバ２０の詳細な構成については、後述する。管理サーバ２０は管理対象装置を管理装置の一例である。
【００３２】
ストレージ装置３０は、図示しないＨＤＤ(Hard  Disk  Drive)を有し、各種のデータやプログラムを記憶する。例えば、ストレージ装置３０は、ラックマウントサーバ４０が、ＳＡＮブートに用いるＯＳ、プログラム及びデータを記憶する。
【００３３】
ラックマウントサーバ４０は、マザーボード１００を有する。このマザーボード１００は、記憶部２００と、ＢＭＣ（Baseboard  Management  Controller）３００と、演算処理装置４００とを有する。なお、記憶部２００、ＢＭＣ３００、及び演算処理装置４００の機能については後述する。ラックマウントサーバ４０は管理対象装置である情報処理装置の一例であり、ＢＭＣは管理対象装置内の制御装置の一例である。
【００３４】
このラックマウントサーバ４０は、ストレージ装置３０が記憶するデータにアクセスし、各種演算処理を実行する。また、ラックマウントサーバ４０は、演算処理結果をストレージ装置３０に記憶させる。なお、以下の説明では、ラックマウントサーバ４０のことを、適宜「管理対象サーバ」として記載する。また、このラックマウントサーバ４０は、電源１２から電力を供給される。
【００３５】
このような情報処理システム１０において、管理サーバ２０は、ＢＭＣ３００との間のネットワークに異常が生じた場合、演算処理装置４００を介してＢＭＣ３００に起動を指示する。また、ＢＭＣ３００は、演算処理装置４００から起動を指示された場合、後述する仮想アドレステーブル３１１が記憶する仮想アドレスを演算処理装置４００に転送する。そして、演算処理装置４００は、ＢＭＣ３００から仮想アドレスを受信した場合、自装置が有するポートにこの仮想アドレスを設定する。
【００３６】
なお、図１では、情報処理システム１０において、管理対象サーバがラックマウントサーバ４０の１台である例を示したが、情報処理システム１０が有する管理対象サーバの数は、図示した数に限定されるものではない。また、情報処理システム１０において、ラックマウントサーバ４０と接続するストレージ装置３０の数は、図示した数に限定されるものではない。
【００３７】
［管理サーバ２０の機能構成］
続いて、図１を用いて、管理サーバ２０の機能構成を説明する。図１に示すように、管理サーバ２０は、ＮＩＣ（Network  Interface  Card）２１及び２２と、記憶部２３と、制御部２４とを有する。
【００３８】
ＮＩＣ２１は、管理サーバ２０とラックマウントサーバ４０とをイーサースイッチ１３を介して接続するインターフェースである。ＮＩＣ２２は、管理サーバ２０とラックマウントサーバ４０とをイーサースイッチ１４を介して接続するインターフェースである。
【００３９】
記憶部２３は、例えばＲＡＭ（Random  Access  Memory）などの半導体メモリ素子である。記憶部２３は、仮想アドレス定義ファイル２３ａと、ＩＰＭＩ（Intelligent  Platform  Management  Interface）−ＫＣＳ(Keyboard  Controller  Style)制御ＮＢＰ（Network  Bootstrap  Program）２３ｂとを有する。
【００４０】
仮想アドレス定義ファイル２３ａは、管理者から受付けた、管理対象サーバであるラックマウントサーバ４０の仮想アドレスを記憶する。ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂは、ＫＣＳインターフェース経由でＢＭＣ３００を制御する命令である。このＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂは、ＰＸＥ（Preboot  eXecution  Environment）経由で管理サーバ２０から管理対象サーバの演算処理装置４００にダウンロードされる。
【００４１】
制御部２４は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路であり、ＩＰＭＩ−ＬＡＮ制御部２４ａと、ブート制御部２４ｂと、ＰＸＥ制御部２４ｃと、ＳＮＭＰトラップ受信部２４ｄとを有する。
【００４２】
ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＬＡＮインターフェース経由でＩＰＭＩ仮想アドレス設定コマンドやＩＰＭＩブートコマンドを送信することによって、後述するＢＭＣ３００を制御する。
【００４３】
例えば、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＳＮＭＰトラップ受信部２４ｄから管理対象サーバを特定する情報を受信した場合、管理対象サーバの仮想アドレスを仮想アドレス定義ファイル２３ａから検索して読出す。そして、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩインターフェースを利用して読出した仮想アドレスとＩＰＭＩ仮想アドレス設定コマンドとをＢＭＣ３００のＩＰＭＩサーバ部３２２に送信する。
【００４４】
また、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ブート制御部２４ｂから管理対象サーバをブートさせる指示を受付けた場合、以下の処理を実行する。すなわち、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩブートコマンドを発行し、発行したＩＰＭＩブートコマンドと、仮想アドレスとを管理対象サーバにＩＰＭＩ−ＬＡＮインターフェースを介してＢＭＣ３００のＩＰＭＩサーバ部３２２に送信する。
【００４５】
また、ＩＰＭＩ−ＬＡＮ制御部２４ａは、送信したＩＰＭＩブートコマンドが送信エラーになる場合、管理対象サーバのＮＩＣ４０１及びＮＩＣ４０２にＷＯＬ(Wake  up  On  LAN)のマジックパケットを送信する。
【００４６】
ブート制御部２４ｂは、管理対象サーバの電源を投入する指示を管理者から受付けた場合、仮想アドレスをＢＭＣ３００に送信させるとともに、管理対象サーバをブートさせる指示をＩＰＭＩ−ＬＡＮ制御部２４ａに出力する。
【００４７】
ＰＸＥ制御部２４ｃは、管理対象サーバからのＰＸＥブート要求に応答し、ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂと管理対象サーバの仮想アドレスとを管理対象サーバへ送信する。例えば、ＰＸＥ制御部２４ｃは、ＰＸＥブート要求を演算処理装置４００から受信し、ＰＸＥブート要求に含まれる要求元を特定する情報から管理対象サーバを判別し、仮想アドレス定義ファイル２３ａから管理対象サーバの仮想アドレスを検索する。また、ＰＸＥ制御部２４ｃは、ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを記憶部２３から読出す。そして、ＰＸＥ制御部２４ｃは、読出したＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂと管理対象サーバの仮想アドレスとを演算処理装置４００のＮＢＰ実行部４１３に送信する。
【００４８】
ＳＮＭＰトラップ受信部２４ｄは、ラックマウントサーバ４０の電源プラグがオンされ、後述するＢＭＣ３００への電源が投入された時に、ＳＮＭＰトラップをＢＭＣ３００の初期化部３２１から受信する。ＳＮＭＰトラップ受信部２４ｄは、ＳＮＭＰトラップがコールドスタートを指示する場合、ＳＮＭＰトラップに含まれる送信元情報を、管理対象サーバを特定する情報としてＩＰＭＩ−ＬＡＮ制御部２４ａに出力する。
【００４９】
［ストレージ装置３０の機能構成］
次に、図１を用いて、実施例１に係るストレージ装置３０の構成を説明する。実施例１に係るストレージ装置３０は、ＨＢＡ（Host  Bus  Adapter）３１及びＨＢＡ３２と、ＬＵＮ（Logical  Unit  Number）３３、ＬＵＮ３４及びＬＵＮ３５とを有する。
【００５０】
ＨＢＡ３１は、ストレージ装置３０とラックマウントサーバ４０とをＦＣスイッチ１５を介して接続するインターフェースである。ＨＢＡ３２は、ストレージ装置３０とラックマウントサーバ４０とをＦＣスイッチ１６を介して接続するインターフェースである。
【００５１】
ＬＵＮ３３は、ストレージ装置３０が有するＨＤＤを論理的に分割し、１台のＨＤＤとしてラックマウントサーバ４０により認識される論理的なディスク装置である。また、ＬＵＮ３４及びＬＵＮ３５もＬＵＮ３３と同様に、ストレージ装置３０が有するＨＤＤを論理的に分割し、１台のＨＤＤとしてラックマウントサーバ４０により認識される論理的なディスク装置である。
【００５２】
また、ストレージ装置３０は、ラックマウントサーバ４０のＨＢＡ４０３及び４０４のポートに割り当てられたＷＷＰＮ（World  Wide  Port  Name）値と、ＬＵＮとの対応情報を有する。そして、ストレージ装置３０は、ＬＵＮに対応付けられた特定のＷＷＰＮを有するラックマウントサーバ４０のＨＢＡ４０３またはＨＢＡ４０４のポートからのアクセスのみを許可する。例えば、ストレージ装置３０は、ＬＵＮ３３とラックマウントサーバ４０のＨＢＡ４０３とが対応付けられている場合、ＬＵＮ３３に対するＨＢＡ４０３からのアクセスを許可し、ＨＢＡ４０４からのアクセスを許可しない。
【００５３】
［ラックマウントサーバ４０の機能構成］
次に、図１を用いて、実施例１に係るラックマウントサーバ４０の構成を説明する。実施例１に係るラックマウントサーバ４０は、マザーボード１００を有する。このマザーボード１００は、記憶部２００と、ＢＭＣ３００と、演算処理装置４００とを有する。なお、記憶部２００と、ＢＭＣ３００と、演算処理装置４００とはそれぞれバスによって接続される。
【００５４】
記憶部２００は、例えば、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）メモリであり、ＢＩＯＳ（Basic  Input/Output  System）の情報とブートオーダテーブル２０１とを記憶する。
【００５５】
ブートオーダテーブル２０１は、演算処理装置４００のブートオーダの優先順位を示す情報を記憶する。例えば、ブートオーダテーブル２０１は、ＳＡＮブートを優先する場合、ＨＢＡ４０３、ＨＢＡ４０４、ＮＩＣ４０１、ＮＩＣ４０２の順でブートオーダを記憶する。また、ブートオーダテーブル２０１は、管理サーバ２０からのＰＸＥブートを優先する場合、ＮＩＣ４０１、ＮＩＣ４０２、ＨＢＡ４０３、ＨＢＡ４０４の順でブートオーダを記憶する。
【００５６】
ＢＭＣ３００は、電源プラグが電源１２に差込まれた場合、常時通常動作を開始する。例えば、ＢＭＣ３００は、ハードウェア障害等のためにオペレ−ティングシステムがダウンしている際においても、障害通報機能およびリモートコントロール機能を管理者に提供する。また、ＢＭＣ３００は、管理サーバ２０から受信した仮想アドレスを後述する仮想アドレステーブル３１１に記憶させる。
【００５７】
演算処理装置４００は、各種演算処理を実行する。また、演算処理装置４００は、自装置の電源が投入された場合、ストレージ装置３０からＳＡＮブートまたは管理サーバ２０からＰＸＥブートを実行する。
【００５８】
［ＢＭＣ３００の機能構成］
次に、図１を用いて、ＢＭＣ３００の機能構成を説明する。図１に示すように、ＢＭＣ３００は、ＮＩＣ３０１と、記憶部３１０と、制御部３２０とを有する。
【００５９】
ＮＩＣ３０１は、管理サーバ２０とＢＭＣ３００とをイーサースイッチ１４を介して接続するインターフェースである。なお、ＢＭＣ３００は、このＮＩＣ３０１のみを介して管理サーバ２０と接続する。
【００６０】
記憶部３１０は、例えばＲＡＭなどの半導体メモリ素子であり、仮想アドレステーブル３１１を有する。仮想アドレステーブル３１１は、演算処理装置４００のＮＩＣ４０１及びＮＩＣ４０２と、ＨＢＡ４０３及びＨＢＡ４０４に設定する仮想アドレスを記憶する。なお、仮想アドレステーブル３１１が記憶する情報については後述する。
【００６１】
制御部３２０は、例えば、ＣＰＵやＭＰＵなどの電子回路であり、初期化部３２１と、ＩＰＭＩサーバ部３２２と、ブートオーダ変更部３２３と、電源制御部３２４とを有する。
【００６２】
初期化部３２１は、ラックマウントサーバの電源プラグがオンされ、ＢＭＣ３００への電源が投入されたことを契機に、コールドスタートを指示するＳＮＭＰトラップを管理サーバ２０のＳＮＭＰとラップ受信部２４ｄに送信する。
【００６３】
ＩＰＭＩサーバ部３２２は、ＩＰＭＩ仮想アドレス設定コマンドと仮想アドレスとを管理サーバ２０のＩＰＭＩ-ＬＡＮ制御部２４ａから受信し、仮想アドレスを仮想アドレステーブル３１１に格納する。
【００６４】
また、ＩＰＭＩサーバ部３２２は、ＩＰＭＩ仮想アドレス設定コマンドと仮想アドレスとを管理サーバ２０のＩＰＭＩ-ＬＡＮ制御部２４ａから受信できず、タイムアウトした場合、初期化部３２１にＳＮＭＰトラップを所定の回数、管理サーバ２０に再送させる。そして、ＩＰＭＩサーバ部３２２は、再送回数が所定の回数に達した場合、管理サーバ２０とのネットワークに障害が生じたと判定し、ブートオーダ変更部３２３にネットワークに障害が生じたことを通知する。
【００６５】
また、ＩＰＭＩサーバ部３２２は、ＩＰＭＩブートコマンドを管理サーバ２０のＩＰＭＩ-ＬＡＮ制御部２４ａから受信した場合、電源制御部３２４に演算処理装置４００の電源オンを指示する。
【００６６】
また、ＩＰＭＩサーバ部３２２は、ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを実行したＮＢＰ実行部４１３から、ＫＣＳインターフェース経由で仮想アドレスを受信した場合、受信した仮想アドレスを仮想アドレステーブル３１１に格納する。
【００６７】
ブートオーダ変更部３２３は、演算処理装置４００のブートオーダの優先順位を変更する。ブートオーダ変更部３２３は、ＳＡＮブートを優先する場合、ブートオーダテーブル２０１に、例えば、ＨＢＡ４０３、ＨＢＡ４０４、ＮＩＣ４０１、ＮＩＣ４０２の順でブートオーダを記憶させる。また、ブートオーダ変更部３２３は、管理サーバ２０からのＰＸＥブートを優先する場合、ブートオーダテーブル２０１に、例えば、ＮＩＣ４０１、ＮＩＣ４０２、ＨＢＡ４０３、ＨＢＡ４０４の順でブートオーダを記憶させる。
【００６８】
また、ブートオーダ変更部３２３は、管理サーバ２０からのＰＸＥブートを優先するようにブートオーダテーブル２０１を変更した場合、電源制御部３２４に演算処理装置４００の電源オンを指示する。
【００６９】
電源制御部３２４は、演算処理装置４００の電源オン及びオフを制御する。例えば、電源制御部３２４は、演算処理装置４００の電源オンをＩＰＭＩサーバ部３２２から指示された場合、演算処理装置４００の電源をオンにする。また、電源制御部３２４は、演算処理装置４００の電源オンをブートオーダ変更部３２３から指示された場合、演算処理装置４００の電源をオンにする。
【００７０】
また、電源制御部３２４は、ＷＯＬのマジックパケットをＮＩＣ４０１またはＮＩＣ４０２を介してＩＰＭＩ−ＬＡＮ制御部２４ａを受信した場合、演算処理装置４００の電源をオンにする。
【００７１】
また、電源制御部３２４は、ＳＭＡＳＨ  ＣＬＰインターフェースを用いて、仮想アドレス設定部４１１に仮想アドレスを出力する。
【００７２】
［演算処理装置４００の機能構成］
次に、図１を用いて、演算処理装置４００の機能構成を説明する。図１に示すように、演算処理装置４００は、ＮＩＣ４０１及びＮＩＣ４０２と、ＨＢＡ４０３及びＨＢＡ４０４と、制御部４１０とを有する。なお、演算処理装置４００は、ＮＩＣとＨＢＡとを統合したインターフェースであるＣＮＡ（Converged  Network  Adapter）を有するようにしてもよい。
【００７３】
ＮＩＣ４０１は、管理サーバ２０と演算処理装置４００とをイーサースイッチ１３を介して接続するインターフェースである。ＮＩＣ４０２は、管理サーバ２０と演算処理装置４００とをイーサースイッチ１４を介して接続するインターフェースである。なお、ＮＩＣ４０１及びＮＩＣ４０２のポートには、仮想アドレスが設定される。
【００７４】
ＨＢＡ４０３は、ストレージ装置３０と演算処理装置４００とをＦＣスイッチ１５を介して接続するインターフェースである。ＨＢＡ４０４は、ストレージ装置３０と演算処理装置４００とをＦＣスイッチ１６を介して接続するインターフェースである。なお、ＨＢＡ４０３及びＨＢＡ４０４のポートには、仮想アドレスが設定される。
【００７５】
制御部４１０は、例えば、ＣＰＵやＭＰＵなどの電子回路であり、仮想アドレス設定部４１１と、ＰＸＥブート部４１２と、ＮＢＰ実行部４１３とを有する。
【００７６】
仮想アドレス設定部４１１は、ＢＭＣ３００の電源制御部３２４から仮想アドレスを受信し、ＮＩＣ４０１及び４０２と、ＨＢＡ４０３及び４０４とに、仮想アドレスを設定する。例えば、仮想アドレス設定部４１１は、ＰＣＩ（Peripheral  Component  Interconnect）オプションＲＯＭ（Read  Only  Memory）インターフェースを用いて、仮想アドレスを設定する。
【００７７】
ＰＸＥブート部４１２は、演算処理装置４００の電源がオンにされた時に、ブートオーダテーブル２０１の優先順位が管理サーバ２０からのＰＸＥブートを優先することを示す場合、ＰＸＥブートを要求するＰＸＥブート要求を管理サーバ２０に送信する。
【００７８】
ＮＢＰ実行部４１３は、管理サーバ２０からＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを受信する。そして、ＮＢＰ実行部４１３は、ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを実行し、ＫＣＳインターフェース経由で仮想アドレスをＢＭＣ３００のＩＰＭＩサーバ部３２２へ送信する。これにより、ＢＭＣ３００のＩＰＭＩサーバ部３２２は、仮想アドレステーブル３１１に仮想アドレスを設定する。
【００７９】
［仮想アドレス］
次に図２Ａから図２Ｃを用いて、仮想アドレスについて説明する。ここでは、図２Ａを用いて、仮想アドレス定義ファイル２３ａが記憶するデータ構造を説明し、図２Ｂを用いて、ＢＭＣ３００が記憶する初期設定値を説明し、図２Ｃを用いて、仮想アドレステーブル３１１が記憶するデータ構造を説明する。
【００８０】
図２Ａは、仮想アドレス定義ファイル２３ａが記憶するデータ構造の一例を示す図である。図２Ａに示すように、仮想アドレス定義ファイル２３ａは、「ＢＭＣ  ＩＰ（Internet  Protocol）」、「ＮＩＣ  ＩＰ−１」、「ＮＩＣ  ＩＰ−２」のそれぞれに対応付けたアドレスを記憶する。また、仮想アドレス定義ファイル２３ａは、「ＮＩＣ仮想ＭＡＣ（Media  Access  Control）−１」、「ＮＩＣ仮想ＭＡＣ−２」のそれぞれに対応付けたアドレスを記憶する。また、仮想アドレス定義ファイル２３ａは、「ＨＢＡ仮想ＷＷＰＮ（World  Wide  Port  Name）−１」、「ＨＢＡ仮想ＷＷＰＮ−２」のそれぞれに対応付けたアドレスを記憶する。なお、仮想アドレス定義ファイル２３ａが記憶するデータは、管理ＧＵＩ装置１１を介して管理者により設定される。
【００８１】
「ＢＭＣ  ＩＰ」は、ＢＭＣ３００のＩＰアドレスを示す。例えば「ＢＭＣ  ＩＰ」には、「ａａ：ｂｂ：ｃｃ：０１」が設定される。「ＮＩＣ  ＩＰ−１」は、ＮＩＣ４０１のＩＰアドレスを示す。例えば「ＮＩＣ  ＩＰ−１」には、「ａａ：ｂｂ：ｃｃ：０２」が設定される。「ＮＩＣ  ＩＰ−２」は、ＮＩＣ４０２のＩＰアドレスを示す。例えば「ＮＩＣ  ＩＰ−２」には、「ａａ：ｂｂ：ｃｃ：０３」が設定される。
【００８２】
また、「ＮＩＣ仮想ＭＡＣ−１」は、ＮＩＣ４０１に仮想的に割当てられたＭＡＣアドレスを示す。例えば、「ＮＩＣ仮想ＭＡＣ−１」には、「ａａ：ｂｂ：ｃｃ：ｄｄ：ｅｅ：０１」が設定される。「ＮＩＣ仮想ＭＡＣ−２」は、ＮＩＣ４０２に仮想的に割当てられたＭＡＣアドレスを示す。例えば、「ＮＩＣ仮想ＭＡＣ−２」には、「ａａ：ｂｂ：ｃｃ：ｄｄ：ｅｅ：０２」が設定される。
【００８３】
また、「ＨＢＡ仮想ＷＷＰＮ−１」は、ＨＢＡ４０３に仮想的に割当てられたＷＷＰＮを示す。例えば、「ＨＢＡ仮想ＷＷＰＮ−１」には、「ａａ：ｂｂ：ｃｃ：ｄｄ：ｅｅ：ｆｆ：ｇｇ０１」が設定される。「ＨＢＡ仮想ＷＷＰＮ−２」は、ＨＢＡ４０４に仮想的に割当てられたＷＷＰＮを示す。例えば、「ＨＢＡ仮想ＷＷＰＮ−２」には、「ａａ：ｂｂ：ｃｃ：ｄｄ：ｅｅ：ｆｆ：ｇｇ０２」が設定される。
【００８４】
図２Ｂは、ＢＭＣ３００が記憶する初期設定値の一例を示す図である。図２Ｂに示すように、ＢＭＣ３００は、初期設定値として「ＢＭＣ  ＩＰ」、「管理サーバＩＰ−１」、「管理サーバＩＰ−２」のそれぞれに対応付けたアドレスを記憶する。なお、この初期設定値は、例えば、ＢＭＣ３００が有する記憶部３１０が記憶する。
【００８５】
「ＢＭＣ  ＩＰ」は、ＢＭＣ３００のＩＰアドレスを示す。例えば「ＢＭＣ  ＩＰ」には、「ａａ：ｂｂ：ｃｃ：０１」が設定される。「管理サーバＩＰ−１」は、管理サーバ２０のＩＰアドレスを示す。例えば「管理サーバＩＰ−１」には、「ａａ：ｂｂ：ｃｃ：０２」が設定される。「管理サーバＩＰ−２」は、管理サーバ２０のＩＰアドレスを示す。例えば「管理サーバＩＰ−２」には、「ａａ：ｂｂ：ｃｃ：０３」が設定される。
【００８６】
図２Ｃは、仮想アドレステーブル３１１が記憶するデータ構造の一例を示す図である。図２Ｃに示すように、ＢＭＣ３００が有する仮想アドレステーブル３１１は、「ＮＩＣ仮想ＭＡＣ−１」、「ＮＩＣ仮想ＭＡＣ−２」、「ＨＢＡ仮想ＷＷＰＮ−１」、「ＨＢＡ仮想ＷＷＰＮ−２」のそれぞれに対応付けたアドレスを記憶する。
【００８７】
仮想アドレステーブル３１１が記憶する「ＮＩＣ仮想ＭＡＣ−１」、「ＮＩＣ仮想ＭＡＣ−２」、「ＨＢＡ仮想ＷＷＰＮ−１」、「ＨＢＡ仮想ＷＷＰＮ−２」には、仮想アドレス定義ファイル２３ａから読出された値がＩＰＭＩサーバ部３２２により設定される。このため、仮想アドレステーブル３１１が記憶する「ＮＩＣ仮想ＭＡＣ−１」及び「ＮＩＣ仮想ＭＡＣ−２」は、図２Ａに示した仮想アドレス定義ファイル２３ａが記憶する「ＮＩＣ仮想ＭＡＣ−１」及び「ＮＩＣ仮想ＭＡＣ−２」と同様である。また、仮想アドレステーブル３１１が記憶する「ＨＢＡ仮想ＷＷＰＮ−１」及び「ＨＢＡ仮想ＷＷＰＮ−２」は、図２Ａに示した仮想アドレス定義ファイル２３ａが記憶する「ＨＢＡ仮想ＷＷＰＮ−１」及び「ＨＢＡ仮想ＷＷＰＮ−２」と同様である。
【００８８】
［情報処理システム１０における処理動作］
次に、図３から図６を用いて、情報処理システム１０における処理動作を説明する。ここでは、図３を用いて、正常時におけるＢＭＣ３００への仮想アドレス設定処理の処理動作を説明し、図４を用いて、正常時における演算処理装置４００によるＯＳ起動処理の処理動作を説明する。また、図５を用いて、異常時における演算処理装置４００によるＯＳ起動処理の処理動作を説明し、図６を用いて、異常時におけるＢＭＣ３００への仮想アドレス設定処理の処理動作を説明する。
【００８９】
（正常時におけるＢＭＣ３００への仮想アドレス設定処理）
図３は、正常時におけるＢＭＣ３００への仮想アドレス設定処理の処理動作を示す図である。図３に示すように、管理ＧＵＩ装置１１は、管理対象サーバの仮想アドレスの設定を管理者から受付ける。そして、管理サーバ２０は、管理ＧＵＩ装置１１を介して管理者から受付けた管理対象サーバの仮想アドレスを仮想アドレス定義ファイル２３ａに格納する（ステップＳ１）。
【００９０】
ラックマウントサーバ４０の電源プラグが管理者により投入された場合、ＢＭＣ３００の初期化部３２１は、初期設定情報を参照し、管理サーバ２０へＳＮＭＰトラップを送信する（ステップＳ２）。そして、管理サーバ２０のＳＮＭＰトラップ受信部２４ｄは、ＢＭＣ３００からＳＮＭＰトラップを受信する。ここで、ＳＮＭＰトラップ受信部２４ｄは、ＳＮＭＰトラップがコールドスタートを指示する場合、送信元情報を管理対象サーバ情報としてＩＰＭＩ−ＬＡＮ制御部２４ａに出力する（ステップＳ３）。
【００９１】
ＩＰＭＩ−ＬＡＮ制御部２４ａは、管理対象サーバの仮想アドレスを仮想アドレス定義ファイル２３ａから検索して読出す（ステップＳ４）。そして、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩインターフェースを利用して読出した仮想アドレスをＢＭＣ３００へ送信する（ステップＳ５）。
【００９２】
ＩＰＭＩサーバ部３２２は、管理サーバ２０から仮想アドレスを受信し、受信した仮想アドレスを仮想アドレステーブル３１１に格納する（ステップＳ６）。また、ブートオーダ変更部３２３は、ブートオーダテーブル２０１にＳＡＮブートを優先させるブートオーダを設定する（ステップＳ７）。
【００９３】
（正常時における演算処理装置４００によるＯＳ起動処理）
図４は、正常時における演算処理装置４００によるＯＳ起動処理の処理動作を示す図である。図４に示すように、管理ＧＵＩ装置１１は、管理対象サーバの電源を投入する指示を管理者から受付ける。そして、管理サーバ２０のブート制御部２４ｂは、仮想アドレス定義ファイル２３ａを参照し、ＩＰＭＩ−ＬＡＮ制御部２４ａに管理対象サーバの仮想アドレスを出力するとともに、管理対象サーバをブートさせる指示を出力する（ステップＳ１１）。
【００９４】
ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩブートコマンドを発行し、発行したＩＰＭＩブートコマンドと、仮想アドレスとを管理対象サーバにＩＰＭＩ−ＬＡＮインターフェースを介して送信する（ステップＳ１２）。
【００９５】
ＩＰＭＩサーバ部３２２は、管理サーバ２０からＩＰＭＩブートコマンドと、仮想アドレスとを受信する（ステップＳ１２）。そして、ＩＰＭＩサーバ部３２２は、受信した仮想アドレスと、仮想アドレステーブル３１１に格納されている仮想アドレスとを比較する（ステップＳ１３）。そして、ＩＰＭＩサーバ部３２２は、受信した仮想アドレスと異なる仮想アドレスが格納されている場合には、受信した仮想アドレスを仮想アドレステーブル３１１に格納する。
【００９６】
そして、電源制御部３２４は、演算処理装置４００の電源をオンにし、ＳＭＡＳＨ  ＣＬＰインターフェースを用いて、仮想アドレス設定部４１１に仮想アドレスを出力する（ステップＳ１４）。仮想アドレス設定部４１１は、ＰＣＩオプションＲＯＭインターフェースを用いて、ＮＩＣ４０１及び４０２と、ＨＢＡ４０３及び４０４とに、仮想アドレスを設定する。
【００９７】
（異常時における演算処理装置４００によるＯＳ起動処理）
図３及び図４を用いて、情報処理システム１０において、管理サーバ２０と、ＢＭＣ３００とのネットワークが正常である場合の処理動作について説明した。ところで、情報処理システム１０において、管理サーバ２０と、ＢＭＣ３００とのネットワークに異常が生じる場合がある。そこで、図５及び図６を用いて、管理サーバ２０と、ＢＭＣ３００とのネットワークに異常が生じた場合の情報処理システム１０における処理動作について説明する。なお、このネットワークの異常には、例えば、ＮＩＣ２２の故障、ＮＩＣ３０１の故障、イーサースイッチ１４の故障、ＮＩＣ２２とＮＩＣ３０１との間のいずれかのケーブルの異常などが含まれる。
【００９８】
図５は、異常時における演算処理装置４００によるＯＳ起動処理の処理動作を示す図である。なお、図５は、ＢＭＣ３００の仮想アドレステーブル３１１に仮想アドレスを設定した後、管理サーバ２０と、ＢＭＣ３００とのネットワークに異常が生じた場合を示す。
【００９９】
図５に示すように、管理ＧＵＩ装置１１は、管理対象サーバの電源を投入する指示を管理者から受付ける。そして、管理サーバ２０のブート制御部２４ｂは、仮想アドレス定義ファイル２３ａを参照し、ＩＰＭＩ−ＬＡＮ制御部２４ａに管理対象サーバの仮想アドレスを出力するとともに、管理対象サーバをブートさせる指示を出力する（ステップＳ２１）。
【０１００】
ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩブートコマンドを発行し、発行したＩＰＭＩブートコマンドと、仮想アドレスとを管理対象サーバにＩＰＭＩ−ＬＡＮインターフェースを介して送信する（ステップＳ２２）。ＩＰＭＩ−ＬＡＮ制御部２４ａは、送信エラーになった場合、所定の回数、発行したＩＰＭＩブートコマンドと、仮想アドレスとを管理対象サーバに再送信する。そして、ＩＰＭＩ−ＬＡＮ制御部２４ａは、所定の回数、再送信しても送信エラーになる場合、送信エラーになったことをブート制御部２４ｂに通知する（ステップＳ２３）。
【０１０１】
そして、ＩＰＭＩ−ＬＡＮ制御部２４ａは、管理対象サーバのＮＩＣ４０１及び４０２にＷＯＬのマジックパケットを送信する（ステップＳ２４）。また、電源制御部３２４は、演算処理装置４００の電源をオンにし、仮想アドレス設定部４１１に仮想アドレスをＳＭＡＳＨ  ＣＬＰインターフェースを用いて、出力する（ステップＳ２５）。仮想アドレス設定部４１１は、ＰＣＩオプションＲＯＭインターフェースを用いて、ＮＩＣ４０１及び４０２と、ＨＢＡ４０３及び４０４とに、仮想アドレスを設定する。
【０１０２】
（異常時におけるＢＭＣ３００への仮想アドレス設定処理）
図６は、異常時におけるＢＭＣ３００への仮想アドレス設定処理の処理動作を示す図である。図６に示すように、管理ＧＵＩ装置１１は、管理対象サーバの仮想アドレスの設定を管理者から受付ける。そして、管理サーバ２０は、管理ＧＵＩ装置１１を介して管理者から受付けた管理対象サーバの仮想アドレスを仮想アドレス定義ファイル２３ａに格納する（ステップＳ３１）。
【０１０３】
ラックマウントサーバ４０の電源プラグが管理者により投入された場合、ＢＭＣ３００の初期化部３２１は、初期設定情報を参照し、管理サーバ２０へＳＮＭＰトラップを送信する（ステップＳ３２）。
【０１０４】
ＩＰＭＩサーバ部３２２は、ＩＰＭＩ仮想アドレス設定コマンドと仮想アドレスとを管理サーバ２０から受信できず、タイムアウトした場合には、初期化部３２１にＳＮＭＰトラップを所定の回数管理サーバ２０に再送させる。そして、ＩＰＭＩサーバ部３２２は、再送回数が所定の回数に達した場合、管理サーバ２０とのネットワークに障害が生じたと判定し、ブートオーダ変更部３２３にネットワークに障害が生じたことを通知する（ステップＳ３３）。
【０１０５】
ブートオーダ変更部３２３は、管理サーバ２０からのＰＸＥブートを優先させたブートオーダに変更する（ステップＳ３４）。そして、ＢＭＣ３００の電源制御部３２４は、演算処理装置４００の電源をオンにする。
【０１０６】
演算処理装置４００のＰＸＥブート部４１２は、ＰＸＥブート要求を管理サーバ２０に送信する（ステップＳ３５）。管理サーバ２０のＰＸＥ制御部２４ｃは、ＰＸＥブート要求を演算処理装置４００から受信し、以下の処理を実行する。すなわち、ＰＸＥ制御部２４ｃは、ＰＸＥブート要求に含まれる要求元を特定する情報から管理対象サーバを判別して、仮想アドレス定義ファイル２３ａから管理対象サーバの仮想アドレスを検索する（ステップＳ３６）。
【０１０７】
また、ＰＸＥ制御部２４ｃは、ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを読出し（ステップＳ３７）、読出したＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを演算処理装置４００に送信する（ステップＳ３８）。
【０１０８】
演算処理装置４００のＮＢＰ実行部４１３は、ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを実行する。これにより、ＮＢＰ実行部４１３は、ＩＰＭＩ仮想アドレス設定コマンドを発行し、ＢＭＣ３００に送信する（ステップＳ３９）。
【０１０９】
ＢＭＣ３００のＩＰＭＩサーバ部３２２は、ＩＰＭＩ仮想アドレス設定コマンドを受信し、ＩＰＭＩ仮想アドレス設定コマンドから読出した仮想アドレスを仮想アドレステーブル３１１に設定する（ステップＳ４０）。
【０１１０】
ＢＭＣ３００の電源制御部３２４は、ＣＰＵの電源をオフにする。また、ＢＭＣ３００のブートオーダ変更部３２３は、ストレージ装置３０からのＳＡＮブートを優先させたブートオーダに変更する（ステップＳ４１）。
【０１１１】
［情報処理システム１０による処理手順］
次に、図７及び図８を用いて、情報処理システム１０による処理手順を説明する。ここで、図７を用いて、ＢＭＣ３００への仮想アドレス設定処理の処理手順を説明し、図８を用いて、演算処理装置４００によるＯＳ起動処理の処理手順を説明する。
【０１１２】
（ＢＭＣ３００への仮想アドレス設定処理）
図７は、ＢＭＣ３００への仮想アドレス設定処理の処理手順を示すフローチャートである。図７に示すように、管理サーバ２０は、管理者から仮想アドレスの入力を受付け、仮想アドレス定義ファイル２３ａに受付けた仮想アドレスを設定する（ステップＳ１０１）。続いて、管理者が管理対象サーバの電源プラグをオンにすることで、ＢＭＣ３００は、通電する（ステップＳ１０２）。
【０１１３】
ＢＭＣ３００では、初期化部３２１は、ＳＮＭＰトラップを管理サーバ２０に送信する（ステップＳ１０３）。管理サーバ２０では、ＳＮＭＰトラップ受信部２４ｄは、ＳＮＭＰトラップを受信する（ステップＳ１０４）。ＳＮＭＰトラップ受信部２４ｄは、初期化スタートしたことを意味するコールドスタートを示すＳＮＭＰトラップであれば、送信元情報を管理対象サーバ情報としてＩＰＭＩ−ＬＡＮ制御部２４ａに出力する。
【０１１４】
ＩＰＭＩ−ＬＡＮ制御部２４ａは、仮想アドレス定義ファイル２３ａから管理対象サーバの仮想アドレスを読込む（ステップＳ１０５）。そして、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩ仮想アドレス設定コマンドを発行し、ＢＭＣ３００に送信する（ステップＳ１０６）。ステップＳ１０６の終了後、実施例１に係る情報処理システム１０では、ＢＭＣ３００がステップＳ１１９を実行する。
【０１１５】
また、ＢＭＣ３００では、ＩＰＭＩサーバ部３２２は、初期化部３２１によりＳＮＭＰトラップが管理サーバ２０に送信された場合、管理サーバ２０からＩＰＭＩ仮想アドレス設定コマンドを受信したか否かを判定する（ステップＳ１０７）。ここで、ＩＰＭＩサーバ部３２２は、管理サーバ２０からＩＰＭＩ仮想アドレス設定コマンドを受信したと判定した場合（ステップＳ１０７、Ｙｅｓ）、ステップＳ１１９に移行する。
【０１１６】
また、ＩＰＭＩサーバ部３２２は、ＩＰＭＩ仮想アドレス設定コマンドを管理サーバ２０から受信できずタイムアウトした場合（ステップＳ１０７、Ｎｏ）、以下の処理を実行する。すなわち、ＩＰＭＩサーバ部３２２は、初期化部３２１にＳＮＭＰトラップを管理サーバ２０に再送させる。ここで、ＩＰＭＩサーバ部３２２は、この再送回数が所定の回数に達したか否かを判定する（ステップＳ１０８）。なお、ここでは、所定の回数が５回に設定されるものとして説明するが、所定の回数はこの回数に限定されるものではない。ＩＰＭＩサーバ部３２２は、再送回数が５回に達していないと判定した場合（ステップＳ１０８、Ｎｏ）、初期化部３２１にＳＮＭＰトラップを管理サーバ２０に再送させる。
【０１１７】
ＩＰＭＩサーバ部３２２により再送回数が５回に達したと判定された場合（ステップＳ１０８、Ｙｅｓ）、演算処理装置４００のブートオーダ変更部３２３は、ブートオーダを変更する（ステップＳ１０９）。例えば、ブートオーダ変更部３２３は、管理サーバ２０からのＰＸＥブートを優先させたブートオーダに変更する。
【０１１８】
続いて、ＢＭＣ３００の電源制御部３２４は、演算処理装置４００の電源をオンにする（ステップＳ１１０）。そして、演算処理装置４００のＰＸＥブート部４１２は、管理サーバ２０にＰＸＥブートを要求するＰＸＥブート要求を送信する（ステップＳ１１１）。
【０１１９】
管理サーバ２０のＰＸＥ制御部２４ｃは、ＰＸＥブート要求を演算処理装置４００から受信し（ステップＳ１１２）、ＰＸＥブート要求の要求元から管理対象サーバを判定し、仮想アドレス定義ファイル２３ａから仮想アドレスを読込む（ステップＳ１１３）。また、ＰＸＥ制御部２４ｃは、ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを読込む（ステップＳ１１４）。ＰＸＥ制御部２４ｃは、読込んだ仮想アドレスとＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂとを演算処理装置４００に送信する。
【０１２０】
ＮＢＰ実行部４１３は、ＰＸＥブート部４１２によりＰＸＥブート要求を管理サーバ２０に送信された場合、管理サーバ２０から仮想アドレスとＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂとを受信したか否かを判定する（ステップＳ１１５）。ＮＢＰ実行部４１３は、仮想アドレスとＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂとを管理サーバ２０から受信できず、タイムアウトした場合（ステップＳ１１５、Ｎｏ）、以下の処理を実行する。すなわち、ＮＢＰ実行部４１３は、ＰＸＥブート部４１２にＰＸＥブート要求を管理サーバ２０に再送させる。ここで、ＮＢＰ実行部４１３は、この再送回数が所定の回数に達したか否かを判定する（ステップＳ１１６）。なお、ここでは、所定の回数が５回に設定されるものとして説明するが、所定の回数はこの回数に限定されるものではない。
【０１２１】
ＮＢＰ実行部４１３は、再送回数が５回に達していないと判定した場合（ステップＳ１１６、Ｎｏ）、ＰＸＥブート部４１２にＰＸＥブート要求を管理サーバ２０に再送させる。また、ＮＢＰ実行部４１３により再送回数が５回に達したと判定された場合（ステップＳ１１６、Ｙｅｓ）、エラーであると判定し、処理を終了する。
【０１２２】
ＮＢＰ実行部４１３は、管理サーバ２０から仮想アドレスとＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂとを管理サーバ２０から受信したと判定した場合（ステップＳ１１５、Ｙｅｓ）、ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを実行する（ステップＳ１１７）。ＩＰＭＩ−ＫＣＳ制御ＮＢＰ２３ｂを実行するＮＢＰ実行部４１３は、ＩＰＭＩ仮想アドレス設定コマンドを発行し、ＢＭＣ３００に送信する（ステップＳ１１８）。ステップＳ１１８の終了後、実施例１に係る情報処理システム１０では、ＢＭＣ３００がステップＳ１１９を実行する。
【０１２３】
ＢＭＣ３００のＩＰＭＩサーバ部３２２は、ＩＰＭＩ仮想アドレス設定コマンドを受信し（ステップＳ１１９）、ＩＰＭＩ仮想アドレス設定コマンドから読出した仮想アドレスをＩＰＭＩ仮想アドレステーブル３１１に設定する（ステップＳ１２０）。
【０１２４】
ＢＭＣ３００の電源制御部３２４は、ＣＰＵの電源をオフにする。また、ＢＭＣ３００のブートオーダ変更部３２３は、ブートオーダを変更する（ステップＳ１２１）。例えば、ブートオーダ変更部３２３は、ストレージ装置３０からのＳＡＮブートを優先させたブートオーダに変更する。
【０１２５】
（演算処理装置４００によるＯＳ起動処理）
図８は、演算処理装置４００によるＯＳ起動処理の処理手順を示すフローチャートである。図８に示すように、管理サーバ２０は、管理者から管理対象サーバの電源をオンにする操作を受付ける（ステップＳ２０１）。また、管理サーバ２０のブート制御部２４ｂは、仮想アドレス定義ファイル２３ａから管理対象サーバの仮想アドレスを読込む（ステップＳ２０２）。そして、ブート制御部２４ｂは、管理対象サーバの仮想アドレスをＩＰＭＩ−ＬＡＮ制御部２４ａに通知するとともに、管理対象サーバのブートをＩＰＭＩ−ＬＡＮ制御部２４ａに指示する（ステップＳ２０２）。
【０１２６】
ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩブートコマンドを発行し、ＩＰＭＩブートコマンドと管理対象サーバの仮想アドレスとをＢＭＣ３００に送信する（ステップＳ２０３）。そして、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩブートコマンド及び管理対象サーバの仮想アドレスの送信がエラーになったか否かを判定する（ステップＳ２０４）。
【０１２７】
ここで、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩブートコマンド及び管理対象サーバの仮想アドレスの送信がエラーになったと判定した場合（ステップＳ２０４、Ｙｅｓ）、以下の処理を実行する。すなわち、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩブートコマンドを発行し、ＩＰＭＩブートコマンドと管理対象サーバの仮想アドレスとをＢＭＣ３００に送信する処理を、所定の回数、実行したか否かを判定する（ステップＳ２０５）。なお、ここでは、所定の回数が５回に設定されるものとして説明するが、所定の回数はこの回数に限定されるものではない。
【０１２８】
ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩブートコマンドを発行し、ＩＰＭＩブートコマンドと管理対象サーバの仮想アドレスとをＢＭＣ３００に送信する処理を、５回実行したと判定した場合（ステップＳ２０５、Ｙｅｓ）、以下の処理を実行する。すなわち、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＷＯＬのマジックパケットを発行し、管理対象サーバのＮＩＣ４０１及び４０２に送信する（ステップＳ２０６）。
【０１２９】
また、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ＩＰＭＩブートコマンドを発行し、ＩＰＭＩブートコマンドと管理対象サーバの仮想アドレスとをＢＭＣ３００に送信する処理を、５回実行していないと判定した場合（ステップＳ２０５、Ｎｏ）、以下の処理を実行する。すなわち、ＩＰＭＩ−ＬＡＮ制御部２４ａは、ステップＳ２０３に移行する。
【０１３０】
また、ＩＰＭＩ−ＬＡＮ制御部２４ａにより、ＩＰＭＩブートコマンド及び管理対象サーバの仮想アドレスの送信がエラーになっていないと判定された場合（ステップＳ２０４、Ｎｏ）、ＢＭＣ３００のＩＰＭＩサーバ部３２２は、以下の処理を実行する。すなわち、ＩＰＭＩサーバ部３２２は、ＩＰＭＩブートコマンドと管理対象サーバの仮想アドレスとを受信する（ステップＳ２０７）。
【０１３１】
また、ＩＰＭＩサーバ部３２２は、受信した仮想アドレスと仮想アドレステーブル３１１に格納されている仮想アドレスとを比較し、受信した仮想アドレスと異なる仮想アドレスが格納されている場合には、受信した仮想アドレスを仮想アドレステーブル３１１に格納する（ステップＳ２０８）。
【０１３２】
ステップＳ２０６の終了後、あるいは、ステップＳ２０８の終了後、ＢＭＣ３００の電源制御部３２４は、ＣＰＵの電源をオンにする（ステップＳ２０９）。そして、電源制御部３２４は、ＳＭＡＳＨ  ＣＬＰを発行し、演算処理装置４００の仮想アドレス設定部４１１に管理サーバ２０から受信した仮想アドレスを転送する（ステップＳ２１０）。
【０１３３】
演算処理装置４００の仮想アドレス設定部４１１は、ＢＭＣ３００から受信した仮想アドレスをＮＩＣ４０１及び４０２とＨＢＡ４０３及び４０４とに設定する（ステップＳ２１１）。これにより、演算処理装置４００は、仮想アドレスを用いて、ＳＡＮブートを実行する（ステップＳ２１２）。
【０１３４】
［実施例１の効果］
上述してきたように、実施例１に係る情報処理システム１０では、ＢＭＣ３００へ通電時に、管理サーバ２０と管理対象サーバのＢＭＣ３００との間のネットワークが正常であれば、管理サーバ２０は、以下の処理を実行する。すなわち、管理サーバ２０は、ＢＭＣ３００の仮想アドレステーブル３１１にＩＰＭＩ−ＬＡＮインターフェースから仮想アドレスを設定する。
【０１３５】
また、実施例１に係る情報処理システム１０では、ＢＭＣ３００へ通電時に、管理サーバ２０と管理対象サーバのＢＭＣ３００との間のネットワークが異常であれば、演算処理装置４００がＬｏＭのＰＸＥ経由でダウンロードしたプログラムを実行する。これにより、ＢＭＣ３００は、ＩＰＭＩ−ＫＣＳインターフェースから受信した仮想アドレスを仮想アドレステーブル３１１に設定できる。
【０１３６】
また、実施例１に係る情報処理システム１０では、ＢＭＣ３００へ通電後、管理サーバ２０が、ＢＭＣ３００にコマンドを送信できない場合、演算処理装置４００経由でコマンドを送信してＢＭＣ３００を制御する。また、ＢＭＣ３００は、仮想アドレステーブル３１１から読出した仮想アドレスを、演算処理装置４００に転送する。そして、演算処理装置４００は、自装置が有するＮＩＣ４０１及びＮＩＣ４０２とＨＢＡ４０３及びＨＢＡ４０４に仮想アドレスを設定する。これにより、実施例１に係る情報処理システム１０によれば、管理サーバ２０とＢＭＣ３００とのネットワークに障害が生じた場合でも、管理対象サーバを起動することができる。
【０１３７】
また、実施例１に係る情報処理システム１０では、ＢＭＣ３００へ通電後、管理対象サーバの起動時に、ＢＭＣ３００の仮想アドレステーブル３１１に記憶した仮想アドレスを演算処理装置４００に設定する。これにより、実施例１に係る情報処理システム１０によれば、管理サーバ２０とＢＭＣ３００との間のネットワークが正常または異常であっても、短時間で管理対象サーバを起動できる。
【０１３８】
このため、実施例１に係る情報処理システム１０は、管理対象サーバがＢＭＣのネットワーク接続を二重化できない標準的なｘ８６／ｘ６４アーキテクチャのラックマウントサーバである場合でも、ブレードサーバと同様の高信頼及び高可用性を実現できる。
【０１３９】
また、実施例１に係る情報処理システム１０では、管理対象サーバを別環境のシステムへ移設する場合、電源プラグをオフにすれば、ＢＭＣ３００の仮想アドレステーブル３１１に記憶された仮想アドレスが消去される。これにより、実施例１に係る情報処理システム１０によれば、移設先の環境下で仮想アドレスが他の管理対象サーバに設定された仮想アドレスと重複することを防止できる。
【実施例２】
【０１４０】
ところで、本発明は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例２では、本発明に含まれる他の実施例について説明する。
【０１４１】
（システム構成等）
本実施例において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。
【０１４２】
また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、ＢＭＣ３００では、初期化部３２１とＩＰＭＩサーバ部３２２とが統合されてもよい。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１４３】
また、上記実施例は、１つのＮＩＣを備えるＢＭＣではなく、複数個のＮＩＣを備えるＢＭＣもその処理対象にしてもよい。このような場合、例えば、ＢＭＣが備えるすべてのＮＩＣと管理サーバ間の通信異常が発生した場合に上記処理が実行されればよい。
【符号の説明】
【０１４４】
１０  情報処理システム
１１  管理ＧＵＩ装置
１２  電源
１３、１４  イーサースイッチ
１５、１６  ＦＣスイッチ
２０  管理サーバ
２１、２２、３０１、４０１、４０２  ＮＩＣ
２３、２００、３１０  記憶部
２３ａ  仮想アドレス定義ファイル
２３ｂ  ＩＰＭＩ−ＫＣＳ制御ＮＢＰ
２４、３２０、４１０  制御部
２４ａ  ＩＰＭＩ−ＬＡＮ制御部
２４ｂ  ブート制御部
２４ｃ  ＰＸＥ制御部
２４ｄ  ＳＮＭＰトラップ受信部
３０  ストレージ装置
３１、３２、４０３、４０４  ＨＢＡ
３３〜３５  ＬＵＮ
４０  ラックマウントサーバ
１００  マザーボード
２０１  ブートオーダテーブル
３００  ＢＭＣ
３１１  仮想アドレステーブル
３２１  初期化部
３２２  ＩＰＭＩサーバ部
３２３  ブートオーダ変更部
３２４  電源制御部
４１１  仮想アドレス設定部
４１２  ＰＸＥブート部
４１３  ＮＢＰ実行部
【図１】
0005910246.tif 000002
【図２Ａ】
0005910246.tif 000003
【図２Ｂ】
0005910246.tif 000004
【図２Ｃ】
0005910246.tif 000005
【図３】
0005910246.tif 000006
【図４】
0005910246.tif 000007
【図５】
0005910246.tif 000008
【図６】
0005910246.tif 000009
【図７】
0005910246.tif 000010
【図８】
0005910246.tif 000011
【図９】
0005910246.tif 000012
【図１０】
0005910246.tif 000013