(57)【要約】【課題】  MR-IOV（Multi-Root I/O Virtualization）対応サーバシステムにおいて、Hostへの柔軟なI/Oデバイスの割当を可能とする。【解決手段】  サーバシステムの構成の情報を収集してI/Oトポロジ情報１１、１２を生成し、MR-IOV対応サーバシステムのユーザあるいは外部システムなどから割当要求４を受けた場合に、Blade22a〜dへの通信が経由するI/O-SW23a〜d,32a〜dを定めたI/Oパス構成情報13を生成し、I/Oパス構成情報13から各I/O-SW23a〜d,32a〜dの通信経路に関するI/O-SW設定情報16を生成して設定する。【選択図】  図１
2010039729.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを有するブレード装置と、
単数または複数の前記ブレード装置で構成されるホストと、
通信を行うための複数のI/Oデバイスと、
前記ホストとI/Oデバイスとのデータ転送を中継する複数のI/Oスイッチとを備えたサーバシステムであって、
前記I/OスイッチをI/Oスイッチ設定情報に基づいて設定するI/O管理システムを備え、
当該I/O管理システムは、
前記サーバシステムの構成の情報を収集して、各々の前記I/Oスイッチと当該I/Oスイッチに接続可能な前記ブレード装置及び前記I/Oデバイスとを対応付けたI/Oトポロジ情報を生成するI/Oトポロジ情報生成部と、
I/Oデバイス割当要求を受け付け、ホストと前記ブレード装置を対応付けたホスト構成情報と前記I/Oトポロジ情報と前記割当要求とに基づいて、前記ホスト、当該ホストとデータ転送を行う前記I/Oデバイス及び当該データ転送が経由するI/Oスイッチとを対応付けたI/Oパス構成情報を生成するI/Oパス構成情報生成部と、
前記I/Oパス構成情報から、前記I/Oスイッチのデータ転送先を規定する前記I/Oスイッチ設定情報を生成するI/Oスイッチ設定情報生成部とを備えたことを特徴とするサーバシステム。
【請求項２】
請求項１において、
前記I/O管理システムは、前記ホストをホスト設定情報に基づいて設定し、
前記I/O管理システムは、さらに、
前記I/Oトポロジ構成情報に基づいて、前記データ転送を行う前記ホスト、前記I/Oスイッチ、前記I/Oデバイス間のデータ転送のそれぞれにバス番号を割り振りバス番号構成情報を生成するバス番号構成情報生成部と、
前記I/Oパス構成情報及び前記バス番号構成情報に基づいて、前記ホストと当該ホストがデータ通信を行う前記バス番号とを対応付けたホスト設定情報を生成するホスト設定情報生成部とを備えたことを特徴とするサーバシステム。
【請求項３】
請求項１において、
内蔵I/Oスイッチと外付I/Oスイッチとを備え、
前記I/Oトポロジ情報は、内蔵I/Oスイッチ構成情報と外部I/Oスイッチ構成情報とを有し、
前記ホスト構成情報と前記内蔵I/Oスイッチ構成情報と前記外部I/Oスイッチ構成情報と前記割当要求とに基づいて、前記I/Oパス構成情報生成部は、前記I/Oパス構成情報を生成することを特徴とするサーバシステム。
【請求項４】
請求項１において、
前記I/Oパス構成情報部は、I/Oスイッチの選択の基準を規定した経路検索戦略を受け付け、該経路検索戦略、前記ホスト構成情報、前記I/Oトポロジ情報及び前記割当要求とに基づいて、前記I/Oパス構成情報を生成することを特徴とするサーバシステム。
【請求項５】
請求項２において、
前記バス番号は、当該サーバシステムが備えることが可能な仕様上の最大構成に基づくものであることを特徴とするサーバシステム。
【請求項６】
ホストと、I/Oデバイスと、前記ホストと前記I/Oデバイスとのデータ転送を中継する複数のI/Oスイッチとを備えたサーバシステムの前記I/Oスイッチを設定するI/O管理システムであって、
前記サーバシステムの構成の情報を収集して、各々の前記I/Oスイッチと当該I/Oスイッチに接続可能な前記サーバシステムのブレード装置及び前記I/Oデバイスとを対応付けたI/Oトポロジ情報を生成するI/Oトポロジ情報生成部と、
I/Oデバイス割当要求を受け付け、ホストと前記ブレード装置を対応付けたホスト構成情報、前記I/Oトポロジ情報及び前記割当要求とに基づいて、前記ホスト、当該ホストとデータ転送を行う前記I/Oデバイス及び当該データ転送が経由するI/Oスイッチとを対応付けたI/Oパス構成情報を生成するI/Oパス構成情報部と、
前記I/Oパス構成情報から、前記I/Oスイッチのデータ転送先を規定するI/Oスイッチ設定情報を生成するI/Oスイッチ設定情報生成部とを備えたことを特徴とするI/O管理システム。
【請求項７】
請求項６において、
前記I/O管理システムは、前記ホストをホスト設定情報に基づいて設定し、
前記I/O管理システムは、さらに、
前記I/Oトポロジ構成情報に基づいて、前記データ転送を行う前記ホスト、前記I/Oスイッチ、前記I/Oデバイス間のデータ転送のそれぞれにバス番号を割り振りバス番号構成情報を生成するバス番号構成情報生成部と、
前記I/Oパス構成情報及び前記バス番号構成情報に基づいて、前記ホストと当該ホストがデータ通信を行う前記バス番号とを対応付けたホスト設定情報を生成するホスト設定情報生成部とを備えたことを特徴とするI/O管理システム。
【請求項８】
請求項６において、
前記I/Oトポロジ情報は、内蔵I/Oスイッチ構成情報と外部I/Oスイッチ構成情報とを有し、
前記ホスト構成情報と前記内蔵I/Oスイッチ構成情報と前記外部I/Oスイッチ構成情報と前記割当要求とに基づいて、前記I/Oパス構成情報生成部は、前記I/Oパス構成情報を生成することを特徴とするI/O管理システム。
【請求項９】
請求項６において、
前記I/Oパス構成情報部は、I/Oスイッチの選択の基準を規定した経路検索戦略を受け付け、該経路検索戦略、前記ホスト構成情報、前記I/Oトポロジ情報及び前記割当要求とに基づいて、前記I/Oパス構成情報を生成することを特徴とするI/O管理システム。
【請求項１０】
プロセッサを有するブレード装置と、
単数または複数の前記ブレード装置で構成されるホストと、
通信を行うための複数のI/Oデバイスと、
前記ホストとI/Oデバイスとのデータ転送を中継する複数のI/Oスイッチとを備えたサーバシステムのI/Oスイッチ管理方法において、
I/Oトポロジ情報生成部が、前記サーバシステムの構成の情報を収集して、各々の前記I/Oスイッチと当該I/Oスイッチに接続可能な前記ブレード装置及び前記I/Oデバイスとを対応付けたI/Oトポロジ情報を生成するI/Oトポロジ情報生成ステップと、
I/Oパス構成情報生成部が、I/Oデバイス割当要求を受け付け、ホストと前記ブレード装置を対応付けたホスト構成情報と前記I/Oトポロジ情報と前記割当要求とに基づいて、前記ホスト、当該ホストとデータ転送を行う前記I/Oデバイス及び当該データ転送が経由するI/Oスイッチとを対応付けたI/Oパス構成情報を生成するI/Oパス構成情報生成ステップと、
I/Oスイッチ設定情報生成部が、前記I/Oパス構成情報から、前記I/Oスイッチのデータ転送先を規定する前記I/Oスイッチ設定情報を生成して前記I/Oスイッチに設定するI/Oスイッチ設定情報生成ステップとを含むことを特徴とするサーバシステムのI/Oスイッチ管理方法。
【請求項１１】
請求項１０において、
バス番号構成情報生成部が、前記I/Oトポロジ構成情報に基づいて、前記データ転送を行う前記ホスト、前記I/Oスイッチ、前記I/Oデバイス間のデータ転送のそれぞれにバス番号を割り振りバス番号構成情報を生成するバス番号構成情報生成ステップと、
ホスト設定情報生成部が、前記I/Oパス構成情報及び前記バス番号構成情報に基づいて、前記ホストと当該ホストがデータ通信を行う前記バス番号とを対応付けたホスト設定情報を生成して前記ホストに設定するホスト設定情報生成ステップとを含むことを特徴とするサーバシステムのI/Oスイッチ管理方法。
【請求項１２】
請求項１０において、
内蔵I/Oスイッチと外付I/Oスイッチとを備え、
前記I/Oトポロジ情報は、内蔵I/Oスイッチ構成情報と外部I/Oスイッチ構成情報とを有し、
前記I/Oパス構成情報生成ステップでは、前記I/Oパス構成情報生成部は、前記ホスト構成情報と前記内蔵I/Oスイッチ構成情報と前記外部I/Oスイッチ構成情報と前記割当要求とに基づいて、前記I/Oパス構成情報を生成することを特徴とするサーバシステムのI/Oスイッチ管理方法。
【請求項１３】
請求項１０において、
前記I/Oパス構成情報生成ステップでは、前記I/Oパス構成情報生成部は、I/Oスイッチの選択の基準を規定した経路検索戦略を受け付け、該経路検索戦略、前記ホスト構成情報、前記I/Oトポロジ情報及び前記割当要求とに基づいて、前記I/Oパス構成情報を生成することを特徴とするサーバシステムのI/Oスイッチ管理方法。
【請求項１４】
請求項１１において、
前記バス番号は、当該サーバシステムが備えることが可能な仕様上の最大構成に基づくものであることを特徴とするサーバシステムのI/Oスイッチ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステム内のPCI-Express Switchを制御する技術に関する。
【背景技術】
【０００２】
コンピュータ内部の周辺機器高速接続技術であるPCI-Expressが普及し、近年ではPCI-Expressで接続するI/Oデバイス（PCIデバイス）をサーバ仮想化技術に対応させるためのI/O仮想化技術であるI/O Virtualization（IOV）が登場している。IOVにはPCIデバイスを複数の仮想デバイスに分割し、単一のHost（物理パーティション）上で動作する仮想マシンに割り当てるSingle-Root IOV（SR-IOV）と、単一のPCIデバイスを複数のHostに割り当てるMulti-Root IOV（MR-IOV）の２種類がある。特にMR-IOVはHostとPCIデバイスの割当関係を、従来の１対多から多対多へ変えるため、Host運用に大幅な柔軟性を与える反面、その管理は複雑となる。
【０００３】
MR-IOV管理が複雑となる例として、Hot-Plugへの対応がある。MR-IOVでは従来のPCI-ExpressやSR-IOVとは異なり、特定のPCIデバイスを使用するHostを柔軟に変更可能なため、Hot-PlugによるPCI構成の変更を事前に想定することが難しく、Hot-Plugによる一部PCIデバイスへのBus番号割当が容易に変更されてしまう可能性がある。PCIデバイスへのBus番号割当が変わってしまうと、PCI-Expressで実行されるデータ転送方式のうち、Bus番号を用いるIDルーティングではデータ転送経路が変わってしまい、データ喪失やOS停止、OS再起動不可などのトラブルの原因となってしまう恐れがある。
【０００４】
PCIデバイスへのBus番号割当変更への対処方法として、従来技術に特許文献１に示す方法がある。これは、PCI-Express通信システムにおいて、あるノードからリクエストが発行された後、リクエスト元にレスポンスが返されるまでにPCI-Expressスイッチ内でパスID／デバイスIDの付け替えが発生しても、レスポンスパケットをリクエスト元に送付できるようにするPCI-Expressの制御方法である。
【０００５】
この従来技術によれば、PCI-Expressの通信中に、レスポンスの宛て先が既知のノードに変更された場合には対応できるが、上記MR-IOVにおけるHot-Plugのように、未知のノードが追加されるような場合には十分に対応できない。また、MR-IOVでのHot-Plug後のHost再起動の際には、ブートデバイスのBus番号割当が変わってしまう可能性があり、従来技術ではそのような場合には対応できない。
【０００６】
【特許文献１】特開２００７−３１６７５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来技術はI/O仮想化および複数Hostには対応していないため、MR-IOVに対応したPCI-Express Switch（MRS）を用いたサーバシステム（以降、MR-IOV対応サーバシステム）に適切なI/Oデバイス割当設定ができず、MR-IOVが提供するI/Oデバイス割当の柔軟性を十分に活用できない。
【０００８】
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、MR-IOV対応サーバシステムにおいて、Hostへの柔軟なI/Oデバイスの割当を可能とするものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、サーバシステムの構成の情報を収集してI/Oトポロジ情報を生成し、MR-IOV対応サーバシステムのユーザあるいは外部システムなどからDevice割当要求を受けた場合に、Deviceへの通信が経由するI/O-SWを定めたI/Oパス構成情報を生成し、I/Oパス構成情報から各I/O-SWの通信経路に関するI/O-SW設定情報を生成して設定する。また、I/Oパス構成情報から各Hostの通信経路に関するHost設定情報を生成して設定する。
【発明の効果】
【００１０】
本発明によれば、MR-IOV対応サーバシステムにおいて、Hostへの柔軟なI/Oデバイスの割当が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明の実施形態について説明する。
【００１２】
図１は本発明の実施形態の例の1つである。MR-IOV対応サーバシステムである管理対象システムと、そのサーバシステム内のMRS（図中I/O-SW）を管理するI/O管理システムからなる。
【００１３】
管理対象システムはサーバ装置21と外付I/O装置31からなる。サーバ装置21にはCPUとメモリを搭載したブレード装置22a〜d（Blade 0〜3）と、MRS23a〜d（I/O-SW 0〜3）が搭載され、相互接続されている。外付I/O装置31にはMRS32a〜d（I/O-SW 4〜7）と、ネットワークとの通信のためのNIC (Network Interface Card)や周辺機器との通信のためのHBA (Host Bus Adapter)等のPCIデバイス33a〜ｈ（Device 0〜7）が搭載され、それぞれ接続されている。また、サーバ装置21と外付I/O装置31についても、それぞれが搭載するMRS間は相互接続されており、任意のブレード装置と任意のPCIデバイスはI/O管理システム1からの設定に応じて相互通信が可能となっている。管理対象システム21,31はI/O管理システム1からの設定を受けることで、単数あるいは複数のブレード装置22a〜dで構成されるHost上で動作するアプリケーションが、他のアプリケーション等と通信処理を実行できるようになる。
【００１４】
I/O管理システム1（以降、本システム）は、Host構成2、経路検索戦略3、Device割当要求4の入力を受け、管理対象システムのHost設定およびMRS設定を実行する。I/O管理システム1はI/Oトポロジ情報生成部5、I/Oパス構成情報生成部6、Bus#構成情報生成部7、Host設定情報生成部8、I/O-SW設定情報生成部9からなる。本システム１は、ハードウェアとしては、プロセッサ（CPU等）と記憶装置(HDD、メモリ等)から構成され、記憶装置上には、外部記憶メディア（図示せず）やネットワーク（図示せず）経由で本システム1の構成要素であるI/Oトポロジ情報生成部5、I/Oパス構成情報生成部6、Bus#構成情報生成部7、Host設定情報生成部8、I/O-SW設定情報生成部9が格納されており、本システム1の実行時に、各構成要素がプロセッサ上に展開される。また同様に、本システム1が扱うデータリポジトリであるHost構成情報10、内蔵I/O-SW構成情報11、外付I/O-SW構成情報12、I/Oパス構成情報13、Bus#構成情報14、Host設定情報15、I/O-SW設定情報16も記憶装置上に格納され、各本システムの構成要素がプロセッサ上からアクセスする。
【００１５】
I/Oトポロジ情報生成部5は、管理対象システム21,31から検出したMRSおよびPCIデバイス（I/Oコンポーネントと総称）間の相互接続情報と、管理対象システムのサーバ装置内における、ブレード装置とMRS（内蔵I/O-SW）間の相互接続情報を基に、内部I/O-SW構成情報11および外付I/O-SW構成情報12を生成する。
【００１６】
I/Oパス構成情報生成部6は、Host構成情報9、内蔵I/O-SW構成情報11および外付I/O-SW構成情報12を基に、経路検索戦略3及びDevice割当要求4を受けてI/Oパス構成情報13を生成する。この処理は経路検索戦略3及びDevice割当要求4を受ける都度に実行する。また、既存のI/Oパス構成情報13がある場合、内蔵I/O-SW構成情報11あるいは外付I/O-SW構成情報12に変更があった際にも実行し、既存のI/Oパス構成情報13を更新する。
【００１７】
Bus#構成情報生成部7は、内蔵I/O-SW構成情報11および外付I/O-SW構成情報12を基に、Bus#構成情報14を生成する。この処理は内蔵I/O-SW構成情報11あるいは外付I/O-SW構成情報12に変更があった際に実行する。
【００１８】
Host設定情報生成部8は、I/Oパス構成情報13を基にHost設定情報を生成する。この処理はI/Oパス構成情報生成部6がI/Oパス構成情報13を生成する都度に実行する。
【００１９】
I/O-SW設定情報生成部16は、I/Oパス構成情報13を基にI/O-SW設定情報16を生成する。この処理はI/Oパス構成情報生成部6がI/Oパス構成情報13を生成する都度に実行する。
【００２０】
次に、図２を用いて本システムの処理の一例を説明する。
【００２１】
本システムは、本システムのユーザあるいは外部システムからの経路検索戦略3およびDevice割当要求4を受けて、I/Oパス構成情報生成部6の処理を開始する。経路検索戦略3とは、HostとPCIデバイス間を結ぶ通信路（以降、I/Oパス）が経由するMRSを選択する場合の選択基準であり、例えば「性能優先」や「省電力優先」などがある。Device割当要求4とは、Hostに対するPCIデバイス33a〜hの割り当て要求であり、１つのHostに対する単数あるいは複数のPCIデバイス33a〜hの割り当てを、単一のHostあるいは複数のHostについて列挙したものである。
【００２２】
I/Oパス構成情報生成部6はまず、外付I/O-SW構成情報12を基に、Device割当要求4で指定されたPCIデバイス33a〜hを搭載している外付I/O装置31内のMRS32a〜d（以降、外付I/O-SW）を特定する（ステップ101）。外付I/O-SW構成情報12の一例を図５に示す。図５に示すように、外付I/O-SW構成情報12には管理対象システム21,31から検出した構成情報を基に生成された、各外付I/O-SW32a〜dと外付I/O装置31に搭載するPCIデバイス33a〜hとを対応付けた接続関係が格納されている。外付I/O-SW IDは外付I/O-SW32a〜dのシステムユニークな識別情報であり、搭載PCIデバイスIDは、同じ外付I/O装置31に搭載され、その外付I/O-SW32a〜dから相互接続可能なPCIデバイス33a〜hのシステムユニークな識別情報である。この情報を用いれば、PCIデバイス33a〜hを特定することで、そのPCIデバイス33a〜hを終端とするI/Oパスを構成する外付I/O-SW32a〜dは一意に決まる。
【００２３】
続けてI/Oパス構成情報生成部6は、内蔵I/O-SW構成情報11を基に、経由するサーバ装置21内のMRS23a〜d（以降、内蔵I/O-SW）を決定する（ステップ102）。内蔵I/O-SW構成情報11の一例を図４に示す。図４に示すように、内蔵I/O-SW構成情報11には管理対象システム21,31から検出した構成情報を基に生成された、各々の内蔵I/O-SW23a〜dを介して相互接続可能なブレード装置22a〜dと外付I/O-SW32a〜dを対応付けた構成情報が格納されている。Blade IDは、内蔵I/O-SW IDで特定される内蔵I/O-SW23a〜dから相互接続可能なブレード装置22a〜dのシステムユニークな識別情報である。内蔵I/O-SW IDは内蔵I/O-SW23a〜dのシステムユニークな識別情報である。外付I/O-SW IDは、内蔵I/O-SW IDで特定される内蔵I/O-SW23a〜dから相互接続可能な外付I/O-SW32a〜dのシステムユニークな識別情報である。図４では、内蔵I/O-SW23aのみ示してあるが、他の内蔵I/O-SW23b〜dについても同様の構成情報が格納されている。ブレード装置22a〜dと内蔵I/O-SW23a〜dの間、および内蔵I/O-SW23a〜dと外付I/O-SW32a〜dの間が複数の通信路で接続されている場合は、I/Oパスを構成する内蔵I/O-SW23a〜dは一意に決まらない。そこで、入力された経路決定戦略3に基づき、I/Oパスを構成する内蔵I/O-SW23a〜dを決定する。例えば経路決定戦略が「性能優先」であった場合には、割り当て要求を受けたHostとPCIデバイスに間を相互接続している内蔵I/O-SW23a〜dのうち、既存のI/Oパスでの使用が最も少ない内蔵I/O-SW23a〜dを選択する。また、経路決定戦略が「省電力優先」であった場合は、既存のI/Oパスで使用されている内蔵I/O-SW（以降、使用中内蔵I/O-SW）の性能が許す限りにおいて、できるだけ使用中内蔵I/O-SWを選択する。使用中内蔵I/O-SWの数をできるだけ少なくすることによって、それ以外の内蔵I/O-SWの電力切断を可能とし、サーバシステムの省電力運用を可能とする。その他、経路決定戦略4がなくとも、一般に広く知られている負荷分散アルゴリズムなどによっても、I/Oパスを構成する内蔵I/O-SW23a〜dを選択することが可能である。
【００２４】
次にI/Oパス構成情報生成部6は、上記特定したI/Oパスを構成する外付I/O-SW32a〜dおよび内蔵I/O-SW23a〜dを用いて、Host構成情報9を基にI/Oパス構成情報13を生成する（ステップ103）。Host構成情報9の一例を図３に示す。図３に示すように、Host構成情報9には本システムのユーザあるいは外部システムから入力されたHost構成2が格納されている。Host IDはサーバ装置21内のHostのシステムユニークな識別情報であり、Blade IDはその各Hostを構成する単数あるいは複数のブレード装置22a〜dのシステムユニークな識別情報である。本実施例では、ホストに複数のブレード装置を割当てているものがあるが、単一のブレード装置に複数のホストを割当てることも可能である。入力を受けたDevice割当要求に基づいて、始点をいずれか指定を受けたHostの１つ、終点をそのHostへの割当要求を受けたPCIデバイス33a〜hのいずれか１つとし、その間をつなぐ内蔵I/O-SW23a〜dおよび外付I/O-SW32a〜dから構成されるのがI/Oパス構成情報13である。I/Oパス構成情報生成部6が生成するI/Oパス構成情報13の一例を図７に示す。Host IDはI/Oパスの始点となるHostのシステムユニークな識別情報、I/OパスIDはそのHostを始点とするI/Oパスのシステムユニークな識別情報である。割当Device IDはそのI/Oパスの終点となるPCIデバイスのシステムユニークな識別情報であり、経由内蔵I/O-SW IDはそのI/Oパスを構成する内蔵I/O-SW23a〜dのシステムユニークな識別情報、経由外付I/O-SW IDも同様に、そのI/Oパスを構成する外付I/O-SW32a〜dのシステムユニークな識別情報である。このI/Oパス構成情報を用いて本システムは、続けてHost設定情報15とI/O-SW設定情報16を生成する。
【００２５】
本システムは、Host設定情報生成部によりHost設定情報を、I/O-SW設定情報生成部9によりI/O-SW設定情報16をそれぞれ生成する。
【００２６】
I/Oパス構成情報13の他にBus#構成情報生成部7が事前にBus#構成情報14を生成し（ステップ104）、Host設定情報生成部8は、I/Oパス構成情報13とBus#構成情報14とを用いて、各Hostに対する設定情報を生成する（ステップ105）。
【００２７】
図６にBus#構成情報生成部7が生成するBus#構成情報14の一例を示す。Bus#構成情報14は管理対象システム21,31内におけるブレード装置22a〜d〜PCIデバイス33a〜h間にあるPCIバスに割り当てるBus番号を格納したものであり、内蔵I/O-SW構成情報11及び外部I/O-SW構成情報12に基づいて生成されたものである。Bus#構成情報14では、各PCIバスについて、そのPCIバスの上流に位置するI/Oコンポーネントの識別情報が上流コンポーネントであり、同様にそのPCIバスの下流に位置するI/Oコンポーネントの識別情報が下流コンポーネントである。そしてそのPCIバスに割り当てるバス番号がBus#であり、管理対象システム21,31のMRS搭載状況やPCIデバイス搭載状況如何に関わらず、サーバシステムの仕様上、実現可能な最大構成のサーバシステムを想定して生成する。このBus#構成情報14とI/Oパス構成情報13とを基にHost設定情報生成部8が生成するHost設定情報15の一例を図８に示す。Host IDはそのHost設定情報15を設定するHostの識別情報である。Bus#範囲は、上記Bus#構成情報14と、前記生成したI/Oパス構成情報13を基に、そのHostが使用するI/Oパスについて、そのI/Oパスが経由するPCIバスのBus番号の範囲を列挙したものである。各HostはこのHost設定情報15を受けて、PCIデバイスのEnumeration時の各PCIバスへの割当Bus番号割当を、Host設定情報15のBus#範囲で実行することで、そのEnumeration時には使用していないPCIバスを将来使用することになった時に、そのPCIバスに割り当てるバス番号を確保しておくことができる。そうすることで、Hot-Plug等によるサーバシステムのPCI構成変更があっても、PCIデバイスのBus番号を変えることなくHostを運用することが可能となる。
【００２８】
I/O-SW設定情報生成部9は、I/Oパス構成情報13を用いて、各I/O-SW（MRS）に対する設定情報を生成する（ステップ106）。
【００２９】
図９にI/O-SW設定情報生成部9が生成するI/O-SW設定情報16の一例を示す。I/O-SW設定情報16はI/O-SW毎に生成される。図の例は、I/O-SW_2という識別情報で特定されるI/O-SWに対する設定情報の例である。Host IDはそのI/O-SWを経由するI/Oパスを使用するHostの識別情報であり、Device IDはそのI/Oパスの終点となるPCIデバイスの識別情報である。転送先I/OコンポーネントIDは、それらHost IDとDevice IDを両端とするI/Oパスを使用するデータ入力があった時に、そのI/O-SWがそのデータを転送する先のI/Oコンポーネントを特定する識別情報である。転送先のI/Oコンポーネントは、自身が内蔵I/O-SWであれば外付I/O-SWに、一方自身が外付I/O-SWであればPCIデバイスに決まる。また、どのI/O-SWであるかは、I/Oパス構成情報6によればHost IDとDevice IDの組み合わせ毎に一意に決まる。このI/O-SW設定情報16を用いて各MRSがデータ転送設定を実行することで、PCI-Expressのパケットルーティング（IDルーティング）を適切に行うことが可能となる。
【００３０】
以上のように、本システムがHost設定情報15とI/O-SW設定情報16を生成し、それぞれHostとI/O-SWが提供する設定I/Fを介して、Hostが持つ記憶領域上のBus#範囲を格納する部位へHost設定情報15のBus#範囲を設定し、内蔵I/O-SW23a〜d及び外付I/O-SW32a〜dが持つ記憶領域上のHost IDとDevice IDの組み合わせ毎の転送先I/OコンポーネントIDを格納する部位へ、I/O-SW設定情報16のHost ID、Device ID、および転送先I/OコンポーネントIDを設定することで、MR-IOV対応サーバシステムにおいて適切なIDルーティングが可能となり、また、Hot-PlugによるサーバシステムのPCI構成変更があっても、図２に示した処理を再実行してHost設定とI/O-SW設定を再実行することで、既存のPCIデバイスへのBus番号を変えることなくHostを運用継続することが可能となる。
【００３１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記した実施の形態に記載の範囲には限定されない。また、上記した実施の形態に、多様な変更または改良を加えることが可能であることが当業者にとって明らかである。さらに、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得る。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１実施形態に係るI/O管理システムの構成を例示するシステム構成図である。
【図２】I/O管理システムの処理フローを例示する説明図である。
【図３】Host構成情報のデータ構造を例示する説明図である。
【図４】内蔵I/O-SW構成情報のデータ構造を例示する説明図である。
【図５】外付I/O-SW構成情報のデータ構造を例示する説明図である。
【図６】Bus#構成情報のデータ構造を例示する説明図である。
【図７】I/Oパス構成情報のデータ構造を例示する説明図である。
【図８】Host設定情報のデータ構造を例示する説明図である。
【図９】I/O-SW設定情報のデータ構造を例示する説明図である。
【符号の説明】
【００３３】
１…I/O管理システム、２…Host構成、３…経路検索戦略、４…Device割当要求、５…I/Oトポロジ情報生成部、６…I/Oパス構成情報生成部、７…Bus#構成情報生成部、８…Host設定情報生成部、９…I/O-SW設定情報生成部、１０…Host構成情報、１１…内蔵I/O-SW構成情報、１２…外付I/O-SW構成情報、１３…I/Oパス構成情報、１４…Bus#構成情報、１５…Host設定情報、１６…I/O-SW設定情報、２１…サーバ装置、２２…ブレード装置、２３・・・MRS (Multi-Root Switch)、３１…外付I/O装置、３２…MRS (Multi-Root Switch)、３３…PCIデバイス。
【図１】
2010039729.tif 000003
【図２】
2010039729.tif 000004
【図３】
2010039729.tif 000005
【図４】
2010039729.tif 000006
【図５】
2010039729.tif 000007
【図６】
2010039729.tif 000008
【図７】
2010039729.tif 000009
【図８】
2010039729.tif 000010
【図９】
2010039729.tif 000011