(57)【要約】【課題】サーバでのＯＳディスクイメージの動作を事前に確認する。【解決手段】管理対象サーバと、管理対象サーバで動作するＯＳディスクイメージとを備える計算機システムのＯＳディスクイメージと管理対象サーバとの対応付けを管理する管理サーバにおける運用管理方法であって、第１の管理対象サーバ上のＯＳディスクイメージが認識するＩ/Ｏデバイス認識情報を収集し、第２の管理対象サーバのＩ/Ｏデバイスの構成を示す物理デバイス構成情報を収集し、Ｉ/Ｏデバイス認識情報と物理デバイス構成情報とに基づいて、第２の管理対象サーバにＯＳディスクイメージをロードし、実行した時の動作可否を判定する。【選択図】図１
2010152704.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の管理対象サーバと、前記管理対象サーバで動作するＯＳディスクイメージとを備える計算機システムのＯＳディスクイメージと前記管理対象サーバとの対応付けを管理する運用管理システムであって、
第１の管理対象サーバ上の前記ＯＳディスクイメージに含まれる、ＯＳのデバイス制御の挙動を決定するソフトウェア制御情報、および、前記ソフトウェア制御情報を適用するＩ/Oデバイスを特定するための物理デバイス構成情報の組からなるＩ/Ｏデバイス認識情報を収集する手段と、
第２の管理対象サーバのＩ/Ｏデバイスの構成を示す物理デバイス構成情報を収集する手段と、
前記Ｉ/Ｏデバイス認識情報と前記物理デバイス構成情報とに基づいて、前記第２の管理対象サーバに前記ＯＳディスクイメージをロードし、実行した時の動作可否を判定する手段とを備えることを特徴とした運用管理システム。
【請求項２】
前記動作可否を判定する手段は、所定の確認手順を実施して、該確認手順の実施を成功した実績に基づいて判定することを特徴とする請求項１記載の運用管理システム。
【請求項３】
前記動作可否を判定する手段は、前記所定の確認手順を複数持ち、前記複数の確認手順のいずれを実施したかを記録する手段を備えることを特徴とする請求項２記載の運用管理システム。
【請求項４】
前記動作可否を判定する手段により動作可であると判定された場合に、前記第１の管理対象サーバに対応付けられていた前記ＯＳディスクイメージを、前記第２の管理対象サーバに対応付けることを特徴とする請求項１記載の運用管理システム。
【請求項５】
前記動作可否を判定する手段により動作不可であると判定された場合に、前記第１の管理対象サーバに対応付けられていた前記ＯＳディスクイメージを、前記第２の管理対象サーバに対応付けしないことを特徴とする請求項１記載の運用管理システム。
【請求項６】
前記第２の管理対象サーバの前記Ｉ/Ｏデバイスの追加および削除を検知する装置と、前記判定手段による判定結果を格納するＯＳディスクイメージ動作判定テーブルとをさらに備え、
前記判定する手段は、前記Ｉ/Ｏデバイスの追加および削除の一方の通知に応答して、前記Ｉ/Ｏデバイス認識情報と前記物理デバイス構成情報とに基づいて、前記第２の管理対象サーバに前記ＯＳディスクイメージをロードし、実行した時の動作可否を判定し、その判定結果を格納するＯＳディスクイメージ動作判定テーブルに格納し、
前記第１の管理対象サーバに対応付けられていた前記ＯＳディスクイメージを、前記第２の管理対象サーバに対応付ける際に、前記のＯＳディスクイメージ動作判定テーブルに格納された判定結果を参照して動作可否を決定することを特徴とする請求項１記載の運用管理システム。
【請求項７】
ＯＳディスクイメージをロードし、実行するサーバ及び前記ＯＳディスクイメージを前記サーバに対応付けて管理する運用管理サーバであって、
前記ＯＳディスクイメージが使用するＩ/Ｏデバイスに関する第１の情報を格納するＩ/Ｏデバイス認識テーブル、
前記サーバが備えるＩ/Ｏデバイスに関する第２の情報を格納するＩ/Ｏデバイス構成テーブル、および
前記Ｉ/Ｏデバイス認識テーブルに格納された前記第１の情報が、前記Ｉ/Ｏデバイス構成テーブルに格納された前記第２の情報に包含されるとき、前記ＯＳディスクイメージを前記サーバに対応付ける処理部
を有することを特徴とする運用管理サーバ。
【請求項８】
前記処理部は、前記Ｉ/Ｏデバイス認識テーブルに格納された前記第１の情報の中で、前記Ｉ/Ｏデバイス構成テーブルに格納された前記第２の情報に包含されない情報があるとき、前記包含されない情報を変更しても前記ＯＳディスクイメージを前記サーバで実行可能である変更可能範囲内で、前記包含されない情報を変更し、前記変更した情報を含む前記第１の情報が、前記Ｉ/Ｏデバイス構成テーブルに格納された前記第２の情報に包含されるとき、前記ＯＳディスクイメージを前記サーバに対応付けることを特徴とする請求項７記載の運用管理サーバ。
【請求項９】
１つ以上の管理対象サーバと、前記管理対象サーバで動作するＯＳディスクイメージとを備える計算機システムのＯＳディスクイメージと前記管理対象サーバとの対応付けを管理する管理サーバにおける運用管理方法であって、
第１の管理対象サーバ上の前記ＯＳディスクイメージに含まれる、ＯＳのデバイス制御の挙動を決定するソフトウェア制御情報、および、前記ソフトウェア制御情報を適用するＩ/Oデバイスを特定するための物理デバイス構成情報の組からなるＩ/Ｏデバイス認識情報を収集し、
第２の管理対象サーバのＩ/Ｏデバイスの構成を示す物理デバイス構成情報を収集し、
前記Ｉ/Ｏデバイス認識情報と前記物理デバイス構成情報とに基づいて、前記第２の管理対象サーバに前記ＯＳディスクイメージをロードし、実行した時の動作可否を判定することを特徴とした運用管理方法。
【請求項１０】
前記動作可否を判定する手段は、所定の確認手順を実施して、該確認手順の実施を成功した実績に基づいて判定することを特徴とする請求項９記載の運用管理方法。
【請求項１１】
前記動作可否の判定は、前記所定の確認手順を複数持ち、前記複数の確認手順のいずれを実施したかを記録することを特徴とする請求項１０記載の運用管理方法。
【請求項１２】
前記動作可否の判定により動作可であると判定された場合に、前記第１の管理対象サーバに対応付けられていた前記ＯＳディスクイメージを、前記第２の管理対象サーバに対応付けることを特徴とする請求項９記載の運用管理方法。
【請求項１３】
前記動作可否の判定により動作不可であると判定された場合に、前記第１の管理対象サーバに対応付けられていた前記ＯＳディスクイメージを、前記第２の管理対象サーバに対応付けしないことを特徴とする請求項９記載の運用管理方法。
【請求項１４】
前記第２の管理対象サーバの前記Ｉ/Ｏデバイスの追加および削除を検知する装置とＯＳディスクイメージ動作判定テーブルとを備え、
前記Ｉ/Ｏデバイスの追加および削除の一方が通知された時点で、前記実行した時の動作可否を判定した結果を前記ＯＳディスクイメージ動作判定テーブルに格納し、
前記のＯＳディスクイメージ動作判定テーブルに格納された前記判定結果を参照して、前記ＯＳディスクイメージを前記第２の管理対象サーバに対応付けることを特徴とする請求項９記載の運用管理方法。
【請求項１５】
ＯＳディスクイメージをロードし、実行するサーバ及び前記ＯＳディスクイメージを前記サーバに対応付けて管理する管理サーバによる運用管理方法であって、
前記管理サーバは、前記ＯＳディスクイメージが使用するＩ/Ｏデバイスに関する第１の情報を格納するＩ/Ｏデバイス認識テーブル、および前記サーバが備えるＩ/Ｏデバイスに関する第２の情報を格納するＩ/Ｏデバイス構成テーブルを備え、
前記Ｉ/Ｏデバイス認識テーブルに格納された前記第１の情報が、前記Ｉ/Ｏデバイス構成テーブルに格納された前記第２の情報に包含されるか否かを判定し、
前記判定の結果として包含されるとき、前記ＯＳディスクイメージを前記サーバに対応付けることを特徴とする運用管理方法。
【請求項１６】
前記管理サーバは、前記Ｉ/Ｏデバイス認識テーブルに格納された前記第１の情報の中で、前記Ｉ/Ｏデバイス構成テーブルに格納された前記第２の情報に包含されない情報があるとき、前記包含されない情報を変更しても前記ＯＳディスクイメージを前記サーバで実行可能である変更可能範囲内で、前記包含されない情報を変更し、前記変更した情報を含む前記第１の情報が、前記Ｉ/Ｏデバイス構成テーブルに格納された前記第２の情報に包含されるとき、前記ＯＳディスクイメージを前記サーバに対応付けることを特徴とする請求項１５記載の運用管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバ計算機で構成される計算機システムの運用管理システム及び管理方法に関する。
【背景技術】
【０００２】
本発明は、１つ以上の計算機(以下、サーバと呼称)で構成され、企業などの業務を実行する計算機システムの運用管理に関する。
【０００３】
計算機のストレージ技術、ストレージデータ管理技術の進展により、計算機の中で計算の実行主体となるＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）、メモリ、IOデバイスなどのハードウェアと、記憶装置に格納されるＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）、業務アプリケーションなどのソフトウェア (以下、ＯＳディスクイメージと呼ぶ。ストレージ装置から主記憶装置へローディングされると、各種のセ一定なしで実行可能なソフトウェア)との対応付けを自由に変更できることが可能になった。
【０００４】
たとえば、特許文献１では、Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ(ＳＡＮ)ストレージ装置を使用する構成において、ＳＡＮストレージ機器上にＬｏｇｉｃａｌ  Ｕｎｉｔ（ＬＵ）を作成し、そのＬＵにあらかじめＯＳを格納しておき、ＳＡＮストレージ装置もしくはＳＡＮスイッチの制御プログラムによって、論理的にＬＵにアクセスできるサーバをＳＡＮに接続された特定のサーバに制限することによりサーバとＯＳを排他的に対応付けられる。別の例として、特許文献２においては、ＯＳディスクイメージを管理サーバに格納しておき、そのＯＳディスクイメージを実行すべきサーバの主記憶装置にコピー(リストア)することにより、サーバと対応付けるデプロイメントという方法がある。
【０００５】
サーバに障害が発生したときに、障害が発生したサーバのＯＳディスクイメージを予備サーバにローディングして実行して、迅速に業務を継続する運用や、サーバが実行するＯＳディスクイメージを入れ替え、サーバの用途を時間帯によって切り替えることにより、複数の業務でサーバのハードウェアを共有し、ハードウェア費用を削減するような運用を容易に実現することができ、注目される技術となっている。
【０００６】
【特許文献１】特開2007-14013
【特許文献２】US2005/0216911
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＯＳは、サーバが有するＩ/Ｏデバイスをそれぞれ固有のデバイスドライバプログラム(以下、デバイスドライバ)を用いて制御する。デバイスドライバはＮｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ（ＮＩＣ）、Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｏｒ（ＨＢＡ）などのＩ/Ｏデバイスごとに専用のプログラムである。同じＩ/Ｏデバイスであっても、Ｉ/Ｏデバイスごとの識別子などの情報を異にする。Ｉ/Ｏデバイスの識別子などの情報はＯＳが設定する設定情報である。  OSディスクイメージのデプロイメント、あるいは新たなＯＳディスクイメージを格納したLUへ接続を変更するといった、サーバとOSディスクイメージの対応付けを変更する運用においては、サーバとＯＳディスクイメージの対応付けを変更したときに、対応付けたサーバのＩ/Ｏデバイス構成に適合するデバイスドライバをOSが有し、適切に設定情報が設定されていないと、ＯＳは正常に動作しない。
【０００８】
Ｉ/Ｏデバイスの設定情報には、Ｉ/Ｏデバイスごとに設定する論理的な情報、および、サーバに接続するＩ/Ｏデバイスの物理的な位置情報や物理的な固有情報に基づいて設定される物理的な情報がある。たとえば、ＮＩＣには、論理的な情報としてＩＰアドレスが設定されるが、そのＩＰアドレスは個々のＮＩＣ固有のＭＡＣアドレスに対応付けられ、複数の同種のＮＩＣがサーバに接続されていても、各々が異なるＮＩＣとしてＯＳによって認識される。このようなデバイスドライバへの設定情報が、Ｉ/Ｏデバイスに適合していないとＯＳは正常動作しない。逆に言うと、デバイスドライバおよびその設定情報を有するＯＳディスクイメージにＩ/Ｏデバイスの構成が合っていないと、物理的に冗長なＩ/Ｏデバイスの構成であっても良いがＯＳディスクイメージが必要とするＩ/Ｏデバイスの構成を含んでいないと、ＯＳは正常に動作しない。
【課題を解決するための手段】
【０００９】
本発明は次のような構成の運用管理システム及び管理方法である。管理対象サーバと、管理対象サーバで動作するＯＳディスクイメージとを備える計算機システムのＯＳディスクイメージと管理対象サーバとの対応付けを管理する管理サーバにおける運用管理方法であって、第１の管理対象サーバ上のＯＳディスクイメージが認識するＩ/Ｏデバイス認識情報を収集し、第２の管理対象サーバのＩ/Ｏデバイスの構成を示す物理デバイス構成情報を収集し、Ｉ/Ｏデバイス認識情報と物理デバイス構成情報とに基づいて、第２の管理対象サーバにＯＳディスクイメージをロードし、実行した時の動作可否を判定する。
【００１０】
本発明の他の態様は次のような構成である。ＯＳディスクイメージをロードし、実行するサーバ及びＯＳディスクイメージをサーバに対応付けて管理する管理サーバによる運用管理方法であって、管理サーバは、ＯＳディスクイメージが使用するＩ/Ｏデバイスに関する第１の情報を格納するＩ/Ｏデバイス認識テーブル、およびサーバが備えるＩ/Ｏデバイスに関する第２の情報を格納するＩ/Ｏデバイス構成テーブルを備え、Ｉ/Ｏデバイス認識テーブルに格納された第１の情報が、Ｉ/Ｏデバイス構成テーブルに格納された第２の情報に包含されるか否かを判定し、判定の結果として包含されるとき、そのＯＳディスクイメージをサーバに対応付ける。
【００１１】
本発明のさらに他の態様は、管理サーバは、Ｉ/Ｏデバイス認識テーブルに格納された第１の情報の中で、Ｉ/Ｏデバイス構成テーブルに格納された第２の情報に包含されない情報があるとき、包含されない情報を変更してもＯＳディスクイメージをサーバで実行可能である変更可能範囲内で、包含されない情報を変更し、変更した情報を含む第１の情報が、Ｉ/Ｏデバイス構成テーブルに格納された第２の情報に包含されるとき、ＯＳディスクイメージをサーバに対応付ける。
【発明の効果】
【００１２】
本発明によれば、ＯＳディスクイメージをサーバに対応付けるときに、そのＯＳディスクイメージがそのサーバで動作するかを事前に確認できる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を、実施例を用いて説明する。
【実施例１】
【００１４】
本実施例の計算機システム構成を図１に示す。管理対象サーバ１０１〜１０３（以下、サーバ１０１）は、管理サーバ１３０の管理対象のサーバである。本実施例のシステムでは1台以上のサーバがある。管理サーバ１３０の各処理部１３１〜１３６に関しては、後述する。OSディスクイメージ１１１は、管理サーバ１３０およびサーバ１０１からアクセスできるストレージ装置などの外部記憶装置に格納されているプログラム(ファイル)であり、その詳細は後述する。デバイス認識情報テーブル１２０は、管理サーバ１３０によって使用されるテーブルであり、OSディスクイメージ１１１の各々に対応して設けてある。
【００１５】
サーバ１０１は、図２に示すような構成の計算機である。サーバ（計算機）１０１は、プログラムを実行するCPU２０１、プログラムおよびデータを保持するメモリ２０４を備え、CPU２０１とメモリ２０４は、メモリ２０４へのデータアクセス通信路であるシステムバス２０３によって接続されている。また、システムバス２０３には、PCI（Peripheral Component Interconnect）などに代表されるIOブリッジを介してSCSI/FC（Small Computer System Interface・/ Fiber Channel）２０７、NIC２０８、入出力装置インターフェース２０９などの装置(インターフェース)が接続されている。OS、アプリケーションなどのプログラムは外部記憶装置２１１からメモリ２０４に読み込まれ、CPU２０１によって実行される。
【００１６】
各管理対象サーバ１０１〜１０３のそれぞれでは、個別の業務が稼働している。業務に関するアプリケーションプログラム、および、OSなどの基本ソフトウェアはOSディスクイメージ１１１に含まれる。OSディスクイメージ１１１は外部記憶装置２１１などに格納されているプログラムとデータの総称を指す。
【００１７】
外部記憶装置２１１の例としては、SANなどで接続された外部ストレージ装置上のLUなどがある。本実施例では、OSディスクイメージ１１１の構成例として、LU上に配置されたディスク内容を用いて説明する。しかしながら、OSディスクイメージについてはLU上のイメージに限定されることはなく、内蔵ディスク上の内容、もしくは近年の計算機仮想化などで用いられているように、他のOSのファイルシステム上に仮想的に構築された単一の巨大なファイルなどを使用しても構わない。
【００１８】
図３に、OSディスクイメージの構成例を示す。OSディスクイメージ１１１は、デバイスドライバ５０３を含むOSカーネルプログラム５０２、デバイスドライバ設定情報５０５を含むOSカーネルデータ５０４、アプリケーションプログラム５０６およびアプリケーションデータ５０７を含んでいる。OSディスクイメージをサーバ１０１にローディングし、実行する手順は次のようになる。サーバ１０１のメモリ２０４には、予めブートローダプログラムが格納されている。ブートローダプログラムは、サーバ１０１への電源投入に伴って動作する、ファームウエアとして用意されるイニシャルローダプログラムによってメモリ２０４に格納される。管理サーバ１３０からブートローダプログラムへのロードすべきOSディスクイメージの指示（OSディスクイメージを格納しているＬＵやOSディスクイメージの識別子などのパラメータを伴った指示）に応答して、OSディスクイメージをメモリ２０４にロードする。ローディングが完了すると、ブートローダプログラムはOSカーネルプログラム５０２を起動する。OSカーネルプログラム５０２がアプリケーションプログラム５０６を実行し、業務が開始される。アプリケーションプログラム５０６を実行に伴い、入出力コマンドや送受信コマンドが発行され、OSカーネルプログラム５０２は、デバイスドライバ５０３を用いて、これらのコマンドを実行する。デバイスドライバプログラム５０３はデバイスドライバ設定情報５０５に基づいて動作するので、コマンドに対応したデバイスドライバ５０３又はＩ/Ｏデバイスが存在しない場合や、存在したとしてもデバイスドライバ設定情報５０５が、サーバ１０１に接続するＩ/Ｏデバイスに適合していない場合、サーバ１０１は正常に動作しない。サーバ１０１は正常に動作しないことをＯＳが正常に動作しないといっても良い。
【００１９】
各OSディスクイメージには、管理サーバ１３０によって、それぞれデバイス認識情報テーブル１２０が対応付けられて管理される。デバイス認識情報テーブル１２０には、対応付けられているOSディスクイメージ１１１に格納されたOSが、過去に認識したＩ/Ｏデバイスおよびそのデバイスドライバの設定情報が格納されている。デバイス認識情報テーブル１２０の詳細については後述する。
【００２０】
図４に、管理サーバ１３０の構成例を示す。管理サーバ１３０は、サーバ物理構成取得部１３１、デバイス認識情報テーブル管理部１３２、サーバ物理構成調査部１３３、ＯＳ動作推定部１３４、ＯＳ動作判定部１３５、及びユーザインターフェース１３６の各処理部を有する。また、管理サーバ１３０は、デバイス認識情報テーブル１２０、サーバ割り当て状態管理テーブル３０１、調査用ＯＳイメージ３０２、ＯＳディスクイメージ―デバイス認識テーブル対応付けテーブル３０３、及び動作判定ルール３０４を記憶している。
【００２１】
サーバ物理構成取得部１３１は、サーバ１０１から送信されるデバイス認識情報を受信して、デバイス認識情報テーブル１２０の内容との差分情報の抽出を行なう。デバイス認識情報テーブル管理部１３２は、サーバ物理構成取得部１３１が抽出した差分情報で、OSディスクイメージ１１１と関連付けてあるデバイス認識情報テーブル１２０の内容を更新する。
【００２２】
サーバ物理構成調査部１３３は、サーバ１０１の物理デバイス構成を取得する。
【００２３】
OS動作推定部１３４は、デバイス認識情報テーブル管理部１３２によって格納されたデバイス認識情報とサーバ物理構成調査部１３３によって取得された物理デバイス構成情報とを基に、OSの挙動を推定する。
【００２４】
OS動作判定部１３５は、OS動作推定部１３４の推定結果を基にOSが正常に稼働するかを判定する。
【００２５】
サーバ物理構成取得部１３１とサーバ−OSディスクイメージ対応付けプログラムとの関連を図５に示す。サーバ物理構成取得部１３１は、外部記憶装置２１１内にあるサーバ−OSディスクイメージ対応付けプログラム４０１と連携して動作する。サーバ物理構成取得部１３１はサーバ割り当て状態管理テーブル３０１を持つ。
【００２６】
サーバ割り当て状態管理テーブル３０１の一例を図６に示す。サーバ割り当て状態管理テーブル３０１は、サーバ識別子６０１、OSディスクイメージ管理用サーバ識別子６０２、および割り当て状態６０３を対応付けて格納する。
【００２７】
サーバ識別子６０１は、管理サーバ１３０が管理するシステム中の管理対象サーバ１０１を一意に特定するための識別子である。たとえば、サーバがブレード型のシステムである場合、サーバはサーバの属するシャーシ(エンクロージャ)を一意に識別子との組み合わせで一意に特定される。別の例としては、管理対象サーバが１つ以上のラック上に搭載されているシステムにおいては、サーバはラックを一意に識別するID(ラック番号)とラック上においてサーバが搭載される高さの位置情報（ラック内ID）によって一意に特定することが出来る。
【００２８】
OSディスクイメージ管理用サーバ識別子６０２は、管理サーバ１３０が管理するシステム内で一意に管理対象サーバを特定するための識別子である。サーバ識別子６０１と同一でも良い。OSディスクイメージの格納場所としてSANストレージ装置のLUを用いる場合のOSディスクイメージ管理用サーバ識別子６０２の例としては、サーバが所有するHost Bus Adaptor(HBA)のWWNなどがある。
【００２９】
サーバ割り当て状態６０３はサーバの稼働状態を示す。管理対象サーバ１０１があるOSディスクイメージを用いた業務を実行中であれば「割り当てあり」、OSディスクイメージが割り当てられていない（管理対象サーバ１０１は業務を実行していない）場合であれば「割り当てなし」を示す。
【００３０】
サーバ−OSディスクイメージ対応付けプログラム４０１は、サーバ-OSディスクイメージ対応付けテーブル４１１を持つ。サーバ-OSディスクイメージ対応付けテーブル４１１の一例を図７に示す。サーバ-OSディスクイメージ対応付けテーブル４１１はOSディスクイメージ管理用サーバ識別子７０１およびOSディスクイメージ識別子７０２の欄で構成される。OSディスクイメージ管理用サーバ識別子７０１はサーバ割り当て状態管理テーブル３０１中のOSディスクイメージ管理用サーバ識別子６０２と同一の内容である。サーバ−OSディスクイメージ対応付けプログラム４０１は、システム内の管理対象サーバ１０１を、OSディスクイメージ管理用サーバ識別子７０１を用いて管理する。OSディスクイメージ識別子７０２はシステム内のOSディスクイメージを一意に特定するIDである。本実施例では外部SANストレージ装置上のLUをOSディスクイメージの格納場所としているため、たとえば、外部SANストレージ装置を一意に識別する識別子と、外部SANストレージ装置内でLUを一意に識別するための識別子を組み合わせる。具体例としてはSANストレージ装置STORAGE1内のLU番号1番のLUを表す場合には/STORAGE1/LU001などとなる。
【００３１】
デバイス認識情報テーブル管理部１３２は、OSディスクイメージ-デバイス認識情報対応付けテーブル３０３、および、個々のOSディスクイメージに１：１に対応するデバイス認識情報テーブル１２０を保持する。
【００３２】
OSディスクイメージ-デバイス認識情報対応付けテーブル３０３は、OSディスクイメージの識別子と、対応するデバイス認識情報テーブル１２０との対応付けを管理するテーブルである。OSディスクイメージ-デバイス認識情報対応付けテーブル３０３の構成例を図８に示す。OSディスクイメージ-デバイス認識情報対応付けテーブル３０３はOSディスクイメージ識別子８０１と、デバイス認識テーブル識別子８０２の組で管理される。
【００３３】
デバイス認識情報テーブル１２０は、OSデバイス認識情報送信部１４０から送信されるデバイス認識情報を格納し、更新するテーブルである。管理対象サーバ１０１のデバイスとしてPCIデバイスを例にとり説明する。
【００３４】
デバイス認識情報テーブルの構成例を図９に示す。デバイス認識情報テーブル１２０はリビジョン番号９０１、バス番号９０２、デバイス番号９０３、ファンクション番号９０４、ベンダID９０５、デバイスID９０６、デバイス固有ID９０７、使用デバイスドライバ９０８、ドライバ対応設定９０９、動作実績９１０で構成される。
【００３５】
バス番号９０２、ファンクション番号９０３、ファンクション番号９０４はPCIデバイスを搭載する場所を示す情報である。また、ベンダID９０５、およびデバイスID９０６は該当するPCIデバイスを提供するベンダ、デバイスの識別子である。デバイス固有ID９０７は全世界で該当デバイスを一意に区別するための識別子である。NICやHBAなどのデバイスでは、MACアドレスやWorld  Wide  Name（WWN）など、デバイスを一意に特定するための識別子を持つ。OSはこの識別子に関連付けてドライバ情報を特定することがあるため、該当製品に関しては個別のIDを収集して保存する。使用デバイスドライバ９０８は該当デバイスを動作させるためにOSが使用するデバイスドライバプログラム５０５を特定するための識別子である。通常はデバイスドライバのファイル名とバージョン名などの組み合わせを用いる。
【００３６】
デバイスドライバ設定９０９は、該当デバイスドライバに関連付けられる設定情報である。本情報には、デバイスドライバのパラメータと、そのデバイスドライバに関連付けられる論理的な情報などを含む。論理的な情報の例としては、たとえばNICに対するIPアドレスの設定などが挙げられる。また、複数のNICを論理的に１つのデバイスとして扱う技術であるチーミング技術（一部ではBonding技術とも称する）の設定なども論理的な情報の例として扱う。
【００３７】
デバイスドライバ設定として収集する項目は、OSデバイス認識情報送信部の実装者がサポート対象とするOSに対するOS動作判定部１３５の判定に必要な項目を事前に決定しておき、OSデバイス認識情報送信部１４０が必要な情報を収集するようにプログラムをしておく必要がある。
【００３８】
動作実績９１０は、上記のデバイスドライバ９０９を用いて実際にアプリケーションを稼働させた実績があるか否かを示す情報である。たとえば「動作実績有り」「動作実績なし」などの実績に関する状態が記録される。動作実績９１０の具体的な更新例については後述する。
【００３９】
デバイス認識情報テーブル管理部１３２は、サーバ物理構成取得部１３１と同様に、サーバ−OSディスクイメージ対応付けプログラム４０１と連携してサーバと対応付けられているOSディスクイメージを特定し、サーバ物理構成取得部１３１が取得したデバイス認識情報を対応するデバイス認識情報テーブル１２０に格納する。
【００４０】
後の運用作業において、システムの運用管理者はサーバ増強、用途変更、スケールアウトによる負荷分散などの目的でサーバとOSディスクイメージの対応付けを変更する。そのときに、OS動作判定部１３５がデバイス認識情報テーブル１２０の内容と、後述するサーバ物理構成調査部１３３が取得したデバイス構成情報を参照してOS動作可否を判定し、動作が不可能なサーバでOSディスクイメージを実行することを抑止する。
【００４１】
サーバ物理構成調査部１３３は調査用OSを管理対象サーバ上１０１で実行し、物理サーバのデバイス構成情報を取得する処理を実行する。サーバ物理構成調査部１３３は調査用OSディスクイメージ３０２を管理サーバ１３０上に保管している。調査用OSは図３に示すOSディスクイメージであるが、デバイスの調査に必要な機能のみを実装しているため、不要なプログラムコードが必要なく、プログラムコードのサイズが小さい。調査用OSは物理デバイス構成情報送信メッセージをサーバ物理構成調査部１３３に送信する。物理デバイス構成情報送信メッセージの構成例を図１１に示す。物理デバイス構成情報送信メッセージは、バス番号１１０１、デバイス番号１１０２、ファンクション番号１１０３、ベンダID１１０４、デバイスID１１０５、およびデバイス固有識別子１１０６で構成される。これらの情報はデバイス認識情報テーブル１２０が保持するバス番号９０２〜デバイス固有ID９０７と同一の種類の情報である。デバイス認識情報テーブル１２０はOSディスクイメージ１１１の動作時のデバイス構成を示すが、物理デバイス構成情報送信メッセージの情報は現状のデバイス構成を調査したものであり、サーバ物理構成取得部１３１においてOSディスクイメージのデバイス認識情報を取得したときの管理対象サーバ１０１と同一の管理対象サーバであっても、たとえばデバイスの部品交換などを行なったりした場合にはその構成が異なる。また、異なるサーバ識別子６０１で指定される管理対象サーバ１０１では、デバイス構成が異なる可能性が高い。これらの情報はPCI仕様などで定められた所定のフォーマットの情報を所定の手段で取得するものであり、詳細については省略する。
【００４２】
OS動作推定部１３４は、入力として図６のサーバ識別子６０１と、図７のOSディスクイメージ識別子７０２を受け取り、OSディスクイメージ識別子７０２と対応付けられたデバイス認識情報テーブル１２０と、サーバ物理構成調査部１３３がサーバ識別子６０１で示された管理対象サーバ１０１から取得した物理デバイス構成情報送信メッセージ(図１１に図示)とを使用して、OSディスクイメージが管理対象サーバ１０１上で動作した場合に、各デバイスがどのように認識されるかを判定する。
【００４３】
OS動作推定部の実装形態の１つの例は、OSのデバイスドライバプログラムのロジックをシミュレートして、その動作結果としてのデバイス認識情報を返すプログラムである。OS動作推定部１３４は、システム提供者(通常は管理サーバのシステムの実装者)によってプログラムによって実装される。OSのデバイス認識動作の仕様が判明しているという前提では、本プログラムは対象とするOSの動作と同一のロジックをそのまま論理的に実行するモジュールであり実装可能である。
【００４４】
OS動作推定部１３４の別の実装形態の例としては、デバイス認識推定専用の仮想サーバを用意する方法がある。この方法では、仮想サーバ上のOSとしてOSディスクイメージ１２０と同一のものを用意し、仮想サーバのデバイス構成を前記デバイス構成情報に書き換え、さらに仮想サーバ上のOSのデバイス認識情報を前記デバイス認識情報テーブル１２０にある設定に書き換えて仮想サーバ上でOSを起動させる。起動後に仮想サーバのOS上でOSデバイス認識情報送信部のプログラムを実行させてデバイス認識情報を取得し、デバイス認識情報に含まれるデバイスドライバ設定９０９を結果として返す。
【００４５】
OS動作判定部１３５は入力として物理デバイス構成情報送信メッセージ(図１１に図示)と、OS動作推定部１３４が各デバイスについて推定したデバイスドライバ設定９０９を受け取り、デバイスドライバ設定９０９の状態がOSの正常動作の状態であるか否かを判定する。OS動作判定部１３５はOS動作判定ルール３０４を参照してOSが正常動作するか否かの判定を行なう。OS動作判定ルール３０４はOSが正常に動作するために必要なOS設定９０９の条件を記したルールであり、事前に管理者もしくはシステム提供者によって作成される。OS動作判定ルール３０４の実装例の１つは、各デバイスドライバに対するOSのデバイスドライバ設定が事前に設定された状態であるかどうかを判断するプログラムである。たとえば、「NICに関連付けられたIPアドレスが所定の値になること」というチェック項目がOS動作判定ルール３０４の例である。
【００４６】
OS動作判定ルール３０４の別の実装例としては、状態判断をプログラムコードの代わりにデバイスドライバの正常動作時の設定をテーブルとして保持する方法がある。テーブルとして実装する場合には、OS動作判定ルール３０４で示されるOSデバイスドライバの設定と、OS動作推定部１３４が推定した結果のデバイスドライバ設定９０９が一致し、なおかつ事前に定義された実績確認手順１２０９を正常に終了した場合に正常に動作すると判断する。事前の定義は、システムの運用管理者などによって、管理システム構築時に作成されるなどの方法によって行なわれる。前記ＯＳ動作判定ルール３０４はデバイス認識情報テーブル１２０に対して個別に1つずつ存在する。すなわち、ＯＳディスクイメージに対して一対一で対応付けられていることを意味する。OS動作判定ルール３０４をテーブルとして保持する場合の構成例を図１２に示す。OS動作判定ルール３０４は、バス番号条件１２０１、デバイス番号条件１２０２、ファンクション番号１２０３、最低必要個数１２０４、最大許容回数１２０５、ベンダID条件１２０６、デバイスID条件１２０７、OS設定１２０８、および、実績確認手順１２０９で構成される。
【００４７】
バス番号条件１２０１〜デバイスID条件１２０７は、条件判定の対象となるデバイスを特定するための条件であり、デバイス認識情報テーブル１２０中のバス番号９０２〜デバイスID９０６のデータが前記バス番号条件１２０１〜デバイスID条件１２０７で示される条件に一致するものを判定の対象とする。PCIデバイスの位置を特定するバス番号条件１２０１〜ファンクション番号条件１２０３の例としては、特定の数値、任意の数値、あるグループの中での相対的な順番を指定できるようにする。相対的な順番の例としては「同一のベンダID、デバイスIDのデバイスの中でN番目に小さな値」といった条件がある。また、各条件には１つ以上の値が入ってもよく、その場合にはOS動作判定部１３５はいずれかの値に適合した場合に条件を満たすと判定する。
【００４８】
また、前記の条件を満たすデバイスの数は最低必要個数１２０４、最大許容個数１２０５の２つの数の間に収まる必要がある。
【００４９】
OS設定１２０８は、OSが動作する場合に満たすべきOS設定９０９の値の一覧である。たとえばOS設定１２０８の判定対象を、IPアドレスを例とすると「IPアドレスがXX.XX.XX.XXと等しい」「IPアドレスの設定がDHCP取得となる」「IPアドレスの設定なし」などの条件がある。判定対象となったデバイスのデバイスドライバ設定９０９がOS設定１２０８と適合した場合に、OSが動作すると判定される。
【００５０】
実績確認手順１２０９は、実アプリケーションが動作する実績を確認するための手順を示す情報である。実績確認手順はたとえば「YY.YY.YY.YYへのpingを実行する」「ＳＱＬプログラムにより、データベースYYへの接続を確認する」「アプリケーション疎通テストプログラムAを実行する」などの手順が書かれ、後述するＯＳ動作実績フローで、指定された手順が実行される。各プログラムには正常終了の結果として返されるコードが事前に決定されており、その値が特定の値になったときに、正常に動作していると確認することが出来ることが保証されているものとする。
【００５１】
以下では、管理サーバ１３０の個々のプログラムの動作フローについて説明する。
【００５２】
まず、図１０を用いてＯＳデバイス認識情報を収集する動作のフローについて説明する。ＯＳデバイス認識情報は管理対象サーバ１０１上で動作するＯＳデバイス認識情報送信部１４０と、管理サーバ１３０上のサーバ物理構成取得部１３１が連動して行なう。
【００５３】
OSデバイス認識情報送信部１４０の動作フローの一例を、図１０（ａ）を用いて説明する。まず、管理対象サーバ電源をオンにする(ステップ１００１)。サーバ電源オンの動作は、任意の方法で行なってよい。たとえば、サーバの電源ボタンを人間が任意のタイミングで押すなどの方法でよい。その他の方法としては管理サーバのユーザインターフェースなどを用いて運用管理者が指定する方法、あるいは事前にスケジューリングしていた時刻に、管理対象サーバの電源を管理するプログラムが処理を自動的に開始するなどの方法によって開始される。ユーザインターフェースを用いて運用管理者が指定する方法の場合、前記サーバ識別子６０１を運用管理者に選択させるなどの方法によって指定させ、対応する管理対象サーバを起動する。運用管理者にサーバ識別子６０１を選択させる実装の例としては、管理サーバ１３０がサーバ割り当て状態管理テーブル３０１で保持するサーバ識別子６０１の一覧を管理サーバのユーザインターフェースに表示し、運用管理者に提示し、そのうちの１つを選択させる方法がある。
【００５４】
電源がオンになった管理対象サーバ１０１では、ブートローダプログラム５０１によってOSカーネルプログラム５０２が起動され、OSの機能を有効になる。OSの起動時にOSデバイス認識情報送信部プログラム５０８が起動する(ステップ１００２)。
【００５５】
OSデバイス認識情報送信部プログラム５０８は、OS機能にアクセスするインターフェースを通してデバイスドライバ認識情報５０５を取得する(ステップ１００３)。取得される情報は図９に示したデバイス認識情報テーブルに含まれる各項目を、ＯＳが稼働する物理サーバが持つすべてのデバイスについて取得したものである。
【００５６】
デバイス認識情報送信部プログラム５０８は、デバイス認識情報送信先を特定する(ステップ１００５)。デバイス認識情報送信先は管理サーバ１３０でなくてはならない。デバイス認識情報送信先を特定する例としては、事前に運用管理者が調査用OS上の設定ファイルなどに定義した管理サーバのアドレスを使用するなどの方法でよい。
【００５７】
デバイス認識情報メッセージを、前記ステップ１００５で選択したデバイス認識情報送信先に送信する(ステップ１００６)。情報の送信は、ＮＩＣなどのインターフェースを通して管理サーバに前記デバイス認識情報メッセージを送信するなどの方法で実装可能である。
【００５８】
ＯＳデバイス認識情報送信部プログラム５０８は、ステップ１００６でメッセージを送信した相手から実績確認手順１２０９が送信されるのを待つ(ステップ１００７) 。
【００５９】
ＯＳデバイス認識情報送信部プログラム５０８は、管理サーバから実績確認手順１２０９を受信すると、実績確認手順１２０９に書かれた方法に従って実績手順を確認する(ステップ１００８)。実績確認手順はたとえば個別の確認プログラム、もしくはプログラムの実行順序を記したバッチファイルなどの形式で記述されている。ＯＳデバイス認識情報送信部プログラム５０８はプログラムを順次実行し、ＯＳに返される終了コードなどの実行結果情報を収集する。
【００６０】
ＯＳデバイス認識情報送信部プログラム５０８は、ステップ１００５で選択されたデバイス情報送信先に対して、ステップ１００８で取得した実績確認手順の実行結果を送信し、処理を終了する(ステップ１００９)。
【００６１】
データを収集して格納する管理サーバ１３０側の動作フローの例を図１０（ｂ）に示す。
【００６２】
管理サーバ１３０はデバイス認識情報メッセージの受信待ちを行なう(ステップ１０１１)。受信待ちは通常のＮＩＣを使用したネットワークプログラムの受信処理と同様に実装すればよい。
【００６３】
サーバ物理構成取得部１３１がステップ１００６で送信されたデバイス認識情報メッセージを受信する(ステップ１０１２)。
【００６４】
デバイス認識情報メッセージに含まれる情報から、図７で示されるサーバ識別子７０１を取得する(ステップ１０１３)。たとえば、ＯＳディスクイメージがＬＵである例ではベンダＩＤ９０５、デバイスＩＤ９０６がHBA製品であることを示すものについてデバイス固有ＩＤ９０７を参照し、ＨＢＡのＷＷＮを示す情報を抽出してサーバ識別子７０１として使用する。
【００６５】
サーバ物理構成取得部１３１は、デバイス認識情報テーブル管理部１３２にサーバ識別子７０１を渡し、サーバ識別子７０１で使用するＯＳデバイス認識情報テーブルの一覧を取得するように要請する。デバイス認識情報テーブル管理部１３２はパス管理プログラム４０１と連携して図７のサーバ-ＯＳディスクイメージ対応付けテーブルを参照し、サーバ識別子に対応するＯＳディスクイメージ識別子７０２を取得し（ステップ１０１４）、次に図８に示すＯＳディスクイメージ-デバイス認識テーブル対応付けテーブルを参照してＯＳディスクイメージ識別子７０２に対応するデバイス認識情報テーブルを取得し、そのテーブル中のデータをサーバ物理構成取得部１３１に返す(ステップ１０１５)。
【００６６】
サーバ物理構成取得部１３１は、ステップ１０１２で取得したデバイス認識情報メッセージと、ステップ１０１５で取得したデバイス認識情報テーブルの各項目を比較して差分を抽出する(ステップ１０１６)。差分としては、（ａ）デバイス認識情報メッセージでは同一のバス番号９０２、デバイス番号９０３、ファンクション番号９０４、ベンダID９０５、デバイスID９０６が存在するデバイスであって、デバイス認識情報テーブルには対応するデバイスが存在しない項目、（ｂ）デバイス認識情報メッセージ、デバイス認識情報テーブルの双方で存在するデバイスであって、対応する使用デバイスドライバ９０８もしくはデバイスドライバ設定９０９が異なる項目、の2種類の差分がある。抽出は、それぞれのデバイスのバス番号９０２〜デバイスドライバ設定９０９を比較して、上記（ａ）（ｂ）に該当するか確認することによって実行できる。
【００６７】
ステップ１０１６において差分が発見された場合、差分情報をデバイス認識情報テーブルに更新する(ステップ１０１７)。（ａ）の更新は新規項目の追加、（ｂ）の更新は既存項目の上書きとなる。
【００６８】
サーバ物理構成情報取得部１３１は、ステップ１０１５で取得したデバイス認識情報テーブルと対応付けられたOS動作判定ルール３０４を参照し、そのテーブル中に含まれるすべての実績確認手順１２０９を取得する(ステップ１０１８)。
【００６９】
サーバ物理構成情報取得部１３１は、ステップ１０１８で取得した実績確認手順１２０９のリストを、ステップ１０１２でデバイス認識情報メッセージを送信してきたOSデバイス認識情報送信部プログラム５０８に送信する(ステップ１０１９)。実行結果は、それぞれ実行したプログラムとその結果の組が確認できるように、たとえば２つの情報を組としたテーブルのような形式で送信する。
【００７０】
最後に、サーバ物理構成情報取得部１３１は、ステップ１０１９で送信した実績確認手順１２０９を、OSデバイス認識情報送信部が実行して結果を返信するのを待つ(ステップ１０２０)。結果を受信した場合、そのそれぞれの結果が正常終了を示しているかどうかを確認する。正常な戻り値であった場合には「動作実績有り」、不正な戻り値であった場合は「動作実績なし」を、それぞれ対応する動作実績９１０に書き込む(ステップ１０２１)。
【００７１】
図１０の処理によって、OSのデバイス認識に関する情報と、稼働実績の情報が管理サーバ１３０に収集される。この情報は後に、ＯＳディスクイメージ１１１と管理対象サーバ１０１の対応付けを変更する際に、ＯＳが正常に動作するか否かを判定するための入力として用いられる。
【００７２】
次に、運用管理者がＯＳディスクイメージ１１１と管理対象サーバ１０１の対応付けを変更する場合に、変更先の管理対象サーバ１０１上でＯＳディスクイメージ１１１を用いて正常にＯＳが動作するか否か判定する動作フローについて、図１３を用いて説明する。
【００７３】
管理サーバ１３０はサーバ識別子６０１の入力、および、ＯＳディスクイメージ識別子７０２の入力を受け付ける(ステップ１３０１)。項目の入力方法の例としては、管理サーバのユーザインターフェースなどを用いて運用管理者が指定する方法が挙げられる。ユーザインターフェースを用いて管理者が指定する方法の場合、サーバ識別子６０１およびＯＳディスクイメージ識別子７０２は、管理サーバ１３０が保持するサーバ識別子６０１の一覧を管理サーバのユーザインターフェースに表示し、管理者に提示し、そのうちの１つを選択させる方法などによって選択させる方法などにより指定させることができる。
【００７４】
管理サーバ１３０はステップ１３０１で入力されたＯＳディスクイメージ識別子７０２を参照して、対応するデバイス認識情報テーブル１２０を取得する(ステップ１３０２)。取得方法はステップ１０１５の説明と同等の方法を用いればよい。
【００７５】
ステップ１３０２で対応するデバイス認識情報テーブル１２０が発見された場合、ステップ１３０４〜１３１０を実行する。対応するテーブルが発見されなかった場合、ステップ１３１１〜１３１２を実行する(ステップ１３０３)。
【００７６】
管理サーバ１３０はサーバ物理構成調査部１３３に、ステップ１３０１で取得したサーバ識別子６０１を渡して、サーバ物理デバイス構成情報を要求する。サーバ物理デバイス構成情報調査部１３３は図１４に示す手順（物理サーバからのデバイス構成情報取得処理）を実行し、管理サーバにデバイス構成情報メッセージを返す(ステップ１３０４)。処理内容の具体例については後述する。
【００７７】
管理サーバ１３０は、ＯＳ動作推定部１３４に対して、ステップ１３０２で取得したデバイス認識情報テーブル１２０と、ステップ１３０４で取得したデバイス構成情報メッセージとを渡し、その入力情報のもとでＯＳがデバイスを認識した結果のデバイスドライバ認識情報テーブルを返すように要求する。ＯＳ動作推定部１３４は前述したエミュレーション処理などを実行し、結果としてＯＳのデバイス認識情報テーブルを返す(ステップ１３０５)。
【００７８】
管理サーバ１３０は、ステップ１３０５の結果として取得したデバイス認識情報テーブルをＯＳ動作判定部１３５に渡し、サーバ識別子６０１で指定された管理対象サーバ１０１上で、ＯＳディスクイメージ識別子７０２で指定されたＯＳが動作するか否かの判定を要求する。ＯＳ動作判定部１３５は図１５に示す手順を実行し、ＯＳ動作判定結果を返す(ステップ１３０６)。
【００７９】
ステップ１３０６において判定結果が「ＯＳ動作実績有り」である場合はステップ１３１０を実行する。動作しないと判定された場合、ステップ１３０８を実行する(ステップ１３０７)。
【００８０】
ＯＳ設定による動作推定を行なうかどうかを確認する。確認方法の例としては、ＯＳ設定による動作推定を行なうか否かのフラグを事前に用意しておき、管理システム構築時に運用管理者に選択をさせておく方法、あるいは、ユーザインターフェースを通して「動作実績が確認できませんでした。ＯＳ設定による動作推定を行ないますか？(Y/N)」といった内容のダイアログを表示してＯＳ設定による動作推定を行なうか否かを入力させる方法などがある。ＯＳ動作推定を行なうとの結果を得た場合はステップ１３０９から１３１０を、ＯＳ設定による動作推定を行なわないとの結果を得た場合はステップ１３１１、１３１２を実行する(ステップ１３０８)。
【００８１】
ステップ１３０６における判定結果が「ＯＳ設定のみ確認」であり、なおかつステップ１３０８においてＯＳ設定による動作推定を行なうという結果を得た場合には、ステップ１３１０を実行する。いずれかの条件を満たさない場合はステップ１３１１、１３１２を実行する(ステップ１３０９)。
【００８２】
ステップ１３０６においてＯＳ動作実績あり判定された場合、ステップ１３０９においてＯＳ設定のみ確認と判定された場合、もしくは、後述するステップ１３１１においてＯＳディスクイメージ１２０と管理対象サーバ１１１の対応付けの変更を実行するように指示がされた場合に、実際にＯＳディスクイメージ１２０と管理対象サーバ１１１の対応付の変更を実施する(ステップ１３１０)。ＯＳディスクイメージ１２０がＳＡＮストレージ機器上のＬＵとして実装されている場合、対応付けの変更は、パス管理プログラム４０１にサーバ-ＯＳディスクイメージ対応付けテーブルを変更するように指示し、さらに実際にＳＡＮストレージ装置、ＳＡＮのネットワーク設定などを設定してＬＵとサーバ識別子７０１であるＷＷＮとの対応付けを変更する操作となる。
【００８３】
ＯＳが動作するという判定結果を得られなかった場合、管理サーバ１３０はＯＳが動作するという判定結果が得られなかったことを対応付け変更操作の指示者(運用管理者など)に通知し、操作を継続して続行するか確認を求める(ステップ１３１１)。通知方法と確認方法の例としてはユーザインターフェースに「指定されたサーバには動作実績がありません。対応付け変更を続行しますか（Y/N）」といった内容のダイアログを表示して方法などがある。管理者は「Yes」「Ｎｏ」といった入力を回答として入力する。
【００８４】
ステップ１３１１において入力された結果が対応付け変更操作を継続する指示であった場合はステップ１３１０を実行する。それ以外であった場合は処理を終了する(ステップ１３１２)。
【００８５】
以上の動作フローにより、たとえば管理者がＯＳディスクイメージ１２０と管理対象サーバ１０１の対応付けを変更しようとした場合に、管理者が指定したＯＳディスクイメージ１２０と管理対象サーバ１０１の組み合わせにおいてＯＳがデバイス認識、論理的設定の割り当て、業務レベルでの動作の各レベルで動作しない状況になることを事前に察知して管理者に通知することができ、管理者の操作ミス、あるいは、物理サーバの部品交換などにより潜在的に発生しうる本来は意図していないＯＳの誤動作が起こることを未然に防ぐことが出来る。
【００８６】
図１３中のステップ１３０４で参照された、デバイス構成情報調査フローの一例について、図１４を用いて説明する。
【００８７】
デバイス構成情報調査フローは管理サーバ１３０と管理対象サーバ１０１が相互に動作することによって実行される。
【００８８】
管理サーバは管理対象サーバ１０１に調査用ＯＳディスクイメージ３０２を使用してシステムを起動するように指示する(ステップ１４０１)。管理対象サーバ１０１は管理サーバの指示を受けて電源をオンにして(ステップ１４１１)、管理サーバ１３０から調査用ＯＳディスクイメージ３０２を取得し、実行する(ステップ１４１２)。このステップ１４０１、１４１１、１４１２の実現方法の例としてはＷａｋｅ−ｏｎ−ＬａｎとＰＸＥブートとを組み合わせて行なう方法がある。管理サーバ１３０と管理対象サーバ１０１はＮＩＣを通して通信する。管理対象サーバ１０１はＷａｋｅ−ｏｎ−Ｌａｎに対応したＮＩＣを持ち、管理サーバ１３０から通知される特定のパケットを受けて電源をオンにする。管理サーバ１３０はＰＸＥブート対応のサーバ機能を持ち、調査用ＯＳディスクイメージを管理対象サーバに配信する。管理対象サーバ１０１はＰＸＥブート対応のクライアント機能を持ち、調査用ＯＳディスクイメージを取得・実行する。
【００８９】
調査用ＯＳは起動後に図１１に示されるような管理対象サーバ１０１のデバイス構成を取得する(ステップ１４１３)。たとえば、ＰＣＩデバイスにおいては、起動時にＰＣＩバス番号１１０１〜デバイスＩＤ１１０５がメモリの所定の位置に書き込まれるため、その内容を読み取る動作などにより実装可能である。
【００９０】
調査用ＯＳはステップ１４１３で取得したデバイス構成情報を図１１の物理デバイス構成情報送信メッセージの形式に整形し、管理サーバ１３０に送信する(ステップ１４１４)。その後電源をオフにする(ステップ１４１５)。
【００９１】
管理サーバ１３０は、ステップ１４１４において送信された物理デバイス構成情報送信メッセージを取得して、処理を要求したコンポーネントに引き渡す（ステップ１４０３）。
【００９２】
最後に、図１３中のステップ１３０６で参照された、ＯＳ動作判定実行フローの一例について、図１５を用いて説明する。
【００９３】
ＯＳ動作判定部１３５は、他のコンポーネントから図１１の物理デバイス構成情報送信メッセージと、ＯＳ動作推定部１３４がＯＳの動作を推定した結果のＯＳデバイス認識情報テーブル(図９に図示)を入力として受け取り、その２つを参照してＯＳが動作するか否かを判定する。以下、ＯＳデバイス認識情報テーブルをリストＸと呼ぶ（ステップ１５０１）。
【００９４】
以降の処理において、ＯＳの動作判定をした結果を格納する保存領域を単純に判定結果と呼ぶ。判定結果はメモリ中などに確保された保存領域であれば良い。判定結果の初期値は「動作可」であるとする(ステップ１５０２)。
【００９５】
ＯＳ動作判定部１３５は、図１２のＯＳ動作判定ルールの個々のルールに対してステップ１５０３〜１５０６を繰り返し実行する(ステップ１５０３)。以下では、本ステップで選択した項目を条件Ａと呼ぶ。
【００９６】
ＯＳ動作判定部１３５はリストＸに含まれるデバイスの中から、図１２の説明において前述した規則に従って条件Ａに適合するものを選択する（ステップ１５０４）。以下では、本ステップの結果選択されたデバイスの一覧をリストＹと呼ぶ。選択されたデバイス数が図１２中の最低必要個数１２０４、最大許容個数１２０５で示される範囲内に収まる場合、ステップ１５０５〜ステップ１５０７を実行する(ステップ１５０５)。前記の範囲内に収まらない場合はステップ１５１０を実行する。
【００９７】
ステップ１５０４で選択したそれぞれのデバイスに対応するデバイスドライバ情報(以下、デバイスドライバ情報Ｂと呼称)に対してステップ１５０７〜ステップ１５０９を実行する(ステップ１５０６)。
【００９８】
デバイスドライバ情報Ｂに含まれる動作実績の状態が「動作実績有り」であるか確認する。「動作実績有り」であればリストＹ中の次のデバイスドライバ情報の処理に移る(ステップ１５０７)。
【００９９】
デバイスドライバ情報Ｂが条件Ａに含まれるＯＳ設定１２０８に適合するかどうかを確認する。確認方法は図１２のＯＳ設定１２０８の説明で示した方法で行なう。ＯＳ設定１２０８中には、ＩＰアドレス、チーミングなど複数の項目がある場合がある。この場合は、それぞれの項目に対して個別に適合するか確認する(ステップ１５０８)。
結果として、適合しないことが判明した場合、ステップ１５１０を実行する。適合することが判明した場合、判定結果を「ＯＳ設定のみ確認」という状態に上書きする(ステップ１５０９)。
【０１００】
もし、動作実績がなく、なおかつＯＳ設定条件Ｂは条件ＡのＯＳ設定と等しくない場合、判定結果を「動作不可」の状態に上書きし、ステップ１５１１を実行する(ステップ１５１０)。
【０１０１】
前記のいずれかの処理において最後に上書きされた判定結果の値を、ＯＳ動作判定部の判定結果として他のコンポーネントに返す(ステップ１５１１)。
【実施例２】
【０１０２】
OSディスクイメージ１１１と管理対象サーバ１０１の対応付けを変更する場合、管理者が目的とすることは、業務アプリケーションを稼働させるハードウェアをシステム中に存在する複数の候補から選択することであることが多い。業務アプリケーションは特定のOSディスクイメージ１１１に含まれるため、選択肢は必然的に１つに絞られることが一般的である。その結果、運用管理者がOSディスクイメージ１１１と管理対象サーバ１０１の対応付けを変更する場合に行なう作業は（ａ）ＯＳディスクイメージ１１１を選択する、（ｂ）ＯＳディスクイメージが正常に動作する管理対象サーバ１０１を探し出す、の２つの手順を（ａ）（ｂ）の順で実行することになる。
【０１０３】
実施例１では、運用管理者などが指定したサーバと、管理者などが指定したＯＳディスクイメージの組み合わせを指定された場合においてＯＳが正常に動作するか否かを判定した。実施例１の方法では、システム上の複数の管理対象サーバからＯＳディスクイメージが正常に動作するサーバを特定するためには、運用管理者が一台ずつサーバのＯＳ動作判定を確認しなければならない。
【０１０４】
実施例２では、運用管理者の確認作業の負荷を軽減するために、実績が確認できたサーバのみを管理者に提示して、その中から管理者などが適切なサーバを選択する操作を行なうようにする。
【０１０５】
実施例２では、実施例１と同一のシステム構成であることを前提とする。ただし、実施例１では管理者などの、サーバとOSディスクイメージの対応付け操作者は図１３の動作フローによって、対応付け変更操作を実施したが、実施例２では図１６に示すサーバとＯＳディスクイメージ組み合わせでの動作判定処理フローのように変更する。
【０１０６】
まず、管理サーバ１３０は、ステップ１３０１と同様の方法を用いて、OSディスクイメージ識別子７０２を入力として受け取る(ステップ１６０１)。このとき、サーバ識別子６０１を入力として受け取る必要はない。
【０１０７】
次に、サーバ割り当て状態管理テーブル３０１に含まれるそれぞれのサーバに対して、ステップ１６０３〜ステップ１６０６を実行する(ステップ１６０２)。以下では、前記の各サーバをサーバAと呼称する。また、以降の処理ではサーバ動作保証リスト、サーバ動作可能リストを使用するが、これらのリストは動作が確認されたサーバを記録しておくためのリスト形式のデータである。前記のリストは、ステップ１６０１を実行し、ステップ１６０２の繰り返し処理を行う前にクリアしておくものとする。前記のリストはメモリ中に保存すればよい。
【０１０８】
サーバ割り当て状態管理テーブル３０１のサーバAに対応する割り当て済み状態６０３が「割り当て済み」であるかどうか確認する。「割り当て済み」ではない場合にはステップ１６０４からステップ１６０６を実行する(ステップ１６０３)。
【０１０９】
サーバAのサーバ識別子６０１、および、前記ステップ１６０１で入力されたOSディスクイメージ識別子を用いて、図１３のステップ１３０２〜ステップ１３０９を実行する(ステップ１６０４)。ただし、ステップ１３０７ではユーザインターフェースを用いて「動作不可」という表示して確認を求める処理に替わって、「動作不可」という判定結果を記録してステップ１６０５〜ステップ１６０６を実行する。
【０１１０】
ステップ１６０４の実行結果が、「OSの動作実績有り」であった場合、サーバAをサーバ動作保証リストに追加する(ステップ１６０５)。
【０１１１】
ステップ１６０４の実行結果が、「OSの動作可能」であった場合、サーバAをサーバ動作可能リストに追加する(ステップ１６０６)。
【０１１２】
サーバ割り当て状態管理テーブル３０１中のすべてのサーバAに対して前記ステップ１６０２〜ステップ１６０６を実行した後に、管理サーバ１３０はユーザインターフェースなどを通して、動作保証リスト、動作可能リストに含まれるサーバの一覧を操作者に提示する(ステップ１６０７)。このとき、表示される各サーバが動作保証リスト、動作可能リストのいずれに含まれるかを区別できるようにする。たとえば、リスト中のサーバに、動作保証、動作可能のそれぞれにおいて異なるアイコンを付与して表示するようにするなどの方法がある。
【０１１３】
操作者はステップ１６０７で表示されたサーバの中から１つのサーバを選択する(ステップ１６０８)
管理サーバ１６０９は図１３のステップ１３０９と同様の処理により、管理対象サーバ１０１とOSディスクイメージ１１１の対応付けを変更する(ステップ１６０９)。
【０１１４】
サーバ割り当て状態管理テーブルの、前記ステップ１６０８で選択されたサーバ識別子に対応するエントリの割り当て状態を「割り当て済み」に変更する(ステップ１６１０)。
【０１１５】
上記の動作により、管理者はすべてのサーバについてOSディスクイメージ１１１の動作判定を試す必要がなく、動作が保証されたサーバの中から選択を行なうことができ、作業が効率化できる。また、動作実績が過去に保証されているか、論理的に動作可能であることが推定できるレベルで保証されているのであるかを比較することが容易であり、OSディスクイメージ１１１を対応付けるサーバを複数の候補から選択する場合に選択の判断を行なう作業に有用な支援効果をもたらす。
【実施例３】
【０１１６】
図１７は、本実施例のシステム構成図である。管理サーバや管理対象のサーバは、実施例１のそれらと細部において異なるので、新たに符号を付けている。したがって、符号の異なりが必ずしも異なることを表していない。
【０１１７】
管理サーバ１は、管理用ネットワーク３を介して、管理対象のサーバ２と接続している。管理対象のサーバ２として１台のサーバを図示しているが、複数台であっても良い。管理サーバ１及びサーバ２は、ストレージ装置のLU５にアクセスできるようにストレージエリアネットワーク（SAN）４に接続している。また、管理サーバ１及びサーバ２は、他のサーバと通信するために通信ネットワーク６に接続している。実際の通信においては、管理サーバ１の通信相手は管理対象のサーバ２であるが、サーバ２の通信相手は他の管理対象のサーバ２であっても良いし、管理対象外のサーバやサーバ２のサービスを受けるクライアントコンピュータであっても良い。
【０１１８】
サーバ２は、SAN4に接続するためのI/Oデバイス７としてHBAを、通信ネットワーク６に接続するためのI/Oデバイス７としてNICをそれぞれ用意している。図１７では、HBAとしてHBA１及びHBA２を示し、NICとしてNIC１、NIC２及びNIC３を示している。
【０１１９】
実施例１で説明したOSディスクイメージがサーバ２にロードされている状態を図１７は示している。OSディスクイメージには、前述のようにOS２０、I/Oドライバ（I/Oデバイスドライバ）２１及びアプリケーションプログラム２５が含まれている。図１７では、I/Oドライバ２１はOS２０に含まれるように図示し、各I/OドライバはI/Oデバイス７に対応している。NIC２は、サーバ２に用意されているが、現状のOSディスクイメージからは使用されていないことを図示している。HBA１及びHBA２に対応付けられているI/Oドライバ２１は、いずれも「ドライバ１」である。これは、HBA１及びHBA２のいずれもが、ドライバ２１の種別として同じ「ドライバ１」によって動作することを示している。しかしながら、前述の設定情報は、HBA１とHBA２では異なるので、設定情報を含めたI/Oデバイスドライバプログラムとして個々に用意しても良いし、設定情報を個々に用意してプログラムを共用しても良い。
【０１２０】
図１８は、管理サーバ１が有するI/Oデバイス構成テーブルを示す。I/Oデバイス構成テーブルは、サーバ２が有する各I/Oデバイス７のID１１とI/Oデバイス種別１２を対応付けて格納している。図１８では、説明を簡略化して分かり易くするために代表的な項目としてID１１とI/Oデバイス種別１２を示しているが、図９に示したベンダIDなどのI/Oデバイス７のハードウエアとして固有な情報を含んでも良い。I/Oデバイス構成テーブルの内容は、サーバ２を構築(設置)する際の仕様として決定する内容であり、管理サーバ１のユーザインタフェースを介してデーブルを初期設定する。また、サーバ２の運用を開始した後にも仕様変更に伴い、I/Oデバイス７の構成を変更することがあるが、初期設定と同様に設定する。しかし、I/Oデバイス７の構成を変更しても、I/Oデバイス構成テーブルの設定を変更しない場合もあり、そのような場合に備えてI/Oデバイス７の構成を取得する処理を設ける。この処理については後述する。
【０１２１】
図１８は、図１７のサーバ２が有するI/Oデバイス７の構成に対応している。図１７のHBA１とHBA２は同じI/Oデバイス種別HBAであり、ID11がWWN1とWWN2である。NICは、I/Oデバイス種別１２がNIC（A）とNIC（B）があり、NIC（A）のID１１はMAC１であり、NIC（B）のID１１はMAC２とMAC３であることを示している。
【０１２２】
図１９は、サーバ２において現状のOSディスクイメージが認識している(使用する)I/Oデバイス７に関する情報を管理するために、管理サーバ１に設けるI/Oデバイス認識テーブルを示す。図１８のI/Oデバイス構成テーブルをサーバ２に対応させて設けるのに対して、図１９のI/Oデバイス認識テーブルはOSディスクイメージに対応させて設ける。
【０１２３】
I/Oデバイス認識テーブルは、I/O１４、ドライバ種別１５、I/Oデバイス種別１６、I/OデバイスのID１７及びI/Oデバイス７の接続先１８の各欄を設けている。I/O１４は、アプリケーションプログラム２５が、I/Oデバイス７にアクセスする際に用いる論理的な名称又はI/Oデバイス７の識別子である。アプリケーションプログラム２５からI/Oデバイス７にアクセスするコマンド（入出力コマンドや送受信コマンド）が発行されると、OS２０は、対応するドライバ種別１５のI/Oデバイスドライバプログラムを実行し、対応するI/Oデバイス種別１６及びID１７のI/Oデバイスを動作させ、接続先１８に示される相手との間でコマンドに従った処理を実行する。以上のサーバ２における説明から分かるように、I/Oデバイス認識テーブルの内容はOSディスクイメージに設定されている内容である。したがって、OSディスクイメージを生成する際に、その仕様に従って、管理サーバ１のユーザインタフェースを介してI/Oデバイス認識デーブルを初期設定する。また、OSディスクイメージの運用を開始した後にも仕様変更に伴い、I/Oデバイス７の構成の変更やOSディスクイメージの仕様を変更することがあるが、初期設定と同様に設定する。しかし、I/Oデバイス７の構成を変更しても、I/Oデバイス認識テーブルはOSディスクイメージに対応して設けるので、必ずしもI/Oデバイス認識テーブルの設定を変更できるとは限らない。そのような場合に備えてI/Oデバイス認識テーブルの設定をI/Oデバイス７の構成に対応させる、対応させられない場合はそのOSディスクイメージのサーバ２における実行を不可とする処理を設ける。この処理については後述する。
【０１２４】
図１９のI/Oデバイス認識テーブルは、図１７のサーバ２上のOSディスクイメージが使用するI/Oデバイス７の構成に対応している。具体的なテーブル内容に関しては、管理サーバ１がI/Oデバイス認識テーブルを用いる動作例の中で後述する。
【０１２５】
図２０は、図１７のOSディスクイメージをロードして実行しようとする他のサーバ２、または図１７のOSディスクイメージを実行していた、図１７の構成から時間が経過したサーバ２を含むシステム構成である。図２０示すI/Oデバイスの構成は、図１７示すI/Oデバイスの構成から次の２点が変化している。HBA２のサーバ２における搭載場所(実装位置)の変化とNIC３が存在しない点である。このような変化に伴い、図１７に示したアプリケーション２５を含むOSディスクイメージをロードして実行しても、NIC３にアクセスするとエラーが発生し、HBA２にアクセスするとエラーが発生する可能性がある。
【０１２６】
前述したように、管理サーバ１が有するI/Oデバイス構成テーブルが、図２０示すI/Oデバイスの構成に対応していない場合がある。
【０１２７】
そこで、I/Oデバイス構成取得プログラム２２を含むOSディスクイメージをサーバ２にロードして実行する。このOSディスクイメージは図４に示した調査用OSイメージに相当し、管理サーバ１が管理対象としているサーバ２に搭載されるI/Oデバイスの種別に対応するI/Oデバイスドライバプログラムを有している。
【０１２８】
図２１に、I/Oデバイス構成取得プログラム２２の処理フローチャートを示す。サーバ２に搭載されるI/Oデバイスを順次チェックする(Ｓ３０)。未チェックのI/Oデバイスを選択する(Ｓ３１)。選択したI/Oデバイスに適合するドライバ種別を見つけるために、I/Oデバイスドライバプログラムの動作を順次チェックする（Ｓ３２）。未チェックのI/Oデバイスドライバプログラムを選択し、実行する（Ｓ３３）。I/Oデバイスドライバプログラムの選択は、ＯＳ２０が有するドライバ管理テーブルを用いる。
【０１２９】
図２２に、ドライバ管理テーブルを示す。ドライバ管理テーブルは、ドライバ種別４０、ドライバ先頭アドレス４１、設定情報先頭アドレス４２、設定情報４３を有する。ドライバ種別４０、ドライバ先頭アドレス４１、及び設定情報先頭アドレス４２は、OSディスクイメージを生成する際に設定される。したがって、I/Oデバイスドライバプログラムの選択は、ドライバ管理テーブルのドライバ種別４０のI/Oデバイスドライバプログラムを先頭から順次選択する。選択したI/Oデバイスドライバプログラムの、ドライバ先頭アドレス４１にある先頭アドレス（開始アドレス）から実行する。実行開始に際して、I/Oデバイス構成取得プログラム２２は、I/Oデバイスにファームウエアとして設定されているI/Oデバイスの設定情報を読み取るようにパラメータを引き渡す。I/OデバイスドライバプログラムがI/Oデバイスに適合していれば正常に設定情報を読み取れるが、不適合であるとI/Oデバイスからエラー応答が得られる又は応答が得られない(タイムアウトエラー)。正常に読み取られた設定情報は、設定情報先頭アドレス４２からの設定情報エリアに格納される。設定情報エリアは、設定情報４３に示すように、先頭から順次設定情報とその容量(バイト数)に区切られている。図２２のドライバ１においては、設定情報先頭アドレス４２のxxxx番地から設定情報が格納され、その中にWWNがｍバイトで格納されることを示している。
【０１３０】
図２１に戻り、説明する。I/Oデバイスドライバプログラムからの応答がエラー応答の場合は、Ｓ３２に戻り、新たにI/Oデバイスドライバプログラムを選択する。適合するI/Oデバイスドライバプログラムがない場合は、その旨をI/Oデバイスに対応付けて記憶する（Ｓ３７）。I/Oデバイスドライバプログラムからの応答が正常応答の場合は、設定情報先頭アドレス４２及び設定情報４３を参照して、I/Oデバイス種別を取得し(Ｓ３５)、I/OデバイスのIDを取得する。サーバ２に搭載されているすべてのI/Oデバイスのチェックが完了したならば、取得したI/Oデバイス種別及びI/OデバイスのIDを管理サーバ１に管理用ネットワーク３を介して送信する（Ｓ３８）。Ｓ３７において、適合するI/OデバイスドライバプログラムがないI/Oデバイスを記憶していれば、記憶してある内容も送信する。
【０１３１】
一般にI/Oデバイスドライバプログラムのインターフェース仕様がI/Oデバイスの仕様として、I/Oデバイスのベンダから公開されるのでI/Oデバイスドライバプログラムを用いたI/Oデバイスの特定を説明したが、設定情報が格納されているファームウエア（ＲＯＭ）のアドレスが公開されている場合は、I/Oデバイス構成取得プログラム２２が直接的に設定情報を読み取っても良い。
【０１３２】
サーバ２からI/Oデバイス種別及びI/OデバイスのIDを受信すると、管理サーバ１は図２３に示すようにI/Oデバイス構成テーブルを更新する。図２３には、図１８に示すI/Oデバイス構成テーブルに加えて、Ｎｏの欄１０、及び対応付けフラグ欄１３を設けている。対応付けフラグ欄１３に関しては後述する。図２３は、図２０のサーバ２に搭載されたI/Oデバイスの構成を示しているが、Ｎｏ１、Ｎｏ３及びＮｏ４のI/Oデバイスは、図１７の構成と同じであり、Ｎｏ２はI/OデバイスのＩＤが異なることを示している。また、図１８に示したI/OデバイスのID１１がMAC３のI/Oデバイスがないことも表している。
【０１３３】
管理サーバ１は、図１９に示したI/Oデバイス認識テーブル、すなわち実行しようとしているOSディスクイメージに対応したI/Oデバイス認識テーブルをワークエリアにコピーする。図２４（a）にコピーしたI/Oデバイス認識テーブルを示す。コピーしたI/Oデバイス認識テーブルに、図２４（ｂ）に示すように変更通知フラグ欄19を加える。
【０１３４】
管理サーバ１は、図２３のI/Oデバイス構成テーブル及び図２４のI/Oデバイス認識テーブルが準備できたなら、図２５に示す処理を実行する。
【０１３５】
図２５は、サーバ２でのOSディスクイメージの動作判定処理のフローチャートである。I/Oデバイス認識テーブルのI/Oを順次選択し、チェックする（Ｓ５０）。選択したI/OのI/Oデバイス種別１６とＩＤ１７とが一致するI/Oデバイスが、I/Oデバイス構成テーブルにあるかを判定する（Ｓ５２）。一致しなければ、I/Oデバイス構成テーブルを順次チェックし（Ｓ５４）、I/Oデバイス種別１６に一致するものがI/Oデバイス構成テーブルにあるかをチェックする（Ｓ５６）。個々では、I/Oデバイス種別１６を代表させて説明しているが、I/Oデバイスの型式なども含めて、OSディスクイメージが使用しているI/Oデバイスに係る情報の変更可能範囲をチェックしている。I/Oデバイス種別１６に一致するものがI/Oデバイス構成テーブルにあれば、I/Oデバイス構成テーブルのそのI/Oデバイス種別１２に対応する対応付けフラグ１３がオンであるかをチェックする（Ｓ５８）。対応付けフラグ１３がオフである場合、I/Oデバイス認識テーブルのそのI/OデバイスのＩＤ１７を変更し、変更通知フラグ１９をオンにする（Ｓ６０）。続いて、I/Oデバイス構成テーブルの対応付けフラグ１３をオンにする。I/Oデバイス認識テーブルのすべてのI/Oデバイスに関して対応付けが完了したら、変更通知フラグ１９がオンのI/Oデバイスに関する変更内容を、OSディスクイメージを変更するプログラムに通知する（Ｓ６４、Ｓ６６）。OSディスクイメージを変更するプログラムは、外部記憶装置に格納されているOSディスクイメージを変更するために管理サーバ１に設けてある。OSディスクイメージを変更するプログラムをサーバ２に設けても良いが、更に次の機会にOSディスクイメージを実行する場合、外部記憶装置に格納されているOSディスクイメージが変更されていないので、動作判定処理を再度実行する必要がある。Ｓ５４でI/Oデバイス構成テーブルをチェックしても対応付けができないときは、サーバ２において実行させようとしているOSディスクイメージは動作不可であることを、管理サーバ１のユーザインタフェースを介して管理者に警告する（Ｓ６８）。
【０１３６】
図２５の処理を具体例で示す。図２４のI/O１を選択し、I/Oデバイス構成テーブルをチェックすると(Ｓ５２)、Ｎｏ１のI/OデバイスのI/Oデバイス種別１２及びＩＤ１１が同一であるので、対応付けフラグをＯＮにする。図２３は、この状態を示している。次に図２４のI/O２を選択し、I/Oデバイス構成テーブルをチェックすると(Ｓ５２)、I/Oデバイス種別１２及びＩＤ１１が同一のものがなく（Ｓ５２）、I/Oデバイス種別１２が一致（ここでは、ＨＢＡ）するものがあり（Ｓ５６）、対応付けフラグ１３はオフであるので、I/Oデバイス認識テーブルのＩＤ１７を変更し、変更通知フラグ１９をオンにする。この様子を、ＷＷＮ２（図２４（a）のI/O２）からＷＷＮ３（図２４（ｂ）のI/O２）への変化で示している。同様にI/O６のID１７がＭＡＣ３からＭＡＣ２へ変化している。
【０１３７】
図２４（a）のI/Oデバイス認識テーブルは、コピーして作成すると前述したが、元のI/Oデバイス認識テーブルを順次変更すると、OSディスクイメージが用いる全てのI/Oをサーバ２のI/Oデバイスに対応付けられないときに、I/Oデバイス認識テーブルを元の状態に戻せないからである。OSディスクイメージが用いる全てのI/Oをサーバ２のI/Oデバイスに対応付けられたときには、ワークエリアで変更したI/Oデバイス認識テーブルの内容を元のI/Oデバイス認識テーブルに書き戻せばよい。
【０１３８】
以上により、I/Oデバイス認識テーブルは図２４（ｂ）に示すようになる。このI/Oデバイス認識テーブルの内容に従って変更されたOSディスクイメージは、サーバ２にロードされると、I/Oデバイスドライバ２１とI/Oデバイス7との対応は、図２６に示すシステム構成となる。具体的には、I/Oデバイスドライバ２１とI/Oデバイス7とが双方向矢印で示すように新たに対応付けられている。
【０１３９】
本実施例によれば、OSディスクイメージの実行する前に、実行するサーバのI/Oデバイス構成がOSディスクイメージに適合するかを確認できる。
【０１４０】
OSディスクイメージは、その一部に修正の必要性が生じたら、OSディスクイメージを全体として再生成する前提に使用されてきた。一部の修正がアプリケーションプログラムの修正であれば再生成しなければならないが、実行環境としてのサーバのI/Oデバイス構成に変化が生じたときにも再生成を必要とすることは、利便性を損なう。本実施例によれば、サーバのI/Oデバイス構成がOSディスクイメージのI/Oデバイス構成と一致（包含でも良い）していなくとも、設定情報を変更して対処できる場合が増えるので、従来に得られなかった利便性が得られる。
【実施例４】
【０１４１】
実施例１は、ＯＳディスクイメージが管理者などによって指定された物理サーバ上で稼働するか否かを、ＯＳディスクイメージ割り当て直前に調査する例である。実施例1では、多数のサーバの割り当てを変更する場合、あるいは即時の割り当て変更が必要な場合に、ＯＳディスクイメージ割り当てを管理者が指示してからその可否が判明するまでに時間を要する。そこで、本実施例では、特にI/Oデバイスに焦点を絞り、管理者がＯＳディスクイメージを物理サーバに割り当てる作業を高速化する。
【０１４２】
本実施例のシステム構成例を図２７に示す。本実施例では、実施例１の構成に加えて、装置としてサーバ構成変更検知モジュール２７０１を新たに導入する。また、管理サーバ１３０にＯＳディスクイメージ動作判定テーブル２７０２を追加する。
【０１４３】
サーバ構成変更検知モジュール２７０１は１つ以上の管理対象サーバの物理構成を管理するモジュールであり、CPU、メモリを備え、事前に定義されたプログラムを実行可能な機器として構成される。また、ネットワークインターフェースを持ち、管理サーバと通信してデータを送受信する機能を持つ。サーバ構成変更検知モジュール２７０１では、管理対象サーバ上のＩ/Ｏデバイスが追加された場合にその構成を検知する機能を持つ。検知の一例としては、I/Oデバイスがスロットに挿入された場合に、I/Oデバイス上のマイクロコードが専用バスに割り込みを送信し、その割り込みを前記サーバ構成変更検知モジュール２７０１が取得する。このとき、サーバ構成変更モジュールは割り込みが起こったサーバモジュールは、割込みを起こしたサーバの構成情報を取得する機能、および、管理対象サーバのBIOS(Basic  Input  Output  System)と同等の方法でI/Oデバイスの情報を取得する機能を備える。すなわち、サーバ構成変更検知モジュール２７０１は、サーバのI/Oデバイス構成が変更された場合に、変更された部分のみについて、サーバ物理構成調査部１３３が取得するデバイス構成情報と同等の内容を取得する。また、サーバ構成変更検知モジュールは、調査用OSと同一の手順で、変更された部分のみを含むデバイス構成情報を管理サーバに送信する機能を有する。
【０１４４】
前記の検知フローは管理対象サーバ上でOSが稼働しているか否かにかかわらず、管理対象サーバに追加されたI/Oデバイスとサーバ構成変更モジュール２７０１の動作のみで実行可能である。また、I/Oデバイスがスロットから抜去された場合にもその検知をサーバ構成変更モジュールが行なう。  OSディスクイメージ動作判定テーブル２７０２は、管理サーバが管理するOSディスクイメージと、管理サーバが管理する管理対象サーバの組み合わせのそれぞれにおいて、動作判定結果のリストを保持する。動作判定結果は、OSディスクイメージに対応付けられた個別のOS動作判定ルールと、その動作判定ルールに対する図１５のステップ１５０４〜１５０９で判定した結果の組をリストとして記録している。個別のOS動作判定ルールの一例は図１２に示す動作判定ルール３０４の各行が表す1つのルールである。
【０１４５】
次に、本実施例における動作フローについて説明する。本実施例では、実施例１と比較して、二点の変更がある。
【０１４６】
まず第一点目として、デバイスのハードウェア構成が変更された時点で、サーバ構成変更検知モジュールが変更された部分のみを含むデバイス構成情報を管理サーバに送信、変更点のみに対するＯＳ動作推定部１３４の処理、および、図１５に示すOS動作判定処理のフローの実行を行い、ＯＳ動作判定結果をＯＳディスクイメージ動作判定テーブル２７０２に格納する。
【０１４７】
二点目の変更点としては、図１６に示すサーバとＯＳディスクイメージ組み合わせでの動作判定処理フローにおけるステップ１６０４において、ＯＳ動作判定処理フローを実行する代わりに、図２７０２に格納された動作判定処理フローの実行結果のリストの中で最も動作実績がないケースの結果をステップ１６０４の判定結果として後続の判定を行なうこととする。
【０１４８】
第一点目の変更点において、動作判定処理のフローの実行を行い、ＯＳ動作判定結果を格納するＯＳディスクイメージ動作判定テーブル２７０２の一例を図２８に示す。ＯＳディスクイメージ動作判定テーブル２７０２は、OSディスクイメージ識別子２８０１で示されるＯＳディスクイメージが、動作可能サーバ識別子２８０２で示されるサーバで動作するかを判定した動作判定結果を格納するテーブルである。それぞれの動作判定結果には、２８１１、２８１２で示されるように、図１２のＯＳ動作判定ルールに含まれる、個々のルールに対して、図１５のステップ１５０２〜１５１１を実行した動作判定結果を格納する。
【図面の簡単な説明】
【０１４９】
【図１】計算機システム構成例である。
【図２】サーバ（計算機）の構成例である。
【図３】ＯＳディスクイメージの構成例である。
【図４】管理サーバの構成例である。
【図５】サーバ物理構成取得部とサーバ−OSディスクイメージ対応付けプログラムとの関連を示す図である。
【図６】サーバ割り当て状態管理テーブルの一例である。
【図７】サーバ-ＯＳディスクイメージ対応付けテーブルの構成例である。
【図８】OSディスクイメージ-デバイス認識情報対応付けテーブルの構成例である。
【図９】デバイス認識情報テーブルの構成例である。
【図１０】ＯＳデバイス認識情報を収集する動作のフローチャートである。
【図１１】物理デバイス構成情報送信メッセージの構成例である。
【図１２】ＯＳ動作判定ルールである。
【図１３】サーバとＯＳディスクイメージ組み合わせでの動作判定処理フローチャートである。
【図１４】物理サーバからのデバイス構成情報取得処理フローチャートである。
【図１５】ＯＳ動作判定処理のフローチャートである。
【図１６】サーバとＯＳディスクイメージ組み合わせでの動作判定処理のフローチャートである。
【図１７】システム構成図である。
【図１８】I/Oデバイス構成テーブルである。
【図１９】I/Oデバイス認識テーブルである。
【図２０】システム構成である。
【図２１】I/Oデバイス構成取得プログラムの処理フローチャートである。
【図２２】ドライバ管理テーブルである。
【図２３】I/Oデバイス構成テーブルである。
【図２４】I/Oデバイス認識テーブルである。
【図２５】ＯＳ動作判定処理のフローチャートである。
【図２６】システム構成である。
【図２７】計算機システム構成例である。
【図２８】OSディスクイメージ動作判定テーブルである。
【符号の説明】
【０１５０】
１０１〜１０３、２：サーバ、１１１：ＯＳディスクイメージ、１２０：デバイス認識情報テーブル、１３０、１：管理サーバ、１３１：サーバ物理構成取得部、１３２：デバイス認識情報テーブル管理部、１３３：サーバ物理構成調査部、１３４：ＯＳ動作推定部、１３５：ＯＳ動作判定部、１３６：ユーザインターフェース、１４０：ＯＳデバイス認識情報送信部。
【図１】
2010152704.tif 000003
【図２】
2010152704.tif 000004
【図３】
2010152704.tif 000005
【図４】
2010152704.tif 000006
【図５】
2010152704.tif 000007
【図６】
2010152704.tif 000008
【図７】
2010152704.tif 000009
【図８】
2010152704.tif 000010
【図９】
2010152704.tif 000011
【図１０】
2010152704.tif 000012
【図１１】
2010152704.tif 000013
【図１２】
2010152704.tif 000014
【図１３】
2010152704.tif 000015
【図１４】
2010152704.tif 000016
【図１５】
2010152704.tif 000017
【図１６】
2010152704.tif 000018
【図１７】
2010152704.tif 000019
【図１８】
2010152704.tif 000020
【図１９】
2010152704.tif 000021
【図２０】
2010152704.tif 000022
【図２１】
2010152704.tif 000023
【図２２】
2010152704.tif 000024
【図２３】
2010152704.tif 000025
【図２４】
2010152704.tif 000026
【図２５】
2010152704.tif 000027
【図２６】
2010152704.tif 000028
【図２７】
2010152704.tif 000029
【図２８】
2010152704.tif 000030