(57)【特許請求の範囲】
【請求項１】
１つ以上の計算機と、外部装置と接続するために前記計算機ごとに割り当てられる１つ以上のＩ／Ｏデバイス、および、１つ以上の代替え用のＩ／Ｏデバイスを有してなるＩ／Ｏデバイスと、前記計算機と前記Ｉ／Ｏデバイスとの間に介在してそれらの接続を切り替える１つ以上のＩ／Ｏスイッチ装置と、前記計算機と前記Ｉ／Ｏデバイスとの接続状況を管理する管理サーバと、を備える計算機システムであって、
前記管理サーバは、
前記計算機と前記Ｉ／Ｏスイッチ装置と前記Ｉ／Ｏデバイスの種類との対応付けを定義したＩ／Ｏ構成情報と、前記計算機と前記Ｉ／Ｏスイッチ装置と前記Ｉ／Ｏデバイスとの実際の接続構成の情報であるＩ／Ｏスイッチ管理情報と、を記憶する記憶部と、
前記計算機への起動命令を発行した後に、前記Ｉ／Ｏスイッチ装置から最新の接続構成の情報を取得して前記Ｉ／Ｏスイッチ管理情報を更新し、前記Ｉ／Ｏ構成情報と更新した前記Ｉ／Ｏスイッチ管理情報とを比較し、一致していれば、前記計算機のＯＳ（Operating System）を起動し、一致していなければ、その不一致な接続構成となっている前記計算機に関し、種類の不一致な前記Ｉ／Ｏデバイスから、前記１つ以上の代替え用のＩ／Ｏデバイスのうち前記種類の不一致を解消できる前記Ｉ／Ｏデバイスへの変更のための選択を行い、その選択に基づいて前記Ｉ／Ｏスイッチ管理情報を更新する処理部と、
を備えることを特徴とする計算機システム。
【請求項２】
前記Ｉ／Ｏ構成情報は、前記計算機と、その計算機と接続する１つ以上の前記Ｉ／Ｏデバイスの種類と、の複数の組み合わせパターンを有しており、
前記Ｉ／Ｏスイッチ管理情報は、前記Ｉ／Ｏスイッチ装置の接続ポート、接続するＩ／Ｏデバイスの種類を示す接続Ｉ／Ｏデバイス、および、接続するＩ／Ｏデバイスの識別子を少なくとも有しており、
前記処理部は、
前記計算機と前記Ｉ／Ｏデバイスとの接続構成において前記Ｉ／Ｏデバイスの種類の不一致があると判断した場合、その種類の不一致な接続構成となっている前記Ｉ／Ｏデバイスを前記Ｉ／Ｏ構成情報から特定し、前記Ｉ／Ｏスイッチ管理情報において前記特定したＩ／Ｏデバイスの識別子を、前記１つ以上の代替え用のＩ／Ｏデバイスのうち前記種類の不一致を解消できるＩ／Ｏデバイスの識別子に書き換える
ことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記処理部は、
前記種類の不一致な接続構成が発生したＩ／Ｏデバイスからの種類の不一致接続構成発生通知を受けて、前記Ｉ／Ｏデバイスの識別子の書き換えを行う
ことを特徴とする請求項２に記載の計算機システム。
【請求項４】
前記Ｉ／Ｏスイッチ装置は、
前記Ｉ／Ｏデバイスが接続されたポート番号を、前記計算機からの指示で任意のポート番号に変換する機能を有し、前記Ｉ／Ｏデバイスの種類の不一致接続構成発生時に、前記代替えＩ／Ｏデバイスが接続されたポート番号を前記種類の不一致な接続構成が発生したＩ／Ｏデバイスが接続されたポート番号に変換する
ことを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記代替え用のＩ／Ｏデバイスが複数種類設けられていることを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記管理サーバは、表示部をさらに備え、
前記処理部は、
前記計算機と前記Ｉ／Ｏデバイスとの接続構成において前記Ｉ／Ｏデバイスの種類の不一致があると判断した場合、管理者に対して、その不一致な接続構成の通知画面、および、その不一致な接続構成となっている前記計算機の起動停止、接続修復、強制起動のいずれかの選択画面を前記表示部に表示させる
ことを特徴とする請求項１に記載の計算機システム。
【請求項７】
前記処理部は、
前記計算機の起動時にＯＳが起動する前に前記Ｉ／Ｏスイッチ管理情報を更新する場合、前記Ｉ／Ｏスイッチ装置に接続されたＳＶＰ（Service Processor）を介して、前記Ｉ／Ｏスイッチ装置に接続される前記Ｉ／Ｏデバイスの情報を取得し、その際、
接続される前記Ｉ／Ｏデバイスが大規模記憶装置であるストレージ装置の関連であったとき、前記記憶部に予め記憶されているストレージ管理ソフトと連携して当該Ｉ／Ｏデバイスの情報を取得し、
接続される前記Ｉ／Ｏデバイスがネットワーク関連であったとき、Ｇ／Ｗ（Gateway）と連携して当該Ｉ／Ｏデバイスの情報を取得し、
取得した情報について前記Ｉ／Ｏスイッチ管理情報と差分があれば、前記Ｉ／Ｏスイッチ管理情報においてその差分を更新する
ことを特徴とする請求項１に記載の計算機システム。
【請求項８】
１つ以上の計算機と、外部装置と接続するために前記計算機ごとに割り当てられる１つ以上のＩ／Ｏデバイス、および、１つ以上の代替え用のＩ／Ｏデバイスを有してなるＩ／Ｏデバイスと、前記計算機と前記Ｉ／Ｏデバイスとの間に介在してそれらの接続を切り替える１つ以上のＩ／Ｏスイッチ装置と、前記計算機と前記Ｉ／Ｏデバイスとの接続状況を管理する管理サーバと、を備える計算機システムにおける管理サーバであって、
前記計算機と前記Ｉ／Ｏスイッチ装置と前記Ｉ／Ｏデバイスの種類との対応付けを定義したＩ／Ｏ構成情報と、前記計算機と前記Ｉ／Ｏスイッチ装置と前記Ｉ／Ｏデバイスとの実際の接続構成の情報であるＩ／Ｏスイッチ管理情報と、を記憶する記憶部と、
前記計算機への起動命令を発行した後に、前記Ｉ／Ｏスイッチ装置から最新の接続構成の情報を取得して前記Ｉ／Ｏスイッチ管理情報を更新し、前記Ｉ／Ｏ構成情報と更新した前記Ｉ／Ｏスイッチ管理情報とを比較し、一致していれば、前記計算機のＯＳ（Operating System）を起動し、一致していなければ、その不一致な接続構成となっている前記計算機に関し、種類の不一致な前記Ｉ／Ｏデバイスから、前記１つ以上の代替え用のＩ／Ｏデバイスのうち前記種類の不一致を解消できる前記Ｉ／Ｏデバイスへの変更のための選択を行い、その選択に基づいて前記Ｉ／Ｏスイッチ管理情報を更新する処理部と、
を備えることを特徴とする管理サーバ。
【請求項９】
前記Ｉ／Ｏ構成情報は、前記計算機と、その計算機と接続する１つ以上の前記Ｉ／Ｏデバイスの種類と、の複数の組み合わせパターンを有しており、
前記Ｉ／Ｏスイッチ管理情報は、前記Ｉ／Ｏスイッチ装置の接続ポート、接続するＩ／Ｏデバイスの種類を示す接続Ｉ／Ｏデバイス、および、接続するＩ／Ｏデバイスの識別子を少なくとも有しており、
前記処理部は、
前記計算機と前記Ｉ／Ｏデバイスとの接続構成において前記Ｉ／Ｏデバイスの種類の不一致があると判断した場合、その種類の不一致な接続構成となっている前記Ｉ／Ｏデバイスを前記Ｉ／Ｏ構成情報から特定し、前記Ｉ／Ｏスイッチ管理情報において前記特定したＩ／Ｏデバイスの識別子を、前記１つ以上の代替え用のＩ／Ｏデバイスのうち前記種類の不一致を解消できるＩ／Ｏデバイスの識別子に書き換える
ことを特徴とする請求項８に記載の管理サーバ。
【請求項１０】
前記処理部は、
前記種類の不一致な接続構成が発生したＩ／Ｏデバイスからの種類の不一致接続構成発生通知を受けて、前記Ｉ／Ｏデバイスの識別子の書き換えを行う
ことを特徴とする請求項９に記載の管理サーバ。
【請求項１１】
前記代替え用のＩ／Ｏデバイスが複数種類設けられていることを特徴とする請求項８に記載の管理サーバ。
【請求項１２】
表示部をさらに備え、
前記処理部は、
前記計算機と前記Ｉ／Ｏデバイスとの接続構成において前記Ｉ／Ｏデバイスの種類の不一致があると判断した場合、管理者に対して、その不一致な接続構成の通知画面、および、その不一致な接続構成となっている前記計算機の起動停止、接続修復、強制起動のいずれかの選択画面を前記表示部に表示させる
ことを特徴とする請求項８に記載の管理サーバ。
【請求項１３】
前記処理部は、
前記計算機の起動時にＯＳが起動する前に前記Ｉ／Ｏスイッチ管理情報を更新する場合、前記Ｉ／Ｏスイッチ装置に接続されたＳＶＰ（Service Processor）を介して、前記Ｉ／Ｏスイッチ装置に接続される前記Ｉ／Ｏデバイスの情報を取得し、その際、
接続される前記Ｉ／Ｏデバイスが大規模記憶装置であるストレージ装置の関連であったとき、前記記憶部に予め記憶されているストレージ管理ソフトと連携して当該Ｉ／Ｏデバイスの情報を取得し、
接続される前記Ｉ／Ｏデバイスがネットワーク関連であったとき、Ｇ／Ｗ（Gateway）と連携して当該Ｉ／Ｏデバイスの情報を取得し、
取得した情報について前記Ｉ／Ｏスイッチ管理情報と差分があれば、前記Ｉ／Ｏスイッチ管理情報においてその差分を更新する
ことを特徴とする請求項８に記載の管理サーバ。
【請求項１４】
１つ以上の計算機と、外部装置と接続するために前記計算機ごとに割り当てられる１つ以上のＩ／Ｏデバイス、および、１つ以上の代替え用のＩ／Ｏデバイスを有してなるＩ／Ｏデバイスと、前記計算機と前記Ｉ／Ｏデバイスとの間に介在してそれらの接続を切り替える１つ以上のＩ／Ｏスイッチ装置と、前記計算機と前記Ｉ／Ｏデバイスとの接続状況を管理する管理サーバと、を備える計算機システムにおける管理サーバによる不一致接続構成検知方法であって、
前記管理サーバは、前記計算機と前記Ｉ／Ｏスイッチ装置と前記Ｉ／Ｏデバイスの種類との対応付けを定義したＩ／Ｏ構成情報と、前記計算機と前記Ｉ／Ｏスイッチ装置と前記Ｉ／Ｏデバイスとの実際の接続構成の情報であるＩ／Ｏスイッチ管理情報と、を記憶する記憶部と、処理部と、を有しており、
前記処理部は、
前記計算機への起動命令を発行した後に、前記Ｉ／Ｏスイッチ装置から最新の接続構成の情報を取得して前記Ｉ／Ｏスイッチ管理情報を更新し、前記Ｉ／Ｏ構成情報と更新した前記Ｉ／Ｏスイッチ管理情報とを比較し、一致していれば、前記計算機のＯＳ（Operating System）を起動し、一致していなければ、その不一致な接続構成となっている前記計算機に関し、種類の不一致な前記Ｉ／Ｏデバイスから、前記１つ以上の代替え用のＩ／Ｏデバイスのうち前記種類の不一致を解消できる前記Ｉ／Ｏデバイスへの変更のための選択を行い、その選択に基づいて前記Ｉ／Ｏスイッチ管理情報を更新する
ことを特徴とする不一致接続構成検知方法。
【請求項１５】
前記Ｉ／Ｏ構成情報は、前記計算機と、その計算機と接続する１つ以上の前記Ｉ／Ｏデバイスの種類と、の複数の組み合わせパターンを有しており、
前記Ｉ／Ｏスイッチ管理情報は、前記Ｉ／Ｏスイッチ装置の接続ポート、接続するＩ／Ｏデバイスの種類を示す接続Ｉ／Ｏデバイス、および、接続するＩ／Ｏデバイスの識別子を少なくとも有しており、
前記処理部は、
前記計算機と前記Ｉ／Ｏデバイスとの接続構成において前記Ｉ／Ｏデバイスの種類の不一致があると判断した場合、その種類の不一致な接続構成となっている前記Ｉ／Ｏデバイスを前記Ｉ／Ｏ構成情報から特定し、前記Ｉ／Ｏスイッチ管理情報において前記特定したＩ／Ｏデバイスの識別子を、前記１つ以上の代替え用のＩ／Ｏデバイスのうち前記種類の不一致を解消できるＩ／Ｏデバイスの識別子に書き換える
ことを特徴とする請求項１４に記載の不一致接続構成検知方法。
【請求項１６】
前記処理部は、
前記種類の不一致な接続構成が発生したＩ／Ｏデバイスからの種類の不一致接続構成発生通知を受けて、前記Ｉ／Ｏデバイスの識別子の書き換えを行う
ことを特徴とする請求項１５に記載の不一致接続構成検知方法。
【請求項１７】
前記代替え用のＩ／Ｏデバイスが複数種類設けられていることを特徴とする請求項１４に記載の不一致接続構成検知方法。
【請求項１８】
前記管理サーバは、表示部をさらに備えており、
前記処理部は、
前記計算機と前記Ｉ／Ｏデバイスとの接続構成において前記Ｉ／Ｏデバイスの種類の不一致があると判断した場合、管理者に対して、その不一致な接続構成の通知画面、および、その不一致な接続構成となっている前記計算機の起動停止、接続修復、強制起動のいずれかの選択画面を前記表示部に表示させる
ことを特徴とする請求項１４に記載の不一致接続構成検知方法。
【請求項１９】
前記処理部は、
前記計算機の起動時にＯＳが起動する前に前記Ｉ／Ｏスイッチ管理情報を更新する場合、前記Ｉ／Ｏスイッチ装置に接続されたＳＶＰ（Service Processor）を介して、前記Ｉ／Ｏスイッチ装置に接続される前記Ｉ／Ｏデバイスの情報を取得し、その際、
接続される前記Ｉ／Ｏデバイスが大規模記憶装置であるストレージ装置の関連であったとき、前記記憶部に予め記憶されているストレージ管理ソフトと連携して当該Ｉ／Ｏデバイスの情報を取得し、
接続される前記Ｉ／Ｏデバイスがネットワーク関連であったとき、Ｇ／Ｗ（Gateway）と連携して当該Ｉ／Ｏデバイスの情報を取得し、
取得した情報について前記Ｉ／Ｏスイッチ管理情報と差分があれば、前記Ｉ／Ｏスイッチ管理情報においてその差分を更新する
ことを特徴とする請求項１４に記載の不一致接続構成検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｉ／Ｏ（Input/Output）スイッチ装置と接続される計算機の管理を容易にする技術に関する。
【背景技術】
【０００２】
一般に、サーバ装置は、複数の異なる種類の外部装置と接続されることが多い。外部装置の例としては、ネットワーク装置やストレージ装置等がある。これらの外部装置は、要求される機能、性能、信頼性、コスト等が異なる。そのため、サーバ装置と外部装置を接続するためのプロトコルは、外部装置ごとに異なっている。従って、例えば、サーバ装置と複数の外部装置とを接続するために、サーバ装置と各外部装置の間ごとに、異なるプロトコルを処理するＩ／Ｏデバイスがそれぞれ設けられる。
【０００３】
近年の一般的なサーバ装置に関しては、サーバ装置とＩ／Ｏデバイスの対応付けが固定であり、変更することはできない。そのため、企業の計算機システムやデータセンタのように多数のサーバ装置が稼働している環境では、サーバ装置ごとに必要なＩ／Ｏデバイスを選択する必要がある。しかし、サーバ装置とＩ／Ｏデバイスの対応付けが固定されていると、サーバ装置の用途の変更などが生じた場合にＩ／Ｏデバイスの取り付けや取り外しを行う必要があり、運用管理が煩雑化する問題がある。
【０００４】
この問題を解決する一つの技術として、Ｉ／Ｏスイッチ（装置）がある。Ｉ／Ｏスイッチはサーバ装置と前記したＩ／Ｏデバイスとの間に位置する装置であり、Ｉ／Ｏスイッチの構成を制御することでサーバ装置に割り当てるＩ／Ｏデバイスを柔軟に変更することができるようになる。また、Ｉ／Ｏスイッチは、複数のサーバ装置を接続することもできるため、複数のサーバ装置に対してＩ／Ｏデバイスの割り当てを柔軟化でき、運用管理の煩雑さを緩和することができる（例えば特許文献１参照）。
【特許文献１】特開２００５−３０１４８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、Ｉ／Ｏスイッチを使用すると、前記したＩ／Ｏデバイスの割り当てを柔軟化できる反面、Ｉ／Ｏ構成の管理が複雑化する問題が生じる。例えば、まず、その比較としてＩ／Ｏスイッチを使用しないサーバ装置の場合について説明すると、Ｉ／Ｏアダプタ（Ｉ／Ｏデバイス）の交換（増設）を実施しても影響を受けるサーバ装置は一つであるため容易に管理ができる。つまり、不正な（「正常ではない」の意。以下同様）Ｉ／Ｏ構成変更をしてしまっても、管理者は物理的な位置を確認することで問題を迅速に解決することが可能である。
【０００６】
一方、Ｉ／Ｏスイッチを使用するサーバ装置の場合は、サーバ装置とＩ／Ｏデバイスが分離されており、かつ、複数のサーバ装置がＩ／Ｏスイッチと接続されている。このため、Ｉ／Ｏ構成の管理が複雑になる。例えば、複数のサーバ装置に対してＩ／Ｏスイッチに接続する複数のＩ／Ｏデバイスを柔軟に割り当てようとするため、割り当ての競合や不正な構成変更といった作業により、サーバ装置が意図したＩ／Ｏ構成で起動しない問題が生じ易い。
【０００７】
このため、管理者は、サーバ装置ごとにＩ／Ｏ構成を正確に把握するとともに、柔軟なデバイスの割り当てを実施する必要がある。また、不正なＩ／Ｏ構成で起動することによるデメリットの度合いと、不正なＩ／Ｏ構成であっても起動することによるメリットの度合いとのバランスによって、Ｉ／ＯポートごとにＩ／Ｏアダプタ（Ｉ／Ｏデバイス）の状態、種類、接続先デバイスの全てを一致させる必要がある場合と、それらの全てを必ずしも一致させる必要がない場合がある。そして、前記した特許文献１などの従来技術では、そういった柔軟な対応をすることができず、Ｉ／Ｏスイッチ装置と接続されるサーバ装置（計算機）の管理が煩雑となる。
【０００８】
そこで、本発明は、前記問題を解決するためになされたものであり、Ｉ／Ｏスイッチ装置と接続される計算機の管理を容易にすることを課題とする。
【課題を解決するための手段】
【０００９】
前記した問題を解決するために、本発明は、１つ以上の計算機と、１つ以上のＩ／Ｏデバイスと、１つ以上のＩ／Ｏスイッチ装置と、管理サーバと、を備える計算機システムである。管理サーバは、Ｉ／Ｏ構成情報とＩ／Ｏスイッチ管理情報とを記憶する記憶部と、Ｉ／Ｏ構成情報とＩ／Ｏスイッチ管理情報とを比較して、計算機とＩ／Ｏデバイスとの接続構成に不正がないか判断し、不正があると判断した場合、その不正接続構成となっている計算機に関して、起動を中止させ、代替え可能なＩ／Ｏデバイスを割り当ててＩ／Ｏスイッチ管理情報を更新する処理部と、を備える。その他の手段については後記する。
【発明の効果】
【００１０】
本発明によれば、Ｉ／Ｏスイッチ装置と接続される計算機の管理を容易にすることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照（言及図以外の図も適宜参照）して、本発明を実施するための最良の形態（以下、実施形態という。）について説明する。まず、図１を参照して、本実施形態の計算機システムを構成する各装置の機能について説明し、その後、図２〜図６を参照して、各装置のハードウェア構成などについて説明する。
【００１２】
図１は、本実施形態の計算機システムを示す全体図である。管理サーバ１０１は、計算機システムＳにおける制御の中心的役割を担う。管理サーバ１０１は、Ｉ／Ｏ構成管理部１０２（処理部）、Ｉ／Ｏスイッチ管理テーブル１０９、サーバ管理テーブル１１０、サーバＩ／Ｏ構成情報テーブル１１１、デバイスプール管理テーブル１１２、および、デバイス識別子書き換えプログラム１２０を備えている。Ｉ／Ｏ構成管理部１０２は、サーバ制御部１０３、Ｉ／Ｏ構成情報比較部１０４、Ｉ／Ｏデバイス選択部１０５、Ｉ／Ｏデバイス切り替え部１０６、Ｉ／Ｏデバイス割り当て部１０７、Ｉ／Ｏデバイス検査部１０８を備えている。
【００１３】
管理サーバ１０１は、ネットワークスイッチ１１３を介して、サーバ装置１１４（計算機）、および、ファームウェア層のＳＶＰ（Service Processor）１１９に接続されている。サーバ装置１１４とＳＶＰ１１９は、Ｉ／Ｏスイッチ装置１１５に接続されている。Ｉ／Ｏスイッチ装置１１５は、ソケット１１６を介してＩ／Ｏデバイス１１７と接続される（以下、「ソケット１１６を介して」の記載省略あり）。
【００１４】
なお、Ｉ／Ｏデバイス１１７の内、いくつかはストレージ装置１１８（外部装置）と接続され、これにより、サーバ装置１１４からストレージ装置１１８にアクセスすることができる。管理サーバ１０１は、サーバ装置１１４やＩ／Ｏスイッチ装置１１５やＩ／Ｏデバイス１１７の障害（不正接続構成）を検知し回復する機能を有する。
【００１５】
サーバ制御部１０３は、ＳＶＰ１１９を介したサーバ装置１１４に対する起動や停止などの各種命令の発行や、Ｉ／Ｏスイッチ装置１１５から情報を取得する機能を有する。
Ｉ／Ｏ構成情報比較部１０４は、Ｉ／Ｏデバイス１１７の現在の構成と管理サーバ１０１が保持するサーバＩ／Ｏ構成情報テーブル１１１（Ｉ／Ｏ構成情報）の情報を比較する機能を有する。
Ｉ／Ｏデバイス選択部１０５は、サーバ装置１１４に割り当てようとしたＩ／Ｏデバイス１１７が不正と判断された場合に、代替えのＩ／Ｏデバイス１１７を抽出して選択する機能を有する。
【００１６】
Ｉ／Ｏデバイス切り替え部１０６は、選択された不正と判断されたＩ／Ｏデバイス１１７と代替え用Ｉ／Ｏデバイス１１７を交換した構成をサーバＩ／Ｏ構成情報テーブル１１１に登録する機能を有する。
Ｉ／Ｏデバイス割り当て部１０７は、サーバＩ／Ｏ構成情報テーブル１１１に登録された内容に従って、Ｉ／Ｏデバイス１１７をサーバ装置１１４に割り当てる機能を有する。
Ｉ／Ｏデバイス検査部１０８は、Ｉ／Ｏデバイス１１７の情報を、サーバ装置１１４の起動時やＩ／Ｏ構成変更時に、Ｉ／Ｏスイッチ装置１１５に接続されるＩ／Ｏデバイス１１７やそのＩ／Ｏデバイス１１７に接続されるストレージ装置１１８などの情報を取得する機能を有する。
【００１７】
Ｉ／Ｏスイッチ管理テーブル１０９（Ｉ／Ｏスイッチ管理情報）は、Ｉ／Ｏスイッチ装置１１５に接続されたＩ／Ｏデバイス１１７の情報が格納される（図１０で後記）。
サーバ管理テーブル１１０は、サーバ装置１１４のＩ／Ｏ構成の定義情報や状態などが格納される（図１１で後記）。
【００１８】
サーバＩ／Ｏ構成情報テーブル１１１は、サーバ装置１１４に接続される一つまたは複数のＩ／Ｏスイッチ装置１１５、その先に接続されるＩ／Ｏデバイス１１７、さらにその先に接続される接続先デバイス（ストレージ装置１１８など）、重要度（詳細は後記）などが定義されている（図１２で後記）。
デバイスプール管理テーブル１１２は、Ｉ／Ｏデバイス１１７が不正と判断された場合のために、その代替え用のＩ／Ｏデバイス１１７が定義されている（図１３で後記）。
【００１９】
デバイス識別子書き換えプログラム１２０は、Ｉ／Ｏデバイス１１７が有する固有の識別子を書き換える機能を有するプログラムが格納される。
なお、本実施形態では、管理サーバ１０１が、サーバ装置１１４に接続されるＩ／Ｏデバイス１１７が不正に変更された場合にサーバ装置１１４の起動を一旦停止し、代替え可能なＩ／Ｏデバイス１１７を選択して正常な状態で起動する一実施形態を示す。
【００２０】
図２は、管理サーバ１０１の構成を示す図である。管理サーバ１０１は、メモリ２０１（記憶部）とプロセッサ２０２（処理部）とディスクインターフェース２０３とネットワークインターフェース２０４と表示部２０５を備えている。メモリ２０１内には、Ｉ／Ｏスイッチ管理テーブル１０９、サーバ管理テーブル１１０、サーバＩ／Ｏ構成情報テーブル１１１、デバイスプール管理テーブル１１２、デバイス識別子書き換えプログラム１２０が格納される。Ｉ／Ｏ構成管理部１０２には、サーバ制御部１０３、Ｉ／Ｏ構成情報比較部１０４、Ｉ／Ｏデバイス選択部１０５、Ｉ／Ｏデバイス切り替え部１０６、Ｉ／Ｏデバイス割り当て部１０７、Ｉ／Ｏデバイス検査部１０８が含まれる。
【００２１】
メモリ２０１内のＩ／Ｏ構成管理部１０２、Ｉ／Ｏスイッチ管理テーブル１０９、サーバ管理テーブル１１０、サーバＩ／Ｏ構成情報テーブル１１１、デバイスプール管理テーブル１１２、および、デバイス識別子書き換えプログラム１２０は、プロセッサ２０２に読み込まれ処理される。ディスクインターフェース２０３は、管理サーバ１０１を起動するためのプログラムが格納されたディスク（不図示）に接続される。ネットワークインターフェース２０４は、ネットワークスイッチ１１３に接続され各装置の障害情報などを受け取る。なお、これらの機能はソフトウェアとハードウェアのいずれで実装してもよい。表示部２０５は、例えば液晶表示機であり、プロセッサ２０２の指示により表示を行う。
【００２２】
図３は、サーバ装置１１４の構成を示す図である。サーバ装置１１４は、メモリ３０１、プロセッサ３０２、Ｉ／Ｏスイッチインターフェース３０３、ＢＭＣ(Base board Management Controller)３０４を備えている。メモリ３０１には、サーバ装置１１４で処理されるプログラムが格納され、それらはプロセッサ３０２で実行される。Ｉ／Ｏスイッチインターフェース３０３は、Ｉ／Ｏスイッチ装置１１５に接続される。
【００２３】
ＢＭＣ３０４は、サーバ装置１１４内のハードウェアに障害が発生した場合に、ネットワークスイッチ１１３を介して管理サーバ１０１に障害を通知する機能を有する。なお、ＢＭＣ３０４は障害の発生箇所とは独立に動作できるため、メモリ３０１やプロセッサ３０２に障害が発生したとしても障害通知を転送することができる。
【００２４】
図４は、Ｉ／Ｏスイッチ装置１１５の構成を示す図である。Ｉ／Ｏスイッチ装置１１５は、メモリ４０１、制御プロセッサ４０２、ネットワークインターフェース４０３、クロスバスイッチ４０４、ポート４０７を備えている。メモリ４０１には、クロスバスイッチ制御部４０５、ポート管理テーブル４０６（図１４で後記）が格納される。クロスバスイッチ制御部４０５は、ポート４０７ごとの状態や割り当てを制御する機能を有する。
【００２５】
メモリ４０１内のクロスバスイッチ制御部４０５やポート管理テーブル４０６は、制御プロセッサ４０２に読み込まれ実行される。Ｉ／Ｏスイッチ装置１１５は、ネットワークインターフェース４０３を介して、他のＩ／Ｏスイッチ装置１１５の障害情報を転送したり、Ｉ／Ｏスイッチ装置１１５の制御を行うためのコマンドを受信したりすることができる。ポート管理テーブル４０６は、ポート４０７ごとの状態や割り当て情報を格納する。クロスバスイッチ４０４は、通信経路選択機構であり、ポート４０７間でのデータの転送制御を行う。
【００２６】
図５は、ストレージ装置１１８の構成を示す図である。ストレージ装置１１８は、ストレージ制御装置５０１とディスク装置５０２を備えている。ストレージ制御装置５０１は、サーバ装置１１４と接続され、ディスク装置５０２内のディスク５０３に対し、読み込みおよび書き込みを行う。ディスク装置５０２内のディスク５０３には、それぞれ論理ユニット（ＬＵ：Logical Unit）と呼ばれる識別子が付けられ、サーバ装置１１４から区別できるようになっている。
【００２７】
図６は、ＳＶＰ１１９の構成を示す図である。ＳＶＰ１１９は、メモリ６０１、プロセッサ６０２、Ｉ／Ｏインターフェース６０３、ＢＭＣ６０４を備えている。メモリ６０１には、ＳＶＰ１１９で処理されるプログラムが格納され、それらはプロセッサ６０２で実行される。Ｉ／Ｏインターフェース６０３は、ＳＶＰに専用で用意されるディスク装置６０５に接続される。ＳＶＰのプログラムで処理するプログラムの格納先はディスク装置６０５である。ＳＶＰ１１９はＢＭＣ６０４を介してネットワークスイッチ１１３と接続し、管理サーバ１０１、サーバ装置１１４、Ｉ／Ｏスイッチ装置１１５と通信を行って情報を制御する機能を有する。
【００２８】
図７は、本実施形態における動作概要の一例を説明するための全体構成の部分図である。なお、図７〜図９においては、複数のサーバ装置１１４のうち左端のサーバ装置１１４がストレージ装置１１８やネットワークスイッチ１１３ａ（ネットワークスイッチ１１３とは別）に接続する場合の通信経路を太線で示している。
【００２９】
図７において、サーバ装置１１４に割り当てたＩ／Ｏデバイス１１７が正常な場合に、指定したＩ／Ｏデバイス１１７を使用してその先のストレージ装置１１８におけるブートディスク７０１（図５のディスク５０３に対応）などにアクセスすることで、サーバ装置１１４が起動する（ユーザディスク７０２については後記）。ここでの特徴は、未使用のＩ／Ｏデバイス１１７を待機用としてまとめて管理するデバイスプール７０３を設けたことである。デバイスプール７０３には、複数の種類のＩ／Ｏデバイス１１７がプールされ、Ｉ／Ｏ構成変更に備える。Ｉ／Ｏスイッチ装置１１５は、ソケット１１６を介して複数の種類のＩ／Ｏデバイス１１７をユーザの自由に接続することができる。
【００３０】
Ｉ／Ｏデバイス１１７としては、例えば、ネットワーク接続を行うためのＮＩＣ(Network Interface Card)や、ストレージ装置１１８と接続するためのＨＢＡ(Host Bus Adapter)等がある。また、Ｉ／Ｏスイッチ装置１１５は、あらゆるデータを転送することができる経路を提供する。
【００３１】
Ｉ／Ｏに機能を持つのはＩ／Ｏデバイス１１７である。Ｉ／Ｏデバイス１１７は、サーバ装置１１４と違って、均一の機能を有している訳ではない。従って、Ｉ／Ｏデバイス１１７が不正となった場合に、どういった種類のＩ／Ｏデバイスに不正構成が発生しても回復できるようにするためには、あらかじめ複数の種類のＩ／Ｏデバイス１１７をプールしておく必要がある。また、本実施形態の目的以外に、Ｉ／Ｏデバイスプール７０３はＩ／Ｏデバイス１１７の故障時におけるＩ／Ｏデバイス１１７の取替え時にも使用できる。
【００３２】
図８は、本実施形態における動作概要の図７に対応する一例を説明するための全体構成の部分図である。図８では、サーバ装置１１４に割り当てたＩ／Ｏデバイス１１７が不正な場合に、サーバ装置１１４がユーザディスク７０２にアクセスできない状態を示している。つまり、Ｉ／Ｏデバイス１１７ａ（１１７）がＮＩＣなので、サーバ装置１１４がユーザディスク７０２にアクセスできない（ＮＩＣであるＩ／Ｏデバイス１１７ａは、ネットワークスイッチ１１３ａに接続されるべきである）。
【００３３】
このとき、サーバ装置１１４の起動を一旦停止し、ユーザに指定したＩ／Ｏデバイス１１７が不正な状態であることを通知する。つまり、現在のＩ／Ｏ構成が図８の状態であることをユーザに知らせる。この動作によりユーザは現在の構成が不正であることを知ることができるため、この通知は非常に重要な意味を持つ。
【００３４】
これにより、ユーザディスク７０２にアクセスできない不正な状態でサーバ装置１１４を起動することを抑止することが可能となる。ユーザはサーバ装置１１４の起動を中止するか、不正であるＩ／Ｏデバイス１１７を修復するか選択できる。修復の選択は、サーバ装置１１４におけるＩ／Ｏデバイス１１７の重要度に依存するため、ユーザによって柔軟に選択できるという機能が重要である。
【００３５】
図９は、本実施形態における動作概要の図８に対応する一例を説明するための全体構成の部分図である。図８で示す不正なＩ／Ｏデバイス１１７ａを、代替え可能であるＩ／Ｏデバイス１１７ｂと入れ替えたＩ／Ｏ構成でサーバ装置１１４を起動する。つまり、ユーザディスク７０２への経路を、Ｉ／Ｏデバイス１１７ａを介した経路９０１から、Ｉ／Ｏデバイス１１７ｂを介した代替えの経路９０２に変更することが可能となる。これによって、不正なＩ／Ｏ構成が修復され、サーバ装置１１４は、それまでアクセスできなかったユーザディスク７０２にアクセスが可能となる。
【００３６】
図１０は、Ｉ／Ｏスイッチ管理テーブル１０９の一例を示す図である。カラム１００１は、Ｉ／Ｏスイッチ識別子であり、Ｉ／Ｏスイッチ装置１１５ごとに識別子が割り当てられる。カラム１００２は、Ｉ／Ｏスイッチ装置１１５のポート番号（図４のポート４０７の識別子）を示す。カラム１００３には、そのポートに接続されたデバイスの種類を示す情報が格納される（「ホスト」はサーバ装置１１４）。カラム１００４には、デバイスごとの固有情報であるデバイス識別子が格納される。例えば、ＮＩＣであればＭＡＣ(Media Access Control address)アドレス、ＨＢＡであればＷＷＮ(World Wide Name)等である。カラム１００５は、Ｉ／Ｏデバイス１１７の状態が格納される。例えば、正常（正常動作可能）、障害（障害発生）といった情報である。
【００３７】
Ｉ／Ｏスイッチ管理テーブル１０９の情報は、新たにＩ／Ｏデバイス１１７が接続されたときや、Ｉ／Ｏデバイス１１７の障害のため交換された場合など、Ｉ／Ｏデバイス１１７に変更が生じた場合に更新される。Ｉ／Ｏスイッチ管理テーブル１０９を有することで、Ｉ／Ｏスイッチ装置１１５に接続されたＩ／Ｏデバイス１１７の状態を管理することができる。また、Ｉ／Ｏスイッチ管理テーブル１０９により、Ｉ／Ｏデバイス１１７に障害が発生してＩ／Ｏデバイス１１７にアクセス不可能になった場合にも、Ｉ／Ｏデバイス１１７の識別子を取得することができるようになる。
【００３８】
図１１は、サーバ管理テーブル１１０の一例を示す図である。カラム１１０１は、サーバ装置識別子であり、サーバ装置１１４ごとに識別子が割り当てられる。各サーバ装置１１４に関して、カラム１１０２にはプロセッサ構成、カラム１１０３にはメモリ容量が格納される。カラム１１０４には、当該サーバ装置１１４が接続されているＩ／Ｏスイッチ装置１１５のポート番号が格納される。
【００３９】
カラム１１０５には、当該サーバ装置１１４に割り当てられているＩ／Ｏデバイス１１７が接続されたポート番号が格納される。カラム１１０６には、サーバ装置１１４に割り当てられたＩ／Ｏデバイス１１７の種類が格納される。カラム１１０７には、当該サーバ装置１１４に割り当てられたディスクの論理ユニット番号が格納される。サーバ管理テーブル１１０によって、サーバ装置１１４に割り当てられたＩ／Ｏデバイス１１７を管理することができるようになる。
【００４０】
図１２は、サーバＩ／Ｏ構成情報テーブル１１１の一例を示す図である。カラム１２０１には、Ｉ／Ｏ構成定義（Ｉ／Ｏ構成のパターン）の番号が格納される。カラム１２０２には、Ｉ／Ｏスイッチ装置１１５の識別子が格納される。カラム１２０３には、そのＩ／Ｏスイッチ装置１１５のポート番号が格納される。
【００４１】
カラム１２０４には、接続デバイス（接続Ｉ／Ｏデバイス）の種類が格納される。カラム１２０５には、接続先デバイスが格納される（「ＳＡＮ」は「Storage Area Network」の略でありストレージ装置１１８に対応。「Ｇ／Ｗ」は「Gateway」の略でありネットワークスイッチ１１３に対応）。カラム１２０６には、割り当て論理区画の名称が格納される（「ＬＰＡＲ」は「Logical Partitioning（論理分割）」の略）。
【００４２】
ここで、論理区画について説明する。高性能な（つまり、処理が高速、記憶容量が大きいなど）サーバ装置１１４を有効活用する方法の一つに、前記したＬＰＡＲがある。ＬＰＡＲとは、１台のサーバ装置１１４を論理的に複数の区画（論理区画）に分割して、ＣＰＵ（Central Processing Unit）やメモリなどを区画ごとに割り当てることである。１台のサーバ装置１１４上に複数のシステムを構築できるため、サーバ装置１１４を有効活用できる。
【００４３】
本実施形態では、管理を、サーバ装置１１４ごとではなく、この論理区画ごとに行うことで、粒度の細かい管理が容易となる。特に、サーバ装置１１４に対して仮想化機能を使用して多数の論理区画を構築した場合に有効である。なお、サーバ装置１１４ごとに管理することも当然できる。
【００４４】
図１２に戻って説明を続けると、管理カラム１２０７には、起動ＯＳ名が格納される。起動ＯＳを管理することによって、起動や停止の際にＯＳに依存する操作が必要になる場合においても柔軟な対応を取れる。カラム１２０８には、起動ＯＳが管理していたＩ／Ｏデバイス１１７の論理ロケーションコードが格納される。本来ＯＳが管理する論理ロケーションコードをここで管理することで、Ｉ／Ｏ構成修復したことをＯＳに知らせる、またはあえてＩ／Ｏ構成の変更を意識させないことが可能となる。なお、この論理ロケーションコードは、例えば、ＰＣＩ（Peripheral Component Interconnect）アダプタ、ポート、ＳＣＳＩ（Small Computer System Interface）ディスク、ＬＵなどの識別子の組み合わせとして表現される。
【００４５】
カラム１２０９には、接続デバイスなどの重要度が格納される。重要度をユーザが登録することによって、サーバ装置１１４を起動する際に該当デバイスが不正であると判断された場合に、起動を停止するかどうかを選択することが可能となる。ここで、重要度は、領域１２１０に示すように、不正構成のレベルを表すものであり、Ｉ／Ｏデバイス１１７ごとに、レベル０〜レベル３の４段階で設定される。
【００４６】
このように、サーバＩ／Ｏ構成情報テーブル１１１を管理することによって、不正にＩ／Ｏデバイスや接続先デバイスが変更された場合に容易にそれを検知することが可能となる。また一つのサーバ装置１１４に対して複数のＩ／Ｏ構成を管理することができるので、用途別によってＩ／Ｏ構成を変更することも容易となる。
【００４７】
図１３は、デバイスプール管理テーブル１１２の一例を示す図である。カラム１３０１には、Ｉ／Ｏスイッチ装置１１５の識別子が格納される。カラム１３０２には、そのＩ／Ｏスイッチ装置１１５のポート番号が格納される。カラム１３０３には、Ｉ／Ｏデバイス１１７の割り当て状態が格納される。例えば、サーバ装置１１４に「割り当て済み」か「未割り当て」かといった情報である。
【００４８】
カラム１３０４には、デバイスプール割り当て状態が格納される。図１３では、ＳＷ１／ＳＷ２の各ポート６，７がデバイスプールとして割り当てられた例を示している。デバイスプールには、Ｉ／Ｏデバイス１１７に不正・障害が発生した際に、交代用のＩ／Ｏデバイス１１７を定義することができる。従って、交代したいＩ／Ｏデバイス１１７の種類や優先度などに応じて管理者が割り当てる。
【００４９】
なお、デバイスプールに割り当てるＩ／Ｏデバイス１１７は、ポート番号が連続している必要はなく不連続なポートを割り当ててもよい。また、一つのＩ／Ｏスイッチ装置１１５に複数のデバイスプールを設けてもよい。Ｉ／Ｏデバイスの数が多くなれば、デバイスプールとして定義するＩ／Ｏデバイス１１７も多くする方がシステム全体の信頼性は向上する。なお、未割り当てのＩ／Ｏデバイス１１７の全てをデバイスプールに定義しなくてもよい。つまり、管理者が手動で割り当てるため等の用途に備えて、デバイスプールに属さない未割り当てのＩ／Ｏデバイス１１７を設けることもできる。
【００５０】
図１４は、ポート管理テーブル４０６の一例を示す図である。カラム１４０１には、自身のＩ／Ｏスイッチ装置１１５の物理ポート番号（ポート４０７の物理的な識別子）が格納される。カラム１４０２には、割り当てグループが格納される。割り当てグループとは、ポートのつながりを示す。例えば、割り当てグループが同一のポート間ではデータの転送が可能であるが、割り当てグループが異なるポート間ではデータの転送ができない。
【００５１】
カラム１４０３には、論理ポート番号が格納される。論理ポート番号は、サーバ装置１１４に対してポート番号を仮想化する仕組みである。例えば、物理ポート番号（カラム１４０１）が「４」のポートは論理ポートとして「２」が割り当てられているため、サーバ装置１１４にはポート番号「２」に見せかけることができる。
【００５２】
ポートを仮想化することで、サーバ装置１１４に対して、ハードウェアの構成を柔軟に割り当てることができるようになる。例えば、Ｉ／Ｏデバイス１１７に障害が発生し、他のＩ／Ｏデバイス１１７と交代した場合に、ポートの仮想化を用いることで構成を同一に見せることができる。また、同一のＩ／Ｏデバイス１１７が割り当てられたサーバ装置１１４であっても、Ｉ／Ｏデバイス１１７が接続されたＩ／Ｏスイッチ装置１１５のポート番号の順番が変わることでオペレーティングシステムのデバイスの認識順序が異なる場合があり、これによりディスク５０３の認識順番が変更され不具合が生じることがある。こういった場合に、論理ポートを用いて順番を変更することで不具合を回避することができるようになる。
【００５３】
図１５は、Ｉ／Ｏスイッチ装置１１５の割り当て例を示す図である。サーバ装置１１４に対して、前記した割り当てグループ１５０２の機能を用いて任意のＩ／Ｏデバイス１１７を割り当てることができる。また、Ｉ／Ｏデバイス１１７が接続された物理的なポート４０７を仮想化し、論理ポート１５０１としてサーバ装置１１４に見せることができる。図１５では、物理的なポート４０７の「０」「１」「２」「３」が、それぞれ、論理ポートの「０」「１」「０」「１」と対応している。割り当てグループ１５０２によって、他の割り当てグループ１５０２からＩ／Ｏデバイス１１７にアクセスすることはできないため、信頼性を向上させることができる。
【００５４】
図１６は、サーバ装置１１４を制御するＩ／Ｏ構成管理部１０２の処理フローを示す図である。なお、Ｉ／Ｏ構成管理部１０２を構成する各部は、実際にはプロセッサ２０２によって実行されるが、便宜上それらの各部が動作を行うものとして以下記述する。
【００５５】
まず、ステップ１６０２において、サーバ制御部１０３は、サーバＩ／Ｏ構成情報テーブル１１１に格納されているＩ／Ｏ定義を指定して、ＳＶＰ１１９を介してサーバ装置１１４の起動命令を行なう。次に、ステップ１６０３において、Ｉ／Ｏデバイス検査部１０８は、ＳＶＰ１１９を介してＩ／Ｏスイッチ装置１１５と通信し、Ｉ／Ｏスイッチ装置１１５の情報（Ｉ／Ｏスイッチ情報）を取得し、Ｉ／Ｏスイッチ管理テーブル１０９の情報を更新する。
【００５６】
そして、ステップ１６０４において、Ｉ／Ｏ構成情報比較部１０４は、更新した最新のＩ／Ｏスイッチ管理テーブル１０９とサーバＩ／Ｏ構成情報テーブル１１１を比較する。ステップ１６０５において、Ｉ／Ｏ構成情報比較部１０４は、Ｉ／Ｏ情報が一致したか否かを判断し、Ｉ／Ｏ情報が一致した場合は（ステップ１６０５でＹｅｓ）ステップ１６１３に進み、Ｉ／Ｏ情報が一致しなかった場合は（ステップ１６０５でＮｏ）ステップ１６０６に進む。
【００５７】
ステップ１６１３において、サーバ制御部１０３は、ＳＶＰ１１９からサーバ装置１１４へ制御を移し、Ｉ／Ｏデバイス割り当て部１０７を用いて、指定したＩ／Ｏデバイス１１７を使用してサーバ装置１１４に対してＯＳから起動を開始させる。ＯＳは、ストレージ装置１１８など、サーバ装置１１４からみてＩ／Ｏデバイス１１７の奥の装置に格納されている。
【００５８】
ステップ１６０６において、サーバ制御部１０３は、エラーの旨とその内容をユーザに通知する。ステップ１６０６の後、サーバ制御部１０３は、Ｉ／Ｏ構成を修復するか否かのいずれをユーザが選択（入力）したかを判断する（ステップ１６０７）。サーバ制御部１０３は、Ｉ／Ｏ構成を修復しないとユーザが選択したと判断した場合（ステップ１６０７でＮｏ）、ステップ１６１２において、サーバ装置１１４の起動を中止し、処理を終了する。サーバ制御部１０３は、Ｉ／Ｏ構成を修復するとユーザが選択したと判断した場合（ステップ１６０７でＹｅｓ）、Ｉ／Ｏ構成を修正すべく、ステップ１６０８以降の処理に進む。
【００５９】
ステップ１６０８において、Ｉ／Ｏデバイス選択部１０５は、デバイスプール管理テーブル１１２を参照してＩ／Ｏスイッチ装置１１５の交換可能なポート（スロット）を選択する。ステップ１６０８の後、サーバ制御部１０３は、デバイス識別子を書き換えるか否かのいずれをユーザが選択（入力）したかを判断する（ステップ１６０９）。
【００６０】
サーバ制御部１０３は、デバイス識別子を書き換えるとユーザが選択した場合（ステップ１６０９でＹｅｓ）、ステップ１６１０において、デバイス識別子書き換えプログラム１２０を用いて、Ｉ／Ｏスイッチ管理テーブル１０９における該当接続デバイスのデバイス識別子１００４を書き換える。サーバ制御部１０３は、デバイス識別子を書き換えないとユーザが選択した場合（ステップ１６０９でＮｏ）、ステップ１６１０をスキップしてステップ１６１１に進む。
【００６１】
ステップ１６１１において、Ｉ／Ｏデバイス切り替え部１０６は、サーバＩ／Ｏ構成情報テーブル１１１を更新する。以後、ステップ１６０２に戻って処理を繰り返し、サーバ装置１１４のＯＳを起動する。このように、ユーザが定義したＩ／Ｏ構成でのみサーバ装置１１４を起動することによって、サーバ装置１１４に接続されるＩ／Ｏデバイス１１７が正しいということが保証される。
【００６２】
図１７は、Ｉ／Ｏ構成情報比較部１０４の処理フロー（ステップ１６０４の詳細）を示す図である。Ｉ／Ｏ構成情報比較部１０４は、ステップ１７０１において、更新した（最新の）Ｉ／Ｏスイッチ管理テーブル１０９の情報を取得する。以降の処理は、サーバＩ／Ｏ構成情報テーブル１１１の重要度カラム（符号１２０９）に格納されたレベルにより、処理が分かれる。
【００６３】
重要度がレベル３の場合（ステップ１７０２でＹｅｓ）、ステップ１６０３で取得したＩ／Ｏスイッチ装置１１５の情報と、サーバＩ／Ｏ構成情報テーブル１１１における接続先デバイス（符号１２０５）の情報を比較し（ステップ１７０５）、ステップ１７０６に進む。
【００６４】
重要度がレベル２以上の場合（ステップ１７０３でＹｅｓ）は、取得したＩ／Ｏスイッチ装置１１５の接続デバイスの情報（Ｉ／Ｏスイッチ管理テーブル１０９の接続デバイス１００３）と、サーバＩ／Ｏ構成情報テーブル１１１における接続デバイス（符号１２０４）の情報を比較し（ステップ１７０６）、ステップ１７０７に進む。
【００６５】
重要度がレベル１以上の場合（ステップ１７０４でＹｅｓ）は、取得したＩ／Ｏスイッチ装置１１５のポート番号の情報（Ｉ／Ｏスイッチ管理テーブル１０９のポート番号１００２）と、サーバＩ／Ｏ構成情報テーブル１１１のＩ／Ｏポート番号（符号１２０３）の情報を比較する（ステップ１７０７）。
【００６６】
比較情報が全て一致したか否かを確認し（ステップ１７０８）、全て一致の場合（Ｙｅｓ）は何もせず本処理は終了となるが、全て一致しなかった場合（Ｎｏ）はその選択されたＩ／Ｏポートを不正なＩ／Ｏポートとし、Ｉ／Ｏ構成を不一致として（ステップ１７０９）処理を終了する。
【００６７】
つまり、図１２の領域１２１０に示すように、重要度がレベル３の場合はポート番号、接続デバイスおよび接続先デバイスの全てが一致しなければ不正、レベル２の場合はポート番号および接続デバイスが一致しなければ不正、レベル１の場合はポート番号が一致しなければ不正、と判断し、レベル０の場合は何も不正と判断しない。
【００６８】
このように、重要度によってＩ／Ｏ構成の一致レベルを変更することで、計算機システムＳを柔軟に運用できる。例えば、重要なＩ／Ｏデバイス１１７の重要度（符号１２０９）を高くすることで、サーバ装置１１４に必須であるＩ／Ｏデバイス１１７の不正構成による起動不可などの問題を回避することができる。また、重要ではないＩ／Ｏデバイス１１７の重要度（符号１２０９）を低くすることで、サーバ装置１１４に対して影響の小さいＩ／Ｏデバイス１１７の不足によってサーバ装置１１４が全く起動しなくなってしまうことを防ぐことができる。なお、レベル０に設定されたＩ／Ｏデバイス１１７については、Ｉ／Ｏ構成情報を比較しない。
【００６９】
図１８は、交換可能なＩ／Ｏポートから代替え用のＩ／Ｏポートを選択するＩ／Ｏデバイス選択部１０５の処理フロー（ステップ１６０８の詳細）を示す図である。Ｉ／Ｏデバイス選択部１０５は、ステップ１８０１において、デバイスプール管理テーブル１１２から未割り当て状態のポート情報を取得する。次に、ステップ１８０２において、未割り当て状態のポート情報から、不正ポートにおけるサーバＩ／Ｏ構成情報テーブル１１１に登録されている接続デバイス（符号１２０４）と一致するものを抽出する。ステップ１８０３において、未割り当て状態のポート情報より、不正ポートにおけるサーバＩ／Ｏ構成情報テーブル１１１に登録されている接続先デバイスと一致するものを抽出する。
【００７０】
ステップ１８０４において、抽出された代替え可能なポートとその情報をユーザに通知する。このとき、ユーザに修復方法を手動か自動かのどちらかを選択させることで、処理が分かれる（ステップ１８０５）。Ｉ／Ｏデバイス選択部１０５は、ユーザが自動修復を選択したと判断した場合（ステップ１８０５で「自動修復」）、抽出された代替え可能なポートから最もサーバＩ／Ｏ構成情報テーブル１１１の登録内容に近いものを一つ選択する（ステップ１８０６）。Ｉ／Ｏデバイス選択部１０５は、ユーザが手動修復を選択したと判断した場合（ステップ１８０５で「手動修復」）、抽出された代替え可能なポートからユーザに一つ選択させる（ステップ１８０７）。ステップ１８０６およびステップ１８０７の後、選択されたポートを代替えポートとして（ステップ１８０８）、処理を終了する。
【００７１】
図１９は、サーバＩ／Ｏ構成情報テーブル１１１を更新するＩ／Ｏデバイス切り替え部１０６の処理フロー（ステップ１６１１の詳細）を示す図である。Ｉ／Ｏデバイス切り替え部１０６は、ステップ１９０１において、サーバＩ／Ｏ構成情報テーブル１１１の不正ポートの情報と代替えポートを入れ替えた定義を作成して更新する。このとき、起動ＯＳのデバイス認識方法に従って、代替えポートの物理ロケーションコードを不正ポートの物理ロケーションコードと同一のものに更新してＯＳに認識させる。
【００７２】
これによって、起動するＯＳがＩ／Ｏデバイス１１７が変更されたことで代替えのＩ／Ｏデバイス１１７を認識できない事態を回避でき、ＯＳ側の設定なしでＩ／Ｏ構成が変更される前と同様の動作を期待することが可能である。なお、サーバＩ／Ｏ構成情報テーブル１１１において、カラム１２０７には起動ＯＳ、カラム１２０８には論理ロケーションコードが格納されているため、各起動ＯＳにおけるＩ／Ｏデバイスの認識方法によって、ステップ１９０１の処理内容を変えてもよい。例えば、物理ロケーションを変更する必要がないＯＳであれば物理ロケーションの更新は実施しない。または、論理ロケーションコードを変更する必要がある場合は、論理ロケーションコードを更新してＯＳへ情報を渡すなどといった処理が考えられる。
【００７３】
図２０は、サーバ装置１１４にＩ／Ｏデバイスを割り当てるＩ／Ｏデバイス割り当て部１０７の処理フロー（ステップ１６１３の処理の一部）を示す図である。Ｉ／Ｏデバイス割り当て部１０７は、ステップ２００１において、サーバ装置１１４にサーバＩ／Ｏ構成情報テーブル１１１に登録されたポートを割り当て、サーバ装置１１４に対してブートディスク７０１からＯＳを起動させる。この処理で始めてＯＳへ制御が渡る。ここでは、Ｉ／Ｏ構成が常に正しい状態であるため、不正なＩ／Ｏ構成におけるＯＳの起動不可や、ネットワークが通信できないなどの構成不良を抑止できる。
【００７４】
図２１は、Ｉ／Ｏスイッチ装置１１５に接続されるＩ／Ｏポートの情報を取得してＩ／Ｏスイッチ管理テーブル１０９の情報を更新するＩ／Ｏデバイス検査部１０８の処理フロー（ステップ１６０３の詳細）を示している。Ｉ／Ｏデバイス検査部１０８は、ステップ２１０１において、ＳＶＰ１１９にＩ／Ｏスイッチ装置１１５に接続される全Ｉ／Ｏポートの検査命令を発行する。
【００７５】
次に、ステップ２１０２において、ＳＶＰ１１９を介して、Ｉ／Ｏスイッチ装置１１５に接続される全Ｉ／Ｏポートの状態と接続デバイス情報を取得する。ここで、接続デバイスがＨＢＡなどのストレージ装置１１８の関連であった場合（ステップ２１０３でＹｅｓ）、ストレージ管理ソフト（不図示）と連携して接続先デバイスの情報を取得する（ステップ２１０４）。また、接続デバイスがネットワーク関連であった場合（ステップ２１０５でＹｅｓ）、Ｇ／Ｗなどと連携して接続先デバイスの情報を取得する（ステップ２１０６）。
【００７６】
ここで、取得したＩ／Ｏスイッチ装置１１５の情報が、Ｉ／Ｏスイッチ管理テーブル１０９と差分があるか判断し（ステップ２１０７）、差分がある場合（Ｙｅｓ）はＩ／Ｏスイッチ管理テーブル１０９との差分を更新し（ステップ２１０８）、差分がない場合（Ｎｏ）は処理を終了する。
【００７７】
このように、接続先デバイスとの連携機能を有することによって、管理対象のサーバ装置１１４が関連するシステム全体のＩ／Ｏやネットワーク構成の不正まで管理することが可能となる。なお、ステップ２１０６では、ネットワークにおけるセキュリティ対策の機能を実装してもよい。例えば、本来接続してはならないネットワークセグメントやホストが接続される状態を抑止することでサーバ装置１１４への不正アクセスを抑止する。または、ウィルスやＤＯＳ（Denial of Service）攻撃といった外部からの悪意のある接続もここで遮断するとよりセキュリティの向上を期待することが可能である。
【００７８】
図２２は、サーバ装置のＩ／Ｏ構成を定義するＧＵＩ(Graphical User Interface）の一例を示す図であり、管理サーバ１０１の表示部２０５に表示される。管理サーバ１０１では、ユーザはサーバ装置１１４（ここではＣＰＵ Blade）ごとにＩ／Ｏ定義（ここではＩ／Ｏ Profile）を一つまたは複数管理することが可能である。図２２の例では、ＤＢサーバというＩ／Ｏ構成を定義して管理する画面であるサーバ装置のＩ／Ｏ構成定義編集画面２２０１を示している。この例のようにＤＢサーバとして使用する場合はＨＢＡを数多く定義し、接続先のＳＡＮデバイスの重要度を高く設定することで、データにアクセスできないような状態が極力起こらないように管理できる。
【００７９】
また、同一のサーバ装置１１４に対するＩ／Ｏ構成であっても、例えば、ＷＥＢサーバようにＩ／Ｏ構成定義を作成して、ＮＩＣを数多く設定することでネットワークの帯域を確保できる構成を定義して、必要な場合にその構成で起動することが可能となる。これによって、サーバ装置１１４を起動するとき、用途に応じて編集したＩ／Ｏ構成定義を指定することで希望するＩ／Ｏ構成でサーバ装置１１４を容易に起動することができる。
【００８０】
図２３は、図１６のステップ１６０６における起動エラー通知画面の一例を示す図であり、管理サーバ１０１の表示部２０５に表示される。図１６のステップ１６０６の処理時に、この起動エラー通知画面２３０１をユーザに通知する。これにより、ユーザが定義したＩ／Ｏ構成と実際に異なるデバイスがＩ／Ｏスイッチ装置１１５に接続されていることを通知し、その後の処理をユーザに選択させることが可能である。なお、緊急に不正な構成でも起動したい場合に対応するために「起動を停止してＩ／Ｏ構成を見直す」と「修復を実施する」以外に、「無視して起動を続ける」という項目を追加してもよい。
【００８１】
図２４は、図１８のステップ１８０７におけるＩ／Ｏ修復画面の一例を示す図であり、管理サーバ１０１の表示部２０５に表示される。Ｉ／Ｏ修復画面２４０１に示すように、ユーザは不正Ｉ／Ｏポートと代替え可能ポートを一つずつチェックボックスにチェックし、修復ボタンをクリックすることでＩ／Ｏ構成定義を更新することが可能となる。
【００８２】
このように、本実施形態の計算機システムＳによれば、Ｉ／Ｏスイッチ装置１１５と接続される計算機（サーバ装置１１４）の管理を容易にすることができる。つまり、管理者の利用形態に合わせてサーバ装置１１４にＩ／Ｏデバイス１１７を柔軟に割り当てられるという機能を損なわないで、Ｉ／Ｏ構成を管理することにより、不正なＩ／Ｏ構成変更の抑止／修復を実施し、サーバ装置１１４の管理を容易にすることができる。
【００８３】
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
例えば、本発明は、サーバ装置１１４の仮想化の技術の使用の有無に関係なく、適用することができる
その他、ハードウェア、プログラムなどの具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００８４】
【図１】本実施形態の全体図である。
【図２】管理サーバの構成を示す図である。
【図３】サーバ装置の構成を示す図である。
【図４】Ｉ／Ｏスイッチ装置の構成を示す図である。
【図５】ストレージ装置の構成を示す図である。
【図６】ＳＶＰの構成を示す図である。
【図７】本実施形態における動作概要の一例を説明するための全体構成の部分図である。
【図８】図７に対応した、Ｉ／Ｏデバイスが不正な状態を示す図である。
【図９】図８に対応した、Ｉ／Ｏデバイスが不正な状態の回復方法を示す図である。
【図１０】Ｉ／Ｏスイッチ管理テーブルを示す図である。
【図１１】サーバ管理テーブルを示す図である。
【図１２】サーバＩ／Ｏ構成情報テーブルを示す図である。
【図１３】デバイスプール管理テーブルを示す図である。
【図１４】ポート管理テーブルを示す図である。
【図１５】Ｉ／Ｏデバイスの割り当て例を示す図である。
【図１６】Ｉ／Ｏ構成管理部のフローチャートを示す図である。
【図１７】Ｉ／Ｏ構成情報比較部のフローチャートを示す図である。
【図１８】Ｉ／Ｏデバイス選択部のフローチャートを示す図である。
【図１９】Ｉ／Ｏデバイス切り替え部のフローチャートを示す図である。
【図２０】Ｉ／Ｏデバイス割り当て部のフローチャートを示す図である。
【図２１】Ｉ／Ｏデバイス検査部のフローチャートを示す図である。
【図２２】Ｉ／Ｏ構成定義編集画面のＧＵＩを示す図である。
【図２３】起動エラー通知時のＧＵＩを示す図である。
【図２４】Ｉ／Ｏ修復画面のＧＵＩを示す図である。
【符号の説明】
【００８５】
１０１    管理サーバ
１０２    Ｉ／Ｏ構成管理部（処理部）
１０３    サーバ制御部
１０４    Ｉ／Ｏ構成情報比較部
１０５    Ｉ／Ｏデバイス選択部
１０６    Ｉ／Ｏデバイス切り替え部
１０７    Ｉ／Ｏデバイス割り当て部
１０８    Ｉ／Ｏデバイス検査部
１０９    Ｉ／Ｏスイッチ管理テーブル（Ｉ／Ｏスイッチ管理情報）
１１０    サーバ管理テーブル
１１１    サーバＩ／Ｏ構成情報テーブル（Ｉ／Ｏ構成情報）
１１２    デバイスプール管理テーブル
１１３    ネットワークスイッチ
１１４    サーバ装置（計算機）
１１５    Ｉ／Ｏスイッチ装置
１１６    ソケット
１１７    Ｉ／Ｏデバイス
１１８    ストレージ装置
１１９    ＳＶＰ（ハイパーバイザ）
１２０    デバイス識別子書き換えプログラム
【図１】
0005216336.tif 000002
【図２】
0005216336.tif 000003
【図３】
0005216336.tif 000004
【図４】
0005216336.tif 000005
【図５】
0005216336.tif 000006
【図６】
0005216336.tif 000007
【図７】
0005216336.tif 000008
【図８】
0005216336.tif 000009
【図９】
0005216336.tif 000010
【図１０】
0005216336.tif 000011
【図１１】
0005216336.tif 000012
【図１２】
0005216336.tif 000013
【図１３】
0005216336.tif 000014
【図１４】
0005216336.tif 000015
【図１５】
0005216336.tif 000016
【図１６】
0005216336.tif 000017
【図１７】
0005216336.tif 000018
【図１８】
0005216336.tif 000019
【図１９】
0005216336.tif 000020
【図２０】
0005216336.tif 000021
【図２１】
0005216336.tif 000022
【図２２】
0005216336.tif 000023
【図２３】
0005216336.tif 000024
【図２４】
0005216336.tif 000025