(57)【特許請求の範囲】
【請求項１】
ネットワークブート機能を有する管理対象サーバと通信可能な管理サーバに実行させるサーバ管理プログラムであって、
前記管理サーバに、
前記管理対象サーバがネットワークブートを開始したときに、当該管理対象サーバと当該管理対象サーバがネットワークブートによって移行すべき動作状態とが予め対応付けられており、当該動作状態と当該管理対象サーバを当該動作状態にするプログラムとが対応付けられて記憶された記憶部を参照し、前記管理対象サーバを前記動作状態に移行させるためにネットワークブートにおいて実行させるプログラムを決定し、
決定したプログラムをロードするために必要な情報を、前記管理対象サーバに通知する処理を実行させ、
前記決定する処理は、前記管理対象サーバから、当該管理対象サーバにおける次回のネットワークブートによって移行すべき動作状態の通知を受信したときに、前記記憶部から読み出した当該管理対象サーバに対応付けられた動作状態を、通知された動作状態に変更して記憶することを特徴とするサーバ管理プログラム。
【請求項２】
前記決定する処理は、前記記憶部から読み出した前記管理対象サーバがネットワークブートによって移行すべき動作状態が当該管理対象サーバに対応付いていない場合、予め定められた特定の動作状態を、当該管理対象サーバがネットワークブートによって移行すべき動作状態として記憶することを特徴とする請求項１に記載のサーバ管理プログラム。
【請求項３】
前記記憶部は、前記管理対象サーバがネットワークブートによって移行すべき動作状態と当該管理対象サーバを特定する識別子とが対応付けて記憶されており、
前記決定する処理は、前記管理対象サーバが起動したときに、当該管理対象サーバから当該管理対象サーバの識別子を受信し、前記記憶部から読み出した当該識別子に対応付けられた動作状態を、当該管理対象サーバがネットワークブートによって移行すべき動作状態として特定することを特徴とする請求項１又は２に記載のサーバ管理プログラム。
【請求項４】
ネットワークブート機能を有する管理対象サーバと通信可能な管理装置であって、
前記管理対象サーバがネットワークブートを開始したときに、当該管理対象サーバと当該管理対象サーバがネットワークブートによって移行すべき動作状態とが予め対応付けられており、当該動作状態と当該管理対象サーバを当該動作状態にするプログラムとが対応付けられて記憶された記憶部を参照し、前記管理対象サーバを前記動作状態に移行させるためにネットワークブートにおいて実行させるプログラムを決定する決定部と、
決定したプログラムをロードするために必要な情報を、前記管理対象サーバに通知する通知部と、を備え、
前記決定部は、前記管理対象サーバから、当該管理対象サーバにおける次回のネットワークブートによって移行すべき動作状態の通知を受信したときに、前記記憶部から読み出した当該管理対象サーバに対応付けられた動作状態を、通知された動作状態に変更して記憶することを特徴とするサーバ管理装置。
【請求項５】
ネットワークブート機能を有する管理対象サーバと通信可能な管理サーバに実行させるサーバ管理方法であって、
前記管理サーバが、
前記管理対象サーバがネットワークブートを開始したときに、当該管理対象サーバと当該管理対象サーバがネットワークブートによって移行すべき動作状態とが予め対応付けられており、当該動作状態と当該管理対象サーバを当該動作状態にするプログラムとが対応付けられて記憶された記憶部を参照し、前記管理対象サーバを前記動作状態に移行させるためにネットワークブートにおいて実行させるプログラムを決定し、
決定したプログラムをロードするために必要な情報を、前記管理対象サーバに通知し、  前記決定する処理は、前記管理対象サーバから、当該管理対象サーバにおける次回のネットワークブートによって移行すべき動作状態の通知を受信したときに、前記記憶部から読み出した当該管理対象サーバに対応付けられた動作状態を、通知された動作状態に変更して記憶することを特徴とするサーバ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたサーバを管理する技術に関する。
【背景技術】
【０００２】
ネットワークに接続された管理対象サーバに対し、管理対象サーバが有するネットワークブート機能を利用して各種設定等を行う技術が提案されている。例えば、１つの例では、管理対象サーバと通信可能な管理サーバにおいて、管理対象サーバのＩＰアドレスや接続ポート番号等の位置情報を、管理対象サーバの設定情報と関連付けて記憶しておく。そして、管理サーバは、管理対象サーバが交換されると、交換後の管理対象サーバのネットワークブート時に、当該管理対象サーバの位置情報に対応する設定情報に基づき、環境設定を自動で行う。また、他の技術として、コールドスタンバイ構成のシステムにおいて、待機用ブレードのネットワークブート時に管理サーバからメンテナンス用のＯＳ（Operating System）をロードさせ、待機系ブレードをメンテナンス可能な状態とする技術がある。さらに、管理対象サーバで保持する記憶装置を節約するための技術として、管理サーバにおいて管理対象サーバの設定情報を保持し、管理対象サーバのネットワークブート時に、各種設定情報を管理サーバからロードさせる技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１８３８３７号公報
【特許文献２】特開２００８−２１７２２５号公報
【特許文献３】特開２００３−２１６５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、管理対象サーバは、常に同じシステム状況で動作しているとは限らない。このため、管理対象サーバのネットワークブート時に、当該管理対象サーバを、システム状況に応じた動作状態に移行させることができることが望ましい。
【０００５】
しかし、従来技術では、管理対象サーバは、ネットワークブートにおいて自装置に対して固定的に設定された情報をロードすることができるに過ぎなかった。このため、ネットワークブートによって管理対象サーバを状況に応じた動作状態とするような制御を実現することはできなかった。
【０００６】
以上のような問題点に鑑み、本技術は、管理対象サーバのネットワークブートによって、当該管理対象サーバを状況に応じた動作状態とすることを可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
本技術は、ネットワークブート機能を有する管理対象サーバと通信可能な管理装置が、次のような処理を実行する。即ち、当該管理装置は、管理対象サーバがネットワークブートを開始したときに、管理対象サーバがネットワークブートによって移行すべき動作状態が当該管理対象サーバに予め対応付けて設定されているとともに、当該動作状態と当該管理対象サーバを当該動作状態にするプログラムとが対応付けて設定された記憶部を参照し、管理対象サーバを設定された動作状態に移行させるためにネットワークブートにおいて実行させるプログラムを決定する。そして、管理対象サーバにおいて当該決定したプログラムをロードするために必要な情報を、管理対象サーバに通知する。決定する処理は、管理対象サーバから、当該管理対象サーバにおける次回のネットワークブートによって移行すべき動作状態の通知を受信したときに、記憶部から読み出した当該管理対象サーバに対応付けられた動作状態を、通知された動作状態に変更して記憶する処理を実行させる。
【発明の効果】
【０００８】
本技術によれば、管理対象サーバのネットワークブートによって、当該管理対象サーバを状況に応じた動作状態とすることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】サーバ管理システムの全体構成の一例の説明図である。
【図２】状態管理テーブルの一例の説明図である。
【図３】対応プログラムテーブルの一例の説明図である。
【図４】第１実施例における管理対象サーバ及び管理サーバにおける処理の一例を示すシーケンス図である。
【図５】第１実施例における管理対象サーバ及び管理サーバにおける処理の一例を示すシーケンス図である。
【図６】管理対象サーバの動作状態の具体例を示した処理の説明図である。
【図７】管理対象サーバの動作状態の具体例を示した処理の説明図である。
【図８】管理対象サーバの動作状態の具体例を示した処理の説明図である。
【図９】第２実施例における管理対象サーバ及び管理サーバにおける処理の一例を示すシーケンス図である。
【図１０】管理対象サーバの動作状態の遷移の具体例を示した処理の説明図である。
【図１１】管理サーバのハードウェア構成の一例の説明図である。
【発明を実施するための形態】
【００１０】
［第１実施例］
図１は、第１実施例に係るサーバ管理システムの全体構成を示す。サーバ管理システムは、管理対象サーバ１、各管理対象サーバ１の動作状態を管理するとともに各管理対象サーバ１がネットワークブート時にロードするプログラムを保持する管理サーバ２を有する。管理対象サーバ１及び管理サーバ２は相互に通信可能にネットワーク接続されている。なお、ネットワークは、例えばＬＡＮ（Local Area Network）等であり、有線接続であっても無線接続であってもよい。
【００１１】
管理対象サーバ１は、ネットワークブート機能を備えたＮＩＣを有し、ネットワークブートにより起動するように予めＢＩＯＳ（Basic Input/Output System）等の設定がなされたコンピュータである。
【００１２】
管理サーバ２は、各種処理を実行する機構である制御部３と、制御部３による処理に要するデータ及びプログラムを格納する記憶手段である記憶部４を有する。
制御部３は、決定通知部３１及びブート制御部３２を有する。決定通知部３１は、管理対象サーバ１のネットワークブート時に、管理対象サーバ１に対してＩＰアドレスを割り当てるＤＨＣＰ（Dynamic Host Configuration Protocol）サーバとして機能する。さらに、決定通知部３１は、管理対象サーバ１のネットワークブート時に管理対象サーバ１にロードさせるプログラムを決定し、管理対象サーバにおいて上記決定したプログラムをロードするために必要な情報を、管理対象サーバ１に対して通知する。ブート制御部３２は、管理対象サーバ１からの要求に応じて、管理対象サーバ１のネットワークブートに必要なブートプログラムを提供するＰＸＥ（Preboot Execution Environment）サーバとして機能する。
【００１３】
記憶部４は、管理対象サーバ１の動作状態を管理する状態管理テーブル４１と、管理対象サーバ１の動作状態及び管理対象サーバ１を当該動作状態とするプログラムが関連付けられた対応プログラムテーブル４２と、を有する。さらに、記憶部４は、管理対象サーバ１がネットワークブートにおいてロードするプログラムが格納されたプログラムデータベース４３を有する。
【００１４】
状態管理テーブル４１には、図２に示すように、管理対象サーバ１の識別ＩＤ、当該管理対象サーバ１に割り当てられたＩＰアドレス及び当該管理対象サーバ１がネットワークブートによって移行すべき動作状態を示す情報が対応付けて設定される。識別ＩＤは、管理対象サーバ１を物理的に一意に特定可能な識別子であり、例えば、ＭＡＣアドレス等である。動作状態には、管理対象サーバ１がネットワークブートによって移行すべき動作状態（例えば、通常稼動している状態、環境設定を行う状態、遠隔保守を行う状態や初期導入を行う状態等）が設定される。なお、当該状態管理テーブル４１は、換言すれば、従来のＤＨＣＰサーバが保持していた、管理対象サーバ１のＩＰアドレスを格納したテーブルにつき、管理対象サーバ１の識別ＩＤ及び動作状態の情報をさらに付加して拡張したものである。
【００１５】
対応プログラムテーブル４２には、図３に示すように、管理対象サーバ１の動作状態及び管理対象サーバ１を当該動作状態とするプログラムを示す情報が対応付けて格納される。なお、ここでは、特定のプログラムを示す情報が対応付けられていてもよいし、プログラムの種類を示す情報（例えば、遠隔保守を可能にするプログラム等）が対応付けられていてもよい。プログラムの種類を示す情報が格納されている場合には、そのプログラムの種類に属するプログラムのいずれかが管理対象サーバ１にロードされることとなる。
【００１６】
プログラムデータベース４３には、管理対象サーバ１がネットワークブートにおいてロードするプログラム本体が格納される。
次に、管理対象サーバ１及び管理サーバ２において実行される処理について説明する。
【００１７】
図４は、管理対象サーバ１がネットワークブートを開始した時に、管理対象サーバ１及び管理サーバ２において実行される処理の一例を示す。
（Ｓ１）管理対象サーバ１は、ネットワークブート機能により、管理サーバ２に対し、ＩＰアドレスの割当要求を送信する。このとき、管理対象サーバ１は、管理サーバ２に対し、自装置の識別ＩＤを併せて送信する。
（Ｓ２）管理サーバ２の決定通知部３１は、管理対象サーバ１から受信したＩＰアドレスの割当要求に応じ、当該管理対象サーバ１に対してＩＰアドレスを割り当てる。そして、決定通知部３１は、状態管理テーブル４１のエントリのうち、識別ＩＤが当該管理対象サーバ１の識別ＩＤと一致するエントリ（即ち、当該管理対象サーバ１の識別ＩＤに対応するエントリ）に、割り当てたＩＰアドレスを設定する。
（Ｓ３）管理サーバ２の決定通知部３１は、状態管理テーブル４１を参照し、状態管理テーブル４１のエントリのうち、管理対象サーバ１の識別ＩＤに対応するエントリに設定された動作状態を、管理対象サーバ１がネットワークブートによって移行すべき動作状態として特定する。
（Ｓ４）管理サーバ２の決定通知部３１は、対応プログラムテーブル４２を参照し、対応プログラムテーブル４２のエントリのうち、動作状態が上記Ｓ３で特定した動作状態と一致するエントリ（即ち、管理対象サーバ１がネットワークブートによって移行すべき動作状態に対応するエントリ）に格納されたプログラムを、管理対象サーバ１のネットワークブートにおいてロードさせるプログラムとして決定する。
（Ｓ５）管理サーバ２の決定通知部３１は、管理対象サーバ１に対し、ネットワークブートに用いる情報として、管理対象サーバ１において上記決定したプログラムをロードするために必要な情報を通知する。なお、当該通知内容は、例えば、管理対象サーバ１のＩＰアドレス及び上記決定したプログラムを特定可能な情報である。
（Ｓ６）管理対象サーバ１は、受信した通知に基づき、管理サーバ２のブート制御部３２に対し、自装置のＩＰアドレスを通知するとともに、ネットワークブートに必要なプログラムを要求する。換言すれば、管理対象サーバ１は、受信した通知に基づき、自装置のネットワークブートに必要なプログラムを、管理サーバ２のブート制御部３２にロードしにいく。
（Ｓ７）管理サーバ２のブート制御部３２は、プログラムデータベース４３に格納された、管理対象サーバ１により要求されたプログラムを、管理対象サーバ１に提供する。換言すれば、ブート制御部３２は、プログラムデータベース４３に格納された上記プログラムを、管理対象サーバ１がロード可能な状態とする。
（Ｓ８）管理対象サーバ１は、管理サーバ２のブート制御部３２を介し、上記プログラムをロードして、実行する。
【００１８】
図５は、管理対象サーバ１及び管理サーバ２において実行される処理のうち、管理対象サーバ１に対応するエントリが状態管理テーブル４１に未登録の状態において、管理対象サーバ１がネットワークブートを開始した場合の処理の一例を示す。
【００１９】
図５では、図４におけるＳ３の代わりに、Ｓ１３を実行する。なお、Ｓ１〜Ｓ２、Ｓ４〜Ｓ８については説明を省略する。
（Ｓ１３）管理サーバ２の決定通知部３１は、この時点においてＩＰアドレスの割当要求の送信元である管理対象サーバ１の識別ＩＤに対応するエントリが状態管理テーブル４１に存在しないことから、当該管理対象サーバ１の識別ＩＤに対応するエントリを新たに登録する。そして、決定通知部３１は、割り当てたＩＰアドレスを、当該エントリに格納する。また、決定通知部３１は、管理対象サーバ１の動作状態を、予め定められた特定の動作状態、例えば、「初期導入」として決定する。
【００２０】
かかるサーバ管理システムの処理によれば、管理サーバ２の状態管理テーブル４１に設定された、管理対象サーバ１のネットワークブートによって移行すべき動作状態に応じたプログラムが、管理対象サーバ１にロードされて実行される。その結果、管理対象サーバ１の動作状態が、状態管理テーブル４１に設定された動作状態となる。換言すれば、システム状況に応じた適切な動作状態を状態管理テーブル４１に設定しておけば、管理対象サーバ１は、ネットワークブートによって自動的に当該設定した動作状態となる。
【００２１】
ここで、このように管理対象サーバ１のネットワークブート機能を用いて管理対象サーバ１における動作状態を制御できることは、次のような効果を奏する。すなわち、ネットワークブートを行う段階は、ＯＳが起動する前の段階である。このため、例えば、管理対象サーバ１においてＯＳが動作しないようなハードウェア上の不具合等が発生している場合や、初期導入時において管理対象サーバ１側にＯＳのインストールが未だなされていないような場合においても、状況に応じて管理対象サーバ１の動作状態を切り替えることができる。従来、このような状態の場合、管理対象サーバの保守を行うサーバ側では、管理対象サーバ１のハードウェアの監視や電源管理等を行うＢＭＣ（Base Management Controller）や、ＢＭＣと連係して複数の管理対象サーバをラック単位等で一括管理する管理専用モジュール（例えば、ＭＭＢ（Management Board））等を用いて保守管理を行っていた。しかし、かかるシステム構成は管理専用に設けられるものであるため、通常の運用系のシステムに比べ、ＮＩＣや通信回線の通信速度が低速に構成されることが多い。このため、大量のデータを扱う処理（例えば、管理対象サーバ１のローカルディスク内のデータ修復やバックアップ、ＯＳインストール等）を行うことは困難であった。したがって、かかる従来のシステム構成で実現できる管理内容には限度があった。一方、上記サーバ管理システムでは、上述のように、管理対象サーバ１においてＯＳが動作しないようなハードウェア上の不具合等が発生している場合においても、ネットワークブート時に管理対象サーバ１の動作状態を切り替え、管理対象サーバ１のデータの遠隔操作等を実現可能にしたり、ＯＳのインストールを実現可能な状態としたりすることができる。しかも、本サーバ管理システムは、かかる機能を、従来の運用系のシステム構成の枠組みの中で実現することが可能であり、新たなハードウェア等をさらに付加する必要もない。このため、運用系の高速なネットワークを用いた制御を行うことができる。
【００２２】
なお、図１では図示を省略しているが、本サーバ管理システムは、上述の従来のシステムと同様に、ＢＭＣや管理専用モジュールを用いた保守管理を併用してもよい。本サーバ管理システムは、かかる従来の管理構成に加え、これらの構成だけでは実現できなかった多種多様な保守管理（制御）をさらに実現することができるものである。
【００２３】
また、上記決定通知部３１の処理において、状態管理テーブル４１に管理対象サーバ１の識別ＩＤのエントリが存在しないときには、動作状態を初期導入とみなし、管理対象サーバ１を初期導入状態にするためのプログラムが管理対象サーバ１にロードされ実行される。このため、例えば新たな管理対象サーバ１をネットワークに接続したとき等においても、ネットワークブートを契機として管理対象サーバ１の初期導入に必要な処理を実行させることができる。また、このとき、当該管理対象サーバ１に対応するエントリが自動登録されるため、管理対象サーバ１を導入する度に、人手によって状態管理テーブルのエントリを登録する必要もない。
【００２４】
また、管理対象サーバ１の動作状態を切り替える必要があるときには、状態管理テーブル４１のエントリに設定された動作状態を変更するだけで、管理対象サーバ１の動作状態は、次回のネットワークブートによって、状態管理テーブル４１に設定した動作状態に切り替わる。
【００２５】
さらに、状態管理テーブル４１では、複数の管理対象サーバ１の動作状態を個別に保持している。そして、決定通知部３１では、かかる状態管理テーブル４１を参照することで、複数の管理対象サーバの動作状態を個別に特定することができる。このため、管理対象サーバ１の台数が多くなっても、管理に必要な手間を増やすことなく、各管理対象サーバ１について夫々適切なプログラムをロードさせることができる。
【００２６】
また、本サーバ管理システムでは、状態管理テーブル４１において、管理対象サーバ１が移行すべき動作状態を管理対象サーバ１の識別ＩＤと対応付けて保持している。このように、管理対象サーバ１がネットワークブートするごとに動的に割り当てられるＩＰアドレスではなく、識別ＩＤと対応付けることで、管理対象サーバ１のネットワークブートを経ても、管理対象サーバ１に対応する動作状態を確実に管理することができる。
【００２７】
次に、上記処理につき、ネットワークブートによって管理対象サーバ１が移行する動作状態の種々の具体例を示して説明する。
１つめの具体例では、管理対象サーバ１の動作状態を、ローカルディスクの遠隔保守を可能な状態にする具体例について説明する。図６は、本具体例における処理及びデータの送受信について説明した図である。なお、本具体例における管理対象サーバ１のＭＡＣアドレスは、「00:00:1c:00:01:01」であるとする。
【００２８】
管理対象サーバ１は、自装置のＭＡＣアドレスである「00:00:1c:00:01:01」を識別ＩＤとして管理サーバ２に送信する。このとき、管理サーバ２の決定通知部３１は、管理対象サーバ１につき、ＩＰアドレス「192.168.10.122」を割り当てるとともに、状態管理テーブル４１に登録されたエントリのうち、ＭＡＣアドレス「00:00:1c:00:01:01」に対応するエントリに当該ＩＰアドレスを設定する。また、状態管理テーブル４１のＭＡＣアドレス「00:00:1c:00:01:01」に対応するエントリの動作状態は「遠隔保守」であるため、決定通知部３１は、管理対象サーバ１の動作状態がネットワークブートによって移行すべき動作状態を「遠隔保守」として特定する。そして、決定通知部３１は、対応プログラムテーブル４２のエントリのうち、動作状態「遠隔保守」に対応するエントリのプログラムである「iSCSItarget」を、管理対象サーバ１にロードさせるプログラムとして決定する。さらに、決定通知部３１は、管理対象サーバ１に対し、割り当てたＩＰアドレス及び決定したプログラムを示す情報を、管理対象サーバ１に通知する。なお、「iSCSItarget」とは、サーバのローカルストレージを、ネットワークストレージとして他のサーバに開放し、他のサーバからアクセス可能にするプログラムである。
【００２９】
管理対象サーバ１は、管理サーバ２のブート制御部３２に対し、「iSCSItarget」をロードしにいく。そして、管理サーバ２のブート制御部３２は、管理対象サーバ１に対し、プログラムデータベース４３に格納された「iSCSItarget」を提供する。一方、管理対象サーバ１は、当該「iSCSItarget」をロードし、実行する。その結果、管理サーバ２から管理対象サーバ１のローカルストレージにアクセス可能となるため、例えば、ネットワークに接続された保守サーバ等から、管理対象サーバ１のハードディスクの修復やバックアップ等の遠隔保守作業を行うことができる。なお、保守サーバ等には、決定通知部３１から管理対象サーバ１の保守に必要な情報（例えばＩＰアドレス等）が通知され、これにより管理対象サーバ１の遠隔保守を実現することが可能となる。
【００３０】
なお、当該具体例では、管理対象サーバ１の動作状態が「遠隔保守」の場合に対応するプログラムとして「iSCSItarget」を管理対象サーバ１に実行させたが、対応プログラムテーブル４２の設定次第で、他の遠隔保守用プログラムを実行させることが可能である。例えば、対応プログラムテーブル４２において、「遠隔保守」の動作状態に対応するエントリのプログラムとして、管理対象サーバ１のファームウェアの遠隔設定を可能にするプログラムや、管理対象サーバ１のアプリケーションの遠隔自動更新を可能にするプログラムなどを設定しておいてもよい。
【００３１】
次の具体例は、管理対象サーバ１の動作状態を通常稼動状態とする具体例である。図７は、本具体例における処理及びデータの送受信について説明した図である。なお、本具体例における管理対象サーバ１のＭＡＣアドレスは、「00:00:10:00:01:01」であるとする。
【００３２】
管理対象サーバ１は、自装置のＭＡＣアドレスである「00:00:10:00:01:01」を識別ＩＤとして管理サーバ２に送信する。このとき、管理サーバ２の決定通知部３１は、管理対象サーバ１につき、ＩＰアドレス「192.168.10.101」を割り当てるとともに、状態管理テーブル４１に登録されたエントリのうち、ＭＡＣアドレス「00:00:10:00:01:01」に対応するエントリに当該ＩＰアドレスを格納する。また、このとき、状態管理テーブル４１のＭＡＣアドレス「00:00:10:00:01:01」に対応するエントリの動作状態は「通常稼動」であるため、決定通知部３１は、管理対象サーバ１がネットワークブートによって移行すべき動作状態を「通常稼動」として特定する。そして、決定通知部３１は、対応プログラムテーブル４２のエントリのうち、動作状態「通常稼動」に対応するエントリのプログラムである「ＯＳローダ」を、管理対象サーバ１にロードさせるプログラムとして決定する。さらに、決定通知部３１は、管理対象サーバ１に対し、割り当てたＩＰアドレス及び決定したプログラムを示す情報を、管理対象サーバ１に通知する。なお、「ＯＳローダ」は、管理対象サーバ１においてＯＳをロードし、サーバを通常起動させるプログラムである。ＯＳは管理対象サーバ１の記憶装置に格納されていてもよいし、管理サーバ２を含め管理対象サーバ１以外の外部のサーバの記憶装置に格納されていてもよい。
【００３３】
管理対象サーバ１は、管理サーバ２のブート制御部３２に対し、「ＯＳローダ」をロードしにいく。そして、管理サーバ２のブート制御部３２は、管理対象サーバ１に対し、プログラムデータベース４３に格納された「ＯＳローダ」を提供する。一方、プログラムを受信した管理対象サーバ１は、当該「ＯＳローダ」をロードし、実行する。その結果、管理対象サーバ１においてＯＳがロードされ、管理対象サーバ１が通常稼動状態に移行することとなる。
【００３４】
次の具体例では、新たな管理対象サーバ１をネットワークに接続して導入する具体例について説明する。図８は、本具体例における処理及びデータの送受信について説明した図である。なお、本具体例における管理対象サーバ１のＭＡＣアドレスは、「00:00:1d:00:00:10」であるとする。
【００３５】
管理対象サーバ１は、自装置のＭＡＣアドレスである「00:00:1d:00:00:10」を識別ＩＤとして管理サーバ２に送信する。このとき、管理サーバ２の決定通知部３１は、管理対象サーバ１につき、ＩＰアドレス「192.168.10.200」を割り当てるとともに、状態管理テーブル４１に、ＭＡＣアドレス「00:00:1d:00:00:10」に対応するエントリを新たに登録し、当該ＩＰアドレスを格納する。また、管理対象サーバ１の動作状態を「初期導入」として特定する。そして、決定通知部３１は、対応プログラムテーブル４２のエントリのうち、動作状態「初期導入」に対応するエントリのプログラムである「導入プログラム」を、管理対象サーバ１にロードさせるプログラムとして決定する。さらに、決定通知部３１は、管理対象サーバ１に対し、割り当てたＩＰアドレス及び決定したプログラムを示すブート情報を、管理対象サーバ１に送信する。「導入プログラム」は、サーバの導入時に必要な処理、即ち、ＯＳや各種初期設定ファイルを未だ備えていない管理対象サーバ１に対して、ＯＳ等を外部のサーバからロードする等の処理を実現するプログラムである。
【００３６】
管理対象サーバ１は、管理サーバ２のブート制御部３２に対し、自装置のＩＰアドレスを通知するとともに、「導入プログラム」をロードしにいく。そして、管理サーバ２のブート制御部３２は、管理対象サーバ１に対し、プログラムデータベース４３に格納された「導入プログラム」を提供する。一方、プログラムを受信した管理対象サーバ１は、ネットワークブート時に当該「導入プログラム」を実行する。その結果、管理対象サーバ１において、例えば保守サーバ等の他のサーバからＯＳがインストールされ、管理対象サーバ１の初期導入に必要な処理が実行されることとなる。
【００３７】
［第２実施例］
第２実施例に係るサーバ管理システムは、状態管理テーブル４１に設定されている動作状態を、管理対象サーバ１からの通知（要求）に応じて変更することが可能である。以下、第１実施例との相違点についてのみ説明する。
【００３８】
図９は、管理対象サーバ１のネットワークブート開始時に管理対象サーバ１及び管理サーバ２において実行される処理であって、さらに、管理対象サーバ１からの通知に応じて状態管理テーブル４１における動作状態を変更する処理の一例を示す。
【００３９】
Ｓ１〜Ｓ８については、図５及び図６のシーケンスと同様であるため、説明を省略する。
（Ｓ９）管理対象サーバ１は、次回のネットワークブートによって移行すべき動作状態を、管理サーバ２に対して通知する。
（Ｓ１０）管理サーバ２の決定通知部３１は、管理対象サーバ１から受信した通知において指定された動作状態に基づき、状態管理テーブル３１の動作状態の設定を変更する。
【００４０】
ここで、第２実施例における管理対象サーバ１及び管理サーバ２の処理につき、管理対象サーバ１の導入時に、動作状態を次々と自動移行させていく具体例を用いて説明する。図１０は、本具体例における、管理対象サーバ１の状態、データの送受信及び管理サーバ２のエントリの内容の遷移等について説明した図である。なお、本具体例において、処理開始時の状態管理テーブル４１は図２に示す内容であり、管理サーバ２の対応プログラムテーブル４２は図３に示す内容であるとする。また、プログラムデータベース４３には、少なくとも、導入プログラム、環境設定プログラム及びＯＳローダが格納されているものとする。なお、本具体例における管理対象サーバ１のＭＡＣアドレスは、「00:00:1d:00:00:10」であるとする。
【００４１】
（１）管理対象サーバ１が新たにネットワークサーバに接続され、管理対象サーバ１がネットワークブートを開始すると、管理対象サーバ１は、管理サーバ２に対し、ＩＰアドレスの割当要求とともに、自装置のＭＡＣアドレス「00:00:1d:00:00:10」を送信する。管理サーバ２の決定通知部３１は、ＩＰアドレス「192.168.10.200」を割り当てるとともに、管理対象サーバ１のＭＡＣアドレス「00:00:1d:00:00:10」に対応するエントリを状態管理テーブル４１に新たに登録し、割り当てたＩＰアドレスを設定する。このとき、決定通知部３１は、管理対象サーバ１の動作状態を初期導入とみなし、対応プログラムテーブル４２の設定に基づいて、管理対象サーバ１へロードさせるプログラムを「導入プログラム」とする。なお、図１１の［Ａ］は、この段階における状態管理テーブル４１のエントリ内容を示す。そして、管理対象サーバ１は、ネットワークブートにおいて、ブート制御部３２を介し、導入プログラムをロードして実行する。その結果、管理対象サーバ１は、「初期導入」状態となり、ＯＳのインストール等を実行する。
【００４２】
ここで、管理対象サーバ１は、導入処理の実行完了後、次回のネットワークブートによって環境設定の動作状態に移行することを、管理サーバ２に対して通知する。管理サーバ２の決定通知部３１は、この通知を受信すると、状態管理テーブル４１のエントリのうち、当該管理対象サーバ１に対応するエントリの動作状態を、「環境設定」に更新する。図１０の［Ｂ］は、この段階における状態管理テーブル４１のエントリ内容を示す。
【００４３】
（２）さらに、管理対象サーバ１は、自装置の再起動を行う。このとき、管理対象サーバ１は、上述の（１）と同様に、管理サーバ２に対し、ＩＰアドレスの割当要求とともに、自装置のＭＡＣアドレス「00:00:1d:00:00:10」を送信する。管理サーバ２の決定通知部３１は、改めてＩＰアドレス「192.168.10.200」を割り当てる（なお、このＩＰアドレスは、上記（１）と同じとは限らない）とともに、管理対象サーバ１に対応するエントリに、割り当てたＩＰアドレスを設定する。また、決定通知部３１は、管理対象サーバ１の動作状態に設定された「環境設定」に基づき、対応プログラムテーブル４２を参照し、管理対象サーバ１へロードさせるプログラムを、「環境設定」に対応する「環境設定プログラム」とする。そして、管理対象サーバ１は、ネットワークブートにおいて、ブート制御部３２を介し、環境設定プログラムをロードして実行する。その結果、管理対象サーバ１は、「環境設定」状態となり、環境設定処理等を実行する。
【００４４】
ここで、管理対象サーバ１は、環境設定処理の実行完了後、次回のネットワークブートによって通常稼動状態に移行することを、管理サーバ２に対して通知する。管理サーバ２の決定通知部３１は、この通知を受信すると、状態管理テーブル４１のエントリのうち、当該管理対象サーバ１に対応するエントリの動作状態を、「通常稼動」に更新する。図１０の［Ｃ］は、この段階における状態管理テーブル４１のエントリ内容を示す。
【００４５】
（３）管理対象サーバ１は、再び、自装置の再起動を行う。このとき、管理対象サーバ１は、上述の（１）及び（２）と同様に、管理サーバ２に対し、ＩＰアドレスの割当要求とともに、自装置のＭＡＣアドレス「00:00:1d:00:00:10」を送信する。管理サーバ２の決定通知部３１は、改めてＩＰアドレス「192.168.10.200」を割り当てる（なお、このＩＰアドレスは、上記（１）（２）と同じとは限らない）とともに、管理対象サーバ１に対応するエントリに、割り当てたＩＰアドレスを設定する。また、決定通知部３１は、管理対象サーバ１の動作状態に設定された「通常稼動」に基づき、対応プログラムテーブル４２を参照し、管理対象サーバ１へロードさせるプログラムを、「通常稼動」に対応する「ＯＳローダ」とする。そして、管理対象サーバ１は、ネットワークブートにおいて、ブート制御部３２を介し、ＯＳローダをロードして実行する。その結果、管理対象サーバ１は、通常稼動状態へと移行する。
【００４６】
かかる処理によれば、管理対象サーバ１が次に移行すべき動作状態を管理サーバ２に通知する一方、管理サーバ２では当該通知に基づき状態管理テーブル４１の動作状態を更新することができる。このため、例えば上述のような管理対象サーバ１の新規導入時など、何度も再起動し直して次の動作状態へと移行していく必要がある場合に、管理対象サーバ１から次の動作状態を管理サーバ２に通知し、状態管理テーブル４１の動作状態を更新した上で再起動をしてネットワークブートをすることで、管理者が管理サーバ２の動作状態の設定を都度変更しなくても、管理対象サーバ１の動作状態を自動的に切り替えていくことが可能となる。
【００４７】
なお、上記処理において、管理サーバ２が、管理対象サーバ１からの通知に応じて状態管理テーブル４１の動作状態を更新したときに、更新が完了した旨を管理対象サーバ１に通知してもよい。そして、管理対象サーバ１では、当該通知を受信したことを条件として、再起動を行うようにしてもよい。そのようにすれば、次回のネットワークブート時に確実に状態管理テーブル４１の動作状態の設定が変更されていることとなるため、より確実に管理対象サーバ１の動作状態を移行させることができる。
【００４８】
なお、各管理対象サーバ１について状態管理テーブル４１に格納されている動作状態の設定変更方法としては、かかる第２実施例に記載の方法以外の様々な方法を採用することができる。例えば、システム管理者が直接状態管理テーブル４１のデータを更新してもよいし、管理用ツール等を介して状態管理テーブル４１の動作状態を更新してもよい。
【００４９】
さらに他の方法として、例えば、管理対象サーバ１の動作を監視する監視モジュール等が管理対象サーバ１の異常を検出したときに、その検出内容に応じて、状態管理テーブル４１に設定された動作状態を変更してもよい。かかる監視モジュールは、例えば、管理サーバ２で稼動していてもよいし、管理サーバ２及び管理対象サーバ１と通信可能な他のサーバで稼動していてもよい。
【００５０】
ところで、上述した管理サーバ２の機能的構成及び物理的構成は、上記の態様に限るものではなく、例えば、各機能や物理資源を統合して実装したり、逆に、さらに分散して実装したりすることも可能である。例えば、決定通知部３１とブート制御部３２は必ずしも同一サーバに存在する必要はなく、別々のサーバに存在してもよい。さらに、状態管理テーブル４１、対応プログラムテーブル４２及びプログラムデータベース４３も、必ずしも同一サーバに存在する必要はない。また、状態管理テーブル４１及び対応プログラムテーブル４２に設定された情報は、テーブル形式である必要はなく、上記情報の対応付けがなされていれば、例えば単なるテキスト形式等で保持されていてもよい。加えて、管理対象サーバ１の動作状態が遠隔保守である場合、管理対象サーバ１の保守を実行する機能を、上記管理サーバ２にさらに実現させてもよい。そして、管理サーバ２の諸機能は、サーバ管理プログラムをコンピュータのＣＰＵ（Central Processing Unit）で実行したり、論理回路若しくはＦＰＧＡ（Field Programmable Gate Array）等によって実現したりすることが可能である。
【００５１】
図１１は、管理サーバ２のハードウェア構成の一例を示す。管理サーバは、入力装置５０、ＣＰＵ５１、ＲＡＭ（Random Access Memory）５２、ＨＤＤ（Hard Disk Drive）５３及び表示装置５４を有する。
【００５２】
入力装置５０は、各種の入力を受け付ける装置であり、例えば、キーボード、マウス、タッチパネル、マイク等である。
ＣＰＵ５１は、ＨＤＤ５３に格納されているサーバ管理プログラム５５をＲＡＭ５２にロードして、サーバ管理プログラム５６を実行する。このとき、ＣＰＵ３１では、サーバ管理プロセス３７が処理される。当該サーバ管理プロセス５７で実現される機能（処理）は、上述した管理サーバの制御部３における決定通知部３１、ブート制御部３２による処理に対応する。
【００５３】
ＲＡＭ５２には、ＨＤＤ５３に格納されているサーバ管理プログラム５５がＣＰＵ５１によってロードされるとともに、ＣＰＵ５１でサーバ管理プログラム５６を実行するのに要する処理データ５８が格納される。
【００５４】
ＨＤＤ５３には、サーバ管理プログラム５５が格納される一方、状態管理テーブル５９、対応プログラムテーブル６０及びプログラムデータベース６１が格納される。状態管理テーブル５９、対応プログラムテーブル６０及びプログラムデータベース６１は、図１の状態管理テーブル４１、対応プログラムテーブル４２及びプログラムデータベース４３に対応する。
【００５５】
表示装置５４は、各種の出力内容を表示するものであり、例えば、ディスプレイ等である。
なお、サーバ管理プログラム５５は、必ずしもＨＤＤ５３に格納されている必要はなく、例えば、コンピュータが読み取り可能な各種記憶媒体（ＣＤやＤＶＤ、磁気ディスク、フラッシュメモリ等）に格納されていてもよい。また、サーバ管理プログラム５５は、例えば、上記コンピュータとネットワークを介して接続された他のサーバが備える各種記憶手段に記憶されていてもよい。同様に、状態管理テーブル５９、対応プログラムテーブル６０及びプログラムデータベース６１についても、各種記憶媒体や、上記コンピュータとネットワークを介して接続された他のコンピュータが備える各種記憶手段に記憶されていてもよい。
【００５６】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）ネットワークブート機能を有する管理対象サーバと通信可能な管理サーバに実行させるサーバ管理プログラムであって、前記管理サーバに、前記管理対象サーバがネットワークブートを開始したときに、当該管理対象サーバと当該管理対象サーバがネットワークブートによって移行すべき動作状態とが対応付けられ、当該動作状態と管理対象サーバを当該動作状態にするプログラムとが対応付けられて記憶された記憶部を参照し、前記管理対象サーバを前記動作状態に移行させるためにネットワークブートにおいて実行させるプログラムを決定し、決定したプログラムをロードするために必要な情報を、前記管理対象サーバに通知する処理を実行させることを特徴とするサーバ管理プログラム。
【００５７】
（付記２）前記決定する処理は、前記管理対象サーバから、当該管理対象サーバにおける次回のネットワークブートによって移行すべき動作状態の通知を受信したときに、前記記憶部から読み出した当該管理対象サーバに対応付けられた動作状態を、通知された動作状態に変更して記憶することを特徴とする請求項１記載のサーバ管理プログラム。
【００５８】
（付記３）前記決定する処理は、前記管理対象サーバにおける異常が検出されたときに、前記記憶部において当該管理対象サーバに対応付けられた動作状態を、当該検出内容に応じた動作状態に変更することを特徴とする請求項１又は２に記載のサーバ管理プログラム。
【００５９】
（付記４）前記決定する処理は、前記記憶部から読み出した前記管理対象サーバがネットワークブートによって移行すべき動作状態が当該管理対象サーバに対応付いていない場合、予め定められた特定の動作状態を、当該管理対象サーバがネットワークブートによって移行すべき動作状態に変更して記憶することを特徴とする請求項１又は２に記載のサーバ管理プログラム。
【００６０】
（付記５）前記記憶部は、前記管理対象サーバがネットワークブートによって移行すべき動作状態と当該管理対象サーバを特定する識別子とが対応付けて記憶されており、
前記決定する処理は、前記管理対象サーバが起動したときに、当該管理対象サーバから当該管理対象サーバの識別子を受信し、前記記憶部から読み出した当該識別子に対応付けられた動作状態を、当該管理対象サーバがネットワークブートによって移行すべき動作状態に変更して記憶することを特徴とする請求項１〜３のいずれか１つに記載のサーバ管理プログラム。
【００６１】
（付記６）ネットワークブート機能を有する管理対象サーバと通信可能なサーバ管理装置であって、前記管理対象サーバがネットワークブートを開始したときに、当該管理対象サーバと当該管理対象サーバがネットワークブートによって移行すべき動作状態とが対応付けられ、当該動作状態と管理対象サーバを当該動作状態にするプログラムとが対応付けられて記憶された記憶部を参照し、前記管理対象サーバを前記動作状態に移行させるためにネットワークブートにおいて実行させるプログラムを決定する決定部と、決定したプログラムをロードするために必要な情報を、前記管理対象サーバに通知する通知部と、を備えたことを特徴とするサーバ管理装置。
【００６２】
（付記７）ネットワークブート機能を有する管理対象サーバと通信可能な管理サーバに実行させるサーバ管理方法であって、前記管理サーバが、前記管理対象サーバがネットワークブートを開始したときに、当該管理対象サーバと当該管理対象サーバがネットワークブートによって移行すべき動作状態とが対応付けられ、当該動作状態と管理対象サーバを当該動作状態にするプログラムとが対応付けられて記憶された記憶部を参照し、前記管理対象サーバを前記動作状態に移行させるためにネットワークブートにおいて実行させるプログラムを決定し、決定したプログラムをロードするために必要な情報を、前記管理対象サーバに通知することを特徴とするサーバ管理方法。
【００６３】
（付記８）ネットワークブート機能を有する管理対象サーバと管理サーバとが通信可能なサーバ管理システムであって、前記管理対象サーバは、ネットワークブートを開始したときに、前記管理対象サーバに対しＩＰアドレス割当要求を送信し、前記管理サーバは、前記ＩＰアドレス割当要求を受信したときに、前記管理対象サーバに対してＩＰアドレスを割り当てる一方、当該管理対象サーバと当該管理対象サーバがネットワークブートによって移行すべき動作状態とが対応付けられ、当該動作状態と管理対象サーバを当該動作状態にするプログラムとが対応付けられて記憶された記憶部を参照して、前記管理対象サーバを前記動作状態に移行させるためにネットワークブートにおいて実行させるプログラムを決定し、前記ＩＰアドレス及び当該決定したプログラムを特定可能な情報を前記管理対象サーバに通知し、前記管理対象サーバは、前記通知された情報に基づき、プログラムをロードして実行することを特徴とするサーバ管理システム。
【符号の説明】
【００６４】
１  管理対象サーバ
２  管理サーバ
３  制御部
３１  決定通知部
３２  ブート制御部
４  記憶部
４１  状態管理テーブル
４２  対応プログラムテーブル
４３  プログラムデータベース
【図１】
0005609335.tif 000002
【図２】
0005609335.tif 000003
【図３】
0005609335.tif 000004
【図４】
0005609335.tif 000005
【図５】
0005609335.tif 000006
【図６】
0005609335.tif 000007
【図７】
0005609335.tif 000008
【図８】
0005609335.tif 000009
【図９】
0005609335.tif 000010
【図１０】
0005609335.tif 000011
【図１１】
0005609335.tif 000012