JP5074457B2 - 計算機システム、スイッチ切り替え方法及びpciスイッチ - Google Patents

計算機システム、スイッチ切り替え方法及びpciスイッチ Download PDF

Info

Publication number
JP5074457B2
JP5074457B2 JP2009134682A JP2009134682A JP5074457B2 JP 5074457 B2 JP5074457 B2 JP 5074457B2 JP 2009134682 A JP2009134682 A JP 2009134682A JP 2009134682 A JP2009134682 A JP 2009134682A JP 5074457 B2 JP5074457 B2 JP 5074457B2
Authority
JP
Japan
Prior art keywords
virtual
virtual switch
switch
communication path
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009134682A
Other languages
English (en)
Other versions
JP2010282387A (ja
Inventor
敬太郎 上原
貴成 馬場
雄次 對馬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009134682A priority Critical patent/JP5074457B2/ja
Priority to US12/789,865 priority patent/US8407391B2/en
Publication of JP2010282387A publication Critical patent/JP2010282387A/ja
Application granted granted Critical
Publication of JP5074457B2 publication Critical patent/JP5074457B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/40Bus coupling
    • G06F2213/4004Universal serial bus hub with a plurality of upstream ports

Description

本発明は、複数の計算機と複数のPCIデバイスをPCIスイッチで接続した複合型計算機システムに関し、特にマルチルートPCIスイッチの高信頼化に関する。
近年、サーバの管理を容易にするために1つの装置に複数の計算機を搭載したブレードサーバが用いられるようになっている。また、CPUが複数のプロセッサコアを持つマルチコア化によってCPUの処理性能が向上し、それに伴い効率的にCPUを使用するため1つの計算機に複数の仮想的なサーバを稼動させる仮想サーバ技術が用いられるようになっている。
また、CPU性能の向上に比べて入出力のためのコネクタやポートを必要とするI/Oデバイス数不足を補うために、PCIスイッチ技術によってI/Oの拡張性や柔軟性を強化する方法が知られている。
このようなPCIスイッチを介して接続されたサーバシステムの信頼性を高めるためには、単一のデバイス又はサーバに障害が起きてもシステム全体に影響を及ぼさない(一点障害とならない)ように、パスの冗長化、及び待機系へと引き継ぎができるようにシステムを構築する必要がある。
例えば、2つのPCIスイッチ同士を接続しておき、通常はそれぞれのスイッチ上のホストが各デバイスをアクセスするが、ホスト障害発生時にはカスケード接続へと切り替え、1つのホストが全デバイスにアクセスする方法がある(例えば、特許文献1参照)。しかし、前述の方法では、障害発生時にBus#の付け替えなどが生じるため、デバイスを実行させたまま引き継ぐことは難しい。
また、Non−transparent bridgeを用いて複数ホストを接続するPCIスイッチを構成することもできる(例えば、非特許文献2参照)。Non−transparent bridgeは、2つのPCI−PCIブリッジを組合せ、2つのPCIバスツリー間を接続するBridgeである。当該Bridgeは、それぞれのホストからはEnd Pointとして認識され、Base Address Register(BAR)を介したメモリアクセスを行う時に、アドレスが変換され、他方のPCIバスツリーへとアクセスが転送される。しかし、前述の方法では、ホストの切り替え時に、切り替えに伴うリセットや再初期化が必要となる。
PCIの標準化団体PCI−SIGでは、従来の単一サーバが使用するPCIスイッチを拡張し、複数の計算機と複数のI/OデバイスであるPCI(Perpheral Component Interconnect)デバイス(または、PCI Expressデバイス)とを接続可能とするMulti−Root I/O Virtualization(MR−IOV)規格を策定している(例えば、非特許文献1参照)。
MR−IOV規格に対応したデバイス(MRデバイス)は、複数の仮想階層(Virtual Hierarchy:VH)を持ち、MR−IOV規格に対応したスイッチ(MRスイッチ)によって構成される仮想スイッチにそれぞれのVHが割り当てられる。これによって、同時に複数のサーバホストから1つのMRデバイスを共有して使用可能となる。
米国特許第2008/0240134号明細書
PCI-SIG, "Multi-Root I/O Virtualization and Sharing Specification Rev1.0" [online], 2008/5., p.109-222, <URL: http://www.pcisig.com/specifications/iov/multi-root/> Using Non-transparent Bridging in PCI Express Systems, Jack Regula, 2004/6., p.24-27, <URL: http://www.plxtech.com/pdf/technical/expresslane/NontransparentBridging.pdf>
MR−IOV規格では、MRスイッチやMRデバイスの構成情報の管理を行うためにPCIマネージャーと呼ばれる管理用のソフトウェアが存在する。PCIマネージャー自身は、VH0と呼ばれる管理用の仮想スイッチ(管理用仮想スイッチVH0)を介してMRスイッチやMRデバイスを設定する。
しかし、管理用仮想スイッチVH0には、PCIマネージャーが管理する全てのMRスイッチ及びMRデバイスが接続されており、MRデバイスにおける仮想階層VH0には管理用の特殊な機能(Base Function:BF)が含まれているため、管理用仮想スイッチVH0を含むホスト(以下、管理ホストとも記載する。)が一点障害となってしまう可能性がある。
管理ホストに障害が起きると、管理下のMRデバイスのBFにリセットが入る。BFにリセットが入ると、MRデバイスをVH単位で分割していた構成情報が消えてしまうため、当該MRデバイスを共有して使用していた全ホストに影響が及ぶ。また、計画保守やファームウェアアップデートのために、管理ホストを計画的に停止して他のホストに移動させるような場合においても、管理下にあるMRデバイスを使用しているホストに影響を及ぼさずに停止できない、という課題がある。
MR−IOV規格では、前述したような管理用仮想スイッチVH0のフェイルオーバーについては規定されていない。MR−IOV規格の範囲内で仮想スイッチの切り替えるためには、例えば、(1)仮想スイッチ間の動的なポートの繋ぎ替え、(2)Hot−Plugによる仮想スイッチの繋ぎ替え、などの手段が考えられる。
しかし、前述の(1)及び(2)のいずれの方法でも仮想スイッチ(仮想スイッチを構成する仮想ブリッジ)とポートが切り離される状態が存在し、当該切り離された状態が発生した瞬間にリンクダウンとみなされてMRデバイスのBFにリセットが入ってしまうため、「MRデバイスを使用中の他のホストに影響を及ぼさずに管理用仮想スイッチVH0を切り替える」という目的は達成できない。
本発明の代表的な一例を示せば以下の通りである。すなわち、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを備える複数の計算機と、前記複数の計算機の前記インタフェースを介して接続されるPCIスイッチと、前記PCIスイッチに接続される複数のI/Oデバイスと、を備える計算機システムであって、前記PCIスイッチは、前記計算機又は前記I/Oデバイスを接続するための複数のポートと、前記計算機と前記I/Oデバイスとを接続する通信経路を設定するスイッチ管理部と、を備え、前記通信経路は、一以上の仮想スイッチと一以上の仮想ブリッジとを含み、前記仮想スイッチは前記仮想ブリッジ間を接続する前記通信経路の経路を構成し、前記仮想ブリッジは前記仮想スイッチと前記ポートとを接続し、前記スイッチ管理部は、前記仮想スイッチ及び前記仮想ブリッジを設定し、前記設定された前記仮想スイッチ及び前記仮想ブリッジから前記通信経路を生成する通信経路生成部と、複数の前記仮想スイッチから構成される仮想スイッチグループを構成し、前記仮想スイッチグループに含まれる前記複数の仮想スイッチのうち、前記ポートとの接続が有効である一の前記仮想スイッチを示す有効フラグを設定する仮想スイッチグループ管理部と、前記通信経路生成部、及び前記仮想スイッチグループ管理部の設定に基づいて、前記生成された通信経路と前記ポートとの接続を管理するポート管理部と、を備え、前記ポート管理部は、前記有効フラグが変更された場合、変更前の前記仮想スイッチを含む前記通信経路から、当該仮想スイッチが含まれる前記仮想スイッチグループのうちの他の前記仮想スイッチを含む前記通信経路に前記ポートとの接続を切り替えることを特徴とする。
仮想スイッチを多重化し、I/Oデバイスにリセットを入れることなく仮想スイッチを切り替えられるようになるため、現用系計算機が一点障害とならず、全体として信頼性の高い計算機システムを構築できる。
本発明の第一の実施形態の計算機システムの一例を説明するブロック図である。 本発明の第一の実施形態のホストの内部構成を説明するブロック図である。 本発明の第一の実施形態のMRデバイスの内部における仮想階層と、各ホストへの割り当ての一例を示す説明図である。 本発明の第一の実施形態のファンクションの種類を説明する図である。 本発明の第一の実施形態のホストXを頂点とする仮想スイッチの構成を示す説明図である。 本発明の第一の実施形態のホストZを頂点とする仮想スイッチの構成を示す説明図である。 本発明の第一の実施形態のホストWを頂点とする仮想スイッチの構成を示す説明図である。 本発明の第一の実施形態のホストYを頂点とする仮想スイッチの構成を示す説明図である。 本発明の第一の実施形態の仮想スイッチ管理表及び仮想ブリッジ管理表の対応関係を示す説明図である。 本発明の第一の実施形態における、引き継ぎ後のホストXを頂点とする仮想スイッチの構成を示す説明図である。 本発明の第一の実施形態における、引き継ぎ後のホストYを頂点とする仮想スイッチの構成を示す説明図である。 本発明の第一の実施形態の仮想スイッチ管理表及び仮想ブリッジ管理表と、仮想スイッチグループ管理表との対応関係を示す説明図である。 本発明の第一の実施形態の仮想スイッチ管理表及び仮想ブリッジ管理表と、仮想スイッチグループ管理表との対応関係を示す説明図である。 本発明の第一の実施形態のマルチルートPCIスイッチが備える仮想スイッチ生成機構の構成を説明するブロック図である。 本発明の第一の実施形態のポートマップ情報生成部の処理の一例を示す説明図である。 本発明の第一の実施形態のPCIバスツリー管理表を示す説明図である。 本発明の第一の実施形態のPCIバスツリー管理表を示す説明図である。 本発明の第一の実施形態の管理コンソールからPCIマネージャーを起動してホスト−デバイス割り当て表を操作するためのユーザ操作インタフェースを示す説明図である。 本発明の第一の実施形態の管理コンソールからPCIマネージャーを起動してホスト−デバイス割り当て表を操作するためのユーザ操作インタフェースを示す説明図である。 本発明の第一の実施形態における計画的フェイルオーバーの処理を説明するフローチャートである。 本発明の第一の実施形態の変形例における障害発生時のフェイルオーバーの処理を説明するフローチャートである。 本発明の第二の実施形態の仮想スイッチグループ管理表を示す説明図である。 本発明の第二の実施形態の障害時設定の一例を示す説明図である。 本発明の第二の実施形態のマルチルートPCIスイッチがホストXの障害を検出して仮想スイッチを切り替える場合における処理を説明するフローチャートである。 本発明の第二の実施形態の現用系ホストXの処理を説明するフローチャートである。 本発明の第二の実施形態の待機系ホストYの処理を説明するフローチャートである。 本発明の第一の実施形態のトポロジ情報の一例を示す説明図である。 本発明の第一の実施形態のポートマップ情報生成部が実行する処理を説明するフローチャートである。
以下、本発明の一実施形態を添付図面に基づいて説明する。
〔第一の実施形態〕
図1は、本発明の第一の実施形態の計算機システムの一例を説明するブロック図である。
計算機システムは、ホスト100a〜100dと、各ホスト100a〜100dが利用するマルチルートI/Oデバイス(以下、MRデバイスとも記載する。)300a〜300dと、及び、ホスト100a〜100dとMRデバイス300a〜300dとを接続するマルチルートPCIスイッチ200から構成される。
なお、特に区別しない場合、ホスト100a〜100dをホスト100と記載し、MRデバイス300a〜300dをMRデバイス300と記載する。
ホスト100a上ではマルチルートPCIスイッチ200及びMRデバイス300を管理するPCIマネージャー290が稼動する。
ホスト100a〜100dは、管理用ネットワーク270を介して互いに接続される。また、管理用ネットワーク270には管理コンソール280が接続され、管理者が管理コンソール280を介してPCIマネージャー290を管理する。
マルチルートPCIスイッチ200は、4つの上流ポート210a〜210dと4つの下流ポート220a〜220dとを備える。以下、特に区別しない場合、上流ポート210a〜210dを上流ポート210と記載し、また、下流ポート220a〜220dを下流ポート220と記載する。
上流ポート210a〜210dは、それぞれ、ホスト100a〜100dと接続される。具体的には、ホスト100a〜100dが備えるルートポート110a〜110dと上流ポート210a〜210dとがそれぞれ接続される。また、下流ポート220a〜220dは、それぞれ、MRデバイス300a〜300dと接続される。
マルチルートPCIスイッチ200は、仮想スイッチ生成機構260と、ルーティング制御部250を備える。
仮想スイッチ生成機構260は、仮想スイッチ400(図5参照)に関する設定を決定し、仮想スイッチ400(図5参照)を生成する。なお、仮想スイッチ生成機構260の詳細については、図14を用いて後述する。
ルーティング制御部250は、仮想スイッチ生成機構260の設定に従って、具体的には、仮想スイッチ生成機構260から入力されたポートマップ情報263及び仮想スイッチ構成情報264に従って、各ポート210、220から入力されるパケットをルーティングする。
ルーティング制御部250は、内部バス230a〜230hを介して、各上流ポート210a〜210d及び各下流ポート220a〜220dと接続される。仮想スイッチ生成機構260は、スイッチ管理バス240a〜240dを介して、各上流ポート210a〜210dと接続される。
図2は、本発明の第一の実施形態のホスト100a〜100dの内部構成を説明するブロック図である。なお、図2は、ホスト100aの内部構成を示すものであるが、他のホスト100b〜100dについても同一の構成である。
ホスト100aは、演算処理を行うCPU120、メモリ130、I/Oハブ140、及びストレージ150を備える。CPU120は、メモリ130上に展開されているプログラムを実行する。
CPU120とメモリ130とはメモリバス146を介して接続され、CPU120とI/Oハブ140とは内部バス145を介して接続される。なお、ホスト100aがI/Oハブ140の代わりにメモリコントローラを内蔵したチップセットを搭載し、メモリバス146がチップセットに接続されるような構成であってもよい。以下の説明ではどちらの構成でも差異を生じない。
I/Oハブ140は、ルートポート110aを含み、ルートポート110aからI/Oバス111を介してマルチルートPCIスイッチ200と接続する。
なお、図2に示す例では、I/Oハブ140及びルートポート110aは説明の簡略化のために1つずつとしたが、ホスト100aが複数のI/Oハブ140及び複数のルートポート110aを備える構成であってもよい。
I/Oハブ140は、ストレージI/F147を介してストレージ150と接続する。ここで、ストレージ150はハードディスクドライブ又は不揮発性メモリのような不揮発な情報を格納する媒体である。
ストレージ150は、ブートに必要なOS等の他、PCIマネージャープログラム151及び管理用設定値152が格納される。
起動後のメモリ130は、メモリコード部131とメモリデータ部132とに分けられる。
PCIマネージャープログラム151はPCIマネージャー実行コード133としてメモリ上に展開され、CPU120によって実行される。また、マルチルートPCIスイッチ200が各MRデバイス300に固有の処理を実行するために、必要に応じてMRデバイスドライバ134がメモリ上に展開され、CPU120によって実行される。
また、メモリコード部131には、フェイルオーバー監視部137が格納されていてもよい。フェイルオーバー監視部137は、ホスト100aの障害を監視し、障害が発生した場合、他のホスト100b〜100dにフェイルオーバーさせる。なお、フェイルオーバー監視部137が実行する処理の詳細については、図21を用いて後述する。
メモリデータ部132は、PCIバスツリー管理表136、仮想スイッチグループ管理表510、仮想スイッチ管理表520、仮想ブリッジ管理表530、ホスト−デバイス割り当て表650、及びトポロジ情報660を格納する。
PCIバスツリー管理表136は、図16及び図17を用いて後述する。
仮想スイッチグループ管理表510、仮想スイッチ管理表520、及び仮想ブリッジ管理表530は、仮想スイッチ生成機構260が格納する仮想スイッチグループ管理表510、仮想スイッチ管理表520、及び仮想ブリッジ管理表530のコピーである。仮想スイッチグループ管理表510、仮想スイッチ管理表520、及び仮想ブリッジ管理表530については、図12及び図13を用いて後述する。
ホスト−デバイス割り当て表650は、図18及び図19を用いて後述する。トポロジ情報660は、図27を用いて後述する。
また、ホスト100aは、ネットワークコントローラ160を介して管理用ネットワーク270と接続する。
(MRデバイスの仮想階層と仮想スイッチ構成)
図3は、本発明の第一の実施形態のMRデバイス300の内部における仮想階層と、各ホスト100への割り当ての一例を示す説明図である。
MRデバイス300の内部は、仮想階層310と呼ばれる単位で内部リソースが分割されている。各仮想階層310は、仮想階層番号(VHN)で区別される。
1つの仮想階層には1つ以上のファンクションが含まれ、MRデバイス300がそれぞれの仮想階層310単位で仮想スイッチ400(図6参照)と接続されることによって、複数のホスト100a〜100dが同時にMRデバイス300a〜300dへアクセスできる。
ここで、ファンクションの種類について説明する。
図4は、本発明の第一の実施形態のファンクションの種類を説明する図である。
Base Function(BF)は、PCIマネージャー290が使用するための特殊なファンクションで仮想階層番号が「VH0」の階層にのみに存在する。VH0以外の仮想階層310には、通常、1つ以上のPhysical Function(PF)と複数のVirtual Function(VF)とが含まれる。
図3に示す例では、MRデバイス300a〜300dのVH0をホストX(100a)に割り当て、MRデバイス300aのVH1及びMRデバイス300bのVH1をホストZ(100c)に割り当て、MRデバイス300bのVH2、MRデバイス300cのVH1及びMRデバイス300dのVH1をホストW(100d)に割り当てると仮定する。
図5〜図7は、前述の割り当てに従った場合におけるマルチルートPCIスイッチ200内の仮想スイッチ400及び仮想ブリッジ410の構成例を示す。なお、仮想ブリッジ410は、上流仮想ブリッジと下流仮想ブリッジとを含む。
各仮想スイッチ400は、1つの上流仮想ブリッジ410と、0以上の下流仮想ブリッジ410とから構成される。上流仮想ブリッジ410は上流ポート210a〜210dと接続され、また、下流仮想ブリッジ410は下流ポート220a〜220dにおける、いずれかの仮想階層310(VHN)と接続される。ただし、下流仮想ブリッジ410は、必ずしも、下流ポート220a〜220dと接続されなくともよい。
図5は、本発明の第一の実施形態のホストX(100a)を頂点とする仮想スイッチ400−0の構成を示す説明図である。
図5に示す例では、上流ポート210aのVHN=0と上流仮想ブリッジ410−0とが接続される。上流仮想ブリッジ410−0の配下には4つの下流仮想ブリッジ410−1〜410−4が接続される。下流仮想ブリッジ410−1〜410−4は、それぞれ下流ポート220a〜220dのVHN=0と接続され、下流ポート220a〜220dを介してMRデバイス300a〜300dの仮想階層310(VHN=0)と接続される。
図6は、本発明の第一の実施形態のホストZ(100c)を頂点とする仮想スイッチ400−2の構成を示す説明図である。
図6に示す例では、上流ポート210cのVHN=0と上流仮想ブリッジ410−10とが接続されている。上流仮想ブリッジ410−10の配下には2つの下流仮想ブリッジ410−11、410−12が接続される。下流仮想ブリッジ410−11は下流ポート220aのVHN=1と接続され、下流仮想ブリッジ410−12は下流ポート220bのVHN=1と接続される。下流仮想ブリッジ410−11、410−12は、下流ポート220a、220bを介してMRデバイス300a、300bの仮想階層310と接続されている。
図7は、本発明の第一の実施形態のホストW(100d)を頂点とする仮想スイッチ400−3の構成を示す説明図である。
図7に示す例では、上流ポート210dのVHN=0と上流仮想ブリッジ410−15とが接続されている。上流仮想ブリッジ410−15の配下には3つの下流仮想ブリッジ410−16〜410−18が接続される。下流仮想ブリッジ410−16は下流ポート220bのVHN=2と接続され、下流仮想ブリッジ410−17は下流ポート220cのVHN=1と接続され、また、下流仮想ブリッジ410−18は下流ポート220dのVHN=1と接続される。下流仮想ブリッジ410−16〜410−18は、下流ポート220b〜220dを介してMRデバイス300b〜300dの仮想階層310と接続される。
(一点障害の排除とフェイルオーバー)
図5〜図7に示す構成において、ホストZ(100c)及びホストW(100d)は、同一のMRデバイス300bを共有している。しかし、ホストZ(100c)及びホストW(100d)が接続される仮想階層310が異なるため、ホストZ(100c)及びホストW(100d)は分割されたリソースをそれぞれ使用できる。
例えば、ホストZ(100c)に障害が起きた場合、当該障害の影響はMRデバイス300bの仮想階層VHN=1内に限定されるため、仮想階層VHN=2を使用しているホストZ(100d)には影響を与えない。
しかし、ホストX(100a)の仮想階層VHN=0における障害は例外となる。MRデバイス300a〜300dの仮想階層VHN=0は、各MRデバイス300a〜300dにおける仮想階層の分割を設定するためのBase Functionを含む。
したがって、ホストX(100a)で障害又は再起動が発生した場合、配下のMRデバイス300a〜300dの仮想階層VHN=0にリセットが入る。前述の場合、Base Functionにリセットが入り、他の仮想階層(VHN≧1)が消えてしまうため、ホストZ(100c)及びホストW(100d)にも影響が及ぶ。つまり、図5〜図7に示す構成では管理ホストであるホストX(100a)が一点障害となっている。
そこで一点障害とならないように、待機系のホストY(100b)(図8参照)を用意し、ホストX(100a)からホストY(100b)(図8参照)へと引き継ぐ(フェイルオーバーする)ことが考えられる。引き継ぐ前の状態のホストY(100b)(図8参照)を頂点とする仮想スイッチ400−1の構成を図8に示す。
図8は、本発明の第一の実施形態のホストY(100b)を頂点とする仮想スイッチ400−1の構成を示す説明図である。
図8に示す例では、上流ポート210bのVHN=0と上流仮想ブリッジ410−5とが接続されている。上流仮想ブリッジ410−5の配下には4つの下流仮想ブリッジ410−6〜410−9が接続される。ただし、下流仮想ブリッジ410−6〜410−9は、下流ポート220a〜220dと接続されていない。
MR-I/OV仕様では、任意のポートとVHNとの組は、同時に2つ以上の仮想ブリッジ410と接続できない。なぜなら、下流ポート220に同時に2つ以上の仮想ブリッジ410を繋いでしまうと、複数のルートが存在し、正しいPCIバスツリーとならず、動作が保証されないためである。
したがって、図8に示す例では、下流ポート220a〜220dの仮想階層VHN=0は、ホストX(100a)の仮想スイッチ400−0の配下の下流仮想ブリッジ410−1〜410−4と接続されているため、下流仮想ブリッジ410−6〜410−9と下流ポート220a〜220dとは接続されていない。
本発明を適用する前の、マルチルートPCIスイッチ200が備える仮想スイッチ生成機構260内に設定される仮想スイッチ管理表520及び仮想ブリッジ管理表530について説明する。
以下、ホストX(100a)を管理ホストX(100a)とも記載し、また、ホストY(100b)を待機系ホストY(100b)とも記載する。
図9は、本発明の第一の実施形態の仮想スイッチ管理表520及び仮想ブリッジ管理表530の対応関係を示す説明図である。
図9に示す仮想スイッチ管理表520及び仮想ブリッジ管理表530は、MR-IOV仕様で規定されている表を簡略化して示したものであり、本質的にはMR-IOV仕様で規定されているものと同一である。
仮想スイッチ管理表520の各エントリは、仮想スイッチ番号521、有効フラグ522、開始仮想ブリッジ番号523、及び仮想ブリッジエントリ数524から構成される。開始仮想ブリッジ番号523及び仮想ブリッジエントリ数524によって、仮想ブリッジ管理表530のエントリへとポインタが貼られている。
仮想ブリッジ管理表530の各エントリは、仮想ブリッジ番号531、有効フラグ532、上流か下流かを示す方向フラグ533、仮想ブリッジをポートにマップするか否かを示すポートマップ状態534、マップ先のポート番号535、及びマップ先の仮想階層番号(VHN)536から構成される。
なお、図9に示す仮想スイッチ管理表520及び仮想ブリッジ管理表530は、図5〜図8に示す構成と一致するものである。
以下、管理ホストX(100a)から待機系ホストY(100b)へと各MRデバイス(300a〜300d)のVHN=0を引き継ぐ(フェイルオーバーする)場合を考える。引き継ぎ後の仮想スイッチの構成図を図10及び図11に示す。
図10は、本発明の第一の実施形態における、引き継ぎ後のホストX(100a)を頂点とする仮想スイッチ400−0の構成を示す説明図である。図11は、本発明の第一の実施形態における、引き継ぎ後のホストY(100b)を頂点とする仮想スイッチ400−1の構成を示す説明図である。
管理ホストX(100a)を頂点とする仮想スイッチ400−0の下流仮想ブリッジ410−1〜410−4は下流ポート220a〜220dのマップから外され、代わりに待機系ホストY(100b)を頂点とする仮想スイッチ400−1の下流仮想ブリッジ410−6〜410−9が下流ポート220a〜220dへとマップされている。
しかし、図9に示す仮想スイッチ管理表520及び仮想ブリッジ管理表530を書き換えて、図10及び図11に示す状態へと変更するためには、仮想ブリッジ管理表530の複数エントリのポートマップ状態534を変更する必要がある。
具体的にはVB#531が「1」〜「4」のポートマップ状態534を「Yes」から「No」に変更し、VB#531が「6」〜「9」のポートマップ状態534を「No」から「Yes」へと変更する必要がある。
前述した変更は同時に実行できないため、逐次的に変更される。この場合、MR-IOV仕様に従って、同時にポートが2つ以上の仮想ブリッジ410に繋がないように変更すると、一時的に下流ポート220a〜220dがいずれの仮想ブリッジ410とも接続されていない状態が必ず発生する。MR-I/OV仕様では、いずれの仮想ブリッジ410とも接続されていないポート220はリンクダウンとみなされ、リセットが入る。
このため、逐次的に仮想ブリッジ管理表530を書き換える引き継ぎ方法では、Base Functionにリセットを入れずに管理ホストX(100a)を引き継ぐという目的を達成できない。
本発明では、管理ホストX(100a)のフェイルオーバーを実現するために、MRデバイスのBase Functionにリセットを入れず、かつ、PCI/MR−IOV仕様に違反しないように、仮想スイッチ400の接続状態を同時に切り替える機能をマルチルートPCIスイッチ200に追加する。
そのために、複数の仮想スイッチ400をグループ化し、当該グループの中で有効な仮想スイッチ400を1つ指定するポインタを用意する。グループ内においてポインタで指定された以外の仮想スイッチ400は、下流ポート220とのマップ状態を無効化された状態となる。
ポインタを別の仮想スイッチ400へと変更した場合、それまで有効だった仮想スイッチ400の下流ポート220のマップ状態が無効化され、代わりに新しく指定された仮想スイッチ400の下流ポート220のマップ状態が有効となる。
前述したマップ状態の変更は、ポインタの変更を契機として同時に行われるため、PCI/MR−IOV仕様に違反した状態(1つのポートのVHNが2つ以上の仮想ブリッジ410にマップされている状態)は生じず、また、1つのポートは常にいずれかの仮想スイッチ400と接続された状態を保つことができためリンクダウンに伴うリセットも発生しない。
以下、前述した機能の詳細について説明する。
図12は、本発明の第一の実施形態の仮想スイッチ管理表520及び仮想ブリッジ管理表530と、仮想スイッチグループ管理表510との対応関係を示す説明図である。
図12は、管理ホストX(100a)の引き継ぎ前の設定を示す。本発明のマルチルートPCIスイッチ200は、MR−IOV仕様で規定された仮想スイッチ管理表520及び仮想ブリッジ管理表530に加え、さらに、仮想スイッチグループ管理表510を備える。
仮想スイッチグループ管理表510の各エントリは、仮想スイッチグループ番号(VS Grp#)511、有効フラグ512、仮想スイッチリスト(VS List)513、及び有効仮想スイッチ番号(有効VS#)514から構成される。なお、仮想スイッチグループ番号511は、複数の仮想スイッチ400から構成されるグループ(仮想スイッチグループ)を識別するための識別子である。
図12に示す例では、仮想スイッチグループ番号511が「0」の仮想スイッチグループが有効化されている。また、仮想スイッチグループ番号511が「0」の仮想スイッチグループにはVS#(仮想スイッチ番号)521が「0」及び「1」の仮想スイッチ400が含まれ、そのうちVS#521が「0」の仮想スイッチ400が有効な仮想スイッチ400として指定されている。
仮想スイッチグループ管理表510の設定に従って、仮想スイッチ管理表520ではVS#521が「0」の仮想スイッチ400が有効化され、仮想ブリッジ管理表530ではVB#531が「0」〜「4」の仮想ブリッジ410が有効化され、かつ、当該仮想ブリッジ410が下流ポート220にマップされている。
一方、仮想スイッチグループ管理表510において、同一の仮想スイッチグループに含まれるVS#521が「1」の仮想スイッチ400は無効化されているため、当該仮想スイッチの400の下流仮想ブリッジ410の下流ポート220へのマップは無効化される。したがって、1つの下流ポート220に2つ以上の仮想ブリッジ410が接続された状態にはならない。
なお、図12に示す例では、VS#521が「0」の仮想スイッチ400及びVS#521が「1」の仮想スイッチ400のそれぞれのポートマップ状態534が「Yes」となっているが、これは、接続可能な仮想スイッチ400であることを示している。実際の仮想ブリッジ410と下流ポート(220a〜220d)との接続はルーティング制御部250が行っている。
具体的には、ルーティング制御部250は、仮想スイッチ生成機構260から入力されるポートマップ情報263及び仮想スイッチ構成情報264に基づいて、VS#521が「0」の仮想ブリッジ410と下流ポート(220a〜220d)との接続(マップ)を有効化し、仮想スイッチ400のVS#521が「1」の仮想スイッチ400の仮想ブリッジ410と下流ポート(210a〜210d)との接続(マップ)を無効化している。
図13は、本発明の第一の実施形態の仮想スイッチ管理表520及び仮想ブリッジ管理表530と、仮想スイッチグループ管理表510との対応関係を示す説明図である。図13は、管理ホストX(100a)を待機系ホストY(100b)に引き継ぎ後の状態を示す。
図12との差は、仮想スイッチグループ管理表510の仮想スイッチグループ番号511が「0」のエントリの有効仮想スイッチ番号514が「0」から「1」へと変更されている点である。
前述の変更によって、同じ仮想スイッチグループに属する仮想スイッチ400のうち、有効とされていたVS#521が「0」の仮想スイッチの下流仮想ブリッジ410の下流ポート220へのマップが無効化され、一方、VS#521が「1」の仮想スイッチの下流仮想ブリッジ410の下流ポート220へのマップが有効化される。
前述した切り替えは、対象の仮想スイッチ400の配下の全てのポートで同時に起こるため、二重に接続された状態、又はポート220から仮想ブリッジ410が切り離された状態が発生せず、MRデバイスのBase Functionにリセットは入らずに管理ホストX(100a)を待機系ホストY(100b)へと引き継ぐことが可能となる。
(仮想スイッチ生成機構の構成)
図14は、本発明の第一の実施形態のマルチルートPCIスイッチ200が備える仮想スイッチ生成機構260の構成を説明するブロック図である。
仮想スイッチ生成機構260は、仮想スイッチグループ管理表510、仮想スイッチ管理表520、仮想ブリッジ管理表530、ポートマップ情報生成部261、及び仮想スイッチ構成情報生成部262を備える。
ポートマップ情報生成部261は、仮想スイッチグループ管理表510及び仮想スイッチ管理表520から入力される情報に基づいてポートマップ情報263を生成し、生成されたポートマップ情報263をルーティング制御部250に出力する。
仮想スイッチ構成情報生成部262は、仮想スイッチ管理表520及び仮想ブリッジ管理表530から入力される情報に基づいて仮想スイッチ構成情報264を生成し、生成された仮想スイッチ構成情報264をルーティング制御部250に出力する。
PCIマネージャー290は、スイッチ管理バス240を介して仮想スイッチグループ管理表510、仮想スイッチ管理表520、及び仮想ブリッジ管理表530をそれぞれ設定する。
設定された情報は、ポートマップ情報生成部261及び仮想スイッチ構成情報生成部262を経て、ポートマップ情報263及び仮想スイッチ構成情報264としてルーティング制御部250へと出力される。ルーティング制御部250は、入力されたポートマップ情報263及び仮想スイッチ構成情報264によってポート間の接続関係を把握し、内部バス230を流れるパケットをルーティングする。
図12に示す状態から図13に示す状態への変更は、ポートマップ情報生成部261によって実現される。以下、ポートマップ情報生成部261が実行する処理について説明する。
図15は、本発明の第一の実施形態のポートマップ情報生成部261の処理の一例を示す説明図である。
ポートマップ情報生成部261は、仮想スイッチグループ管理表510及び仮想スイッチ管理表520を参照し、有効な仮想スイッチグループエントリから、仮想スイッチリスト513に含まれる仮想スイッチ番号を抜き出す。
ポートマップ情報生成部261は、抜き出された仮想スイッチ番号に対応するそれぞれの仮想スイッチから、任意の下流ポート220(ここでは220a)にマップされる仮想ブリッジ410のVB#531(ここではVB#531が「1」と「6」)を選択する。
ポートマップ情報生成部261は、選択された仮想ブリッジ410のうち、有効仮想スイッチ番号514で示される仮想スイッチに属する仮想ブリッジ410のマップ状態のみを有効とし、それ以外の仮想ブリッジ410のマップ状態を無効とする。
ポートマップ情報生成部261は、前述した処理を全ての下流ポート220(ここでは220a〜220d)に対して実行する。
ポートマップ情報生成部261は、以上に処理によって選択された下流ポート220のポートマップ情報と、上流ポート210のポートマップ情報とをまとめて、ポートマップ情報263として出力する。
図28は、本発明の第一の実施形態のポートマップ情報生成部261が実行する処理を説明するフローチャートである。なお、図28は、図15の処理をフローチャートとして表したものである。
ポートマップ情報生成部261は、ポートマップ情報263を初期化する(ステップ1600)。
ポートマップ情報生成部261は、仮想スイッチ管理表520を参照し、全ての仮想スイッチ番号521に対して処理を実行する(ステップ1610)。具体的には、ポートマップ情報生成部261は、各仮想スイッチ番号521に対して処理を実行する。
ポートマップ情報生成部261は、選択された仮想スイッチ番号521が仮想スイッチグループ管理表510の任意のエントリの仮想スイッチリスト513に含まれるか否かを判定する(ステップ1620)。
選択された仮想スイッチ番号521が仮想スイッチグループ管理表510の任意のエントリの仮想スイッチリスト513に含まれないと判定された場合、ポートマップ情報生成部261は、ステップ1650に進む。
選択された仮想スイッチ番号521が仮想スイッチグループ管理表510の任意のエントリの仮想スイッチリスト513に含まれると判定された場合、ポートマップ情報生成部261は、当該エントリの有効フラグ512が「Yes」であるか否かを判定する(ステップ1630)。
エントリの有効フラグ512が「Yes」でないと判定された場合、ポートマップ情報生成部261は、ステップ1650に進む。
エントリの有効フラグ512が「Yes」であると判定された場合、ポートマップ情報生成部261は、選択された仮想スイッチ番号521が有効仮想スイッチ番号514と一致するか否かを判定する(ステップ1640)。
選択された仮想スイッチ番号521が有効仮想スイッチ番号514と一致すると判定された場合、ポートマップ情報生成部261は、仮想ブリッジ管理表530を参照し、選択された仮想スイッチ番号521に対応する仮想スイッチ400配下の仮想ブリッジ410のうち、有効フラグ532が「Yes」、かつ、ポートマップ状態534が「Yes」であるエントリを全てポートマップ情報263に追加する(ステップ1650)。
選択された仮想スイッチ番号521が有効仮想スイッチ番号514と一致しないと判定された場合、ポートマップ情報生成部261は、仮想ブリッジ管理表530を参照し、選択された仮想スイッチ番号521に対応する仮想スイッチ400配下の仮想ブリッジ410のうち、有効フラグ532が「Yes」、かつ、ポートマップ状態534が「Yes」、かつ、方向フラグ533が「up」であるエントリのみをポートマップ情報263に追加する(ステップ1660)。
ステップ1660の処理によって、仮想ブリッジ410と上流ポート210とのマップは有効となるが、仮想ブリッジ410と下流ポート220とのマップは無効となる。
ポートマップ情報生成部261は、仮想スイッチ管理表520の全ての仮想スイッチ番号521に対して処理が終了するまでループ処理(ステップ1620〜ステップ1660)を実行する(ステップ1670)。
ポートマップ情報生成部261は、ステップ1620〜ステップ1660の処理結果をポートマップ情報263としてルーティング制御部250に出力し(ステップ1680)、処理を終了する。
(PCIマネージャー内部のフェイルオーバー処理)
次に、PCIマネージャー290内部のフェイルオーバー処理について説明する。
図16は、本発明の第一の実施形態のPCIバスツリー管理表136を示す説明図である。図16は、引き継ぎ前(フェイルオーバー前)のホストX(100a)におけるPCIマネージャー290内部のPCIバスツリー管理表136−xを示す。
PCIバス上のデバイス及びブリッジは、Bus#601、Device#602、及びFunc#603の組によって一意にID付けされ、管理される。
デバイス種別604は、各デバイスがRoot Complexか、ブリッジか、又はMRデバイス300かを示す情報を格納する。デバイス名605は、デバイス種別604がMRデバイス300であった場合のデバイス名を格納する。
さらに、デバイスがメモリマップトI/Oによってアクセス可能な場合、Base Address606及びSize607が格納される。
図16に示す例では、Bus#601が「0」のデバイスはRoot Complex(この場合、I/Oハブ140に対応する)、Bus#601が「1」のデバイスは上流仮想ブリッジ410−0、Bus#601が「2」のデバイスのDevice#602が「0」〜「3」が下流仮想ブリッジ410−1〜410−4にそれぞれ対応する。また、Bus#601が「3」のデバイスはMRデバイスA(300a)、Bus#601が「4」のデバイスはMRデバイスB(300b)、Bus#601が「5」のデバイスはMRデバイスC(300c)、Bus#601が「6」のデバイスはデバイスD(300d)にそれぞれ対応する。
図17は、本発明の第一の実施形態のPCIバスツリー管理表136を示す説明図である。図17は、引き継ぎ前(フェイルオーバー前)のホストY(100b)におけるPCIマネージャー290内部のPCIバスツリー管理表136−yを示す。
ホストY(100b)が使用する仮想スイッチ400−1は、仮想ブリッジ410までは存在するが、当該仮想ブリッジ410と下流ポート220とは接続されていない状態であるため、MRデバイス300までは到達できない。そのため、通常のPCIバスエニュメレートの手順に従うと、デバイスの存在しないPCIバスツリーが生成されてしまう。
そこでホストY(100b)は、管理用ネットワーク270又はマルチルートPCIスイッチ200内部のレジスタを介して、現用系ホストX(100a)と通信を行い、引き継ぎ(フェイルオーバー)の準備を行う。
つまり、ホストY(100b)は、ホストX(100a)のPCIバスツリー管理表136−xに基づいてPCIバスツリー管理表136−yを作成する。
具体的には、ホストY(100b)は、PCIバスツリー管理表136−xのデバイス種別604において「Device」が格納されるエントリ(この場合Bus#601が「3」〜「6」)に対応するPCIバスツリー管理表136−yのエントリに、将来、引き継がれるデバイス(この場合、DeviceA(300a)〜DeviceD(300d))待機Deviceのエントリを用意しておく。待機Deviceのエントリには、引き継がれるデバイスのBus#601、Device#602、Func#603、Base Address606及びSize607が予約される。
これによって、PCIバスの再エニュメレートやメモリマップトI/Oアドレスの再配置をすることなく、ホストX(100a)の配下にあるMRデバイス300を引き継ぐことができる。
(計画的フェイルオーバー手順)
図18及び図19は、本発明の第一の実施形態の管理コンソール280からPCIマネージャー290を起動してホスト−デバイス割り当て表650を操作するためのユーザ操作インタフェースを示す説明図である。
ホスト−デバイス割り当て表650の各エントリは、管理ホスト指定部(Manager Host)651、ホスト名(Host)652、デバイス指定部(Device)653、及び仮想階層番号指定部(VHN)654を含む。
管理ホスト指定部651は、管理ホストX(100a)の現用系(Active)と待機系(Backup)とを示す情報を格納する。ホスト名652は、ホスト名(又はホスト番号)を格納する。デバイス指定部653は、接続先のMRデバイス300を格納する。仮想階層番号指定部654は、MRデバイス300の仮想階層番号を格納する。
なお、ホスト−デバイス割り当て表650を操作するためのユーザ操作インタフェースは、図18に示すようなテキストベースの画面だけでなく、必要に応じて図5〜図8に示すような仮想スイッチ400の状態を表示するグラフィカルユーザインタフェースであってもよい。
PCIマネージャー290は、ホスト−デバイス割り当て表650と、マルチルートPCIスイッチ200の各ポート210、220に何が接続されているかを示すトポロジ情報660とに基づいて、仮想スイッチグループ管理表510、仮想スイッチ管理表520、仮想ブリッジ管理表530を生成する。PCIマネージャー290は、生成された各管理表に基づいて、仮想スイッチ400を管理する。
具体的には、PCIマネージャー290は、生成された核管理表をマルチルートPCIスイッチ200内の仮想スイッチ生成機構260に入力し、仮想スイッチ400の生成及び管理を実行する。
ここで、トポロジ情報660について説明する。
図27は、本発明の第一の実施形態のトポロジ情報660の一例を示す説明図である。
トポロジ情報660は、ポート番号661、方向662、コンポーネント種別663、デバイス名664、及び最大仮想階層数(Max VHN)665を含む。
ポート番号661は、マルチルートPCIスイッチ200が備えるポート210、220を識別する識別子を格納する。方向662は、ポート番号661に対応するポートが上流ポート210か、又は、下流ポート220かを示す情報を格納する。
コンポーネント種別663は、ポート番号661に対応するポートに接続されたデバイスの種類を格納する。デバイス664は、コンポーネント種別663が「MR Device」である場合におけるMRデバイス300を識別するための識別子を格納する。最大仮想階層数665は、MRデバイス300上に生成可能な仮想階層の数を格納する。
以下、管理コンソール280の画面を介して、管理者が計画的に管理ホストをホストX(100a)からホストY(100b)へと切り替える手順を示す。
管理者は、図19に示すようにホスト−デバイス割り当て表650の、ホストY(100b)の管理ホスト指定部651の属性をBackup(待機系)からActive(現用系)へと切り替える。この時、ホストY(100b)とホストX(100a)とは同一の仮想スイッチグループに属しているため、管理所の切り替え操作に連動してホストX(100a)の管理ホスト指定部651の属性がActive(現用系)からBackup(待機系)へと切り替えられる。その後、管理コンソール280の画面上に確認のプロンプトが表示され、管理者が承認することによって、計画的フェイルオーバーが開始される。
図20は、本発明の第一の実施形態における計画的フェイルオーバーの処理を説明するフローチャートである。
管理者による計画的フェイルオーバーの開始要求(ステップ1000)を受け、現用系ホストX(100a)は、配下のデバイスへのMMIOアクセスを停止し、また、PCIマネージャー290への割り込みの発行を停止する(ステップ1010)。なお、PCIマネージャー290への割り込みは、例えば、MSI(Message Signaled Interrupt)又はINTx#が用いられる。
現用系ホストX(100a)は、発行中のMMIO及びDMAが全て完了するのを待つ(ステップ1020)。発行中のMMIO及びDMAが全て完了した後、現用系ホストX(100a)の仮想スイッチ400内にはフライト中のTx(トランザクション)がいないことが保証される。
その後、現用系ホストX(100a)は、仮想スイッチグループ管理表510の有効仮想スイッチ番号514が書き換える(ステップ1030)。本実施形態では、有効仮想スイッチ番号514が「0」から「1」に書き換えられる。
現用系ホストX(100a)は、待機系ホストY(100b)との間で情報の引き継ぎを実行する(ステップ1040)。当該情報の引継ぎによって、待機系ホストY(100b)のPCIバスツリー管理表136−yの「待機デバイス」のエントリには、図16のPCIバスツリー管理表136−xに示す実際のデバイスへと置き換えられる。
待機系ホストY(100b)は、PCIマネージャー290への割り込み停止及びMMIO発行停止の解除を実行する(ステップ1050)。
以降、待機系ホストY(100b)が現用系ホストY(100b)としてPCIマネージャー290を含む管理を行う(ステップ1060)。
以上が本発明の第一の実施形態である。
〔第一の実施例の変形例〕
(障害時フェイルオーバー)
次に、本発明の第一の実施形態の変形例を示す。
第一の実施形態の変形例では、待機系ホストY(100b)へのフェイルオーバーのタイミングが異なる。つまり、第一の実施形態の変形例は、待機系ホストY(100b)が現用系ホストX(100a)の障害発生を検出し、当該障害発生の検出を契機にフェイルオーバーを実行する。
計算機システム、ホスト100、及びマルチルートPCIスイッチ200等の構成は第一の実施形態と同一であるため説明を省略する。以下、第一の実施形態との差異を中心に説明する。
図21は、本発明の第一の実施形態の変形例における障害発生時のフェイルオーバーの処理を説明するフローチャートである。
現用系ホストX(100a)と待機系ホストY(100b)とは、フェイルオーバー監視部137によって、ハートビート等を用いて互いを監視している(ステップ1100)。なお、ハートビート用のネットワークとして、管理用ネットワーク270とは別のネットワークを用いてもよい。
待機系ホストY(100b)は、現用系ホストX(100a)の監視と同時に、現用系ホストX(100a)の情報を適宜コピーし、同期をとる(ステップ1110)。なお、MRデバイス300等の状態が変化しない場合、待機系ホストY(100b)は、最初の1回だけ現用系ホストX(100a)の情報をコピーすればよい。また、MRデバイス300等の状態が変化を検出してから、待機系ホストY(100b)は、現用系ホストX(100a)の情報をコピーするようにしてもよい。
待機系のホストY(100b)は、フェイルオーバー監視部137によって現用系ホストX(100a)に障害が発生したか否かを判定する(ステップ1120)。待機系のホストY(100b)は、障害発生を検出するまでステップ1100〜ステップ1120の処理を実行する。
現用系ホストX(100a)に障害が発生したことが検出された場合、待機系ホストY(100b)は、仮想スイッチグループ管理表510の有効仮想スイッチ番号514を、自らの属する仮想スイッチ400へと書き換える(ステップ1130)。この場合、有効仮想スイッチ番号514が「0」から「1」に書き換えられる。
前述した処理によって、現用系ホストX(100a)から待機系ホストY(100B)への引き継ぎが可能となるが、待機系ホストY(100b)は、計画的フェイルオーバーと異なり、フライト中のTxが存在する可能性があるため、当該Txの修復処理を実行する。
待機系ホストY(100b)は、割り込みが失われた可能性を考慮して、待機系ホストY(100b)配下のデバイスの割り込み状態の修復を実行する(ステップ1140)。具体的には、待機系ホストY(100b)は、割り込み要因レジスタ(図示省略)の割り込み要因ビットを参照して割り込み要因を特定し、その後、割り込み要因ビットをクリアする。
待機系ホストY(100b)は、完了しないTxがタイムアウトを起こした場合、当該Txを再発行する(ステップ1150)。
以上の修復処理が完了した後、待機系ホストY(100b)は、新たな現用系ホストY(100b)として動作する(ステップ1160)。
以上が第一の実施例の変形例である。
〔第二の実施形態〕
以下、本発明の第二の実施形態を示す。
計算機システム、ホスト100、及びマルチルートPCIスイッチ200等の構成は第一の実施形態と同一であるため説明を省略する。以下、第一の実施形態との差異を中心に説明する。
第二の実施形態では、仮想スイッチグループ管理表510に新たな項目を付加する。
図22は、本発明の第二の実施形態の仮想スイッチグループ管理表510−2を示す説明図である。
図22に示すように、仮想スイッチグループ管理表510−2のエントリには、新たに障害時設定540が追加されている。
障害時設定540は、マルチルートPCIスイッチ200が障害を検出した時に自動的に仮想スイッチ400を切り替えるための設定を行うためのエントリである。以下、障害時設定540の詳細ついて説明する。
図23は、本発明の第二の実施形態の障害時設定540の一例を示す説明図である。
障害時設定540は、切り替え先仮想スイッチ番号(切り替え先VS#)541、割り込みベクタ番号(割り込みベクタ#)542、切り替え要因543、切り替え条件544、Watchdog Timer閾値545、Watchdog Timer制御レジスタ546を含む。
切り替え先仮想スイッチ番号541は、フェイルオーバー時に切り替えられる仮想スイッチ400の仮想スイッチ番号521を格納する。具体的には、仮想スイッチリスト513のうち有効仮想スイッチ番号514で指定されていない仮想スイッチ番号521が格納される。
割り込みベクタ番号542は、仮想スイッチ400の切り替えが発生した時に、切り替え時に待機系ホストY(100b)へと通知する割り込みの識別子を格納する。
切り替え要因543及び切り替え条件544は、切り替えの要因となった障害やリセットの種別ごとにビットマップで指定する。切り替えの要因となった障害やリセットの種別ごとにビットマップは、例えば、非特許文献1のP.123〜125に記載されているようなものを用いることができる。
切り替え要因としては、
(1)現用系ホストX(100a)が使用する仮想スイッチ400におけるリセットの検出
(2)Watchdog Timerのタイムアウト、
(3)現用系ホストX(100a)が使用する仮想スイッチ400における障害検出
等の要因が考えられる。
Watchdog Timerは、カウントがスタートされてからカウントアップされ続け、現用系ホストX(100a)上のPCIマネージャー290又はフェイルオーバー監視部137によって、定期的にクリアされるカウンタである。
もし、Watchdog Timerがクリアされずに、予め設定されたWatchdog Timer閾値545を超えた場合、現用系ホストX(100a)の障害とみなされ、待機系ホストY(100b)への切り替えるように割り込みによる通知が行われる。
Watchdog Timer制御レジスタ546には、現在のカウンタの値、カウントアップの有効・無効制御フラグ、カウンタのクリア用ビット、カウンタがオーバーフローしたことを示すフラグ、等が含まれる。
図24は、本発明の第二の実施形態のマルチルートPCIスイッチ200がホストX(100a)の障害を検出して仮想スイッチ400を切り替える場合における処理を説明するフローチャートである。
マルチルートPCIスイッチ200は、障害時設定540の切り替え条件544に設定された条件に従って条件を判定する(ステップ1200)。
マルチルートPCIスイッチ200は、切り替え条件544を参照し、リセット監視が有効か否かを判定する(ステップ1210)。
リセット監視が有効であると判定された場合、マルチルートPCIスイッチ200は、現用系ホストX(100a)が使用する仮想スイッチ400(以下、現用系仮想スイッチ400とも記載する。)でリセットを検出したか否かを判定する(ステップ1220)。マルチルートPCIスイッチ200は、現用系ホストX(100a)からリセットの通知を検出することによって判定することができる。
現用系仮想スイッチ400でリセットが検出された場合、マルチルートPCIスイッチ200は、ステップ1280へ進む。
現用系仮想スイッチ400でリセットが検出されない場合、マルチルートPCIスイッチ200は、ステップ1230に進む。
ステップ1210において、リセット監視が有効でないと判定された場合、マルチルートPCIスイッチ200は、切り替え条件544を参照し、障害監視が有効であるか否かを判定する(ステップ1230)。
障害監視が有効であると判定された場合、マルチルートPCIスイッチ200は、現用系仮想スイッチ400で回復不可能な致命的障害を検出したか否かを判定する(ステップ1240)。
現用系仮想スイッチ400で回復不可能な致命的障害が検出された場合、マルチルートPCIスイッチ200は、ステップ1280に進む。
現用系仮想スイッチ400で回復不可能な致命的障害が検出されない場合、マルチルートPCIスイッチ200は、ステップ1250に進む。
ステップ1230において、障害監視が有効でないと判定された場合、マルチルートPCIスイッチ200は、切り替え条件544を参照し、Watchdog Timer監視が有効であるか否かを判定する(ステップ1250)。
Watchdog Timer監視が有効でないと判定された場合、マルチルートPCIスイッチ200は、ステップ1200に戻り、監視を続ける。
Watchdog Timer監視が有効であると判定された場合、マルチルートPCIスイッチ200は、Watchdog Timerをカウントアップし(ステップ1260)、Watchdog TimerがWatchdog Timer閾値545を超えたか否かを判定する(ステップ1270)。
Watchdog TimerがWatchdog Timer閾値545を超えていないと判定された場合、マルチルートPCIスイッチ200は、ステップ1200に戻り、監視を続ける。
Watchdog TimerがWatchdog Timer閾値545を超えたと判定された場合、マルチルートPCIスイッチ200は、ステップ1280に進む。
ステップ1280において、マルチルートPCIスイッチ200は、発生した要因を切り替え要因543に記録する。
次に、マルチルートPCIスイッチ200は、予め設定された切り替え先仮想スイッチ番号541へと、有効仮想スイッチ番号514を書き換える(ステップ1290)。
続いて、マルチルートPCIスイッチ200は、ステップ1290で切り替えられた後の仮想スイッチ400に対して、割り込みベクタ番号542に指定されたベクタを用いて割り込みを発行する(ステップ1300)。
以降、待機系ホストY(100b)が新たな現用系ホストY(100b)として動作する(ステップ1310)。
図25は、本発明の第二の実施形態の現用系ホストX(100a)の処理を説明するフローチャートである。
現用系ホストX(100a)は、管理用ネットワーク270を介して、現用系ホストX(100a)に関する情報を待機系ホストY(100b)へと適宜コピーをして同期を取る(ステップ1400)。
現用系ホストX(100a)は、Watchdog Timer監視が有効か否かを判定する(ステップ1410)。判定方法としては、図24のステップ1250と同一の方法を用いることができる。
Watchdog Timer監視が有効でないと判定された場合、現用系ホストX(100a)は、ステップ1400に戻り同様の処理を実行する。
Watchdog Timer監視が有効であると判定された場合、現用系ホストX(100a)は、周期的に、障害時設定540内のWatchdog Timer制御レジスタ546にアクセスし、カウンタをクリアし(ステップ1420)、ステップ1400に戻り同様の処理を実行する。これにより、現用系ホストX(100a)が動作している間にWatchdog Timerがオーバーフローすることを防ぐことができる。
図26は、本発明の第二の実施形態の待機系ホストY(100b)の処理を説明するフローチャートである。
待機系ホストY(100b)は、管理用ネットワーク270を介して、現用系ホストX(100a)から現用系ホストX(100a)に関する情報を取得し、適宜、現用系ホストX(100a)に関する情報をアップデートする(ステップ1500)。
待機系ホストY(100b)は、割り込みを受けた否かを判定する(ステップ1510)。
割り込みを受けていないと判定された場合、待機系ホストY(100b)は、ステップ1500に戻り同様の処理を実行する。
割り込みを受けたと判定された場合、待機系ホストY(100b)は、切り替え要因543を読み出す(ステップ1520)。なお、当該割り込みには、少なくとも割り込みベクタ番号542が含まれる。
待機系ホストY(100b)は、割り込みベクタ番号542及び切り替え要因543から、割り込みの要因が仮想スイッチ400の切り替えに伴うものであるか否かを判定する(ステップ1530)。
割り込みの要因が仮想スイッチ400の切り替えに伴うものでないと判定された場合、待機系ホストY(100b)は、ステップ1500に戻り同様の処理を実行する。なお、仮想スイッチ400の切り替え以外の割り込みの要因については、待機系ホストY(100b)が備える他の機能によって処理が実行される。
割り込みの要因が仮想スイッチ400の切り替えに伴うものであると判定された場合、待機系ホストY(100b)は、待機系ホストY(100b)配下のデバイスの割り込み状態の修復を実行する(ステップ1540)。修復方法は、図21のステップ1140と同一の方法を用いることができる。
また、待機系ホストY(100b)は、待機系ホストY(100b)配下で、タイムアウトしたTxを再発行する(ステップ1550)。
以降、待機系ホストY(100b)が新たな現用系ホストY(100b)として動作する。
以上が、第二の実施例である。
本発明の一実施形態によれば、PCIマネージャー290が稼動する現用系ホストから待機系ホストへ切り替える場合、MRデバイス300のリセットが発生しないように仮想スイッチ400の切り替えることができる。
これによって、MR−IOV仕様に違反するような中間状態が発生せず、また、MRデバイス300のリセットが発生しない。したがって、切り替え後においても、他のホストが使用する仮想スイッチ400をそのまま引き継ぐことができため、他のホストに影響を与えない。
また、本発明の他の実施形態によれば、PCIマネージャー290が稼動する現用系ホストの障害発生時に待機系ホストに引き継ぎを行うと共に、MRデバイス300のリセットが発生しないように仮想スイッチの切り替えることができる。
これによって、現用系ホストの障害発生による一転障害を解消するとともに、MR−IOV仕様に違反するような中間状態が発生せず、また、MRデバイス300のリセットが発生しないため、信頼性の高い計算機システムを構築できる。
100 ホスト
110 ルートポート
111 I/Oバス
120 CPU
130 メモリ
131 メモリコード部
132 メモリデータ部
133 PCIマネージャー実行コード
134 MRデバイスドライバ
136 PCIバスツリー管理表
137 フェイルオーバー監視部
140 I/Oハブ
145 内部バス
146 メモリバス
147 ストレージI/F
150 ストレージ
151 PCIマネージャープログラム
152 管理用設定値
160 ネットワークコントローラ
200 マルチルートPCIスイッチ
210 上流ポート
220 下流ポート
230 内部バス
240 スイッチ管理バス
250 ルーティング制御部
260 仮想スイッチ生成機構
261 ポートマップ情報生成部
262 仮想スイッチ構成情報生成部
263 ポートマップ情報
264 仮想スイッチ構成情報
270 管理用ネットワーク
280 管理コンソール
290 PCIマネージャー
300 MRデバイス
310 仮想階層
400 仮想スイッチ
410 仮想ブリッジ
510 仮想スイッチグループ管理表
511 仮想スイッチグループ番号
512 有効フラグ
513 仮想スイッチリスト
514 有効仮想スイッチ番号
520 仮想スイッチ管理表
521 仮想スイッチ番号
522 有効フラグ
523 開始仮想ブリッジ番号
524 仮想ブリッジエントリ数
530 仮想ブリッジ管理表
531 仮想ブリッジ番号
532 有効フラグ
533 方向フラグ
534 ポートマップ状態
535 ポート番号
536 仮想階層番号
540 障害時設定
541 切り替え先仮想スイッチ番号
542 割り込みベクタ番号
543 切り替え要因
544 切り替え条件
545 Watchdog Timer閾値
546 Watchdog Timer制御レジスタ
601 Bus#
602 Device#
603 Func#
604 デバイス種別
605 デバイス名
606 Base Address
607 Size
650 ホスト−デバイス割り当て表
651 管理ホスト指定部
652 ホスト名
653 デバイス指定部
654 仮想階層番号指定部
660 トポロジ情報
661 ポート番号
662 方向
663 コンポーネント種別
664 デバイス名
665 最大仮想階層数

Claims (15)

  1. プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを備える複数の計算機と、
    前記複数の計算機の前記インタフェースを介して接続されるPCIスイッチと、
    前記PCIスイッチに接続される複数のI/Oデバイスと、を備える計算機システムであって、
    前記PCIスイッチは、
    前記計算機又は前記I/Oデバイスを接続するための複数のポートと、
    前記計算機と前記I/Oデバイスとを接続する通信経路を設定するスイッチ管理部と、を備え、
    前記通信経路は、一以上の仮想スイッチと一以上の仮想ブリッジとを含み、前記仮想スイッチは前記仮想ブリッジ間を接続する前記通信経路の経路を構成し、前記仮想ブリッジは前記仮想スイッチと前記ポートとを接続し、
    前記スイッチ管理部は、
    前記仮想スイッチ及び前記仮想ブリッジを設定し、前記設定された前記仮想スイッチ及び前記仮想ブリッジから前記通信経路を生成する通信経路生成部と、
    複数の前記仮想スイッチから構成される仮想スイッチグループを構成し、前記仮想スイッチグループに含まれる前記複数の仮想スイッチのうち、前記ポートとの接続が有効である一の前記仮想スイッチを示す有効フラグを設定する仮想スイッチグループ管理部と、
    前記通信経路生成部、及び前記仮想スイッチグループ管理部の設定に基づいて、前記生成された通信経路と前記ポートとの接続を管理するポート管理部と、を備え
    前記ポート管理部は、前記有効フラグが変更された場合、変更前の前記仮想スイッチを含む前記通信経路から、当該仮想スイッチが含まれる前記仮想スイッチグループのうちの他の前記仮想スイッチを含む前記通信経路に前記ポートとの接続を切り替えることを特徴とする計算機システム。
  2. 前記有効フラグは、前記生成された通信経路のうち、実際に前記計算機と前記I/Oデバイスとの接続に使用される通信経路に含まれる前記仮想スイッチの識別子を格納し、
    前記ポート管理部は、
    前記有効フラグにおいて指定された前記仮想スイッチが含まれる前記通信経路と、前記ポートとの接続を有効化し、
    前記有効フラグにおいて指定されていない前記仮想スイッチが含まれる前記通信経路と、前記ポートとの接続を無効化することを特徴とする請求項1に記載の計算機システム。
  3. 前記仮想スイッチグループは、第1の仮想スイッチと第2の仮想スイッチとを含み、
    前記有効フラグには前記第1の仮想スイッチの識別子が格納され、
    前記ポート管理部は、
    前記第1の仮想スイッチの識別子から前記第2の仮想スイッチの識別子に有効フラグが変更された場合、前記第1の仮想スイッチが含まれる前記通信経路と前記ポートとの接続を無効化し、
    前記第2の仮想スイッチが含まれる前記通信経路と前記ポートとの接続を有効化することを特徴とする請求項1に記載の計算機システム。
  4. 前記計算機は、前記計算機システムを管理する現用系計算機と、前記現用系計算機の切り替え先である待機系計算機とを含み、
    前記計算機システムは、前記現用系計算機の障害を監視する障害監視部を備え、
    前記スイッチ管理部は、前記現用系計算機と前記I/Oデバイスとを接続するために使用される第1の通信経路、及び、前記待機系計算機と前記I/Oデバイスとを接続するために使用される第2の通信経路を管理し、
    前記仮想スイッチグループ管理部が、前記第1の通信経路に含まれる前記仮想スイッチの識別子から、前記第2の通信経路に含まれる前記仮想スイッチの識別子に前記有効フラグを変更することによって、前記現用系計算機から前記待機系計算機へ切り替えることを特徴とする請求項1に記載の計算機システム。
  5. 前記待機系計算機が前記障害監視部を含み、
    前記待機系計算機は、前記現用系計算機の障害を検出した場合、前記有効フラグを前記第1の通信経路に含まれる仮想スイッチの識別子から前記第2の通信経路に含まれる仮想スイッチの識別子に変更するように前記仮想スイッチグループ管理部に要求することを特徴とする請求項4に記載の計算機システム。
  6. 前記PCIスイッチが前記障害監視部を含み、
    前記PCIスイッチは、前記現用系計算機の障害を検出した場合、前記有効フラグを前記第1の通信経路に含まれる仮想スイッチの識別子から前記第2の通信経路に含まれる仮想スイッチの識別子に変更するように前記仮想スイッチグループ管理部に要求することを特徴とする請求項4に記載の計算機システム。
  7. 前記PCIスイッチは、前記有効フラグが前記第1の通信経路に含まれる仮想スイッチの識別子から前記第2の通信経路に含まれる仮想スイッチの識別子に変更されるときに、前記待機系計算機へと割り込みを通知することを特徴とする請求項6に記載の計算機システム。
  8. プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを備える複数の計算機と、前記複数の計算機の前記インタフェースを介して接続されるPCIスイッチと、前記PCIスイッチに接続される複数のI/Oデバイスと、を備える計算機システムにおけるスイッチ切り替え方法であって、
    前記PCIスイッチは、
    前記計算機又は前記I/Oデバイスを接続するための複数のポートと、
    前記計算機と前記I/Oデバイスとを接続する通信経路を設定するスイッチ管理部と、を備え、
    前記通信経路は、一以上の仮想スイッチと一以上の仮想ブリッジとを含み、前記仮想スイッチは前記仮想ブリッジ間を接続する前記通信経路の経路を構成し、前記仮想ブリッジは前記仮想スイッチと前記ポートとを接続し、
    前記スイッチ管理部は、
    前記仮想スイッチ及び前記仮想ブリッジを設定する通信経路生成部と、
    複数の前記仮想スイッチから構成される仮想スイッチグループを構成し、管理する仮想スイッチグループ管理部と、
    前記通信経路と前記ポートとの接続を管理するポート管理部と、を備え、
    前記通信経路生成部が、設定された前記仮想スイッチ及び前記仮想ブリッジを生成する第1のステップと、
    前記通信経路生成部が、前記生成された仮想スイッチ及び仮想ブリッジから前記通信経路を生成する第2のステップと、
    前記仮想スイッチグループ管理部が、前記仮想スイッチグループに含まれる前記複数の仮想スイッチのうち、前記ポートとの接続が有効である一の前記仮想スイッチを示す有効フラグを設定する第3のステップと、
    前記ポート管理部が、前記通信経路生成部及び前記仮想スイッチグループ管理部の設定に基づいて、前記通信経路と前記ポートとの接続を決定し、前記有効フラグが変更された場合、変更前の前記仮想スイッチを含む前記通信経路から、当該仮想スイッチが含まれる前記仮想スイッチグループのうちの他の前記仮想スイッチを含む前記通信経路に前記ポートとの接続を切り替える第4のステップと、を含むことを特徴とするスイッチ切り替え方法。
  9. 前記有効フラグは、前記生成された通信経路のうち、実際に前記計算機と前記I/Oデバイスとの接続に使用される通信経路に含まれる前記仮想スイッチの識別子を格納し、
    前記第4のステップは、
    前記ポート管理部が、前記有効フラグにおいて指定された前記仮想スイッチが含まれる前記通信経路と前記ポートとの接続を有効化するステップと、
    前記ポート管理部が、前記有効フラグにおいて指定されていない前記仮想スイッチが含まれる前記通信経路と前記ポートとの接続を無効化するステップとを含むことを特徴とする請求項8に記載のスイッチ切り替え方法。
  10. 前記仮想スイッチグループは、第1の仮想スイッチと第2の仮想スイッチとを含み、
    前記有効フラグには前記第1の仮想スイッチの識別子が格納され、
    有効フラグが前記第1の仮想スイッチの識別子から前記第2の仮想スイッチの識別子に変更された場合、前記ポート管理部が、前記第1の仮想スイッチが含まれる前記通信経路と前記ポートとの接続を無効化するステップと、
    前記ポート管理部が、前記第2の仮想スイッチが含まれる前記通信経路と前記ポートとの接続を有効化するステップと、をさらに含むことを特徴とする請求項8に記載のスイッチ切り替え方法。
  11. 前記計算機は、前記計算機システムを管理する現用系計算機と、前記現用系計算機の切り替え先である待機系計算機とを含み、
    前記計算機システムは、前記現用系計算機の障害を監視する障害監視部を備え、
    前記スイッチ管理部は、前記現用系計算機と前記I/Oデバイスとを接続するために使用される第1の通信経路、及び、前記待機系計算機と前記I/Oデバイスとを接続するために使用される第2の通信経路を管理し、
    前記仮想スイッチグループ管理部が、前記第1の通信経路に含まれる前記仮想スイッチの識別子から、前記第2の通信経路に含まれる前記仮想スイッチの識別子に前記有効フラグを変更するステップをさらに含むことを特徴とする請求項8に記載のスイッチ切り替え方法。
  12. 前記待機系計算機が前記障害監視部を含み、
    前記待機系計算機が、前記現用系計算機の障害を監視するステップと、
    前記待機系計算機が、前記現用系計算機の障害を検出した場合、前記有効フラグを前記第1の通信経路に含まれる仮想スイッチの識別子から前記第2の通信経路に含まれる仮想スイッチの識別子に変更するように前記仮想スイッチグループ管理部に要求するステップと、をさらに含むことを特徴とする請求項11に記載のスイッチ切り替え方法。
  13. 前記PCIスイッチが前記障害監視部を含み、
    前記PCIスイッチが、前記現用系計算機の障害を監視するステップと、
    前記PCIスイッチが、前記現用系計算機の障害を検出した場合、前記有効フラグを前記第1の通信経路に含まれる仮想スイッチの識別子から前記第2の通信経路に含まれる仮想スイッチの識別子に変更するように前記仮想スイッチグループ管理部に要求するステップと、をさらに含むことを特徴とする請求項11に記載のスイッチ切り替え方法。
  14. 前記PCIスイッチが、前記有効フラグが前記第1の通信経路に含まれる仮想スイッチの識別子から前記第2の通信経路に含まれる仮想スイッチの識別子に変更されるときに、前記待機系計算機へと割り込みを通知するステップを含みことを特徴とする請求項13に記載のスイッチ切り替え方法。
  15. プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続されるインタフェースを備える複数の計算機と、複数のI/Oデバイスとを接続するPCIスイッチであって、
    前記計算機又は前記I/Oデバイスを接続するための複数のポートと、
    前記計算機と前記I/Oデバイスとを接続する通信経路を設定するスイッチ管理部と、を備え、
    前記通信経路は、一以上の仮想スイッチと一以上の仮想ブリッジとを含み、前記仮想スイッチは前記仮想ブリッジ間を接続する前記通信経路の経路を構成し、前記仮想ブリッジは前記仮想スイッチと前記ポートとを接続し、
    前記スイッチ管理部は、
    前記仮想スイッチ及び前記仮想ブリッジを設定し、前記設定された前記仮想スイッチ及び前記仮想ブリッジから前記通信経路を生成する通信経路生成部と、
    複数の前記仮想スイッチから構成される仮想スイッチグループを構成し、前記仮想スイッチグループに含まれる前記複数の仮想スイッチのうち、前記ポートとの接続が有効である一の前記仮想スイッチを示す有効フラグを設定する仮想スイッチグループ管理部と、
    前記通信経路生成部、及び前記仮想スイッチグループ管理部の設定に基づいて、前記生成された通信経路と前記ポートとの接続を管理するポート管理部と、を備え
    前記ポート管理部は、前記有効フラグが変更された場合、変更前の前記仮想スイッチを含む前記通信経路から、当該仮想スイッチが含まれる前記仮想スイッチグループのうちの他の前記仮想スイッチを含む前記通信経路に前記ポートとの接続を切り替えることを特徴とするPCIスイッチ。
JP2009134682A 2009-06-04 2009-06-04 計算機システム、スイッチ切り替え方法及びpciスイッチ Expired - Fee Related JP5074457B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009134682A JP5074457B2 (ja) 2009-06-04 2009-06-04 計算機システム、スイッチ切り替え方法及びpciスイッチ
US12/789,865 US8407391B2 (en) 2009-06-04 2010-05-28 Computer system managing I/O path and port

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009134682A JP5074457B2 (ja) 2009-06-04 2009-06-04 計算機システム、スイッチ切り替え方法及びpciスイッチ

Publications (2)

Publication Number Publication Date
JP2010282387A JP2010282387A (ja) 2010-12-16
JP5074457B2 true JP5074457B2 (ja) 2012-11-14

Family

ID=43301559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009134682A Expired - Fee Related JP5074457B2 (ja) 2009-06-04 2009-06-04 計算機システム、スイッチ切り替え方法及びpciスイッチ

Country Status (2)

Country Link
US (1) US8407391B2 (ja)
JP (1) JP5074457B2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5180729B2 (ja) * 2008-08-05 2013-04-10 株式会社日立製作所 計算機システム及びバス割当方法
JP5074457B2 (ja) * 2009-06-04 2012-11-14 株式会社日立製作所 計算機システム、スイッチ切り替え方法及びpciスイッチ
US8650349B2 (en) * 2010-05-26 2014-02-11 International Business Machines Corporation Memory mapped input/output bus address range translation for virtual bridges
US8589613B2 (en) * 2010-06-02 2013-11-19 Intel Corporation Method and system to improve the operations of an integrated non-transparent bridge device
US8055934B1 (en) * 2010-06-22 2011-11-08 International Business Machines Corporation Error routing in a multi-root communication fabric
US8949499B2 (en) 2010-06-24 2015-02-03 International Business Machines Corporation Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
WO2012053110A1 (ja) * 2010-10-22 2012-04-26 富士通株式会社 障害監視装置、障害監視方法及びプログラム
US8677176B2 (en) * 2010-12-03 2014-03-18 International Business Machines Corporation Cable redundancy and failover for multi-lane PCI express IO interconnections
US8645746B2 (en) 2010-12-03 2014-02-04 International Business Machines Corporation Cable redundancy and failover for multi-lane PCI express IO interconnections
WO2012143947A2 (en) * 2011-04-18 2012-10-26 Ineda Systems Pvt. Ltd Multi-host peripheral controller
WO2012157103A1 (ja) * 2011-05-19 2012-11-22 株式会社日立製作所 マルチルートスイッチ、計算機、及び計算機間通信方法
JP5903801B2 (ja) * 2011-08-23 2016-04-13 富士通株式会社 通信装置およびid設定方法
US9626241B2 (en) 2011-12-29 2017-04-18 Intel Corporation Watchdogable register-based I/O
CN102707991B (zh) * 2012-05-17 2016-03-30 中国科学院计算技术研究所 多根i/o虚拟化共享方法和系统
CN102819447B (zh) * 2012-05-29 2015-06-03 中国科学院计算技术研究所 一种用于多根共享系统的直接i/o虚拟化方法和装置
US9841739B2 (en) * 2012-06-07 2017-12-12 Hitachi, Ltd. Motion controller device and communication method therein
US9054974B2 (en) * 2012-07-30 2015-06-09 Cisco Technology, Inc. Reliably transporting packet streams using packet replication
US8843688B2 (en) * 2012-09-11 2014-09-23 International Business Machines Corporation Concurrent repair of PCIE switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system
CN103353861B (zh) * 2013-06-18 2016-06-29 中国科学院计算技术研究所 实现分布式i/o资源池化的方法及装置
US20150113314A1 (en) * 2013-07-11 2015-04-23 Brian J. Bulkowski Method and system of implementing a distributed database with peripheral component interconnect express switch
US9672167B2 (en) * 2013-07-22 2017-06-06 Futurewei Technologies, Inc. Resource management for peripheral component interconnect-express domains
US9043501B2 (en) 2013-07-25 2015-05-26 International Business Machines Corporation Input/output monitoring mechanism
JP6203272B2 (ja) * 2013-09-03 2017-09-27 株式会社アキブシステムズ I/oデバイスの仮想化のためのコンピュータシステム及びその運用方法並びにhub装置
JP6070732B2 (ja) * 2015-01-27 2017-02-01 日本電気株式会社 入出力制御装置、入出力制御システム、入出力制御方法、および、プログラム
TWI597953B (zh) 2015-11-25 2017-09-01 財團法人工業技術研究院 具故障轉移能力的快速周邊元件互連網路系統與操作方法
US10762021B2 (en) * 2016-07-11 2020-09-01 Hitachi, Ltd. Information processing system, and control method of information processing system
EP3433750A4 (en) * 2016-07-13 2019-10-09 Hewlett-Packard Development Company, L.P. TRANSMISSION OF SIGNALS BY USB PORTS
US10855522B2 (en) 2018-08-13 2020-12-01 Netapp Inc. Dual port storage device emulation
KR102629072B1 (ko) * 2018-11-13 2024-01-24 한국전자통신연구원 무선 통신 시스템에서의 데이터 재전송 방법 및 장치
US10871907B2 (en) * 2018-12-31 2020-12-22 Micron Technology, Inc. Sequential data optimized sub-regions in storage devices
US11106607B1 (en) * 2020-03-31 2021-08-31 Dell Products L.P. NUMA-aware storage system
CN111901231B (zh) * 2020-06-06 2021-12-14 烽火通信科技股份有限公司 一种家庭网关虚拟按键实现方法与实现系统
TWI760880B (zh) * 2020-10-07 2022-04-11 瑞昱半導體股份有限公司 與儲存裝置相關的傳輸控制電路、資料傳輸系統及操作資料傳輸系統的方法
CN115334015B (zh) * 2022-07-04 2024-04-02 深圳市国微电子有限公司 基于PCIe交换芯片的虚拟交换模式控制方法

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3807566B2 (ja) * 1996-11-22 2006-08-09 富士通テン株式会社 電子機器の入力装置
JPH11205324A (ja) * 1998-01-12 1999-07-30 Fujitsu Ltd Atm網における回線バックアップシステム
US6345346B1 (en) * 1999-02-26 2002-02-05 Voom Technologies Substantially instantaneous storage restoration for non-computer forensics applications
FR2790893B1 (fr) * 1999-03-12 2001-06-15 St Microelectronics Sa Dispositif d'association d'index a des adresses choisies parmi un nombre de valeurs plus grand que le nombre d'index disponibles
US6392989B1 (en) * 2000-06-15 2002-05-21 Cplane Inc. High speed protection switching in label switched networks through pre-computation of alternate routes
EP1248179A1 (en) 2001-04-03 2002-10-09 Hewlett-Packard Company Selective activation and deactivation of peripheral devices connected to a USB system
US6823418B2 (en) 2001-06-29 2004-11-23 Intel Corporation Virtual PCI device apparatus and method
US6985490B2 (en) * 2001-07-11 2006-01-10 Sancastle Technologies, Ltd. Extension of fibre channel addressing
JP2004173136A (ja) * 2002-11-22 2004-06-17 Fujitsu Ltd ネットワーク管理装置
US7827258B1 (en) 2004-03-01 2010-11-02 American Megatrends, Inc. Method, system, and apparatus for communicating with a computer management device
US8208370B1 (en) * 2004-03-31 2012-06-26 Cisco Technology, Inc. Method and system for fast link failover
JP2006004381A (ja) 2004-06-21 2006-01-05 Internatl Business Mach Corp <Ibm> 永続的バス番号を保持するコンピュータ装置および方法
US7835380B1 (en) 2004-10-19 2010-11-16 Broadcom Corporation Multi-port network interface device with shared processing resources
US20060130137A1 (en) 2004-12-10 2006-06-15 Storage Technology Corporation Method for preventing data corruption due to improper storage controller connections
US8223745B2 (en) * 2005-04-22 2012-07-17 Oracle America, Inc. Adding packet routing information without ECRC recalculation
US7225287B2 (en) 2005-06-01 2007-05-29 Microsoft Corporation Scalable DMA remapping on a computer bus
JP4698316B2 (ja) * 2005-07-15 2011-06-08 株式会社日立製作所 アクセスパス管理方法及びプログラム
US7890669B2 (en) 2005-11-25 2011-02-15 Hitachi, Ltd. Computer system for sharing I/O device
US20070165596A1 (en) * 2006-01-18 2007-07-19 Boyd William T Creation and management of routing table for PCI bus address based routing with integrated DID
JP2007257180A (ja) * 2006-03-22 2007-10-04 Hitachi Ltd ネットワークノード、スイッチ及びネットワーク障害回復方法
JP4810349B2 (ja) * 2006-08-11 2011-11-09 日本電気株式会社 I/o装置及び方法
US8085673B2 (en) * 2006-11-22 2011-12-27 Ixia Method and apparatus for generating bi-directional network traffic and collecting statistics on same
US7571273B2 (en) * 2006-12-06 2009-08-04 International Business Machines Corporation Bus/device/function translation within and routing of communications packets in a PCI switched-fabric in a multi-host environment utilizing multiple root switches
JP4295783B2 (ja) 2006-12-13 2009-07-15 株式会社日立製作所 計算機、仮想デバイスの制御方法
US7991839B2 (en) * 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories
US20080183968A1 (en) 2007-01-30 2008-07-31 Chi-Ting Huang Computer system having cache system directly connected to nonvolatile storage device and method thereof
WO2008110723A2 (fr) * 2007-02-16 2008-09-18 France Telecom Optimisation de l ' acheminement de communications entre une pluralite de domaines de telephonie
US20080240134A1 (en) * 2007-03-30 2008-10-02 International Business Machines Corporation Multi-node, peripheral component switch for a computer system
JP4839484B2 (ja) 2007-04-06 2011-12-21 日本電気株式会社 バス接続デバイス、バス接続方法およびバス接続用プログラム
JP5080140B2 (ja) 2007-06-13 2012-11-21 株式会社日立製作所 I/oデバイス切り替え方法
JP5564948B2 (ja) * 2007-10-26 2014-08-06 日本電気株式会社 I/o接続システムおよびi/o接続方法
CN101488106A (zh) 2008-01-18 2009-07-22 鸿富锦精密工业(深圳)有限公司 具有至少两个bios存储器的系统
JP5154238B2 (ja) * 2008-01-18 2013-02-27 株式会社日立製作所 複合型計算機システムの管理方法及び複合型計算機システム
JP5042372B2 (ja) * 2008-02-26 2012-10-03 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ホスト列挙プロセスを実行するための方法及び装置
JP2011517497A (ja) 2008-03-25 2011-06-09 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Pcieのsr−iov機能をレガシー機能として現出するように変換するシステム及び方法
JP5074274B2 (ja) * 2008-04-16 2012-11-14 株式会社日立製作所 計算機システム及び通信経路の監視方法
JP5180729B2 (ja) 2008-08-05 2013-04-10 株式会社日立製作所 計算機システム及びバス割当方法
US8385202B2 (en) * 2008-08-27 2013-02-26 Cisco Technology, Inc. Virtual switch quality of service for virtual machines
JP5272265B2 (ja) 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
JP5440507B2 (ja) * 2008-10-15 2014-03-12 日本電気株式会社 マルチルートpciエクスプレススイッチ、その起動方法、及び、マルチルートpciマネージャプログラム
US7904633B2 (en) 2008-10-28 2011-03-08 Hewlett-Packard Development Company, L.P. Switch providing external access to computer-system components and computer-system peripherals
JP5332000B2 (ja) * 2008-12-17 2013-10-30 株式会社日立製作所 複合型計算機装置、複合型計算機の管理方法及び管理サーバ
US8190769B1 (en) * 2008-12-30 2012-05-29 Juniper Networks, Inc. Methods and apparatus for provisioning at a network device in response to a virtual resource migration notification
JP5401679B2 (ja) * 2009-02-19 2014-01-29 株式会社日立製作所 計算機システム、管理方法及び管理サーバ
JP5074457B2 (ja) * 2009-06-04 2012-11-14 株式会社日立製作所 計算機システム、スイッチ切り替え方法及びpciスイッチ
US8345540B2 (en) * 2010-04-13 2013-01-01 Calix, Inc. Virtual snooping bridge in computer networks
US8839023B2 (en) * 2011-03-10 2014-09-16 Cisco Technology, Inc. Transmitting network information using link or port aggregation protocols

Also Published As

Publication number Publication date
US8407391B2 (en) 2013-03-26
JP2010282387A (ja) 2010-12-16
US20100312943A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
JP5074457B2 (ja) 計算機システム、スイッチ切り替え方法及びpciスイッチ
US9760455B2 (en) PCIe network system with fail-over capability and operation method thereof
US11586514B2 (en) High reliability fault tolerant computer architecture
US8533381B2 (en) Computer system, method of managing PCI switch, and management server
JP5074274B2 (ja) 計算機システム及び通信経路の監視方法
US8412863B2 (en) Storage apparatus and virtual port migration method for storage apparatus
US9207929B2 (en) Integrated system and firmware update method
US8359415B2 (en) Multi-root I/O virtualization using separate management facilities of multiple logical partitions
US8141093B2 (en) Management of an IOV adapter through a virtual intermediary in an IOV management partition
JP5352132B2 (ja) 計算機システム及びそのi/o構成変更方法
US9542249B2 (en) System redundancy verification method and computer system
US20140040449A1 (en) Computer system, computer system information processing method, and information processing program
JP2011081462A (ja) 計算機装置、計算機システム、アダプタ承継方法
US9965350B2 (en) Maintaining cyclic redundancy check context in a synchronous I/O endpoint device cache system
CN101202764A (zh) 确定虚拟以太网适配器的链路状态的方法和系统
US10275354B2 (en) Transmission of a message based on a determined cognitive context
US10019182B2 (en) Management system and management method of computer system
CN107861763A (zh) 一种面向飞腾处理器休眠过程的中断路由环境恢复方法
Tu et al. Seamless fail-over for PCIe switched networks
US9110731B1 (en) Hard allocation of resources partitioning
JP5266347B2 (ja) 引継方法、計算機システム及び管理サーバ
JP7474766B2 (ja) 高信頼性フォールトトレラントコンピュータアーキテクチャ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120823

R150 Certificate of patent or registration of utility model

Ref document number: 5074457

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees