以下、図面を参照して、一実施形態に係る情報システム情報処理装置、情報処理方法、及びプログラムについて説明する。以下の実施形態の構成は例示であり、本情報システムは実施形態の構成には限定されない。なお、以下の実施の形態の記載において、Basic Input/Output System(BIOS)には、従来のLegacy BIOSと呼ばれるものの他、Unified Extensible Firmware Interface (UEFI)と呼ばれるものを含む。
[比較例]
図1から図9により、比較例に係る情報システム300を例示する。図1は、比較例に係る情報システム300の構成を例示する図である。比較例の情報システム300は、クライアントマシン301と、管理端末305と、管理サーバ302と、Layer 2(L2)
スイッチ309とを有している。また、管理サーバ302は、管理処理部320とPXEサーバ21を有している。管理処理部320とPXEサーバ21は、一体のサーバでもよいし、別体の複数のコンピュータを組み合わせたものであってもよい。また、PXEサーバ21は、DHCPサーバ211と、TFTPサーバ212と、NBP213を格納する記憶装置とを有する。PXEサーバ21は、一体のサーバでもよいし、PXEサーバ21として別体のDHCPサーバ211と、TFTPサーバ212と、NBP213を格納する記憶装置を含むサーバとが連携するシステムであってもよい。比較例の情報システム300は、さらに、OS等を提供するFTPサーバ31と、PXEサーバ21Aと、FTPサーバ31Bと、DHCPサーバ211Bを有する。PXEサーバ21Aは、管理処理部20Aと、DHCPサーバ211Aと、TFTPサーバ212Aとを含む。さらに、PXEサーバ21Aは、FTPサーバ31Aと、NBP213Aを格納する記憶装置と、OSイメージ等を格納する記憶装置とを有している。これらのPXEサーバ21、21A等は、例えば、クラウドにおいてサーバ、ストレージ、ネットワークをまとめて管理する管理ツールを含む。ただし、情報システム300の構成が図1のものに限定される訳ではない。情報システム300は、図1の構成の他、さらに、PXEサーバ/FTPサーバ/DHCPサーバ等を有する構成であってもよい。
クライアントマシン301は、管理側の装置として、Base Management Controller(BMC)310、外部記憶装置313C、NIC316-1を有している。また、クライアントマシン301は、BIOS312Bを記憶するRead Only Memory(ROM)、及び運用側装置310Aを有している。
BMC310は、運用側装置310Aのハードウェア、例えば、CPU、メモリ、温度等の監視、リモートコントロール、ハードウェアイベントの記録などを行う。BMC310は、運用側装置310Aとは独立した電源で動作し、独立した通信手段によりシステム管理者と通信するプロセッサということができる。BMC310は、監視対象の装置のマザーボードまたはメイン基板に含まれている。
BMC310は外部記憶装置313Cを接続し、各種情報を保存する。NIC316-1は、BMC310が使用する通信手段である。NIC316-1が接続されるLocal Area Network(LAN)は管理LANと呼ばれる。なお、NIC316-1には、PXEクライアント318-1が搭載されている。NIC316-1は、BMC310の通信に使用される他、業務LANのNIC316-2にIPアドレスが割り当てられていない状態でクライアントマシン301がIPアドレスによる通信を行うときに、クライアントマシン301によって、BMC310を介して使用される。
BIOS312Bは、ファームウェアの一つで、コンピュータに搭載されたプログラムのうち、コンピュータの周辺機器であるハードウェアとの最も低レベルの入出力を行い、周辺機器を制御するためのプログラムである。
運用側装置310Aは、ユーザにアプリケーションプログラムによるサービスを提供するサーバ等である。運用側装置310Aは、CPU311A、メモリ312A、システム用ディスク313A等を有している。運用側装置310Aは、BMC310の通信手段とは独立した通信手段であるNIC316-2を有している。NIC316-2が接続されるLANは業務LANと呼ばれる。また、NIC316-2は、PXEクライアント318-2を有している。PXEクライアント318-2は、運用側装置310Aのアップデート等に使用される。
BMC310、BIOS312Bが保存されたROM、運用側装置310A、運用側装置310Aのシステム用ディスク313A、およびNIC316-1、316-2は内部
BUSで接続されている。クライアントマシン301は、起動されると、BIOSが起動モード(ブートオーダともいう)を確認し、NIC316-1を用いたPXEによる起動が優先指定されていると、PXEクライアント318-1を起動する。PXEクライアント318-1は、起動されると、L2スイッチ309等のネットワークのセグメント上のDHCPサーバ211等からIPアドレスを取得し、ネットワークと通信する。そして、PXEクライアント318-1は、PXEサーバ21等からNBP213等を取得し、メモリ312Aにロードする。そして、BIOS312Bは、メモリ312AにロードされたNBP213により目的の処理、例えば、OSのインストール、ファームウェアのアップデートなどを実行する。以下、PXEクライアント318-1と318-2を総称する場合、単に、PXEクライアント318という。
L2スイッチ309は、クライアントマシン301と、管理端末305と、管理サーバ302と、FTPサーバ31と、PXEサーバ21Aと、FTPサーバ31Bと、DHCPサーバ211B等の間を接続するネットワークのセグメントを形成する。
管理端末305は、管理者による情報システム300の管理を支援する。例えば、管理端末305は、管理者の操作にしたがってBMC310に指示を送信する。すなわち、管理端末305は、管理サーバ302を操作する操作端末として動作する。
管理サーバ302は、L2スイッチ309等によるネットワークセグメントに接続される機器群を含む情報システム300を管理する。管理サーバ302は、管理処理部320と、PXEサーバ21を有する。上述のように、管理処理部320とPXEサーバ21とは1つのサーバに統合されたものであってもよいし、別体の異なるコンピュータであってもよい。管理処理部320は、情報システム300の各部の管理情報、ネットワークのサブネットアドレス等を格納するデータベースを有する。
一方、PXEサーバ21は、DHCPサーバ211と、TFTPサーバ212と、NBP213の記憶手段とを有する。NBP213は、クライアントマシン301に配信され、クライアントマシン301がPXEブートされるときに起動されるプログラムである。DHCPサーバ211は、L2スイッチ309によって形成されるネットワークセグメント上のコンピュータ(ホストともいう)から、要求を受け、ネットワークアドレス(IPアドレス)を動的に割り当て、割り当てたIPアドレスと、サブネットアドレスと、NBP213の情報等とをホストに送信する。比較例では、DHCPサーバ211は、NBP213の情報、例えば、NBP213を持つTFTPサーバ212のIPアドレスやファイル名をホストに提供する。TFTPサーバ212は、FTPよりも簡易な手順で、上記ホストにNBP213を提供する。
FTPサーバ31は、FTPにしたがって、OSイメージ等のファイルをクライアントマシン301に提供する。上述のように、情報システム300は、PXEサーバ21A、FTPサーバ31B、DHCPサーバ211Bも有している。また、PXEサーバ21Aは、管理処理部20A、DHCPサーバ211A、TFTPサーバ212A、FTPサーバ31A、NBP213A、およびOSイメージを有している。例えば、情報システム300のユーザあるいは管理者は、複数のPXEサーバ21、21A等ごとに異なる処理を実行させたい場合があり、異なる処理ごとにそれぞれを実行するPXEサーバ21、21A等が設けられる場合がある。
図2は、PXEブートの手順を例示する図である。PXEブートでは、クライアントマシン301等のコンピュータ本体に、コンピュータ本体の起動を準備するためのPXEクライアントと呼ばれる通信用のプログラムが搭載される。そして、PXEクライアントが、コンピュータ本体の起動時にNBP213をネットワーク上のPXEサーバ21から取
得して、実行する。PXEブートは、以上のようなコンピュータの起動方法の1つである。
PXEブートでは、例えば、クライアントマシン301上のPXEクライアント318は、DHCPサーバ211から、ネットワーク上のアドレスの割り当てを受け、NBP213の情報を取得する。
すなわち、PXEクライアント318は、DHCP Discoverと呼ばれるIPアドレス取得要求をネットワークセグメントにブロードキャストする。すると、DHCPサーバ211は、DHCP Offerと呼ばれる応答で、IPアドレスを提示する。DHCP Offerにより、PXEクライアント318は、IPアドレスを仮取得する。そして、PXEクライアント318は、DHCP Requestと呼ばれる要求で、採用するIPアドレスをブロードキャストすることで、DHCPサーバ211にも通知する。すると、DHCPサーバ211は、DHCP Ackと呼ばれる応答で、DHCPサーバ211でIPアドレスを確保したことを通知する。本比較例では、DHCP Ackにおいて、Bootサービスを実行するための情報であるNBP213の情報も送信される。
ただし、NBP213の情報がDHCP Ackとは別の手順で提供される場合もある。例えば、PXEクライアント318は、DHCP Ackを受信後、BootService Discoverと呼ばれる要求をブロードキャストし、NBP213の情報を要求する。すると、DHCPサーバ211は、BootService Ackと呼ばれる応答で、NBP213を持つTFTPサーバのIPアドレスやファイル名を通知するようにしてもよい(図2の点線参照)。
PXEクライアント318は、NBP213の情報を取得すると、TFTPサーバ212に、接続し、ファイルを要求する。TFTPサーバ212は、PXEクライアント318からの要求にしたがって、NBP213を送信する。このような処理を実行するTFTPサーバ212は、Bootサーバとも呼ばれる。NBP213がダウンロードされると、PXEクライアント318は、NBP213を起動し、NBP213に応じた処理を実行する。
図3から図9は、比較例のPXEブートの処理を例示するシーケンス図である。図3は、管理者によるPXEブートの設定と電源投入手順を例示する。管理者は、まず、管理端末305においてブートオーダの先頭に、PXEを選択して指定する(E1)。ブートオーダは、クライアントマシン301の起動時に、BIOS312Bが参照するブートデバイスの優先順位である。ブートオーダの先頭にPXEが指定されると、BIOS312Bは、ブートオーダの先頭にPXEを設定する(E2)。そして、電源ボタンが押下されると(E3)、BIOS312Bは、電源ONを検出する(E4)。なお、管理者は、管理端末305において、例えばPXEサーバ21A等に対して、電源ONの送信指示の操作を行ってもよい(E5)。管理者の管理端末305での操作により、例えば、PXEサーバ21Aは、電源ON(P-ONともいう)をクライアントマシン301に送信する(E6)。すると、クライアントマシン301のBMC310は、PXEサーバ21AからのP-ONを受信する(E7)。BMC310は、NIC316を介してP-ONを受信すると、BIOS312Bを起動する。以下、CPU311AがBIOS312Bにしたがって実行する処理をBIOS312Bが実行する処理として説明する。なお、本明細書において、プロセッサがプログラムにしたがって処理を実行する場合に、プログラムが処理を実行するものとして説明することがある。以降、シーケンスは、記号A1によって図4に継続する。
図4において、BIOS312Bは、起動されると、ブートオーダの先頭がPXEか否かを判定する(E11)。ブートオーダの先頭がPXEに指定されている場合、BIOS312Bは、PXEクライアント318を起動する(E12)。PXEクライアント318は、BIOS312Bに起動されると、状態を管理するレジスタ(以下、状態レジスタという)に「初期化」という状態を設定する(E13)。そして、以降、シーケンスは、記号A2によって図5に継続する。一方、E11の判定で、ブートオーダの先頭がPXEに指定されていない場合、BIOS312Bは、通常の起動順で指定されるデバイスからPXEブート以外のブートを起動する(E14)。
上述のように、図5の処理は、図4の記号A2から継続する。クライアントマシン301がPXEブートで起動されると、NIC316は、DHCP Discoverをブロードキャストする(E21)。そして、NIC316は、状態レジスタに「選択中」という状態を設定する(E22)。
管理サーバ302のDHCPサーバ211、PXEサーバ21AのDHCPサーバ211A、およびDHCPサーバ211Bは、DHCP Discoverを受信すると(E32、E34、E36)、NIC316にIPをそれぞれ割り当て、DHCP OfferをNIC316宛てに送信する(E33、E35、E37)。今、本来、管理者が意図した処理を実行するサーバは、PXEサーバ21Aであって、PXEサーバ21でないと仮定する。すると、E33において、PXEサーバ21のDHCPサーバ211が送信したDHCP Offerで指定されるNBP情報は、目的外のNBPを指定する情報ということになる。
NIC316は、割り当てられたIPアドレスを含むDHCP Offerを受信する(E23)。ここで、受信されるDHCP Offerは、目的外のTFTPサーバを指定するNBP情報を含む。NIC316は、DHCP Offerを受信すると、状態レジスタが「選択中」の状態になっているか否かを判定する(E24)。状態レジスタが「選択中」の状態になっている場合、NIC316は、DHCP OfferからIPアドレスを取得し(E25)、DHCP Requestをブロードキャストする(E26)。そして、NIC316は、状態レジスタを「応答待ち」の状態に設定する(E27)。NIC316は、DHCPサーバ211A、211B等、複数箇所からDHCP Offerを受信し、同様の処理を実行する(E28~E30、E31、E38~E39)。なお、処理は、記号A3からA7の箇所で、図6に継続する。一方、判定E24、E29およびE38で、状態が選択中でない場合、NIC316は、DHCP Offerを処理しない(E40)。
図6の例では、PXEサーバ21のDHCPサーバ211が割り当てたIPアドレスがクライアントマシン301で使用されている。DHCPサーバ211は、ブロードキャストされたDHCP Requestを受信し(E42)、自分が割り当てたIPアドレスが使用されたので、割り当てを確定する(E43)。そこで、DHCPサーバ211は、DHCP Ackを送信する(E44)。DHCPサーバ211は、DHCP Ackに、NBP213の情報を付加する。一方、PXEサーバ21AのDHCPサーバ211AおよびDHCPサーバ211Bは、ブロードキャストされたDHCP Requestを受信し(E52、E54)、自分が割り当てたIPアドレスが使用されていないので、IPアドレスを解放する(E53、E55)。
すると、クライアントマシン301のNIC316は、DHCP211からのDHCP
Ackを受信する(E45)。そして、NIC316は、状態レジスタに「リース」状態を設定する(E46)。以降、NIC316は、確定したIPアドレスを使用する(E47)。そして、NIC316は、DHCP Ackに指定されたTFTP212サーバ
にNBP213のダウンロードを要求する(E48)。
すると、TFTPサーバ212は、NBP213のダウンロード要求を受信する(E49)。そして、TFTPサーバ212は、NBP213をNIC316に送信する(E50)。NIC316は、NBP213を受信し(E51)、以降、図6の処理は、記号A8にしたがって、図7に継続する。なお、E51で受信するNBP213は目的外のNBPである。
図7において、NIC316は、TFTPサーバ212から受信したNBP213をメモリ312Aに格納する(E60)。そして、NIC316は、メモリ312A上のNBP213を起動するようにCPU311Aに指示する(E61)。しかしながら、クライアントマシン301は、目的外のNBP情報およびNBPを取得しているため(E23、E51)、CPU311Aは目的外のNBPを起動することになる(E62)。以降は、たまたまダウンロードされたNBP213の処理が実行されることになる。
図8及び図9は、図3から図7の処理で、目的とするPXEサーバ21AのDHCPサーバ211Aによって目的のNBP情報が通知されたとしても、その後の手順で生じる問題点を例示する。すなわち、ここで、図3から図7と同様の手順で、目的とするPXEサーバ21AのDHCPサーバ211Aによってアドレスが割り当てられたと仮定する。すると図7と同様に、クライアントマシン301のCPU311Aは、メモリ312A上に格納されたNBP213Aを起動する。図8の処理は、クライアントマシン301のCPU311Aがメモリ312A上に格納されたNBP213Aを起動した後の処理を例示する。この処理では、クライアントマシン301のCPU311Aは、固定のIPアドレスを使用するか否かを判定する(F1)。固定のIPアドレスを使用する場合には、CPU311Aの処理は、図8の記号B8から継続する図9の記号B8以降の処理に継続する。
一方、固定のIPアドレスを使用しない場合には、CPU311Aの処理は、状態レジスタを「初期化」に設定し、ネットワークセグメントにDHCP Discoverをブロードキャストする(F21)。図8のF21以降、図9のF46までの処理は、DHCP Discoverをブロードキャストするのが、CPU311Aである点以外は、図5のE21以降、図6のE46までの処理と同様である。この場合においても、F33において、目的外のDHCPサーバ211が割り当てたIPアドレスを含むDHCP OfferをF23においてCPU311Aが最初に受信する可能性がある。その場合には、F47において、確定するIPアドレスは、目的のTFTPサーバ(あるいはFTPサーバ)にアクセスできないアドレスである可能性がある。例えば、図1の例では、DHCPサーバ211とDHCPサーバ211Aが割り当てるIPアドレスの体系が異なる可能性がある。その結果、CPU311Aは、OSイメージのダウンロード要求を目的のFTPサーバに送信しても(F48)、目的のFTPサーバにアクセスできない可能性がある。目的のDHCPサーバ211Aと実際に割り当てたDHCPサーバ211で割り当てるアドレス体系が異なっている場合があるからである(F60、F61)。
なお、目的のDHCPサーバ211Aが割り当てたIPアドレスおよび固定のIPアドレスが使用される場合には、CPU311Aは、目的のFTPサーバにOSイメージダウンロード要求を送信し(F48)、本来の目的のOSイメージが送信される(F61)。この場合には、CPU311Aは、OSイメージを受信し(F62)、OSイメージをディスク等の外部記憶装置に格納し(F63)、OSをセットアップし(F64)、クライアントマシン301を再起動する(F65)。以上のように、正常にアップデートが実施される場合もある。
<比較例の問題点>
以上述べたように、比較例の情報システム300では、各プログラムでDHCPサーバからの応答を受信する際に問題が生じる場合がある。
(PXEクライアントでの問題点)
同一のネットワークセグメントに複数のPXEサーバ21等を配置した環境では、PXEクライアント318がブロードキャストするDHCPの要求メッセージ(DHCP Discover)に対し複数のDHCPサーバ211等が応答し、PXEクライアント318は最初に受信した応答(DHCP Offer)を採用する。このため、PXEクライアント318がどのDHCPサーバからの応答を採用するかは、確定できない。採用されたDHCPサーバの応答はただのIP割当てかも知れないし、意図しないPXEサーバが提供するサービスのNBP情報を付加しているかも知れない。このため、PXEクライアント318は目的のNBP、例えば図1のNBP213Aをダウンロードできず、クライアントマシン301において期待した処理ができない(図3から図7参照)。
(目的のNBPダウンロード後の問題点)
PXEクライアント318が目的のNBP213Aをダウンロードできたとしても、NBPがIPアドレスを取得する際に同様の問題が発生する。つまり、PXEクライアント318は目的外のDHCPサーバからIPアドレスを取得することにより、PXEクライアント318は、目的のFTPサーバとアドレス体系が異なりFTPサーバにアクセスできない可能性がある(図8、図9参照)。
以上のことから、同一ネットワークセグメント内にPXEサーバおよびDHCPサーバを複数配置する場合には、目的外のサーバを一時的に停止することが考えられる。しかし、クライアントマシン毎のPXEブートの度に他のサービスを停止させることになり、システム運用に影響を与えてしまうという問題がある。そこで、以下の実施形態では、PXEブートが実施されるネットワークシステムにおいて、同一のネットワークセグメントに複数のPXEサーバの機能を持つ製品を配置でき、かつ、PXEサーバを一時停止させることなく運用できるようにする。
[実施形態1]
以下、図10から図27を参照して、実施形態1に係る情報システム100について説明する。本情報システム100は、同一のネットワークセグメントに複数のPXEサーバの機能を持つ製品を配置したシステム構成において、目的外のPXEサーバを一時的に停止する等の運用制限を緩和し、または極力不要とする改善を行う。
<構成>
図10は、本実施形態に係る情報システム100の構成を例示する図である。情報システム100は、クライアントマシン1と、管理端末5と、管理サーバ2と、L2スイッチ9等とを有している。
また、本情報システム100においては、上記改善のため、クライアントマシン1は、PXEクライアント(以下、拡張PXEクライアント111)のプログラムを実行する。また、本情報システム100においては、上記改善のため、管理サーバ2は管理処理部20を有し、管理処理部20は、DHCPサーバの選択を行うDHCP選択処理部201と管理情報204の検索等を実行する処理部202と拡張PXEクライアント111と通信する拡張PXEクライアント通信処理部203を有する。
クライアントマシン1は、管理側の装置構成として、BMC10と、外部記憶装置13C(例えば、SDカード)と、NIC16-1とを有している。また、クライアントマシン1は、BIOS12Bを記憶するROM、および運用側装置10Aを有している。
BMC10は、CPUなどのプロセッサとメモリを備え、クライアントマシン1の通電
時に常時稼動可能なハードウェアである。BMC10において、処理部101は、拡張PXEクライアント111を起動する拡張PXEクライアント起動処理部1011と、ファイアウォール設定処理部1012の機能を有する。
拡張PXEクライアント起動処理部1011は、クライアントマシン1の起動時、ブートオーダがPXEブートを指定しているか、通常の起動を指定しているかを判定する。そして、PXEブートが指定されている場合、拡張PXEクライアント起動処理部1011は、拡張PXEクライアント111を起動する。
ファイアウォール設定処理部1012は、ファイアウォール17に通信の規制を設定し、DHCPメッセージの送信先を限定させるものである。より具体的には、ファイアウォール設定処理部1012は、拡張PXEクライアント111と管理サーバ2との通信で選択されるDHCPサーバ211等から、拡張PXEクライアント111が使用するNIC16に割り当てられたIPアドレスとサブネットアドレス等の情報を受ける。そして、ファイアウォール設定処理部1012は、当該サブネットアドレスで指定されるネットワーク以外との通信が行われないようにファイアウォール17を設定し、通信を制限する。
外部記憶装置13Cは、BMC10専用に設けられ、BMC10によって使用可能である。外部記憶装置13Cは、拡張PXEクライアント111の実行形式のプログラムファイル111Pと、複数のDHCPサーバからの応答を一時的に保持するDHCP Offerリスト1114とを保持する。拡張PXEクライアント111の実行形式のプログラムファイル111Pの領域は、BMC10によって仮想ディスク化される。仮想ディスク化された領域に格納されているプログラムファイル111Pは、BIOS12Bによってブートされることで、メモリ12Aに配置される。ただし、図10においては、拡張PXEクライアント111は、外部記憶装置13C上で展開された状態を例示する。
拡張PXEクライアント111は、複数のDHCPサーバ211等の中から目的のDHCPサーバを使用できることを目的としてPXEクライアント18を機能拡張したものである。拡張PXEクライアント111は、DHCP Offerリスト化処理部1111と、BMC呼び出し処理部1112と、管理サーバ処理部1113と、PXEクライアント1115とを有する。
DHCP Offerリスト化処理部1111は、クライアントマシン1が受信したDHCP Offerをリスト化する。BMC呼び出し処理部1112は、拡張PXEクライアント111における処理が終わった時などに、BMC10を呼び出すインターフェースである。管理サーバ処理部1113は、拡張PXEクライアント111と管理サーバ間やファイアウォール間の通信処理を行う。PXEクライアント1115は、DHCP Discoverを送信し、複数のDHCPサーバからのDHCP Offerを受け付け、DHCP Offerに含まれる情報をDHCP Offerリスト化処理部1111に引き渡す。
クライアントマシン1は、DHCPメッセージの送信先を限定する機能として、例えばファイアウォール17を持つ。ファイアウォール17は、クライアントマシン1とL2スイッチを介して接続されるネットワークセグメントとの間を中継する中継装置として例示できる。ファイアウォール17は、例えば、図11に例示されるCPU11、メモリ12および通信部16Zを有している。ただし、CPU11とメモリ12によって実行させる少なくとも一部の処理がハードウェア回路によって実装されてもよい。ファイアウォール17は、クライアントマシン1と、ある特定のサブネットアドレスを有するネットワークとの通信を許可し、他の特定のサブネットアドレスを有するネットワークとの通信を遮断
する。ファイアウォール17は、通信制御部の一例である。
管理サーバ2は、PXEサーバ21を有するとともに、上述のように、管理処理部20を有している。管理処理部20は、クライアントマシン1が使用すべきDHCPサーバ211等を選択するDHCP選択処理部201と管理情報204の検索等を実行する処理部202と拡張PXEクライアント111と通信する拡張PXEクライアント通信処理部203を持つ。管理サーバ2は、支援装置の一例である。図10のように、実施形態1では、支援装置としての管理サーバ2は、情報処理装置としてのクライアントマシン1にL2スイッチ9によって例示されるネットワークを介して接続される。
管理処理部20とPXEサーバ21は、一体のサーバでもよいし、別体の複数のコンピュータを組み合わせたものであってもよい。管理処理部20とPXEサーバ21とが一体のコンピュータに実装される場合には、管理処理部20とPXEサーバ21とは、コンピュータ上のプログラムによって提供されるサービスや処理の1つと考えることができる。以下、一体のコンピュータとは、例えば、1つの筐体に収容されたコンピュータのハードウェアをいう。
また、PXEサーバ21、21A等は、上記比較例と同様であるので、その説明を省略する。また、PXEサーバ21Aの管理処理部20Aは、比較例と同様のものでもよいし、管理処理部20と同様、DHCP選択処理部201等を有してもよい。さらに、上述のように、PXEサーバ21自体は、一体のコンピュータでもよいし、PXEサーバ21として別体のDHCPサーバ211と、TFTPサーバ212と、NBP213を格納する記憶装置を含むサーバとが連携するシステムであってもよい。PXEサーバ21が一体のコンピュータの場合には、DHCPサーバ211と、TFTPサーバ212と、NBP213を格納する記憶装置を含むサーバとは、それぞれが、コンピュータ上のプログラムによって提供されるサービスや処理と考えることができる。
情報システム100は、比較例の情報システム300と同様、さらに、FTPサーバ31と、PXEサーバ21Aと、FTPサーバ31Bと、DHCPサーバ211Bを有している。また、比較例と同様、PXEサーバ21Aは、DHCPサーバ211AとTFTPサーバ212AとFTPサーバ21AとNBP213AとOSイメージ等を格納する記憶装置を有している。FTBサーバ31、31B、PXEサーバ21A、およびDHCPサーバ211B等および管理サーバ2内のPXEサーバ21の構成は比較例(図1)と同様であるので、その説明を省略する。PXEサーバ21、PXEサーバ21Aは、複数のサーバ装置の一例である。DHCPサーバ211、DHCPサーバ211Aは、ネットワーク上のアドレスを割り当てる割当部の一例である。TFTPサーバ212は、アドレスが割り当てられた情報処理装置に情報処理装置で起動されるプログラムを提供する提供部の一例である。ただし、情報システム100の構成が図10のものに限定される訳ではない。情報システム100は、図10の構成の他、さらに、PXEサーバ/FTPサーバ/DHCPサーバ等を有する構成であってもよい。
<ハードウェアの構成>
図11は、本実施形態に係る情報システムに含まれるコンピュータ、例えば、クライアントマシン1、BMC10、ファイアウォール17、管理サーバ2、管理端末5等(以下、単に情報処理装置という)のハードウェアの構成を例示する図である。本情報処理装置はCPU11と、メモリ12と、インターフェース(I/F)を通じて接続される外部機器を有し、プログラムにより情報処理を実行する。CPU11はプロセッサともいう。メモリ12は主記憶装置ともいう。外部機器としては、外部記憶装置13、表示部14、操作部15、通信部16Z、および着脱可能記憶媒体駆動部19を例示できる。
CPU11は、メモリ12に実行可能に展開されたコンピュータプログラムを実行し、情報処理装置の機能を提供する。メモリ12は、CPU11が実行するコンピュータプログラム(ファームウェアと呼ばれるものを含む)、CPU11が処理するデータ等を記憶する。メモリ12は、Dynamic Random Access Memory(DRAM)、Static Random Access Memory(SRAM)、Read Only Memory(ROM)等である。さらに、外部記憶装置
13は、例えば、メモリ12を補助する記憶領域として使用され、CPU11が実行するコンピュータプログラム、CPU11が処理するデータ等を記憶する。外部記憶装置13は、ハードディスクドライブ、Solid State Disk(SSD)等である。
表示部14は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。操作部15は、例えば、キーボード、ポインティングデバイス等である。本実施形態では、ポインティングデバイスとしてマウスが例示される。通信部16Zは、ネットワーク上の他の装置とデータを授受する。着脱可能記憶媒体駆動部19は、例えば、ブルーレイディスク、Digital Versatile Disk(DVD)、Compact Disc(CD)、フラッシュメモリカード等に対する入出力装置等である。
なお、BMC10と、ファイアウォール17は、CPU11と、メモリ12と、インターフェース(I/F)を通じて接続される通信部16Zを有していればよい。したがって、BMC10と、ファイアウォール17には、例えば、外部記憶装置13と表示部14はなくてもよい。
<データ構成と画面の例>
以下、図21から図27を参照して、情報システム100の各要素間で授受され、または、蓄積されるデータの構成および画面の構成を例示する。
図21に、DHCP Offerリストの構成を例示する。DHCP Offerリストは、複数のDHCPサーバ211等から受けたIPアドレス割当応答(DHCP Offer)をクライアントマシン1の拡張PXEクライアント111が管理するためのリストである。図21のように、DHCP Offerリストは、一対の情報、すなわち、DHCP Offerの送信元のDHCPサーバのIPアドレス;割り当てられたIPアドレス;を有する。DHCP Offerリストは、拡張PXEクライアント111が起動された直後の初期状態では空である。起動後、拡張PXEクライアント111がDHCP
Discoverを送信すると複数のDHCPサーバ211等が応答する。このため、拡張PXEクライアント111にDHCP Offerが受信される毎にDHCP Offerリストには、上記一対の情報が追加される。DHCP Offerリストは、割り当てられるアドレスと前記アドレスを割り当てた割当部を識別する識別情報との組を複数組含む応答リストの一例である。また、DHCPサーバのIPアドレスは割当部を識別する識別情報の一例である。
図22に、拡張PXEクライアント111が管理サーバ2にDHCP Offerリストを送信したときに、管理サーバ2から受信するDHCPサーバ選択応答情報の構成を例示する。DHCPサーバ選択応答情報は、管理サーバ2によって選択されたDHCPサーバ211等のIPアドレスと、選択されたDHCPサーバ211等が属するサブネットアドレスとを有する。ただし、DHCPサーバ選択応答情報の実際の値は、管理サーバ2において、DHCPサーバが選択されたか否かで相違する。すなわち、管理サーバ2おいて、いずれかのサービス/DHCPサーバ211等が選択された場合には、DHCPサーバ選択応答情報は、上記構成通りの値を有する。DHCPサーバ選択応答情報は、サーバ装置の割当部を特定する特定情報の一例である。また、選択されたDHCPサーバ211等が属するサブネットアドレスは、選択されたサーバ装置の割当部によって割り当てられるアドレスが使用されるネットワークを識別するネットワーク識別情報の一例である。
一方、管理サーバ2おいて、いずれのサービス/DHCPサーバ211も選択されなかった場合には、DHCPサーバ選択応答情報には、0.0.0.0が設定される。0.0.0.0は、管理サーバ2が拡張PXEクライアント111に選択応答待ちを指示する情報である。
図23に、拡張PXEクライアント111からBMC10のファイアウォール設定処理部1012に通知されるファイアウォール設定情報の構成を例示する。ファイアウォール設定情報は、クライアントマシン1に割り当てられたIPアドレスと管理サーバ2から通知されたサブネットアドレスを有する。
図24に、DHCPサーバ選択画面(事前選択)に表示される情報の構成を例示する。DHCPサーバ選択画面(事前選択)は、管理サーバ2において、管理者によるDHCPサーバの選択を支援する画面である。DHCPサーバ選択画面(事前選択)は、対象クライアントマシン入力欄CL1と、DHCP一覧TB1の表示領域と、OKボタンと、CANCELボタンを含む。対象クライアントマシン入力欄CL1は、選択されるサービスの適用対象となる対象クライアントマシン1を指定する入力欄である。対象クライアントマシン入力欄CL1には、対象クライアントマシン1のBMC10のホスト名またはBMC10に接続されるNIC16-1のIPアドレスが指定される。
また、DHCP一覧TB1は、選択されるDHCPサーバの一覧を表示し、管理者からサービス、すなわち、DHCPサーバ211等の選択を受ける。そのため、DHCP一覧TB1は、表形式であり、表の各行は、選択フィールド、対象サービスフィールド、DHCPサーバのホスト名フィールド、およびDHCPサーバのIPアドレスフィールドの各フィールドを有している。表の各行が1つのDHCPサーバに該当する。なお、1つのサービスを複数のDHCPサーバで構成している場合もある。DHCP一覧TB1は、管理サーバ2によって管理されているDHCPサーバの一覧ということができる。
表の各欄のうち、選択フィールドは、管理者が当該対象サービスを選択するときに、選択指定を入力するフィールドである。対象サービスフィールドは、当該サービスあるいはPXEサーバ21等が提供するNBP213によって実行される処理や機能を示す情報である。DHCPサーバのホスト名フィールドは、管理サーバ2によって把握されているDHCPサーバ211等のホスト名を示すフィールドである。DHCPサーバのIPアドレスフィールドは、当該行のDHCPサーバ211等のIPアドレスを示すフィールドである。
DHCPサーバ選択画面(事前選択)でOKボタンが操作されると、DHCPサーバ選択画面(事前選択)に設定された情報がDHCP選択情報として管理サーバ2に保存される。DHCP選択情報は、例えば、図10の管理情報204の一部となる。保存されるDHCP選択情報のデータ形式は、図24の画面上のデータの並びと同様である。すなわち、当該DHCP選択情報が適用される対象クライアントマシンのBMC10のホスト名、IPアドレス等と、PXEサーバで提供される対象サービスと、当該PXEサーバに属するDHCPサーバのホスト名およびIPアドレス等とを含む。DHCP選択情報は、複数のサーバ装置のいずれかの割当部を選択するための選択情報の一例である。DHCP選択情報が選択情報の一例であるので、実施形態1では、管理サーバ2は選択情報を有しており、ネットワークを介して接続される管理装置の一例ということもできる。CANCELボタンが操作されると、DHCPサーバ選択画面(事前選択)に設定された情報が破棄される。
図25に、DHCPサーバ選択画面(事後選択)に表示される情報の構成を例示する。
DHCPサーバ選択画面(事後選択)は、DHCPサーバ選択画面(事前選択)で事前にDHCPサーバの選択が指定されていない場合に、管理サーバ2が受信したDHCP Offerリスト中から管理者によるDHCPサーバの選択を支援する画面である。DHCPサーバ選択画面(事後選択)の構成は、図24に例示したDHCPサーバ選択画面(事前選択)の構成とほぼ同様である。DHCPサーバ選択画面(事後選択)は、対象クライアントマシン表示欄CL2と、DHCP一覧TB2の表示領域と、OKボタンを含む。
このうち、対象クライアントマシン表示欄CL2は、複数のクライアントマシン1によって処理が実行される場合に、対象のクライアントマシン1を見分けられるように、対象クライアントマシン1のBMC10のホスト名(ホスト名FQDN)、IPアドレスを表示するものである。BMC10のIPアドレスは、DHCP Offerリストを受信する際の送信元IPアドレスとして検出できる。すなわち、目的のDHCPサーバが確定し、クライアントマシン1へのIPアドレスの割当が確定するまでの間、クライアントマシン1と管理サーバ2との間のブロードキャストではない通信はBMC10経由で実施される。例えば、クライアントマシン1から管理サーバ2宛ての通信は、BMC10経由で実施される。
また、DHCP一覧TB2は、クライアントマシン1から通知されたDHCP Offerリストに含まれるDHCPサーバの一覧である。また、仮に、クライアントマシン1から通知されたDHCPサーバの一覧に、管理者が選択したいDHCPがない場合には、まだ、処理の目的のDHCPサーバから、クライアントマシン1にDHCP Offerが届いていないことを意味する。この場合には、目的のサービス/DHCPサーバが表示されていないので、管理サーバ2は、管理者の入力にしたがってDHCPサーバの応答(DHCP Offer)待ちを延長するように、クライアントマシン1に指示する。したがって、DHCP一覧TB2は、「DHCPサーバの応答を待つ」という選択肢が存在する。「DHCPサーバサーバの応答を待つ」という選択肢は、応答待ちの延長を指定する選択肢である。
図26に、DHCPメッセージの構成を例示する。DHCPメッセージの各要素は、以下の通りである。opは、1バイトのデータであり、オペレーションコードを指定する。
opの値が1のとき、BOOTREQUESTを意味し、DHCPメッセージは、クライアントマシン1からDHCPサーバ211等に送信される。値が2のとき、BOOTREPLYを意味し、DHCPメッセージは、DHCPサーバ211等からクライアントマシン1に送信される。
htypeは、1バイトのデータであり、ハードウェア番号を指定する。hlenは、1バイトのデータであり、ハードウェアアドレス長を指定する。hopsは、1バイトのデ
ータであり、転送回数を指定する。xidは、4バイトのデータであり、トランザクションIDを指定する。ハードウェア番号、ハードウェアアドレス長、転送回数、トランザクションIDの詳細は、省略する。
secsは、2バイトのデータであり、経過時間が設定される。経過時時間は、クライアントが初期化を始めてからの秒数である。
flagsは、2バイトのデータであり、フラグ(図27参照)が設定される。
ciaddrは、4バイトのデータであり、クライアントIPアドレスが設定される。クライアントIPアドレスは、既にクライアントマシン1に割り当てられているIPアドレスである。
yiaddrは、4バイトのデータであり、割り当てIPアドレスである。割り当てIPアドレスは、DHCPサーバ211等がクライアントマシン1に割り当てるIPアドレスである。
siaddrは、4バイトのデータであり、DHCPサーバ211等のIPアドレスである。DHCPサーバ211等のIPアドレスは、DHCP Offer、DHCP AckでDHCPサーバ211等が通知するDHCPサーバ211等のIPアドレスである。
giaddrは、4バイトのデータであり、リレイエージェントIPアドレスである。リレイエージェントについては、詳細は省略する。
chaddrは、16バイトのデータであり、クライアントハードウェアアドレス(MACアドレス)である。
snameは、64バイトのデータであり、サーバ名である。
fileは、128バイトのデータであり、ブートファイル名である。
optionsは、可変長のデータであり、オプションが指定される。オプションの詳細は、省略する。
図27は、図26のflagsの詳細構成を例示する図である。flagsは、16ビットのフラグ領域であり、第1のビット(0ビット目)がブロードキャストフラグ Bである。Bが0のとき、DHCPメッセージがユニキャストを意味し、Bが1のときDHCPメッセージがブロードキャストであることを意味する。flagsのビット1からビット15は未使用である。
<各構成要素の具体的な処理例>
上述のように、本情報システム100では、クライアントマシン1の拡張PXEクライアント111が複数のDHCPサーバ211等からのIPアドレス割当応答(DHCP Offer)を一時的に受け付ける。そして、クライアントマシン1がIPアドレス割当応答の一覧としてDHCP Offerリスト1114を作成する(図21)。管理サーバ2は、これから実施したい処理目的に合致するPXEブートを把握している管理者から、予め対象のクライアントマシン1と目的のサービスを使用するためのDHCPサーバを関連づけた指定を受けておく。クライアントマシン1と目的のサービスを使用するためのDHCPサーバとを関連づけた情報は、以下、DHCP選択情報と述べる。また、目的のサービスを使用するためのDHCPサーバを単に「目的のDHCPサーバ」という。管理サーバ2は、図24に例示したDHCPサーバ選択画面(事前選択)によりDHCP選択情報の指定を受け付ける。
本実施形態では、管理サーバ2は、拡張PXEクライアント111からDHCP Offerリスト1114を受信する。そして、管理サーバ2は、DHCP選択情報を基に、DHCP Offerリスト1114に登録されたDHCPサーバの中から目的のDHCPサーバ1つ選択する。管理サーバ2は、選択した目的のDHCPサーバに関係する情報をクライアントマシン1に返信する。管理サーバ2での選択により、クライアントマシン1は自動的に目的のサービスを提供するサーバ(DHCPサーバ/TFTPサーバ等)を特定して通信可能となる。これにより、本情報システム100は、同一のネットワークセグメントに複数のPXEサーバ21等が存在する環境でPXEブートを使用する場合でも、比較例で提示した問題に1つの改善案を例示し、目的のサービスを使用できるようにする。
なお、管理者が事前にPXEブートの対象クライアントマシン1とDHCPサーバ211を指定していない場合には、図25に例示したDHCPサーバ選択画面(事後選択)により、事後的な選択がなされ得る。例えば、クライアントマシン1が作成したDHCP Offerリスト1114を基に、管理サーバ2が管理者に目的のDHCPサーバを選択するように促せばよい。
(1)拡張PXEクライアント111の処理
拡張PXEクライアント111は、ブロードキャストされたDHCP Discoverに対する複数のDHCPサーバからの応答であるDHCP Offerを一時的に保持する。そして、拡張PXEクライアント111は、受信したDHCP Offerを利用して、管理サーバ2にDHCPサーバの選択を依頼する。そして、システム管理者の設定によるDHCP選択情報にしたがって、管理サーバ2がPXEサーバによって提供されるサービスに対応する目的のDHCPサーバを選択する。このような構成と作用により、本情報システム100では、PXEブートを使用するクライアントマシン1が目的のPXEサーバと通信することが可能となる。クライアントマシン1は情報処理装置の一例ということができる。
(1.1)拡張PXEクライアント111は、複数のDHCP Offerを受け付けてリスト化し、DHCP Offerリスト1114を作成して、管理サーバ2に引き渡し、管理サーバ2によるDHCP Offerリスト1114中の項目の選択を受ける。つまり、拡張PXEクライアント111は管理サーバ2にDHCP Offerリスト1114を送信し、管理サーバ2から拡張PXEクライアント111で使用するDHCPサーバ211のIPアドレスと、IPアドレスが属するサブネット情報を受信する。この結果、DHCP Offerリスト1114に登録された複数のDHCPサーバ211のうちいずれか1つが選択され、拡張PXEクライアント111は選択されたDHCPサーバ211によって割り当てられたIPアドレスを使用することが確定される。
(1.2)DHCPサーバ211等からの応答ありの場合、拡張PXEクライアント111は、起動されると空のDHCP Offerリスト1114を作成する。拡張PXEクライアント111は、情報処理装置の処理部の一例である。
また、拡張PXEクライアント111は、DHCP Discoverを送信すると同時に、DHCP Offer待ちタイマーを起動する。DHCP Offer待ちタイマーは、不特定で未知数のDHCPサーバの応答を一通り待つために設けられる。待ち時間は、例えば、DHCPでの推奨値(リトライ1回目)と同じ4秒とする。DHCP Offer待ちタイマーがタイムアウトするまで、DHCP Offerリスト1114への上記一対の情報の追加が継続される。
DHCP Offer待ちタイマーが終了すると、拡張PXEクライアント111は、管理サーバ2にDHCP Offerリスト1114を送信する。管理サーバ2ではDHCPサーバ選択が行われるので、拡張PXEクライアント111は、選択されたDHCPサーバのIPアドレスとサブネットアドレスを含むDHCPサーバ選択応答情報(図22)を応答として受信する。
拡張PXEクライアント111は、DHCPサーバ選択応答情報により管理サーバ2によって選択されたDHCPサーバ211等を特定する。そして、拡張PXEクライアント111は、選択されたDHCPサーバ211等から割り当てられたIPアドレスをDHCP Offerリスト1114から抽出する。そして、拡張PXEクライアント111は、選択されたDHCPサーバ211から割り当てられたIPアドレスをDHCP Requestに設定して選択されたDHCPサーバ211にブロードキャストで送信する。すると、送信先となった目的のDHCPサーバからはDHCP Ackが送信され、目的外のDHCPサーバは確保していたIPアドレスを解放する。
(1.3)目的のDHCPサーバからの応答なしの場合および目的外のDHCPサーバからの応答があった場合には、以下の処理が実行される。すなわち、図22で説明したように、管理サーバ2おいて、サービス/DHCPサーバ211等が選択されなかった場合
には、DHCPサーバ選択応答情報には、DHCPサーバ211のIPアドレス代わりに0.0.0.0が設定され、サブネットアドレスは、未使用(不定値)となる。サービス/DHCPサーバが選択されなかった場合には、管理サーバ2は、DHCPサーバのIPアドレスの代わりに0.0.0.0をクライアントマシン1に通知することで、クライアントマシン1は、DHCPサーバの応答待ちを延長する。この場合、拡張PXEクライアント111は再びDHCP Offer待ちタイマーを起動してDHCP Offerを待つ。このときの待ち時間は、例えば、DHCPの推奨値(リトライ2回目)と同じ8秒とする。
拡張PXEクライアント111は、DHCP Offer待ちタイマーが終了すると、初回と同様に管理サーバにDHCP Offerリスト1114を送信して管理サーバ2の応答を待つ。したがって、拡張PXEクライアント111は、DHCP Requestを送信するまでDHCP Offerを受け付けるとともに、管理サーバ2からのDHCPサーバ応答待ち指示に備えている。
なお、本実施形態では、一例として、DHCP Offer待ちタイマーの時間は、DHCPの推奨値に合わせて初回は4秒、以降は延長するごとに8秒、16秒、32秒としている。ただし、この値は本実施形態の処理を限定するものではなく、自由に実装すればよい。DHCP Offerが全くない場合は、拡張PXEクライアント111は、DHCPの仕様に基づきDHCP Discoverをリトライしてもよい。また、拡張PXEクライアント111は、タイマー終了後も、DHCP Offerを受信すればDHCP Offerリスト1114に情報を追加する。拡張PXEクライアント111は、タイマー終了から応答待ちの延長指示受信までの間のDHCP Offerを保存することで、タイマー終了後にDHCPサーバの応答待ちの延長指示を受信したとき、DHCP Offerの受信漏れがないようにしている。
(1.4)拡張PXEクライアント111は、管理サーバ2によって選択されたDHCPサーバ211等を特定後、通常のPXEクライアントと同様の処理を継続する。すなわち、拡張PXEクライアント111は、受信したNBP213をメモリ12A等に格納してから、BMC10のファイアウォール設定処理部1012にファイアウォール設定情報を通知する。すなわち、拡張PXEクライアント111は、BMC10のファイアウォール設定処理部1012を呼び出す。
(2)ファイアウォールの設定と解除
(2.1)ファイアウォールの設定
BMC10のファイアウォール設定処理部1012は、拡張PXEクライアント111からファイアウォール設定情報を受信する。受信するファイアウォール設定情報は、図23で説明した構成である。受信するファイアウォール設定情報は、クライアントマシン1に割り当てられたIPアドレスと管理サーバ2から通知されたサブネットアドレスを有する。
BMC10のファイアウォール設定処理部1012は、受信したファイアウォール設定情報に基づいてクライアントマシン1のファイアウォール17に、通信を規制する値を設定する。すなわち、ファイアウォール設定処理部1012は、目的のDHCPサーバによって割り当てられたIPアドレスと、割り当てられたIPアドレスが属するサブネットの情報にしたがった通信が許容され、目的外のDHCPサーバによって割り当てられたIPアドレスとそのIPアドレスが属するサブネットの情報にしたがった通信を抑止するようにファイアウォール17を設定する。なお、ここで用いるファイアウォール17は一般的な機能や操作方法を持つものであるため、詳細な設定方法は省略する。
ファイアウォール17は、上記設定以降にクライアントマシン1から送信されるDHCPメッセージ(Discover、Request)に対して次の設定をする。まず、ファイアウォール17は、DHCPメッセージのブロードキャストフラグを解除する。また、IPパケットの送信先IPアドレスに、目的のDHCPサーバのIPアドレスを設定する。すなわち、ブロードキャストのパケットは、宛先IPアドレスを255.255.255.255とするパケットである。ファイアウォール17は、例えば、ブロードキャストパケットの宛先IPアドレスを例えば、DHCPサーバ211AのIPアドレスに設定する。この設定により、ファイアウォール17を通過するブロードキャストのパケットは、DHCPサーバ211A宛てのユニキャストのパケットに変換される。以上の設定により、DHCPメッセージは目的のDHCPサーバ211Aだけに送信される。
(2.2)ファイアウォールの設定解除
BMC10のファイアウォール設定処理部1012は、拡張PXEクライアント111から設定解除の指定とともに、次の情報を受信する。すなわち、BMC10のファイアウォール設定処理部1012は、設定解除時、クライアントマシン1に割り当てられたIPアドレスと管理サーバ2から通知されたサブネットアドレスを受信する。
BMC10のファイアウォール設定処理部1012は、受信したファイアウォール設定情報に基づいてクライアントマシン1のファイアウォール17の設定を解除する。設定解除により、以降のDHCPメッセージはブロードキャストが可能になる。
(3)ファイアウォール17の処理
上記のDHCPサーバ211等の選択とファイアウォール17への設定の結果、クライアントマシン1に、DHCPメッセージの送信先を制限する上記ファイアウォール17が構築される。上記ファイアウォール17への設定により、ファイアウォール17は、NBP213からのDHCPメッセージをブロードキャストせず目的のDHCPサーバに送信させる。ファイアウォール17による制限を用いる目的は、DHCPサーバ211等の仕様を変更せずに送信先を絞ることである。さらに、以上の設定の目的は、クライアントマシン1に正常にダウンロードされたNBP213が起動された後、クライアントマシン1のNIC16がIPアドレスを取得する際の複数のDHCPサーバ211等の存在に起因する問題を解決することが目的である。
(4)管理サーバ2の処理
(4.1)管理処理部20は、クライアントマシン1との通信において、DHCP Offerリスト1114を受信する。そして、管理サーバ2の管理処理部20は、それぞれのDHCPサーバ211等がどのサービスに属するか、どのサブネットに属するか等をデータベースの管理情報204に保存されたDHCP選択情報等から検索する。管理処理部20は、上記データベースの管理情報204からの検索結果に基づき、DHCP Offerリスト1114の中から使用するDHCPサーバ211等を選択する。そして、管理処理部20は、選択されたDHCPサーバ211等のIPアドレスと属するサブネットアドレス等の情報をクライアントマシン1に送信する。例えば、管理処理部20がDHCPサーバ211を選択した場合には、選択されたDHCPサーバ211を含むPXEサーバ21は、クライアントマシン1にNBP213(プログラム)を提供する提供部となるTFTPサーバ212を含む。したがって、管理サーバ2の管理処理部20は、複数のサーバ装置のうちプログラムを提供させるサーバ装置の割当部によるアドレスの割り当てを支援すると言える。ここで、複数のサーバ装置は、DHCPサーバ211およびTFTPサーバ212を含むPXEサーバ21等で例示される。また、割当部は、DHCPサーバ211で例示される。また、プログラムの提供部とするサーバ装置は、PXEサーバ21で例示される。
(4.2)管理処理部20は、管理者がDHCPサーバ211等を選択できる入力画面(図24)を提供する。また、管理処理部20は、入力画面上での管理者による選択結果に基づき、DHCP Offerリスト1114から目的のDHCPサーバ211を選択することもできる(図25)。管理処理部20は、入力画面上で選択されたDHCPサーバ211等が属するサブネットアドレスをデータベースの管理情報204から検索する。そして、管理処理部20は、選択されたDHCPサーバ211等のIPアドレスと属するサブネットアドレス等の情報をクライアントマシン1に送信する。
(4.3)管理サーバ2でのDHCPサーバ事前指定
管理者は例えば管理端末5によって管理サーバ2にアクセスし、事前指定用のDHCPサーバ選択画面(以下、DHCPサーバ選択画面(事前指定))に対象クライアントマシン1のBMC10のホスト名またはIPアドレスを入力して対象DHCPサーバ211等を選択する。管理サーバ2は、図24に例示したDHCPサーバ選択画面(事前指定)に管理サーバによって把握されているDHCPサーバ211等を次の情報と共に一覧表示する。
対象サービス(言い換えれば「どのサービスを提供するためのDHCPサーバか」を示す情報であり、管理サーバのDBから検索可能なもの); ホスト名(Domain Name System(DNS)等でホスト名(Fully Qualified Domain Name(FQDN))を確認できる
場合); DHCPサーバ211のIPアドレス;
管理サーバ2は、対象クライアントマシン1と選択されたDHCPサーバ211等の組合せをDHCPサーバ選択情報として管理サーバ2内で記憶しておく。
管理サーバ2の管理処理部20は、クライアントマシン1からDHCP Offerリスト1114を受信すると、このクライアントマシン1のDHCP選択情報が管理情報204にあるか確認する。管理処理部20は、DHCP Offerリスト1114の送信元IPアドレス(BMC10のホスト名)からクライアントマシン1を特定できる。
管理サーバ2は、管理情報204にクライアントマシン1のDHCP選択情報があり、かつDHCP選択情報で選択されたDHCPサーバ211等がDHCP Offerリスト1114にも入っている場合、該当するDHCPサーバ211等を選択できる。すなわち、管理サーバ2は、該当するDHCPサーバ211等のIPアドレスとDHCPサーバが属するサブネットアドレス(管理サーバ2において管理情報204を格納するDBから検索可能)を選択する。そして、管理サーバ2は、選択されたDHCPサーバ211等のIPアドレスと選択されたDHCPサーバ211等が属するサブネットアドレスをクライアントマシン1の拡張PXEクライアント111に送信する。その後、管理サーバ2は、このクライアントマシン1のDHCP選択情報を削除する。
なお、選択されたDHCPサーバ211等がDHCP Offerリスト1114に入っていない場合、管理者は目的のDHCPサーバからのDHCP Offerを待つか代替のDHCPサーバを選択する。この場合の処理および管理者の設定手順は次項のDHCP事後選択処理および管理者の設定手順と同様である。なお、管理者が代替DHCPサーバを選択した場合も、管理サーバ2は、このクライアントマシン1に対するDHCP選択情報を削除する。
(4.4)管理サーバ2でのDHCPサーバ事後選択
管理者が事前にPXEブートの対象クライアントマシン1とDHCPサーバ211等を指定していない場合は、管理サーバ2は、DHCP Offerリスト1114を基に、図25に例示したDHCPサーバ選択画面(事後選択)を表示する。管理サーバ2は、DHCPサーバ選択画面(事後選択)により、管理者に目的のサービスを使用するためのD
HCPサーバを選択するように促す。以下、その手順を説明する。
まず、管理サーバ2の拡張PXEクライアント通信処理部203は、クライアントマシン1からDHCP Offerリスト1114を受信する。図21で説明したように、DHCP Offerリスト1114にはDHCPサーバのIPアドレスが格納されている。そこで、管理サーバ2のDHCP選択処理部201は、DHCP Offerリスト1114に含まれる各DHCPサーバが属するサービスを管理サーバ2において管理情報204を格納するDBから検索する。DHCP選択処理部201は、DNS等でホスト名(FQDN)を確認できれば、確認できたホスト名も検索する。
管理サーバ2のDHCP選択処理部201は、上記検索結果を基に、管理サーバ2の画面にDHCPサーバ選択画面(事後選択)を表示する。選択画面には各DHCPサーバ211等が属するサービス、ホスト名、IPアドレスなどの項目が一覧表示される。管理者は表示された一覧の中から目的の項目を選択すればよい。
拡張PXEクライアント通信処理部203は、選択されたDHCPサーバ211等のIPアドレスとDHCPサーバ211等が属するサブネットアドレス等の情報をクライアントマシン1の拡張PXEクライアント111に送信する。管理サーバ2は、DHCPサーバ211等が属するサブネットアドレスを管理情報204から検索可能である。
DHCPサーバ選択画面(事後選択)で応答待ちの延長の選択肢が選択された場合、拡張PXEクライアント通信処理部203は、選択されたDHCPサーバのIPアドレスの代わりに0.0.0.0をDHCPサーバ選択応答情報に設定し(図22参照)、クライアントマシン1の拡張PXEクライアント111に送信する。なお、DHCPサーバが選択されていないことが判断できれば良いので、DHCPサーバ選択応答情報には、0.0.0.0の代りに、他の特定値やフラグが設定されても構わない。
なお、BIOS12B、運用側装置10A、管理端末5の処理は、上記比較例のBIOS312B、運用側装置310A、管理端末305と同様であるので、その説明を省略する。
<処理シーケンス>
以下、図12から図20を参照して、本実施形態に係る情報システム100の処理シーケンスを例示する。図12は、管理者の入力操作にしたがったブートオーダの先頭にPXEを設定する処理を例示するシーケンス図である。図12では、クライアントマシン1と、管理端末5と、管理サーバ2が横方向に配列されている。また、図12で時間軸が下方向に設定され、クライアントマシン1と、管理端末5と、管理サーバ2によるシーケンスが図の上から下に向かって順次示されている。また、図12では、クライアントマシン1において、BIOS12BおよびBMC10(およびその処理部101)以外の構成は省略されている。また、管理サーバ2において、管理処理部20および処理部202が例示されている。なお、管理サーバ2は、DHCP選択処理部201等を含むものとする。また、図13以下のシーケンスにおいても、シーケンスに関与する構成要素で図12に例示されたもの以外の構成要素、例えば、拡張PXEクライアント111、PXEサーバ21A等が適宜例示される。
図12の処理では、まず、管理者による操作にしたがって、ネットワークセグメント上のDHCPサーバ211等を選択するための設定が実施される。そのため、まず、管理者による操作に応じて、管理端末5が管理サーバ2に接続する(S1)。そして、管理端末5を介した管理者による操作にしたがって、管理サーバ2は、管理サーバ2で認識されている複数のDHCPサーバ211、211A、211Bと、各DHCPサーバが属するサ
ービスを検索する(S2)。ここで、各DHCPサーバが属するサービスとは、各DHCPサーバが組み込まれているPXEサーバ21等が提供するサービスをいう。そして、管理サーバ2は、管理端末5に検索結果をDHCP選択画面(事前選択)に表示する(S3、図24参照)。ここで、事前選択とは、PXEブートの処理が開始される前に、選択されるという意味である。
管理端末5は、DHCP選択画面(事前選択)での管理者の入力を受けて、対象クライアントマシンを指定する情報を対象クライアントマシン入力欄CL1に設定する。また、管理端末5は、管理者の入力を受けて、DHCP一覧TB1のいずれかの行の選択フィールドを用いて、対象サービス、つまり、DHCPサーバ211等を選択する(S4)。すると、管理サーバ2は、対象クライアントマシン1を識別するホスト名あるいはIPアドレスとともに、入力されたサービス、すなわち、DHCPサーバ211等の当該行に示される情報を選択情報として記憶する(S5)。
一方、管理端末5は、クライアントマシン1のブートオーダの先頭にPXEを指定するためのコマンドをBMC10に、管理LANのNIC16-1経由で送信する(S6)。すると、クライアントマシン1のBMC10は、ブートオーダの先頭にPXEを指定するためのコマンドを管理LANのNIC16-1経由で受信する(S7)。そして、BMC10は、BIOS12Bにブートオーダの先頭にPXEを指定するように指示する(S8)。BIOS12Bは、BMC10の指示にしたがって、ブートオーダの先頭にPXEを設定する(S9)。なお、クライアントマシン1において、ブートオーダの先頭にPXEを設定することは、管理サーバ2におけるDHCPの選択とは別の機会に管理者の入力に応じて実行されてもよい(S10、S11)。
その後、クライアントマシン1の起動、または再起動(停止と電源投入、あるいはリセット)により、PXEブートが開始される。ただし、クライアントマシン1での管理者による電源投入手順は、比較例の図3と同様であるので、その説明を省略する。本実施形態においては、図3の記号A1に継続する処理が、図13以降に例示されている。
クライアントマシン1の電源を投入することにより、BIOS12Bはブートオーダ(起動に用いるデバイスの優先順位)に従い、クライアントマシン1を起動しようとする。このときBMC10はBIOS12Bによる起動処理を検出する(S20)。すると、BMC10はBIOS12Bに割り込みをかけ(S21)、拡張PXEクライアント起動処理部1011による処理を実行する。
割り込み処理において、拡張PXEクライアント起動処理部1011は、BIOS12Bに設定されたブートオーダの先頭(最優先デバイス)がPXEであるか否かを判定する(S22)。ブートオーダの先頭がPXE以外の場合は、拡張PXEクライアント起動処理部1011は、処理をBIOS12Bに返してブートオーダに応じた通常の起動を続ける(S23)。一方、ブートオーダの先頭がPXEの場合は、拡張PXEクライアント起動処理部1011は、拡張PXEクライアントを起動するために次の処理をする。
(1)拡張PXEクライアント起動処理部1011は、外部記憶装置13C(SDカード等)に格納された拡張PXEクライアントの実行形式のプログラムファイル111Pの記憶領域を仮想ディスク化する(S24)。
(2)拡張PXEクライアント起動処理部1011は、ブートオーダの先頭の指定として、上記の仮想ディスクを選択し、BIOS12Bに指示する(S25)。すると、BIOS12Bは、ブートオーダの先頭の指定として、上記の仮想ディスクを設定する(S26)。
(3)拡張PXEクライアント起動処理部1011は、クライアントマシン1を再起動する(S27)。すると、BIOS12Bは、上記拡張PXEクライアントが格納された仮想ディスクで、再起動を開始する(S28)。以降、記号C1に継続する図14のシーケンスが実行される。
図14では、記号C1に継続するシーケンスとして、クライアントマシン1がPXEブートで起動される。すなわち、クライアントマシン1のCPU11AがBIOS12Bにより、拡張PXEクライアント111を起動する。拡張PXEクライアント111は、BIOS12Bに起動されると、比較例のNIC316のPXEクライアント318と同様、DHCPの状態レジスタに「初期化」という状態を設定する(S30)。次に、拡張PXEクライアント111は、空き状態のDHCP Offerリスト1114を作成する(S31)。
次に、拡張PXEクライアント111は、DHCP Offer待ちタイマーを起動する(S32)。そして、拡張PXEクライアント111は、例えば、NIC316-2を介して、DHCP Discoverをブロードキャストする(S33)。なお、拡張PXEクライアント111は、ブローキャスト等の通信では、業務LANのNIC16-2を使用する。すなわち、IPアドレスを割り当てたいNIC16-2からDHCP Discoverがブロードキャストされ、当該NIC16-2にDHCP Offerを受けることで、IPアドレスが通知されることになる。さらに、拡張PXEクライアント111は、DHCPの状態レジスタに「選択中」という状態を設定する(S34)。S33の処理は、複数のサーバ装置の割当部にアドレスの割当を要求することの一例である。以下、S32で設定したDHCP Offer待ちタイマーがタイムアウトするまで、拡張PXEクライアント111は、S37以下のDHCP Offerリスト1114へのDHCP Offerの蓄積処理を実行する。
管理サーバ2のDHCPサーバ211、PXEサーバ21AのDHCPサーバ211A、およびDHCPサーバ211Bは、DHCP Discoverを受信すると(S51A、S51B、S51C)、クライアントマシン1のNIC16-2にIPアドレスをそれぞれ割り当て、業務LANのNIC16-2を介して、業務LANのNIC16-2のMedia Access Control(MAC)アドレスを用いて拡張PXEクライアント111宛てにDHCP Offerを送信する(S52A、S52B、S52C)。
拡張PXEクライアント111は、NIC16-2を介して、割り当てられたIPアドレスを含むDHCP Offerを受信すると(S37、S41、S45)、状態レジスタが「選択中」の状態になっているか否かを判定する(S38、S42、S46)。状態レジスタが「選択中」の状態になっている場合、拡張PXEクライアント111は、DHCP Offerから、応答のあったDHCPサーバ211等のIPアドレスとそのDHCPサーバ211等によって自身に割り当てられたIPアドレスを取得する。そして、拡張PXEクライアント111は、取得したDHCPサーバのIPアドレスと自身に割り当てられたIPアドレスをDHCP Offerリスト1114に追加する(S40、S44、S48)。拡張PXEクライアント111によるS37-S40、S41-S44、S45-S48の処理は、複数のサーバ装置の割当部のうちの複数の割当部のそれぞれによって割り当てられるアドレスを受信して取得することの一例ということができる。
一方、状態レジスタが「選択中」の状態になっていない場合、拡張PXEクライアント111は、DHCP Offerを処理しないで、次のDHCP Offerを待つ(S39、S43、S47)。拡張PXEクライアント111は、次のDHCP Offerを受信すると、S37からS40、S41からS44、S45からS48で例示される処
理を繰り返す。S32、S40、S44、S48の処理は、割当を要求した後の所定期間、複数のサーバ装置の割当部からの応答を受信して前記応答リストを作成することの一例ある。
ただし、S32で設定したDHCP Offer待ちタイマーがタイムアウトすると(S49)、拡張PXEクライアント111は、DHCP Offerリスト1114をBMC10経由で管理サーバ2に送信する(S50A、S50B)。DHCP Offerリスト1114の送信がBMC10経由となるのは、まだ、業務LANのNIC16-2のIPアドレスが確定していないからである。DHCP Offerリスト1114は応答リストの一例である。したがって、S50A、S50Bの処理は、取得したアドレスと取得先の割当部を識別する識別情報とを対応付けたリスト情報を作成して支援装置に出力することの一例である。以降、シーケンスは、記号C2によって図15に継続する。
図15において、管理サーバ2の処理部202は、DHCP Offerリスト1114を受信すると(S53)、DHCP Offerリスト1114を送信した対象クライアントマシン1について、DHCP選択情報が記憶されているか否かを判定する(S54)。ここで、DHCP選択情報は、例えば、図12のS1からS5の処理によって管理サーバ2に保存されたものである。DHCP選択情報が記憶されている場合、DHCP選択情報において事前選択されたDHCPサーバ211等が、DHCP Offerリスト1114にあるか否かを判定する(S55)。DHCP選択情報において事前選択されたDHCPサーバ211等が、DHCP Offerリスト1114にある場合、管理サーバ2は、処理を図16の記号C3に継続するシーケンスに進める。
一方、S54の判定で、DHCP選択情報が記憶されていない場合、または、S55の判定で、事前選択されたDHCPサーバ211等がDHCP Offerリスト1114にない場合、管理サーバ2は、各DHCPサーバ211等が属するサービスを検索する(S56)。DHCPサーバ211等が属するサービスは、図12のS2の処理で説明した通りである。そして、管理サーバ2は、検索結果に基づきDHCPサーバ選択画面(事後選択)を表示する(S57)。管理者がDHCPサーバ選択画面(事後選択)でDHCPサーバを選択すると(S58)、以降、シーケンスは、記号C4によって図16の管理サーバ2による処理S64に継続する。DHCPサーバ211等が割当部の一例であり、S54からS57の処理は、受付けたリスト情報に含まれるサーバ装置の割当部の中から選択情報に基づいて1のサーバ装置の割当部を選択することの一例である。
図16の記号C4に継続するシーケンスで、管理サーバ2の管理処理部20は、いずれかのDHCPサーバが選択されたか否かを判定する(S64)。S64の判定で、いずれのDHCPサーバも選択されない場合、クライアントマシン1には、DHCPの応答待ち延長の指示が送信される。例えば、管理者が図25のDHCPサーバ選択画面(事後選択)で、「DHCPサーバの応答を待つ」という行を選択すると、管理サーバ2の管理処理部20は、DHCPの応答待ち延長の指示をクライアントマシン1に通知する(S65)。DHCPの応答待ち延長は、図22のDHCPサーバのIPアドレスの代わりに0.0.0.0が指定されるDHCPサーバ選択応答情報で通知される。S55でNOの場合およびS64でNOの場合は、支援装置が、リスト情報から目的とするサーバ装置の割当部を選択できない場合の一例である。S65の処理は、所定期間の延長を要求することの一例である。
すると、クライアントマシン1の拡張PXEクライアント111は、DHCPの応答待ち延長の指示を受信し(S66)、DHCP Offer待ちタイマーを再起動する(S67)。そして、いずれかのDHCPサーバ211等がDHCP Offerを業務LANのNIC16-2経由でMACアドレスを用いて送信すると(S68)、拡張PXEク
ライアント111は、DHCP Offerを受信する(S69)。なお、DHCPの応答待ち延長前も、いずれかのDHCPサーバ211等がDHCP Offerを業務LANのNIC16-2経由で送信すると(S59)、拡張PXEクライアント111は、DHCP Offerを受信する(S60)。
拡張PXEクライアント111は、DHCP Offerを受信後、DHCPの状態レジスタが「選択待ち」に設定されているか否かを判定する(S61、S70)。そして、DHCPの状態レジスタが「選択中」の状態になっている場合、拡張PXEクライアント111は、DHCP Offerから、応答のあったDHCPサーバ211のIPアドレスとそのDHCPサーバ211によって自身に割り当てられたIPアドレスを取得する。そして、拡張PXEクライアント111は、取得したDHCPサーバ211等のIPアドレスと自身に割り当てられたIPアドレスをDHCP Offerリスト1114に追加する(S63、S72)。S67、S72の処理は、処理部が、割当を要求した後所定期間、複数のサーバ装置の割当部からの応答を待機し、受信した結果に基づいてリスト情報を作成することの一例である。
一方、状態レジスタが「選択中」の状態になっていない場合、拡張PXEクライアント111は、DHCP Offerを処理しないで、次のDHCP Offerを待つ(S62、S71)。
そして、S67で設定されたDHCP Offer待ちタイマーがタイムアウトすると(S73)、拡張PXEクライアント111は、DHCP Offerリスト1114をBMC10経由で、かつ、管理LANのNIC16-1経由で管理サーバ2に送信する(S74A、S74B)。以降、シーケンスは、記号C5によって図15のS53に処理を戻して継続する。
一方、図15のS55で事前選択されたDHCPサーバ211等が、DHCP Offerリスト1114にある場合、図16のC3に継続する処理において、管理サーバ2の管理処理部20は、選択されたDHCPサーバが属するサブネットアドレスを管理サーバ2のデータベースから検索する(S77)。また、図15のS55の判定で事前選択されたDHCPサーバ211等が、DHCP Offerリスト1114にない場合(S55でNO)で、管理者がいずれかのDHCPサーバを選択した場合も、管理サーバ2の管理処理部20は、選択されたDHCPサーバが属するサブネットアドレスを検索する。ここで、S55の判定がNOでS64の判定がYESの場合は、管理者が想定したDHCPサーバからの応答がないものの、冗長化された代替サーバがあるので、管理者が代替サーバを選択した場合に相当する。
そして、管理処理部20は、選択されたDHCPサーバ211等のIPアドレスとサブネットアドレスの情報をBMC10経由で、かつ、管理LANのNIC16-1経由でクライアントマシン1に送信する(S78)。そして、管理処理部20は、事前に設定された対象クライアントマシン1のDHCP選択情報があれば削除する(S79)。S53からS57、S64およびS77からS78の処理は、支援装置が、受付けたDHCP Offerリスト1114(リスト情報の一例)に含まれるサーバ装置の割当部の中から選択情報に基づいて1のサーバ装置の割当部を選択し、選択した割当部を特定するための特定情報を情報処理装置に通知することの一例である。また、ここで、特定情報は、選択された割当部によって割り当てられるアドレスが使用されるネットワークを識別するネットワーク識別情報を含む。DHCPサーバが属するサブネットアドレスは、選択された割当部によって割り当てられるアドレスが使用されるネットワークを識別するネットワーク識別情報の一例である。
また、拡張PXEクライアント111は、S78の処理によって管理サーバ2から送信される、使用すべきDHCPサーバ211等のIPアドレスとサブネットアドレスの情報をBMC10経由で、かつ、管理LANのNIC16-1経由で受信する(S75A、S75B)。そして、拡張PXEクライアント111は、受信した情報を基に、目的のDHCPサーバ211によって自身に割り当てられたIPアドレスをDHCP Offerリスト1114から抽出する(S76)。ここで、自身に割り当てられたIPアドレスとは、元々、各DHCPサーバ211等が拡張PXEクライアント111からのDHCP Dsicoverに対して割り当てられたIPアドレスである。つまり、DHCP Dsicoverに対して割り当てられたIPアドレスは、DHCP Offerリスト1114に記載され、かつ、管理サーバ2の管理処理部20の処理によって選択されたDHCPサーバ211等のIPアドレスである。そして、以降、シーケンスは、記号C6によって図17のクライアントマシン1による処理S80に継続する。
図17の記号C6に継続するシーケンスで、拡張PXEクライアント111は、抽出したIPアドレスを指定してDHCP Requestを業務LANのNIC16-2経由のブロードキャストで送信する(S80)。
今、選択されたDHCPサーバが、PXEサーバ21Aに属するDHCPサーバ211Aであると仮定する。この仮定は、以下の実施形態1を通じて、継続しているものとする。すると、管理サーバ2のDHCPサーバ211およびDHCPサーバ211B等は、受信したDHCP Requestにおいて(S82、S87)、自身が割り当てたIPアドレスが使用されていないので、割り当てたIPアドレスを解放する(S83、S88)。
一方、PXEサーバ21AのDHCPサーバ211Aは、DHCP Requestを受信すると(S84)、DHCP Requestにおいて、自身が割り当てたIPアドレスが使用されているので、DHCPサーバ211Aは、割り当てを確定する(S85)。そして、DHCPサーバ211Aは、DHCP AckにNBP213の情報を付加してクライアントマシン1に業務LANのNIC16-2経由でMACアドレスを用いて送信する(S86)。
クライアントマシン1の拡張PXEクライアント111は、DHCP Ackを受信すると(S89)、DHCPの状態レジスタを「リース」に設定する(S90)。そして、拡張PXEクライアント111は、確定したIPアドレスを自身が使用するIPアドレスとして認識する(S91)。以降のクライアントマシン1による通信は、業務LANのNIC16-2経由で確定したIPアドレスを用いて実施される。そして、拡張PXEクライアント111は、DHCP Ackに付加されたNBP213Aの情報で指定されたTFTPサーバ212AにNBP213Aのダウンロードを要求する(S92)。そして、以降、シーケンスは、記号C7によって図18のPXEサーバ21AのTFTPサーバ212Aによる処理S100に継続する。
図18の記号C7に継続するシーケンスで、TFTPサーバ212Aは、クライアントマシン1からの要求にしたがってNBP213Aを送信する(S100)。クライアントマシン1の拡張PXEクライアント111は、NBP213Aを受信し(S101)、メモリ12Aに格納する(S102)。そして、拡張PXEクライアント111は、BMC10にファイアウォール17の設定情報を通知する(S103)。S91、S92、S101の処理は、支援装置から指定された割当部によって割り当てられたアドレスを用いてプログラムの提供部からプログラムを受信することの一例である。S101の処理は、選択された割当部に対応して設けられる提供部からプログラムの提供を受けることの一例でもある。
BMC10のファイアウォール設定処理部1012は、ファイアウォール17の設定情報を受信する(S104)。そして、ファイアウォール設定処理部1012は、DHCPパケットが目的のDHCPサーバ211Aだけに送信されるように、ファイアウォールを指定する(S105)。ファイアウォール17は、DHCPパケットが目的のDHCPサーバ211Aだけに送信されるようにパラメータを設定し(S106)、以降、設定されたパラメータにしたがってファイアウォールが動作し、通信が規制される。その後、BMC10の指示にしたがって、拡張PXEクライアント111はメモリ12Aに格納したNBP213Aを起動する(S107)。そして、以降、シーケンスは、記号C8によって図19のCPU11Aによる処理S110に継続する。S106の処理は、通信制御部が、ネットワーク識別情報で識別されるネットワークに限定して選択された割当部との通信を許可することの一例である。S107の処理は、情報処理装置が受信したプログラムを起動することの一例である。
図19の記号C8に継続するシーケンスで、CPU11Aは、メモリ12A上でNBP213Aを起動する(S110)。以降、CPU11Aは、NBP213Aにしたがった処理を実行する。NBP213Aは、まず、固定のIPアドレスを使用するか否かを判定する(S111)。固定のIPアドレスを使用しない場合、NBP213Aは、DHCPの状態レジスタを「初期化」に設定する(S112)。そして、NBP213Aは、DHCP Discoverをブロードキャストする(S113)。そして、NBP213Aは、DHCPの状態レジスタに「選択中」という状態を設定する(S114)。
ファイアウォール17は、NBP213AからのDHCP Discoverをブロードキャストせず、目的のDHCPサーバ211Aだけに送信されるように、DHCP Discoverのフラグ領域(図27参照)を書き換える。また、送信先IPアドレスを255.255.255.255とするブロードキャストのパケットの送信先IPアドレスを目的のDHCPサーバ211AのIPアドレスに変更する。こうして変換されたDHCP211A宛てのユニキャストのパケットを、NIC16-2を介して送信する(S115)。
すると、ファイアウォール17に書き換えられたDHCP DiscoverがPXEサーバ21AのDHCPサーバ211Aに送信される。DHCPサーバ211Aは、DHCP Discoverを受信すると(S116)、NIC16-2にIPアドレスを割り当て、NIC316-2を介して、NBP213A宛てに、DHCP Offerを送信する(S117)。
NBP213Aは、割り当てられたIPアドレスを含むDHCP Offerを受信すると(S118)、状態レジスタが「選択中」の状態になっているか否かを判定する(S119)。状態レジスタが「選択中」の状態になっている場合、NBP213Aは、DHCP OfferからIPアドレスを取得し(S121)、DHCP Requestをブロードキャストする(S122)。そして、NBP213Aは、DHCPの状態レジスタを「応答待ち」の状態に設定する(S123)。
ファイアウォール17は、NBP213AからのDHCP Requestをブロードキャストせず、目的のDHCPサーバ211Aだけに送信されるように、DHCP Requestのフラグ領域(図27参照)を書き換える。また、送信先IPアドレスを255.255.255.255とするブロードキャストのパケットの送信先IPアドレスを目的のDHCPサーバ211AのIPアドレスに変更する。こうして変換されたDHCP211A宛てのユニキャストのパケットを、NIC16-2を介して送信する(S124)。
すると、ファイアウォール17に書き換えられたDHCP RequestがPXEサーバ21AのDHCPサーバ211Aに送信される。DHCPサーバ211Aは、DHCP Discoverを受信すると(S125)、NIC16-2を介して、NBP213A宛てに、DHCP Ackを送信する(S126)。
そして、NBP213Aは、DHCP Ackを受信し(S127)、DHCPの状態レジスタを「リース」の状態に設定する(S128)。そして、NBP213Aは、確定したIPアドレスを自身が使用するIPアドレスとして認識する(S129)。そして、拡張PXEクライアント111は、例えば、ネットワーク上の所定のFTPサーバ31等にOSイメージのダウンロード要求を送信する(S130)。すると、FTPサーバ31は、OSイメージのダウンロード要求を受信し(S131)、OSイメージを送信する(S132)。そして、NBP213Aは、OSイメージを受信する(S133)。そして、以降、シーケンスは、記号C9によって図20のNBP213Aによる処理S140に継続する。
図20の記号C9に継続するシーケンスで、NBP213Aは、OSイメージを外部記憶装置13、例えば、ハードディスクに格納する(S140)。そして、NBP213は、通常のセットアップを行い(S141)、ブートオーダの先頭にS140でOSイメージを格納したデバイスを設定することをBMC10に指示する(S142)。BMC10は、ブートオーダの先頭に、CPU11から指定されたデバイスを設定する(S143)。そして、クライアントマシン1は、再起動する(S145)。
すると、BMC10は、クライアントマシン1の再起動を検出し(S146)、ブートオーダの先頭がPXEか否かを判定する(S147)。ブートオーダの先頭がPXEの場合、BMC10のファイアウォール設定処理部1012は、ファイアウォール17の設定解除を指示する(S148)。ファイアウォール17は、設定を解除し、DHCPパケットの変換が停止し、情報システム100において、通常の通信が実行される。なお、S147の判定で、ブートオーダの先頭がPXEでない場合、BMC10は、通常の起動をBIOS12Bに指示する。
<実施形態1の効果>
以上述べたように、本実施形態の情報システム100では、ネットワークセグメント上に、複数のPXEサーバ21等が存在する場合でも、拡張PXEクライアント111は、目的のPXEサーバ21Aによるブートを実行できる。すなわち、拡張PXEクライアント111は、管理サーバ2に保存された事前に設定されたDHCP選択情報(図24の画面参照)または事後に設定されるDHCP選択情報(図25の画面参照)により、PXEサーバ21A等を特定できる。つまり、拡張PXEクライアント111は、以上のDHCP選択情報を利用することで、目的のサービスに対応したDHCPサーバ211A、DHCPサーバ211Aによって割り当てられたIPアドレス、およびDHCPサーバ211Aが使用されるネットワークのIPアドレスに対応するサブネットアドレスを決定できる。したがって、ネットワークセグメントに複数のPXEサーバが存在する場合でも、実施形態1の情報システムでは、比較例のように、目的のPXEサーバ21A以外を停止する等の運用上の制限は緩和される。
より具体的には、拡張PXEクライアント111は、複数のPXEサーバ21等が存在することによるネットワークセグメント上に複数のDHCPサーバ211等からのDHCP Offerを蓄積してリスト化し、管理サーバ2に通知する。管理サーバ2は、事前に設定されたDHCP選択情報、または事後に実行される管理者からの操作にしたがって、目的のPXEサーバ21Aに関連するDHCPサーバ211Aを選択する。そして、管
理サーバ2は、選択したDHCPサーバ211Aに割り当てられたIPアドレスとサブネットアドレスを含む情報を拡張PXEクライアント111に返すので、PXEクライアント111は、目的とする処理に合致するPXEサーバ21Aを選択できる。したがって、本実施形態の情報システム100では、比較例で検討したような、ネットワークセグメント上に、複数のPXEサーバのうち、1つだけを稼働し、他の動作を止めるような制限は可能な限り少なくすることができる。
また、本実施形態では、選択されるPXEサーバ21A、あるい、DHCPサーバ211Aが決定され、クライアントマシン1が使用するIPアドレスが確定した後、拡張PXEクライアント111は、BMC10にファイアウォール17によるDHCPパケット変換の設定情報を通知する。この通知によって、BMC10ファイアウォール設定処理部1012は、DHCPパケットが目的のDHCPサーバ211Aだけに送信されるように、ファイアウォール17にパラメータを指定する。したがって、ネットワークセグメント上に複数のPXEサーバ21等、あるい、DHCPサーバ211等が存在する場合でも、情報システム100では、クライアントマシン1は比較例のような制限をすることなく、PXEブートを実行できる。
また、本実施形態では、管理サーバ2がDHCP選択情報を事前または事後に入力されることで、ネットワークセグメント内の多数のクライアントマシン1について、集中的に、DHCP選択情報を管理できる。したがって、クライアントマシン1の拡張PXEクライアント111は、単にDHCP Offerリスト1114を管理サーバ2に送信することで、簡易に、目的のDHCPサーバ211Aによって割り当てられたIPアドレス、およびDHCPサーバ211等が使用されるIPアドレスに対応するサブネットアドレスを決定できる。
また、本実施形態では、管理サーバ2が目的のDHCPサーバ211A(すなわち、目的PXEサーバ21A)を選択できない場合、管理サーバ2は、拡張PXEクライアント111に、DHCPの応答延長待ちを送信する。そして、DHCPの応答延長待ちを受信した拡張PXEクライアント111は、DHCP Offer待ちタイマーを再起動し、タイマーを延長する。したがって、本実施形態では、目的のDHCPサーバ211A(すなわち、目的PXEサーバ21A)からのDHCP Offerが遅延した場合も、目的のDHCPサーバ211A(すなわち、目的PXEサーバ21A)を選択できる可能性を高め、安定したPXEブートを実現できる。
<変形例>
上記実施形態1では、PXEブートによる処理例として、OSのインストールが例示された。しかし、実施形態1において、PXEブートによる処理がOSのインストールに限定される訳ではない。すなわち、実施形態1のPXEブートにおいて、クライアントマシン1は、ファームウェアのアップデート、バックアップ、リストア、シンクライアントの起動などを実行してもよい。
[実施形態2]
以下、図28および図29を参照して、実施形態2に係る情報システム100について説明する。上記実施形態1では、同一のネットワークセグメントに複数のPXEサーバ21等が配置された。そして、各クライアントマシン1の拡張PXEクライアント111が複数のPXEサーバ21等に属するDHCPサーバ211等からDHCP Offerを受信すると、DHCP Offerリスト1114を作成、管理サーバ2に、目的のDHCPサーバ211Aを選択させた。管理サーバ2には、事前にDHCPサーバ選択画面(事前指定)等を通じて、各クライアントマシン1に対して、目的の対象サービス、および、目的の対象サービスに所属するDHCPサーバ211Aが指定されていた。
本実施形態では、各クライアントマシン1のBMC10には、目的の対象サービス、および、目的の対象サービスに所属するDHCPサーバを指定する選択情報が管理サーバ2から配信されている。各クライアントマシン1の拡張PXEクライアント111は、DHCP Offerリスト1114と自身が保持する選択情報とを照合し、選択情報で指定されるDHCPサーバ211等を選択する。ただし、照合の結果、拡張PXEクライアント111が、選択情報で指定されるDHCPサーバ211等をDHCP Offerリスト1114で選択できない場合、実施形態1と同様、DHCP Offerリスト1114を管理サーバ2に送信するものとする。したがって、実施形態2のBMC10は、クライアントマシン1に含まれるので、実施形態2の構成は、支援装置(BMC10)と情報処理装置(クライアントマシン1)は同一の物理装置内に設けられる構成の一例である。実施形態2の他の構成要素および作用は、実施形態1の構成要素および作用と同様である。そこで、実施形態2の構成要素のうち、実施形態1と同一の構成要素については、同一の符号を付してその説明を省略する。
図28は、クライアントマシン1において、拡張PXEクライアント111が起動された直後のシーケンス図であり、実施形態1の図14の変形である。本実施形態では、拡張PXEクライアント111は、DHCP Offerリスト1114を作成すると(S30)、BMC10と通信し、選択情報の配信を受ける(S31A、S31B)。
選択情報は、クライアントマシン1において、実施される対象の処理に対応するDHCPサーバ211等のホスト名またはDHCPサーバ211等のIPアドレスが定義された情報である。クライアントマシン1は、自身が収集したDHCP Offerリスト1114と、BMC10から配信されたDHCP選択情報を照合することで、目的の処理に合致するDHCPサーバを選択可能である。なお、BMC10は、例えば、管理LANのNIC16-1経由で、管理サーバ2から事前にDHCP選択情報の配信を受けておけばよい。DHCP選択情報が選択情報の一例であるので、実施形態2では、BMC10は、情報処理装置が有する管理装置の一例ということもできる。
図28で、S32からS49、およびS51AからS52Cまでの処理は、実施形態1の図14と同様であるので、その説明を省略する。本実施形態では、DHCP Offer待ちタイマーがタイムアウトした後、拡張PXEクライアント111は、DHCP Offerリスト1114選択を実行する(S50C)。
図29は、DHCP Offerリスト1114選択の処理の詳細を例示するシーケンス図である。この処理では、拡張PXEクライアント111は、DHCP選択情報で選択されたDHCPサーバ211等がDHCP Offerリスト1114にあるか否かを判定する(S201)。
DHCP選択情報で選択されたDHCPサーバ211等がDHCP Offerリスト1114にある場合、拡張PXEクライアント111は、選択されたDHCPサーバ211等が属するサブネットを検索する(S202)。そして、使用すべきDHCPサーバ211等によって割り当てられたIPアドレスを抽出する(S203)。以降のシーケンスは、記号C6を介して、実施形態1の図17に継続する。図17では、実施形態1と同様、拡張PXEクライアント111は、使用すべきDHCP211等によって割り当てられたIPアドレスによって、DHCP Requestをブロードキャストし、IPアドレスを確定する処理を実行すればよい。すなわち、記号C6以降の処理は、実施形態1と同様である。
一方、S201の判定で、DHCP選択情報で選択されたDHCPサーバ211がDH
CP Offerリスト1114にない場合、拡張PXEクライアント111は、DHCP Offerリスト1114を管理サーバ2に送信する(S204)。管理サーバ2では、実施形態1と同様、DHCP Offerリスト1114との照合、DHCP選択画面(事後選択)による選択、必要に応じて、DHCP応答待ちの延長(DHCP Offer待ちタイマーの再設定要求)等が実施される。すなわち、記号C2以降の処理は、実施形態1と同様である。
以上の述べたように、実施形態2の情報システム100では、DHCP Offerリスト1114の選択が拡張PXEクライアント111で実施される。したがって、拡張PXEクライアント111は、DHCP Offerリスト1114に、DHCP選択情報で指定された目的のDHCPサーバが含まれる場合には、管理サーバ2にDHCP Offerリスト1114を送信しなくてもよい。すなわち、拡張PXEクライアント111は、クライアントマシン1で閉じた範囲で目的のDHCPサーバおよび目的のDHCPサーバによってNIC16-2に割り当てられたIPアドレスを確定できる。
なお、上記実施形態2では、DHCP Offer待ちタイマーがタイムアウトした後、拡張PXEクライアント111が、DHCP Offerリスト1114とDHCP選択情報を照合し、DHCPサーバ211等を選択した。しかし、実施形態2は、このような手順に限定される訳ではない。例えば、拡張PXEクライアント111は、DHCP Offerを受信する度に、DHCP Offer待ちタイマーのタイムアウトを待つことなく、DHCP選択情報と照合してもよい。すなわち、PXEクライアント111は、DHCP Offerを受信する度に、目的のDHCPサーバによって割り当られたIPアドレスか否かを判定すればよい。そして、DHCP Offerで指定されるIPアドレスが目的のDHCPサーバによって割り当られたIPアドレスである場合には、拡張PXEクライアント111は、直ちに、記号C6以降の図17のシーケンスを実行すればよい。
[コンピュータが読み取り可能な記録媒体]
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。
[その他]
本実施の形態は、以下の態様(付記と呼ぶ)を含む。各態様の構成は、他の態様と組み合わせてもよいことは上記実施の形態から当然に理解される。
(付記1)
情報処理装置と、
前記情報処理装置にネットワーク上のアドレスを割り当てる割当部と前記アドレスが割り当てられた前記情報処理装置に前記情報処理装置で起動されるプログラムを提供する提
供部とをそれぞれ有する複数のサーバ装置と、
前記複数のサーバ装置のうち前記プログラムを提供させるサーバ装置の割当部による前記アドレスの割り当てを支援する支援装置と、
を備え、
前記情報処理装置は、
前記複数のサーバ装置の割当部のうちの複数の割当部からそれぞれによって割り当てられるアドレスを受信して取得し、
前記アドレスの取得先の前記割当部のうち前記支援装置から指定された割当部によって割り当てられたアドレスを用いて前記プログラムの提供部から前記プログラムを受信し、受信した前記プログラムを起動する処理を行う情報処理装置管理システム。
(付記2)
前記情報処理装置は、前記取得したアドレスと取得先の割当部を識別する識別情報とを対応付けたリスト情報を作成して前記支援装置に出力し、
前記支援装置は、受付けた前記リスト情報に含まれるサーバ装置の割当部の中から選択情報に基づいて1のサーバ装置の割当部を選択し、前記選択した割当部を特定するための特定情報を前記情報処理装置に通知する付記1に記載の情報処理装置管理システム。
(付記3)
前記特定情報は、前記選択された割当部によって割り当てられるアドレスが使用されるネットワークを識別するネットワーク識別情報を含み、
前記情報処理装置は、前記ネットワーク識別情報で識別されるネットワークに限定して前記選択された割当部との通信を許可する付記2に記載の情報処理装置管理システム。
(付記4)
前記情報処理装置は、前記複数のサーバ装置の割当部に前記アドレスの割当を要求し、前記割当を要求した後所定期間、前記複数のサーバ装置の割当部からの応答を待機し、受信した結果に基づいて前記リスト情報を作成し、
前記支援装置は、前記リスト情報から目的とするサーバ装置の割当部を選択できない場合に、前記所定期間の延長を要求する付記2または3に記載の情報処理装置管理システム。
(付記5)
前記支援装置は、前記情報処理装置に前記ネットワークを介して接続される付記1から4のいずれか1項に記載の情報処理装置管理システム。
(付記6)
前記支援装置と前記情報処理装置は同一の物理装置内に設けられる付記1から4のいずれか1項に記載の情報処理装置管理システム。
(付記7)
複数のサーバ装置のうちプログラムを提供させるサーバ装置の割当部によるアドレスの割り当てを支援装置によって支援される情報処理装置であって、
メモリと、
前記メモリに結合するプロセッサとを備え、
前記プロセッサが、
前記複数のサーバ装置の割当部のうちの複数の割当部のそれぞれによって割り当てられるアドレスを受信して取得し、
前記アドレスの取得先の割当部のうち前記支援装置から指定された割当部によって割り当てられたアドレスを用いて前記プログラムを提供させるサーバ装置から前記プログラムを受信し、受信した前記プログラムを起動する処理を行う情報処理装置。
(付記8)
前記プロセッサが、前記取得したアドレスと取得先の割当部を識別する識別情報とを対応付けたリスト情報を作成して前記支援装置に出力し、
前記支援装置は、受付けた前記リスト情報に含まれるサーバ装置の割当部の中から選択情報に基づいて1のサーバ装置の割当部を選択し、
前記プロセッサは前記支援装置から、前記選択された割当部を特定するための特定情報の通知を受ける付記7に記載の情報処理装置。
(付記9)
前記特定情報は、前記選択された割当部によって割り当てられるアドレスが使用されるネットワークを識別するネットワーク識別情報を含み、
前記プロセッサは、前記ネットワーク識別情報で識別されるネットワークに限定して前記選択された割当部との通信を許可する付記8に記載の情報処理装置。
(付記10)
前記プロセッサは、前記複数のサーバ装置の割当部に前記アドレスの割当を要求し、前記割当を要求した後所定期間、前記複数のサーバ装置の割当部からの応答を待機し、受信した結果に基づいて前記リスト情報を作成し、
前記支援装置は、前記リスト情報から目的とするサーバ装置の割当部を選択できない場合に、前記所定期間の延長を要求する付記8または9に記載の情報処理装置。
(付記11)
複数のサーバ装置のうちプログラムを提供させるサーバ装置の割当部によるアドレスの割り当てを支援装置によって支援される情報処理装置におけるコンピュータに、
前記複数のサーバ装置の割当部のうちの複数の割当部のそれぞれによって割り当てられるアドレスを受信して取得し、
前記アドレスの取得先の割当部のうち前記支援装置から指定された割当部によって割り当てられたアドレスを用いて前記プログラムを提供させるサーバ装置から前記プログラムを受信し、受信した前記プログラムを起動する処理を実行させるためのプログラム。
(付記12)
前記コンピュータに、前記取得したアドレスと取得先の割当部を識別する識別情報とを対応付けたリスト情報を作成して前記支援装置に出力させ、
前記支援装置は、受付けた前記リスト情報に含まれるサーバ装置の割当部の中から選択情報に基づいて1のサーバ装置の割当部を選択し、
前記コンピュータに前記支援装置から、前記選択された割当部を特定するための特定情報の通知を受ける処理をさらに実行させるための付記11に記載のプログラム。
(付記13)
前記特定情報は、前記選択された割当部によって割り当てられるアドレスが使用されるネットワークを識別するネットワーク識別情報を含み、
前記コンピュータに、前記ネットワーク識別情報で識別されるネットワークに限定して前記選択された割当部との通信を許可する処理をさらに実行させるための付記12に記載のプログラム。
(付記14)
前記コンピュータに、前記複数のサーバ装置の割当部に前記アドレスの割当を要求し、前記割当を要求した後所定期間、前記複数のサーバ装置の割当部からの応答を待機し、受信した結果に基づいて前記リスト情報を作成する処理を実行させ、
前記支援装置は、前記リスト情報から目的とするサーバ装置の割当部を選択できない場合に、前記所定期間の延長を要求する、付記12または13に記載のプログラム。