(57)【要約】【課題】サーバ装置の電源がＯＮになったときに、モジュールのファームウェアのバージョンと前のファームウェアのバージョンとを比較する。【解決手段】起動検出部は、サーバ装置の電源がＯＮになったことを検出する。プログラム生成部は、サーバの電源がＯＦＦになる前の前記サーバのモジュール情報である前モジュール情報に基づいて、サーバに、モジュール情報を収集するステップと、前モジュール情報と収集したモジュール情報とが一致するか否かを判定するステップと、を実行させるためのバージョンチェックプログラムを生成する。プログラム提供部は、バージョンチェックプログラムをサーバに提供する。【選択図】図１
2020154706.tif 000002
【特許請求の範囲】
【請求項１】
サーバの電源がＯＮになったことを検出する起動検出部と、
前記サーバの電源がＯＦＦになる前の前記サーバのモジュール情報である前モジュール情報に基づいて、前記サーバに、モジュール情報を収集するステップと、前記前モジュール情報と収集した前記モジュール情報とが一致するか否かを判定するステップと、を実行させるためのバージョンチェックプログラムを生成するプログラム生成部と、
前記バージョンチェックプログラムを前記サーバに提供するプログラム提供部と
を備えるサーバ管理装置。
【請求項２】
前記バージョンチェックプログラムは、前記サーバに、
前記前モジュール情報と収集した前記モジュール情報とが部分一致し、かつファームウェアのバージョンが相違する場合に、ファームウェアを更新するステップ
をさらに実行させるプログラムである
請求項１に記載のサーバ管理装置。
【請求項３】
前記バージョンチェックプログラムは、前記サーバに、
前記前モジュール情報と収集した前記モジュール情報とでファームウェアを搭載するモジュールの個体情報が相違する場合に、前記サーバに電源がＯＦＦになる前の前記サーバの設定情報を引き継ぐステップ
をさらに実行させるプログラムである
請求項１または請求項２に記載のサーバ管理装置。
【請求項４】
前記バージョンチェックプログラムは、ブートプログラムであって、
前記プログラム提供部は、前記バージョンチェックプログラムによって前記サーバをネットワークブートする
請求項１から請求項３の何れか１項に記載のサーバ管理装置。
【請求項５】
前記サーバから前記モジュール情報を受信し、モジュール情報記憶部に記録する情報収集部を備え、
前記プログラム生成部は、前記モジュール情報記憶部が記憶するモジュール情報を前記前モジュール情報として、前記バージョンチェックプログラムを生成する
請求項１から請求項４の何れか１項に記載のサーバ管理装置。
【請求項６】
サーバの電源がＯＮになったことを検出するステップと、
前記サーバの電源がＯＦＦになる前の前記サーバのモジュール情報である前モジュール情報に基づいて、前記サーバにモジュールのバージョンチェックを実行させるためのバージョンチェックプログラムを生成するステップと、
前記バージョンチェックプログラムを前記サーバに提供するステップと
を備えるサーバ管理方法。
【請求項７】
コンピュータに、
サーバの電源がＯＮになったことを検出するステップと、
前記サーバの電源がＯＦＦになる前の前記サーバのモジュール情報である前モジュール情報に基づいて、前記サーバにモジュールのバージョンチェックを実行させるためのバージョンチェックプログラムを生成するステップと、
前記バージョンチェックプログラムを前記サーバに提供するステップと
を実行させるためのサーバ管理プログラム。
【請求項８】
サーバのコンピュータに、
モジュール情報を収集するステップと、
前記サーバの電源がＯＦＦになる前の前記サーバのモジュール情報である前モジュール情報と、収集した前記モジュール情報とが一致するか否かを判定するステップと、
を実行させるためのバージョンチェックプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ管理装置、サーバ管理方法、サーバ管理プログラム、およびバージョンチェックプログラムに関する。
【背景技術】
【０００２】
特許文献１には、管理対象サーバのネットワークブート時に、システム状況に応じた動作状態に移行させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０１８４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
故障等の理由からサーバ装置の内部モジュールの保守交換を行うことがある。サーバ装置の内部モジュールは、ファームウェアを有することがある。サーバ装置に保守交換の前後で同じ動作をさせるためには、交換後の内部モジュールのファームウェアのバージョンを、交換前のバージョンと合わせる必要がある。
本発明の目的は、上述した課題を解決するサーバ管理装置、サーバ管理方法、サーバ管理プログラム、およびバージョンチェックプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によれば、サーバ管理装置は、サーバ装置の電源がＯＮになったことを検出する起動検出部と、前記サーバの電源がＯＦＦになる前の前記サーバのモジュール情報である前モジュール情報を取得する情報取得部と、前記前モジュール情報に基づいて、前記サーバに、モジュール情報を収集するステップと、前記前モジュール情報と収集した前記モジュール情報とが一致するか否かを判定するステップと、を実行させるためのバージョンチェックプログラムを生成するプログラム生成部と、前記バージョンチェックプログラムを前記サーバに提供するプログラム提供部とを備える。
【０００６】
本発明の第２の態様によれば、サーバ管理方法は、サーバ装置の電源がＯＮになったことを検出するステップと、前記サーバの電源がＯＦＦになる前の前記サーバのモジュール情報である前モジュール情報を取得するステップと、前記前モジュール情報に基づいて、前記サーバにモジュールのバージョンチェックを実行させるためのバージョンチェックプログラムを生成するステップと、前記バージョンチェックプログラムを前記サーバに提供するステップとを備える。
【０００７】
本発明の第３の態様によれば、サーバ管理プログラムは、コンピュータに、サーバ装置の電源がＯＮになったことを検出するステップと、前記サーバの電源がＯＦＦになる前の前記サーバのモジュール情報である前モジュール情報を取得するステップと、前記前モジュール情報に基づいて、前記サーバにモジュールのバージョンチェックを実行させるためのバージョンチェックプログラムを生成するステップと、前記バージョンチェックプログラムを前記サーバに提供するステップとを実行させる。
【０００８】
本発明の第４の態様によれば、バージョンチェックプログラムは、サーバ装置のコンピュータに、モジュール情報を収集するステップと、前記サーバの電源がＯＦＦになる前の前記サーバのモジュール情報である前モジュール情報と、収集した前記モジュール情報とが一致するか否かを判定するステップと、を実行させる。
【発明の効果】
【０００９】
上記態様のうち少なくとも１つの態様によれば、サーバ装置の電源がＯＮになったときに、当該サーバ装置に、モジュールのファームウェアのバージョンと前のファームウェアのバージョンとを比較させることができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係るネットワークシステムの構成を示す概略図である。
【図２】第１の実施形態に係るサーバ装置のハードウェア構成を表す概略ブロック図である。
【図３】第１の実施形態に係るサーバ管理装置のソフトウェア構成を示す概略ブロック図である。
【図４】第１の実施形態に係るサーバ構成テーブルが記憶する情報の一例を示す図である。
【図５】第１の実施形態に係るファームウェア管理テーブルが記憶する情報の一例を示す図である。
【図６】第１の実施形態に係る設定テーブルが記憶する情報の一例を示す図である。
【図７】第１の実施形態に係るファームウェアマスタテーブルが記憶する情報の一例を示す図である。
【図８】第１の実施形態に係るサーバ装置のモジュール情報の収集方法を示すシーケンス図である。
【図９】第１の実施形態に係るサーバ装置のファームウェアのチェック方法を示すシーケンス図である。
【図１０】サーバ管理装置の基本構成を示す概略ブロック図である。
【図１１】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１１】
〈第１の実施形態〉
《ネットワークシステムの構成》
図１は、第１の実施形態に係るネットワークシステムの構成を示す概略図である。
ネットワークシステム１は、サーバ管理装置１００と複数のサーバ装置２００とを備える。
【００１２】
サーバ管理装置１００は、複数のサーバ装置２００の構成情報やファームウェア設定情報などを示すモジュール情報を管理する。サーバ管理装置１００は、サーバ装置２００よりハードウェア規模が小さいコンピュータ装置であってよい。
複数のサーバ装置２００は、例えばデータセンタなどに設置されているような一般的なコンピュータであり、主にユーザ業務等を処理する装置である。
【００１３】
サーバ管理装置１００およびサーバ装置２００は、管理ＬＡＮ３０１およびシステムＬＡＮ３０２に接続される。
管理ＬＡＮ３０１は、サーバ装置２００のモジュール情報の通信に用いられるネットワークである。
システムＬＡＮ３０２は、サーバ装置２００上で動作するＯＳ（オペレーティングシステム）が使用するネットワークである。またシステムＬＡＮ３０２は、サーバ装置２００をネットワークブートをするためのデータの通信にも用いられる。ネットワークブートは、一般的なＤＨＣＰ（Dynamic Host Configuration Protocol）による一時的なアドレス割り当てとＰＸＥ（Preboot eXecution Environment）ブート機能とを利用したブートの一形態である。
【００１４】
《サーバ装置の構成》
図２は、第１の実施形態に係るサーバ装置のハードウェア構成を表す概略ブロック図である。
サーバ装置２００は、複数のモジュールによって構成される。具体的には、サーバ装置２００が備えるモジュールは、マザーボード２１０、ＣＰＵ２２０、メモリ２３０、ディスク２４０、ＰＣＩカード２５０を含む。サーバ装置２００のマザーボード２１０は、製造番号やファームウェア設定情報のデータを取り扱う制御用バスを介して他の各種モジュールに接続される。なお、図２に示すサーバ装置２００のモジュール構成はあくまで一例であり、他の実施形態においてはこれに限られない。
サーバ装置２００の各モジュールは、少なくとも製造番号を保持する不揮発メモリを内部に備える。また、サーバ装置２００のモジュールのうち、マザーボード２１０、ディスク２４０、およびＰＣＩカード２５０は、内部の不揮発メモリにファームウェアおよび設定情報を記憶し、当該ファームウェアの実行により、所定の機能を実現する。他方、ＣＰＵ２２０およびメモリ２３０は、ファームウェアおよび設定情報を保持しない。なお、製造番号は、モジュールの個体情報の一例である。
【００１５】
マザーボード２１０は、不揮発メモリ２１１、管理コントローラ２１２、管理用ＬＡＮコントローラ２１３、システムＬＡＮコントローラ２１４、チップセットコントローラ２１５を備える。
不揮発メモリ２１１は、マザーボード２１０の製造番号、ファームウェア、およびファームウェアの設定情報を記憶する。
管理コントローラ２１２は、ベースボードマネージメントコントローラ（ＢＭＣ）と呼ばれるコントローラチップである。管理コントローラ２１２は、不揮発メモリ２１１および各モジュールの不揮発メモリから、製造番号、ファームウェアバージョン、ファームウェア設定を収集する。管理コントローラ２１２は、管理ＬＡＮ３０１を介した情報取得要求に応答して、収集した情報をモジュール情報として送信する。
【００１６】
管理用ＬＡＮコントローラ２１３は、管理ＬＡＮ３０１を介した通信を制御する。
システムＬＡＮコントローラ２１４は、システムＬＡＮ３０２を介した通信を制御する。
チップセットコントローラ２１５は、システムＬＡＮ３０２を介して受信されたネットワークブートプログラムを実行し、管理コントローラ２１２をブートする。
【００１７】
《サーバ管理装置の構成》
図３は、第１の実施形態に係るサーバ管理装置のソフトウェア構成を示す概略ブロック図である。
サーバ管理装置１００は、情報収集部１１０、モジュール情報データベース１２０、マスタデータベース１３０、ファイルシステム１４０、要求受信部１５０、プログラム生成部１６０、プログラム提供部１７０、情報提示部１８０を備える。
【００１８】
情報収集部１１０は、管理ＬＡＮ３０１にアクセスし、ＩＰＭＩ（Intelligent Platform Management Interface）やＲＥＳＴ（REpresentational State Transfer）といったインタフェースを使って、複数のサーバ装置２００から内部モジュールの製造番号、ファームウェアバージョン情報、およびファームウェア設定情報を含むモジュール情報を収集する。情報収集部１１０は、収集した各サーバ装置２００の最新のモジュール情報をモジュール情報データベース１２０に記録する。
【００１９】
モジュール情報データベース１２０は、サーバ装置２００が備える各モジュールの製造番号、ファームウェアのバージョン、およびファームウェア設定情報を記憶する。
具体的には、モジュール情報データベース１２０は、モジュールの製造番号を格納するサーバ構成テーブル１２１と、ファームウェア管理テーブル１２２と、設定テーブル１２３とを記憶する。
【００２０】
図４は、第１の実施形態に係るサーバ構成テーブルが記憶する情報の一例を示す図である。
サーバ構成テーブル１２１は、サーバ装置２００を識別するサーバＩＤに関連付けて、マザーボード製造番号、ＣＰＵ製造番号、メモリ製造番号、ディスク製造番号、およびＰＣＩカード製造番号を格納するテーブルである。例えばモジュール情報データベース１２０は、サーバ構成テーブル１２１において、サーバＩＤ「００１」に関連付けて、マザーボード製造番号「ＭＢ＿０００００１」、ＣＰＵ製造番号「ＣＰＵ＿００００３」を記憶する。
【００２１】
図５は、第１の実施形態に係るファームウェア管理テーブルが記憶する情報の一例を示す図である。
ファームウェア管理テーブル１２２は、サーバ装置２００のファームウェアのバージョンを記憶する。具体的には、ファームウェア管理テーブル１２２は、サーバＩＤに関連付けて、マザーボード、ディスク、およびＰＣＩカードのファームウェアバージョン情報を格納するテーブルである。例えば、モジュール情報データベース１２０は、ファームウェア管理テーブル１２２において、サーバＩＤ「００２」に関連付けて、ＰＣＩカードのファームウェアバージョン「ＰＣＩ＿ＦＷ００３」、マザーボードのファームウェアバージョン「ＭＢ＿ＦＷ０２」を記憶する。
【００２２】
図６は、第１の実施形態に係る設定テーブルが記憶する情報の一例を示す図である。
設定テーブル１２３は、サーバＩＤに関連付けて、マザーボード、ディスク、およびＰＣＩカードのファームウェア設定ファイル情報を格納する。例えば、モジュール情報データベース１２０は、サーバＩＤ「００２」に関連付けて、ディスクのファームウェア設定ファイル「ＳＶＲ２＿ＨＤＤ．ｃｆｇ」を記憶し、サーバＩＤ「００３」に関連付けて、マザーボードのファームウェア設定ファイル「ＳＶＲ３＿ＭＢ．ｃｆｇ」を記憶する。
【００２３】
マスタデータベース１３０は、ファームウェアのバージョンに関連付けて、当該バージョンのファームウェアの更新に必要なファームウェア本体データのファイル名を格納するファームウェアマスタテーブル１３１を記憶する。図７は、第１の実施形態に係るファームウェアマスタテーブルが記憶する情報の一例を示す図である。例えば、マスタデータベース１３０は、ファームウェアマスタテーブル１３１において、マザーボードのファームウェアバージョン「ＭＢ＿ＦＷ０１」に関連付けてファームウェア本体データのファイル名「ＭＢ＿ＦＷ０１．ｆｗ」を記憶する。
【００２４】
ファイルシステム１４０は、複数のファームウェア本体データを記憶する。
【００２５】
要求受信部１５０は、システムＬＡＮ３０２に繋がっているサーバ装置２００からネットワークブート要求を受け付ける。要求受信部１５０は、ネットワークブート要求を受け付けることで、サーバ装置の電源がＯＮになったことを検出する。つまり、プログラム提供部１７０は、起動検出部の一例である。また要求受信部１５０は、システムＬＡＮ３０２を介してサーバ装置２００からファームウェアの設定要求を受け付ける。
【００２６】
プログラム生成部１６０は、モジュール情報データベース１２０およびマスタデータベース１３０が記憶するデータに基づいて、ファームウェア更新プログラム、およびファームウェア設定プログラムを生成する。なお、ファームウェア更新プログラムは、サーバ装置２００をネットワークブートをするためのＤＨＣＰやＰＸＥブートのための処理プログラムである。
【００２７】
プログラム提供部１７０は、ネットワークブート要求の送信元のサーバ装置２００にファームウェア更新プログラムを提供し、サーバ装置２００のネットワークブートを実現する。プログラム提供部１７０は、ファームウェアの設定要求の送信元のサーバ装置２００にファームウェア設定プログラムを提供する。
【００２８】
情報提示部１８０は、ディスプレイなどの出力装置に、サーバ管理装置１００の処理結果を示す情報を提示する。
【００２９】
《モジュール情報収集方法》
図８は、第１の実施形態に係るサーバ装置のモジュール情報の収集方法を示すシーケンス図である。
サーバ管理装置１００の情報収集部１１０は、管理ＬＡＮ３０１を経由して、複数のサーバ装置２００の管理用ＬＡＮコントローラ２１３へアクセスし、情報収集指示を送信する（ステップＳ１０１）。なお、サーバ装置２００の管理用ＬＡＮコントローラ２１３のＩＰアドレスはあらかじめ設定されており、サーバ管理装置１００側で各サーバ装置２００の管理用ＬＡＮコントローラ２１３のＩＰアドレス情報を保持している。
【００３０】
サーバ装置２００の管理コントローラ２１２は、管理用ＬＡＮコントローラ２１３により管理ＬＡＮ３０１を経由してサーバ管理装置１００から情報収集指示を受信する（ステップＳ２０１）。管理コントローラ２１２は、各モジュールの不揮発メモリへアクセスする（ステップＳ２０２）。すなわち管理コントローラ２１２は、ＣＰＵ２２０、メモリ２３０、ディスク２４０、およびＰＣＩカード２５０の不揮発メモリ、ならびに不揮発メモリ２１１へアクセスする。
【００３１】
管理コントローラ２１２は、各モジュールの不揮発メモリから、製造番号、ファームウェアバージョン情報、およびファームウェア設定情報を含むモジュール情報を収集する（ステップＳ２０３）。管理コントローラ２１２は、管理用ＬＡＮコントローラ２１３により管理ＬＡＮ３０１を経由してサーバ管理装置１００に収集したモジュール情報を送信する（ステップＳ２０４）。
【００３２】
サーバ管理装置１００の情報収集部１１０は、ステップＳ１０１で情報収集指示を送信した各サーバ装置２００からモジュール情報を受信する（ステップＳ１０２）。情報収集部１１０は、受信したモジュール情報を１つずつ選択し、以下のステップＳ１０４からステップＳ１０８の処理を実行する（ステップＳ１０３）。
【００３３】
情報収集部１１０は、ステップＳ１０３で選択したモジュール情報の製造番号をクエリとして、モジュール情報データベース１２０にモジュール情報の検索要求を出力する（ステップＳ１０４）。モジュール情報データベース１２０は、サーバ構成テーブル１２１から、クエリのモジュール情報に含まれる複数の製造番号と完全一致または部分一致するタプルを検索する（ステップＳ１０５）。
【００３４】
クエリの製造番号と完全一致するタプルがある場合（ステップＳ１０５：完全一致）、ステップＳ１０３で選択されたモジュール情報は、既にモジュール情報データベース１２０に登録済みの装置であるため、情報収集部１１０は、モジュール情報データベース１２０のファームウェア管理テーブル１２２および設定テーブル１２３を更新する（ステップＳ１０６）。すなわち、情報収集部１１０は、ファームウェア管理テーブル１２２から、ステップＳ１０５で検索されたタプルと同じサーバＩＤを有するタプルを読み出し、当該タプルに係る各モジュールのファームウェアバージョン情報を、ステップＳ１０３で選択されたモジュール情報に含まれる各モジュールのファームウェアバージョン情報に書き換える。また、情報収集部１１０は、設定テーブル１２３から、ステップＳ１０５で検索されたタプルと同じサーバＩＤを有するタプルを読み出し、当該タプルに係る各モジュールの設定ファイル情報を、ステップＳ１０３で選択されたモジュール情報に含まれる各モジュールの設定ファイル情報に書き換える。
【００３５】
ステップＳ１０５において、クエリの製造番号と部分一致するタプルがある場合（ステップＳ１０５：部分一致）、情報収集部１１０は、モジュール情報データベース１２０の更新を行わない。製造番号が部分一致する場合、すなわち一部の製造番号が一致しない場合、サーバ装置２００のモジュールの交換が行われた可能性が高い。そのため、情報提示部１８０は、サーバ装置２００のネットワークブートを早期に行うべき旨を示す警告メッセージを出力装置に出力させる（ステップＳ１０７）。
【００３６】
ステップＳ１０５において、クエリの製造番号と完全一致するタプルおよび部分一致するタプルがない場合（ステップＳ１０５：完全不一致）、モジュール情報データベース１２０にサーバ装置２００の情報が登録されていないため、情報収集部１１０は、ステップＳ１０３で選択されたモジュール情報をモジュール情報データベース１２０に、新規登録する（ステップＳ１０８）。
すなわち、モジュール情報データベース１２０は、サーバ装置２００を識別するサーバＩＤを新たに生成する。情報収集部１１０は、ステップＳ１０３で選択されたモジュール情報に含まれる各モジュールの製造番号を、新たに生成されたサーバＩＤに関連付けてサーバ構成テーブル１２１に記録する。情報収集部１１０は、ステップＳ１０３で選択されたモジュール情報に含まれる各モジュールのファームウェアバージョン情報を、新たに生成されたサーバＩＤに関連付けてファームウェア管理テーブル１２２に記録する。情報収集部１１０は、ステップＳ１０３で選択されたモジュール情報に含まれる各モジュールの設定ファイル情報を、新たに生成されたサーバＩＤに関連付けて設定テーブル１２３に記録する。
【００３７】
上述の処理を定期的に実行することにより、モジュール情報データベース１２０は、複数のサーバ装置２００のモジュール情報を反映させ、常に最新状態のモジュール情報を保持することができる。
【００３８】
《ファームウェアチェック方法》
図９は、第１の実施形態に係るサーバ装置のファームウェアのチェック方法を示すシーケンス図である。
ハードウェアの故障等の理由においてサーバ装置２００の故障モジュールの交換が行われると、作業者は、交換後にサーバ装置２００の電源ケーブルや各種通信用のケーブルの接続を元に戻して、サーバ装置２００の電源をＯＮにする。サーバ装置２００の電源がＯＮになると、管理コントローラ２１２は、ハードウェアの初期化（ＰＯＳＴ：Ｐｏｗｅｒ  Ｏｎ  ＳｅｌｆＴｅｓｔ）を行い、システムＬＡＮコントローラ２１４より、ネットワークブートするためＤＨＣＰ／ＰＸＥブートの要求信号を送信する（ステップＳ２３１）。
【００３９】
サーバ管理装置１００の要求受信部１５０は、システムＬＡＮ３０２を経由してネットワークブートの要求信号を受信する（ステップＳ１３１）。要求信号を受信すると、プログラム生成部１６０は、モジュール情報データベース１２０およびファームウェア管理テーブル１２２に記憶されたデータを取得する（ステップＳ１３２）。プログラム生成部１６０は、取得したデータに基づいて、モジュールの状態ををチェックするためのブート用プログラムであるバージョンチェックプログラムを生成する（ステップＳ１３３）。バージョンチェックプログラムには、モジュール情報データベース１２０およびファームウェア管理テーブル１２２のレプリカが含まれる。モジュール情報データベース１２０およびファームウェア管理テーブル１２２のレプリカは、サーバ装置２００の電源がＯＦＦになる前のモジュール情報、すなわち前モジュール情報の一例である。プログラム提供部１７０は、要求信号の送信元のサーバ装置２００に、生成されたバージョンチェックプログラムを送信する（ステップＳ１３４）。
【００４０】
サーバ装置２００のチップセットコントローラ２１５は、システムＬＡＮコントローラ２１４によって、システムＬＡＮ３０２を経由してバージョンチェックプログラムを受信する（ステップＳ２３２）。チップセットコントローラ２１５は、受信したバージョンチェックプログラムを管理コントローラ２１２に実行させる（ステップＳ２３３）。
【００４１】
管理コントローラ２１２がバージョンチェックプログラムを実行すると、サーバ装置２００内部の各モジュールの不揮発メモリへアクセスし、モジュール情報を収集する（ステップＳ２３４）。管理コントローラ２１２は、収集したモジュール情報に含まれる複数の製造番号をクエリとして、バージョンチェックプログラムに含まれるモジュール情報データベース１２０のレプリカから、クエリの製造番号と完全一致または部分一致するタプルを検索する（ステップＳ２３５）。
【００４２】
クエリの製造番号と完全一致するタプルがある場合（ステップＳ２３５：完全一致）、または、クエリの製造番号と完全一致するタプルおよび部分一致するタプルがない場合（ステップＳ２３５：完全不一致）、ファームウェアの更新を行うことなく処理を終了する。全てのモジュールにおいて製造番号が一致する場合、管理対象でないモジュールが交換され、またはモジュールの交換がなされていないため、交換後の管理や設定の復旧等は不要である。全てのモジュールにおける製造番号において完全一致するタプルも部分一致するタプルもない場合、当該サーバ装置２００はサーバ管理装置１００の管理対象外であるため、交換・復旧作業は不要である。なお、当該サーバ装置２００は、図８に示すモジュール情報の収集処理によって、新規登録されることとなる。
【００４３】
ステップＳ２３５において、クエリの製造番号と部分一致するタプルがある場合（ステップＳ２３５：部分一致）、管理コントローラ２１２は、当該タプルにおいて製造番号が一致しないモジュールの中に、ファームウェアを有するモジュールが含まれるか否かを判定する（ステップＳ２３６）。つまり、管理コントローラ２１２は、製造番号が一致しないモジュールの中に、マザーボード２１０、ディスク２４０、またはＰＣＩカード２５０が含まれるか否かを判定する。
【００４４】
製造番号が一致しないモジュールの中にファームウェアを有するモジュールが含まれる場合（ステップＳ２３６：ＹＥＳ）、ファームウェア情報を持っているマザーボード２１０、ディスク２４０、ＰＣＩカード２５０のいずれかが交換されている。
管理コントローラ２１２は、製造番号が一致しないモジュールから読み出したファームウェアバージョン情報と、ファームウェア管理テーブル１２２のレプリカに格納されたファームウェアバージョン情報とが一致するか否かを判定する（ステップＳ２３７）。ファームウェアバージョン情報が異なる場合（ステップＳ２３７：ＮＯ）、管理コントローラ２１２は、ファームウェア更新および設定引き継ぎを実施するためのプログラムの提供要求を、システムＬＡＮ３０２を経由してサーバ管理装置１００に送信する（ステップＳ２３８）。他方、ファームウェアバージョン情報が一致する場合（ステップＳ２３７：ＹＥＳ）、管理コントローラ２１２は、設定引き継ぎを実施するためのプログラムの提供要求を、システムＬＡＮ３０２を経由してサーバ管理装置１００に送信する（ステップＳ２３９）。提供要求には、ステップＳ２３５で検索されたタプルに関連付けられたサーバＩＤが含まれる。
【００４５】
サーバ管理装置１００の要求受信部１５０は、サーバ装置２００からプログラムの提供要求を受信する（ステップＳ１３５）。プログラム生成部１６０は、モジュール情報データベース１２０、マスタデータベース１３０およびファイルシステム１４０から必要なデータを取得する（ステップＳ１３６）。具体的には、プログラム生成部１６０は、設定テーブル１２３から提供要求に含まれるサーバＩＤに関連付けられた設定ファイルを読み出す。また受信した提供要求がファームウェアの更新の実施も示す場合、ファームウェア管理テーブル１２２から提供要求に含まれるサーバＩＤに関連付けられたファームウェアのバージョンを特定する。プログラム生成部１６０は、特定したバージョンのファームウェアのファイル名をファームウェアマスタテーブル１３１から読み出し、当該ファイル名のファイルをファイルシステム１４０から取得する。
プログラム生成部１６０は、取得したデータを用いて要求されたプログラムを生成する（ステップＳ１３７）。プログラム提供部１７０は、生成したプログラムを、システムＬＡＮ３０２を経由してサーバ装置２００に送信する（ステップＳ１３８）。
【００４６】
サーバ装置２００のチップセットコントローラ２１５は、システムＬＡＮ３０２を経由してプログラムを受信し、当該プログラムを管理コントローラ２１２に実行させる（ステップＳ２４０）。これにより、ファームウェアのバージョンおよびファームウェアの設定情報は、モジュールの交換前と一致する。
【００４７】
プログラムの実行が完了した場合、またはステップＳ２３６において製造番号が一致しないモジュールの中にファームウェアを有するモジュールが含まれない場合（ステップＳ２３６：ＮＯ）、管理コントローラ２１２は、サーバ管理装置１００のモジュール情報の更新指示を、管理ＬＡＮ３０１を経由してサーバ管理装置１００に送信し（ステップＳ２４１）、サーバ装置２００を再起動する（ステップＳ２４２）。
【００４８】
サーバ管理装置１００の情報収集部１１０は、サーバ装置２００から更新指示を受信すると（ステップＳ１３９）、受信した更新指示に基づいてモジュール情報データベース１２０が記憶するモジュール情報を更新する（ステップＳ１４０）。
【００４９】
《作用・効果》
このように、第１の実施形態に係るサーバ管理装置１００は、サーバ装置２００の電源がＯＮになったことを検出すると、サーバ装置２００の前モジュール情報に基づいてバージョンチェックプログラムを生成し、当該バージョンチェックプログラムをサーバ装置２００に提供する。これにより、サーバ装置２００のモジュールが交換され、サーバ装置２００の電源がＯＮになったときに、サーバ管理装置１００は、自動的にファームウェアのバージョンをチェックすることができる。
【００５０】
また第１の実施形態に係るバージョンチェックプログラムは、サーバ装置２００に、前モジュール情報と収集したモジュール情報とが部分一致し、かつファームウェアのバージョンが相違する場合に、ファームウェアを更新するステップを実行させる。これにより、サーバ管理装置１００は、サーバ装置２００のモジュールがファームウェアが異なるモジュールに交換され、サーバ装置２００の電源がＯＮになったときに、自動的にファームウェアのバージョンを以前のバージョンに合わせることができる。なお、他の実施形態においてはこれに限られず、バージョンチェックプログラムは、前モジュール情報と収集したモジュール情報とが部分一致し、かつファームウェアのバージョンが相違する場合に、ファームウェアの更新を指示する警告を出力するものであってもよい。この場合、当該警告を認識した利用者が手動でファームウェアの更新を行ってもよい。
【００５１】
また、第１の実施形態に係るバージョンチェックプログラムは、サーバ装置２００に、前モジュール情報と収集したモジュール情報とでファームウェアを搭載するモジュールの個体情報が相違する場合に、電源がＯＦＦになる前の設定情報を引き継ぐステップを実行させる。具体的には、サーバ装置２００は、設定引継プログラムをサーバ管理装置に要求することで、電源がＯＦＦになる前の設定情報を引き継ぐ。これにより、サーバ管理装置１００は、サーバ装置２００の電源がＯＮになったときに、自動的にファームウェアの設定情報を以前の設定情報に合わせることができる。なお、他の実施形態においてはこれに限られず、バージョンチェックプログラムは、前モジュール情報と収集したモジュール情報とでファームウェアを搭載するモジュールの個体情報が相違する場合に、設定情報の更新を指示する警告を出力するものであってもよい。この場合、当該警告を認識した利用者が手動で設定情報の更新を行ってもよい。
【００５２】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。例えば、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
【００５３】
〈基本構成〉
図１０は、サーバ管理装置の基本構成を示す概略ブロック図である。
上述した実施形態では、サーバ管理装置の一実施形態として図３に示す構成について説明したが、サーバ管理装置の基本構成は、図１０に示すとおりである。
すなわち、サーバ管理装置１０は、起動検出部１１と、プログラム生成部１２と、プログラム提供部１３とを備える。
起動検出部１１は、サーバ装置の電源がＯＮになったことを検出する。起動検出部１１は、情報収集部１１０に相当する。
プログラム生成部１２は、バージョンチェックプログラムを生成する。バージョンチェックプログラムは、サーバ装置の電源がＯＦＦになる前のサーバ装置のモジュール情報である前モジュール情報に基づいて、サーバ装置に、モジュール情報を収集するステップと、前モジュール情報と収集したモジュール情報とが一致するか否かを判定するステップと、を実行させるためのプログラムである。プログラム生成部１２は、プログラム生成部１６０に相当する。
プログラム提供部１３は、バージョンチェックプログラムをサーバ装置に提供する。プログラム提供部１３は、プログラム提供部１７０に相当する。
【００５４】
これにより、サーバ管理装置１０は、サーバ装置の電源がＯＮになったときに、当該サーバ装置に、モジュールのファームウェアのバージョンと前のファームウェアのバージョンとを比較させることができる。
【００５５】
〈コンピュータ構成〉
図１１は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ９００は、プロセッサ９１０、メインメモリ９２０、ストレージ９３０、インタフェース９４０を備える。
上述のサーバ管理装置１００は、コンピュータ９００に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ９３０に記憶されている。プロセッサ９１０は、プログラムをストレージ９３０から読み出してメインメモリ９２０に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ９１０は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ９２０に確保する。プロセッサ９１０の例としては、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphic Processing Unit）、マイクロプロセッサなどが挙げられる。
【００５６】
プログラムは、コンピュータ９００に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ９００は、上記構成に加えて、または上記構成に代えてＰＬＤ（Programmable Logic Device）などのカスタムＬＳＩ（Large Scale Integrated Circuit）を備えてもよい。ＰＬＤの例としては、ＰＡＬ(Programmable Array Logic)、ＧＡＬ(Generic Array Logic)、ＣＰＬＤ(Complex Programmable Logic Device)、ＦＰＧＡ（Field Programmable Gate Array）が挙げられる。この場合、プロセッサ９１０によって実現される機能の一部または全部が当該集積回路によって実現されてよい。このような集積回路も、プロセッサの一例に含まれる。
【００５７】
ストレージ９３０の例としては、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）、半導体メモリ等が挙げられる。ストレージ９３０は、コンピュータ９００のバスに直接接続された内部メディアであってもよいし、インタフェース９４０または通信回線を介してコンピュータ９００に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ９００に配信される場合、配信を受けたコンピュータ９００が当該プログラムをメインメモリ９２０に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージ９３０は、一時的でない有形の記憶媒体である。
【００５８】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ９３０に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００５９】
１  ネットワークシステム
１００  サーバ管理装置
１１０  情報収集部
１２０  モジュール情報データベース
１２１  サーバ構成テーブル
１２２  ファームウェア管理テーブル
１２３  設定テーブル
１３０  マスタデータベース
１３１  ファームウェアマスタテーブル
１４０  ファイルシステム
１５０  要求受信部
１６０  プログラム生成部
１７０  プログラム提供部
１８０  情報提示部
２００  サーバ装置
２１０  マザーボード
２１１  不揮発メモリ
２１２  管理コントローラ
２１３  管理用ＬＡＮコントローラ
２１４  システムＬＡＮコントローラ
２１５  チップセットコントローラ
２２０  ＣＰＵ
２３０  メモリ
２４０  ディスク
２５０  ＰＣＩカード
３０１  管理ＬＡＮ
３０２  システムＬＡＮ
９００  コンピュータ
９１０  プロセッサ
９２０  メインメモリ
９３０  ストレージ
９４０  インタフェース
【図１】
2020154706.tif 000003
【図２】
2020154706.tif 000004
【図３】
2020154706.tif 000005
【図４】
2020154706.tif 000006
【図５】
2020154706.tif 000007
【図６】
2020154706.tif 000008
【図７】
2020154706.tif 000009
【図８】
2020154706.tif 000010
【図９】
2020154706.tif 000011
【図１０】
2020154706.tif 000012
【図１１】
2020154706.tif 000013