JP5536878B2 - ファイバ・チャネル・ファブリックへのアクセスの変更 - Google Patents

ファイバ・チャネル・ファブリックへのアクセスの変更 Download PDF

Info

Publication number
JP5536878B2
JP5536878B2 JP2012510186A JP2012510186A JP5536878B2 JP 5536878 B2 JP5536878 B2 JP 5536878B2 JP 2012510186 A JP2012510186 A JP 2012510186A JP 2012510186 A JP2012510186 A JP 2012510186A JP 5536878 B2 JP5536878 B2 JP 5536878B2
Authority
JP
Japan
Prior art keywords
adapter
series
adapters
identified
server
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
JP2012510186A
Other languages
English (en)
Other versions
JP2012527023A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012527023A publication Critical patent/JP2012527023A/ja
Application granted granted Critical
Publication of JP5536878B2 publication Critical patent/JP5536878B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、全般的に、改善されたデータ処理装置および方法に関し、特に、ファイバ・チャネル・ファブリックへのアクセスを管理する装置および方法に関する。
N_Port ID仮想化(NPIV:N_Port identification virtualization)は、単一のファイバ・チャネル・ホスト・バス・アダプタ(HBA:host bus adapter)が、複数のワールドワイド・ポート・ネーム(WWPN:worldwide port name)をファブリック・ネーム・サーバに登録できるようにする。ワールドワイド・ポート・ネームは、ファイバ・チャネル・ネットワークにおける固有ネームである。ワールドワイド・ポート・ネームがファブリックに接続するとき、登録される各ワールドワイド・ポート・ネームには、ノード・ポート(N_Port)IDなどの固有識別子が割り当てられる。N_Port ID仮想化では、ファイバ・チャネル・ファブリックにおいて、単一のファイバ・チャネルHBAが複数のワールドワイド・ポート・ネームとして見えることもある。NPIVを提供する各NPIVサーバ・アダプタは、1つ以上のファイバ・チャネル・ホスト・バス・アダプタ(FC HBA:Fibre Channel host bus adapter)を介してファイバ・チャネル・ネットワークに接続する。
FC HBAは、ファイバ・チャネル・ファブリックを介して、ホスト・システムの、他のネットワークおよびストレージ・デバイスへの接続を提供する。
本発明の様々な側面が、添付の特許請求の範囲において定義される。以下、それが参照されるべきである。
例示の一実施形態では、データ処理システムにおいて、ネットワークへのアクセスを変更する方法が提供される。例示の実施形態は、特定された通信アダプタがアテンション(attention)を必要とするというインジケーション(indication)を受信する。例示の実施形態は、一連のコールを、特定された通信アダプタに結合されている一連のN_port識別仮想化(NPIV)サーバ・アダプタへ発行する。例示の実施形態では、一連のコールはそれぞれ、一連のクライアントを、特定された通信アダプタ上の割り当てられているポートからフェイルオーバ通信アダプタ上の利用可能なポートへ移すリクエストを、一連のNPIVサーバ・アダプタそれぞれに対して示す。例示の実施形態は、一連のクライアントを、特定された通信アダプタからフェイルオーバ通信アダプタへ移す。
他の例示の実施形態では、コンピュータ可読プログラムを有するコンピュータ使用可能または可読媒体を含むコンピュータ・プログラム製品が提供される。コンピュータ可読プログラムは、コンピューティング・デバイス上で実行されると、コンピューティング・デバイスに、本方法の例示の実施形態に関して上記に要点を記載した動作のうちの様々な動作、またはその組み合わせを実行させる。
さらに別の例示の実施形態では、システム/装置が提供される。システム/装置は、1つ以上のプロセッサと、この1つ以上のプロセッサに結合されたメモリとを含むとよい。メモリは、この1つ以上のプロセッサにより実行されると、この1つ以上のプロセッサに、本方法の例示の実施形態に関して上記に要点を記載した動作のうちの様々な動作、およびその組み合わせを実行させる命令を含むとよい。
本発明のこれらの特徴および利点、ならびに他の特徴および利点が、以下の本発明の例示実施形態の詳細な説明に記載されるか、またはそれを考慮することで当業者には明らかとなる。
例示の実施形態の以下の詳細な説明を、添付の図面と併せて読み、参照することで、本発明、ならびにその好適な使用方法、ならびにさらなる目的および利点が最もよく理解される。
例示の実施形態の側面が実装され得る例示分散型データ処理システムの図的表現を示す。 例示の実施形態の側面が実装され得る例示データ処理システムのブロック図を示す。 例示の実施形態による、仮想化された環境を備えるデータ処理システムを示す、例示的なブロック図を示す。 例示の実施形態による仮想化された環境を備える、図3のデータ処理システム300などのデータ処理システムを示す、簡略化された例示的なブロック図を示す。 例示の実施形態による、FC HBAの例示的な障害またはメンテナンスを示す。 例示の実施形態による、FC HBAの例示的な障害からの回復またはメンテナンスの成功を示す。 例示の実施形態による、一連のファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)間での例示的なワークロード・バランシング(workload balancing)を示す。 例示の実施形態による、ファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)の障害またはメンテナンス中に、データ処理システムの仮想入出力サーバ(VIOS:virtual input/output server)オペレーティング・システムにより実行される動作の、例示的なフローチャートを示す。 例示の実施形態による、ファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)の障害からの回復またはメンテナンス中に、データ処理システムの仮想入出力サーバ(VIOS)オペレーティング・システムにより実行される動作の、例示的なフローチャートを示す。 例示の実施形態による、一連のファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)間のワークロード・バランシングのために、データ処理システムの仮想入出力サーバ(VIOS)オペレーティング・システムにより実行される動作の、例示的なフローチャートを示す。
ファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)のハードウェアのメンテナンスまたは交換を行うとき、ワークロードを1つのFC HBAから別のFC HBAへ移すとき、またはワークロードをFC HBA上の1つのポートから同じFC HBA上の別のポートへ移すときには、多数の問題が生じる。こうした動作を実行するための既知のソリューションは、通常、冗長ハードウェアまたは管理者からの手動介入、あるいはその両方を必要とする。さらに、FC HBAのメンテナンスまたは交換を行うために、管理者は、関係するFC HBAのターゲットそれぞれへのアクセスを必要とする。すなわち、FC HBA上のポートのワールドワイド・ポート・ネーム(WWPN)を、クライアントがアクセス可能なターゲット・ポートにマップするために、管理者の関与が必要とされる。
例示の実施形態は、同じ問題を、最小限のハードウェアまたは管理者の関与、あるいはその両方により解決するために、N_port識別仮想化(NPIV)を使用するメカニズムを提供する。NPIVは、複数のクライアントが1つの物理的なファイバ・チャネル・ポートを使用できるようにし、各クライアントに固有ワールドワイド・ポート・ネーム(WWPN)が割り当てられる。例示の実施形態は、仮想I/O(input/output:入出力)サーバ(VIOS)をコントローラとして使用する。しかし、他の種類の手段、またはVMware(R)およびXen(TM)など、仮想マシン・マネージャ(VMM:Virtual Machine Manager)も使用され得る。VIOSは、仮想化レイヤを介して複数の物理的なファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)と通信し、仮想化レイヤは、複数のワールドワイド・ポート・ネームを使用して仮想FC HBAを提示する。各クライアントのオペレーティング・システムは、仮想NPIVアダプタを利用して、VIOS内のNPIVサーバ・アダプタを介し仮想FC HBA上の1つ以上のポートに接続する。VIOSは、物理的なFC HBAポートから受信された適切なファブリック・イベントを、各クライアントへ、その仮想NPIVアダプタを介して転送すること、または各クライアントに関してファイバ・チャネル・トランザクションをキューに入れること、あるいはその両方を行うこともできる。例示の実施形態は、FC HBA障害、FC HBAのメンテナンス、2つ以上のFC HBA間のワークロード・バランシング、または同様の場合に、割り当てられたFC HBAポートから別のFC HBAポートにクライアントNPIVアダプタをマップするために、VIOSを使用する。
当業者であれば当然のことであるが、本発明は、システム、方法またはコンピュータ・プログラム製品として具現化され得る。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本願明細書においてすべて一般に「回路」、「モジュール」または「システム」と呼ばれ得る、ソフトウェアおよびハードウェアの側面を兼ね備えた実施形態の形態をとり得る。さらに、本発明は、任意の有形の表現媒体に具現化されたコンピュータ使用可能プログラム・コードを有する該媒体において具現化されたコンピュータ・プログラム製品の形態をとり得る。
1つ以上のコンピュータ使用可能またはコンピュータ可読媒体(単数または複数)の任意の組み合わせが利用され得る。コンピュータ使用可能またはコンピュータ可読媒体は、例えば、次に限定はされないが、電子、磁気、光学、電磁気、赤外線、または半導体システム、装置、デバイス、または伝播媒体とすることもできる。コンピュータ可読媒体のより具体的な例(包括的でないリスト)は、1つ以上のワイヤを有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM(erasable programmable read−only memory)もしくはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CDROM:compact disc read−only memory)、光学式ストレージ・デバイス、インターネットもしくはイントラネットをサポートする伝送媒体などの伝送媒体、または磁気ストレージ・デバイスを含むであろう。なお、プログラムは、例えば紙または他の媒体の光学式走査により電子的に獲得され、続いて必要に応じコンパイル、解釈、または適切な方法により別の形で処理され、続いてコンピュータ・メモリに記憶されることが可能なため、コンピュータ使用可能またはコンピュータ可読媒体は、プログラムが印刷される紙または別の適切な媒体とすることさえもできる。この文書の文脈では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれに関連して使用されるプログラムを含むこと、記憶すること、伝達すること、伝播させること、または搬送することができる任意の媒体とするとよい。コンピュータ使用可能媒体は、ベースバンドに、または搬送波の一部として伝播データ信号により具現化されたコンピュータ使用可能プログラム・コードを備える伝播データ信号を含み得る。コンピュータ使用可能プログラム・コードは、次に限定はされないが、無線、有線、光ファイバ・ケーブル、無線周波数(RF:radio frequency)などを含め、任意の適切な媒体を使用して伝送されるとよい。
本発明の動作を実行するコンピュータ・プログラム・コードは、Java(TM)、Smalltalk(TM)、C++または同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの従来の手続きプログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書かれることができる。プログラム・コードは、スタンド・アロン・ソフトウェア・パッケージとして、完全にユーザのコンピュータ上で実行されること、部分的にユーザのコンピュータ上で実行されること、または部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で実行されること、または完全にリモート・コンピュータもしくはサーバ上で実行されることもできる。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN:local area network)もしくは広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してリモート・コンピュータがユーザのコンピュータに接続されても、または、外部コンピュータに接続されてもよい(例えば、インターネット・サービス・プロバイダを使用しインターネットを介して)。さらに、プログラム・コードは、サーバまたはリモート・コンピュータ上のコンピュータ可読ストレージ媒体上で具現化され、ネットワークによってリモート・コンピュータのコンピュータ可読ストレージ媒体またはユーザのコンピュータに、記憶または実行、あるいはその両方のためにダウンロードされることもできる。さらに、コンピューティング・システムまたはデータ処理システムのいずれかは、リモート・コンピューティング・システムまたはデータ処理システムからネットワークによってプログラム・コードをダウンロードした後に、コンピュータ可読ストレージ媒体にプログラム・コードを記憶することもできる。
例示の実施形態は、本発明の例示の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図またはブロック図、あるいはその両方を参照して、以下に記載される。当然のことながら、フローチャート図またはブロック図、あるいはその両方の各ブロック、およびフローチャート図またはブロック図、あるいはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令により実装されることが可能である。当該コンピュータ・プログラム命令が、マシンを生じるよう、汎用コンピュータ、専用コンピュータ、またはその他のプログラム可能データ処理装置のプロセッサに提供されて、この命令が、コンピュータまたはその他のプログラム可能データ処理装置のプロセッサにより実行されて、フローチャートまたはブロック図あるいはその両方のブロックまたは複数ブロックにおいて指定された機能/動作を実装する手段を作り出すようにすることもできる。
特定の形で機能するようコンピュータまたはその他のプログラム可能データ処理装置に指示することができる当該コンピュータ・プログラム命令はさらに、コンピュータ可読媒体に記憶されて、コンピュータ可読媒体に記憶されたこの命令が、フローチャートまたはブロック図あるいはその両方のブロックもしくは複数ブロックにおいて指定された機能/動作を実装する命令手段を含む製品を生じるようにすることもできる。
コンピュータ・プログラム命令はさらに、コンピュータまたはその他のプログラム可能データ処理装置にロードされて、コンピュータまたはその他のプログラム可能装置上で一連の動作ステップが実行されるようにし、コンピュータに実装されるプロセスを生じさせ、コンピュータまたはその他のプログラム可能装置上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックもしくは複数ブロックにおいて指定された機能/動作を実装するためのプロセスを提供するようにすることもできる。
各図面のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の考えられる実装のアーキテクチャ、機能性および動作を示す。この関連で、フローチャートまたはブロック図内の各ブロックは、指定の論理機能(単数または複数)を実装する1つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すこともできる。なお、さらに、いくつかの代わりの実装では、ブロック内に示されている機能が、図面に示されているのとは異なる順序で生じてもよい。例えば、関連する機能性次第で、連続して示されている2つのブロックが実際には事実上同時に実行されてもよく、または、各ブロックが時々逆順で実行されてもよい。なお、さらに、ブロック図またはフローチャート図、あるいはその両方の各ブロック、およびブロック図またはフローチャート図、あるいはその両方の複数ブロックの組み合わせは、規定の機能または動作を実行する専用ハードウェア・ベース・システム、または専用ハードウェアおよびコンピュータ命令の組み合わせにより実装することができる。
したがって、例示の実施形態は、分散型データ処理環境、単一のデータ処理デバイス、または同様のものを含む、多数の異なるタイプのデータ処理環境において利用され得る。例示の実施形態の具体的な構成要素および機能性を説明するための文脈を提供するために、以下、例示の実施形態の側面が実装されるとよい例示環境として、図1および2が提供される。図1および2に続く説明は、主として、ファイバ・チャネル・ファブリックへのアクセスを変更する単一のデータ処理デバイスの実装に焦点を当てるが、これは例でしかなく、本発明の特徴に関していかなる制限を提示することも、暗示することも目的としていない。反対に、例示の実施形態は、ファイバ・チャネル・ファブリックへのアクセスが変更され得る分散型データ処理環境および実施形態を含むものとする。
以下、図面、特に図1〜2を参照する。本発明の例示の実施形態が実装されるとよいデータ処理環境の例示図が提供されている。当然のことながら、図1〜2は例でしかなく、本発明の側面または実施形態が実装され得る環境に関していかなる制限を主張することも暗示することも目的としていない。示される環境に対する多数の変更が、本発明の意図および範囲から逸脱することなく加えられ得る。
以下、図面を参照する。図1は、例示の実施形態の側面が実装され得る例示分散型データ処理システムの図的表現を示す。分散型データ処理システム100は、例示の実施形態の側面が実装され得るコンピュータのネットワークを含むとよい。分散型データ処理システム100は、少なくとも1つのネットワーク102を含み、ネットワーク102は、分散型データ処理システム100内で接続されている様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク102は、有線、無線、通信リンク、または光ファイバ・ケーブルなどの接続を含むとよい。
示されている例では、ストレージ・ユニット108に加えて、サーバ104およびサーバ106がネットワーク102に接続されている。さらに、クライアント110、112および114もネットワーク102に接続されている。これらのクライアント110、112および114は、例えばパーソナル・コンピュータ、ネットワーク・コンピュータ、または同様のものであればよい。示されている例では、サーバ104が、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータをクライアント110、112および114に提供する。クライアント110、112および114は、示されている例において、サーバ104のクライアントである。分散型データ処理システム100は、示されていない追加のサーバ、クライアント、およびその他のデバイスを含んでもよい。
示されている例では、分散型データ処理システム100は、ネットワーク102を備えるインターネットであり、ネットワーク102は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP:Transmission Control Protocol/Internet Protocol)プロトコル・スイートを使用して相互に通信するネットワークおよびゲートウェイの世界的な集合を表す。インターネットの中心には、データおよびメッセージをルーティングする数千の商用、政府機関用、教育用、およびその他のコンピュータ・システムから成る主要ノードまたはホスト・コンピュータ間の、高速データ通信回線のバックボーンがある。当然、分散型データ処理システム100は、例えばイントラネット、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、または同様のものなど、いくつかの異なるタイプのネットワークを含むよう実装されることもできる。上記のように、図1は、本発明の種々の実施形態のアーキテクチャ上の制限としてではなく、例として意図されたものである。したがって、図1に示されている特定の構成要素は、本発明の例示の実施形態が実装され得る環境に関しての制限と見なされてはならない。
以下、図2を参照する。例示の実施形態の側面が実装され得る例示データ処理システムのブロック図が示されている。データ処理システム200は、本発明の例示の実施形態のプロセスを実装するコンピュータ使用可能コードまたは命令が位置するとよい、図1のクライアント110などのコンピュータの例である。
示されている例では、データ処理システム200が、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH:north bridge and memory controller hub)202ならびにサウス・ブリッジおよび入出力(I/O)コントローラ・ハブ(SB/ICH:south bridge and input/output controller hub)204を含むハブ・アーキテクチャを採用している。処理ユニット206、メイン・メモリ208、およびグラフィックス・プロセッサ210が、NB/MCH202に接続されている。グラフィックス・プロセッサ210は、アクセラレーテッド・グラフィックス・ポート(AGP:accelerated graphics port)を介してNB/MCH202に接続されてもよい。
示されている例では、ローカル・エリア・ネットワーク(LAN)アダプタ212が、SB/ICH204に接続している。オーディオ・アダプタ216、キーボードおよびマウス・アダプタ220、モデム222、読み出し専用メモリ(ROM)224、ハード・ディスク・ドライブ(HDD:hard disk drive)226、CD−ROMドライブ230、ユニバーサル・シリアル・バス(USB:universal serial bus)ポートおよびその他の通信ポート232、ならびにPCI/PCIeデバイス234が、バス238およびバス240を介してSB/ICH204に接続している。PCI/PCIeデバイスは、例えば、イーサネット(R)アダプタ、アドイン・カード、およびノートブック・コンピュータ用のPCカードを含んでもよい。PCIはカード・バス・コントローラを使用し、PCIeはカード・バス・コントローラを使用しない。ROM224は、例えばフラッシュ・ベーシック入出力システム(BIOS:basic input/output system)であってもよい。
HDD226およびCD−ROMドライブ230は、バス240を介してSB/ICH204に接続する。HDD226およびCD−ROMドライブ230は、例えば、統合ドライブ・エレクトロニクス(IDE:integrated drive electronics)またはシリアル・アドバンスト・テクノロジ・アタッチメント(SATA:serial advanced technology attachment)インターフェースを使用してもよい。スーパーI/O(SIO:super I/O)デバイス236が、SB/ICH204に接続されてもよい。
オペレーティング・システムが処理ユニット206上で実行される。オペレーティング・システムは、図2のデータ処理システム200内の様々なコンポーネントを連携させ、その制御を提供する。クライアントとしてのオペレーティング・システムは、Microsoft(R)Windows(R)XP(MicrosoftおよびWindowsは、米国、その他の国々、または両方におけるMicrosoft Corporationの商標)などの市販のオペレーティング・システムとすればよい。Java(TM)プログラミング・システムなどのオブジェクト指向プログラミング・システムが、オペレーティング・システムとともに実行されてもよく、データ処理システム200上で実行されているJava(TM)プログラムまたはアプリケーションからオペレーティング・システムへのコールを提供する(Javaは、米国、その他の国々、または両方におけるSun Microsystems,Inc.の商標)。
サーバとしてのデータ処理システム200は、例えば、AIX(R)オペレーティング・システムまたはLINUX(R)オペレーティング・システムを実行する、IBM(R)eServer(TM)System p(R)コンピュータ・システムとするとよい(eServer、System p、およびAIXは、インターナショナル・ビジネス・マシーンズ・コーポレーションの、米国、その他の国々、または両方における商標であり、LINUXは、米国、その他の国々、または両方におけるLinus Torvaldsの商標である)。データ処理システム200は、処理ユニット206内に複数のプロセッサを含む対称型マルチプロセッサ(SMP:symmetric multiprocessor)システムとしてもよい。あるいは、単一プロセッサ・システムが採用されてもよい。
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションの命令、すなわちプログラムは、HDD226などのストレージ・デバイスに位置し、処理ユニット206によって実行されるようメイン・メモリ208にロードされるとよい。本発明の例示の実施形態のプロセスは、コンピュータ使用可能プログラム・コードを使用して処理ユニット206により実行されるとよく、コンピュータ使用可能プログラム・コードは、例えばメイン・メモリ208、ROM224、または例えば1つ以上の周辺デバイス226および230などのメモリに位置すればよい。
図2に示されているバス238またはバス240などのバス・システムは、1つ以上のバスから成るとよい。当然、バス・システムは、ファブリックまたはアーキテクチャに連結された種々のコンポーネントまたはデバイス間のデータの転送を提供する、任意のタイプの通信ファブリックまたはアーキテクチャを使用して実装されるとよい。図2のモデム222またはネットワーク・アダプタ212などの通信ユニットは、データを送受信するために使用される1つ以上のデバイスを含むとよい。メモリは、例えばメイン・メモリ208、ROM224、または図2のNB/MCH202にあるキャッシュなどのキャッシュとするとよい。
当業者には当然のことながら、図1〜2のハードウェアは、実装に応じて異なってもよい。フラッシュ・メモリ、等価な不揮発性メモリ、もしくは光ディスク・ドライブおよび同様のものなど、他の内部ハードウェアまたは周辺デバイスが、図1〜2に示されているハードウェアに加えて、またはその代わりに使用されてもよい。さらに、例示の実施形態のプロセスは、本発明の意図および範囲から逸脱することなく、前述のSMPシステム以外のマルチプロセッサ・データ処理システムに適用され得る。
さらに、データ処理システム200は、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話またはその他の通信デバイス、携帯情報端末(PDA:personal digital assistant)、または同様のものを含めいくつかの異なるデータ処理システムのいずれかの形態をとるとよい。いくつかの実例では、データ処理システム200は、例えばオペレーティング・システム・ファイルまたはユーザ生成データ、あるいはその両方を記憶する不揮発性メモリを提供するフラッシュ・メモリを用いて構成された携帯用コンピューティング・デバイスとすることもできる。基本的に、データ処理システム200は、任意の既知のデータ処理システム、または後で開発されるデータ処理システムとするとよく、アーキテクチャ上の制限はない。
繰り返しになるが、例示の実施形態は、同じ問題を、最小限のハードウェアまたはSAN管理、あるいはその両方により解決する、N_port識別仮想化(NPIV)を使用するメカニズムを提供する。例示の実施形態は、複数の物理的なファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)に結合する仮想I/Oサーバ(VIOS)を使用し、仮想化レイヤを使用することによって、専用のワールドワイド・ポート・ネームを有する仮想FC HBAを提示する。VIOSは、仮想FC HBAポートから受信された適切なファブリック・イベントを、各クライアントへ、その仮想NPIVアダプタを介して転送すること、または各クライアントもしくはイニシエータに関してファイバ・チャネル・トランザクションをキューに入れること、あるいはその両方によって、1つのFC HBAを共有するよう複数のイニシエータを規定し、2つのFC HBAが2つ以上のイニシエータに対し冗長性を提供できるようにし、その結果ハードウェアを節約する。例示の実施形態は、ワールドワイド・ポート・ネームが、物理的なFC HBAではなくVIOS制御されたNPIVアダプタの属性であることから、FC HBAワールドワイド・ポート・ネームと、イニシエータのSCSI(Small Computer System Interface:小型コンピュータ・システム・インターフェース)ターゲットへのアクセスとの間の依存関係をなくす。VIOSは、クライアントが接続されているFC HBAがファイバ・チャネル・ファブリックへの接続性を失ったこと、もしくは失うこと、または予期されたメンテナンス・イベントが発生することで、NPIVアダプタの仮想ポートを別のFC HBA上の新たな物理的ポートに再マッピングすることが必要なときに、影響を受ける各クライアントへのLINK downの通知の送信を提供する。VIOSは、別のFC HBAへの新たなマッピングが確立されると、LINK upを送信する。
図3は、例示の実施形態による仮想化された環境を備えるデータ処理システムを示す、例示的なブロック図を示す。データ処理システム300は、複数の論理区画(LPAR:logical partition)310、330、350を有し、これはクライアントまたはイニシエータとも呼ぶことができる。LPAR310では、一連のアプリケーション・プログラミング・インターフェース(API:application programming interface)314を伴うオペレーティング・システム312のインスタンス、および1つ以上のアプリケーション316が実行されている。LPAR330は、API334を伴うオペレーティング・システム332、および1つ以上のアプリケーション336を有する。LPAR350は、仮想入出力サーバ(VIOS)区画であり、API354を伴うVIOSオペレーティング・システム352、および1つ以上のアプリケーション356が実行されている。LPAR350は、VIOSソフトウェアを含むアプリケーション356によるVIOS区画であるとよい。データ処理システム300は、LPAR310および330、ならびにVIOS区画350のみを示すが、例示の実施形態はそれに限定されない。それどころか、本発明の意図および範囲から逸脱することなく、例示の実施形態のメカニズムとともに任意の数のLPARが利用され得る。
LPAR310および330、ならびにVIOS区画350は、仮想化レイヤ370を介して互いに通信するとよい。仮想化レイヤ370は、通信およびリソース管理を実行して、オペレーティング・システム312および332、ならびにVIOSオペレーティング・システム352の複数のインスタンスが、同時にデータ処理システム300上で実行することを可能にするソフトウェアである。仮想化レイヤ370は、プロセッサ・タイム・スライス・シェアリング、メモリ割り当て、または同様のものなどのタスクを実行する。仮想化レイヤ370は、例えばハイパーバイザとしてもよい。
アプリケーション316および336は、ファイバ・チャネル・ネットワーク382上のデバイスと通信するネットワーク・アプリケーションを含むとよい。ファイバ・チャネル・ネットワーク382と通信するとき、アプリケーション316および336は、API314および334、ならびにオペレーティング・システム312および332をコールし、オペレーティング・システム312および332は、それぞれ割り当てられたワールドワイド・ポート・ネーム(WWPN)を使用して、N_port識別仮想化(NPIV)アダプタ320および340をそれぞれ介して、それぞれVIOS区画350内のN_port識別仮想化(NPIV)サーバ・アダプタ360および362と通信する。例示の実施形態では、NPIVサーバ・アダプタ360および362はそれぞれ、2つの関係を築く。NPIVサーバ・アダプタ360および362はそれぞれ、NPIVアダプタ320およびNPIVアダプタ340と、個別の第1の関係を築く。さらに、NPIVサーバ・アダプタ360および362はそれぞれ、仮想化レイヤ370内のファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)372または374上のポートと、第2の関係を築く。FC HBA372および374上の各ポートは、多数のNPIVサーバ・アダプタに同時にサービスを提供するとよい。現在、FC HBA上の単一ポートの制限として、64のNPIVサーバ・アダプタに制限されている。しかし、これは現在既知のFC HBAの制限であり、例示の実施形態は、そのような現在既知の制限に制限されない。
NPIVサーバ・アダプタ360および362は、仮想化レイヤ370内の仮想化されたファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)372または374のWWPNに直接マップする、仮想WWPNを提供する。すなわち、仮想化レイヤ370は、複数のワールドワイド・ポート・ネームを使用して、物理的なFC HBAにマップする仮想FC HBA372および374を提示する。データ処理システム300は、FC HBA372および374を示しているが、例示の実施形態はそれに限定されない。それどころか、本発明の意図および範囲から逸脱することなく、例示の実施形態のメカニズムとともに任意の数のFC HBAまたはその他の通信アダプタが利用され得る。続いて、NPIVサーバ・アダプタ360は、アプリケーション316および336からのコールを、仮想化レイヤ370内の仮想化されたFC HBA372または374、ならびにネットワーク・レイヤ380を介して、ネットワーク382に伝達するか、または渡す。ネットワーク・レイヤ380は、ネットワーク通信のタスクを実行するソフトウェアである。ネットワーク・レイヤ380は、エンド・ツー・エンド・パケット配信、サービス品質のメンテナンス、エラー制御、および同様のものなどのタスクを実行するとよい。
ネットワーク382は、ストレージ・エリア・ネットワーク(SAN:storage area network)384を含むネットワークであるとよく、示されている例では、ストレージ・エリア・ネットワーク(SAN)384はファイバ・チャネル準拠のSANである。ファイバ・チャネルは、インターネット・プロトコル(IP:Internet Protocol)および小型コンピュータ・システム・インターフェース(SCSI)を含むいくつかの一般的なトランスポート・プロトコルをマップして、高速I/Oと、ネットワーキング機能性とを単一の接続性技術の中で組み合わせることを可能にする、スケーラブルな技術のデータ転送インターフェース技術である。ファイバ・チャネルは、米国規格協会(ANSI:American National Standards Institute)および国際標準化機構(ISO:International Organization for Standardization)により定義された一連のオープン標準である。様々なファイバ・チャネル標準に関する詳細情報は、主としてファイバ・チャネル・プロジェクトを担当すするANSI公認標準委員会(ASC:Accredited Standards Committee)X3T11から入手可能である。これらの標準は、本明細書では、集合的にファイバ・チャネル標準またはファイバ・チャネル規格と呼ばれる。ファイバ・チャネルは、10キロメートルまでの距離の銅および光ファイバ配線両方により動作し、ポイント・ツー・ポイント、調停ループ、およびスイッチング(ならびにその組み合わせ)を含む複数の相互運用可能なトポロジをサポートする。
当然のことながら、例示の実施形態は、ファイバ・チャネルおよびファイバ・チャネル・ファブリックの使用に関して記載されるが、例示の実施形態はそれに限定されない。それどころか、本発明の意図および範囲から逸脱することなく、例示の実施形態のメカニズムとともに任意のインターフェース技術、通信スイート、または通信プロトコルが利用され得る。ファイバ・チャネルは、例としてのみ使用されており、例示の実施形態のメカニズムとともに使用され得る通信接続またはプロトコルのタイプに関していかなる制限を提示することも、暗示することも意図されてはいない。
SAN384の示されている実施形態は、ファイバ・チャネル・ファブリック・ネットワーク388を介して相互接続されている一連のノード386を含む。ネットワーク382のノード386は、データ処理システム300、データ処理システム398(コンピュータ)、テープ・サブシステム390、RAIDデバイス392、ディスク・サブシステム394、ファイバ・チャネル調停ループ(FCAL:Fibre Channel arbitrated loop)396、またはその他の適切なデータ・ストレージおよびデータ処理デバイスを含む、様々なデバイスまたはシステムのいずれかを含むとよい。ネットワーク382のノード386の1つ以上は、参照数字399により示されている外部ネットワークに接続されてもよい。外部ネットワーク399は、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、または同様のものとするとよい。例えば、外部ネットワーク399は、インターネットなど、インターネット・プロトコル(IP)にサポートされたネットワークとしてもよい。
図4は、例示の実施形態による仮想化された環境を備える、図3のデータ処理システム300などのデータ処理システムを示す、簡略化された例示的なブロック図を示す。データ処理システム400では、クライアント402が、N_port識別仮想化(NPIV)アダプタ404を使用して、仮想入出力サーバ(VIOS)408内のNPIVサーバ・アダプタ406に、仮想化レイヤ410を介して接続する。同様に、データ処理システム400では、クライアント412が、NPIVアダプタ414を使用して、VIOS408内のNPIVサーバ・アダプタ416に、仮想化レイヤ410を介して接続する。NPIVサーバ・アダプタ406および416は、それぞれファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)418および420上のポートの論理分割(logical portioning)を提供し、クライアント402および412をファイバ・チャネル(FC)ファブリックに接続する。FC HBA418および420上のポートを論理的に分割することによって、FC HBA418および420は、それぞれ固有のN_Port IDを備える複数のクライアントをサポートできる。
VIOS408は、VIOSコントローラ422を使用して、FC HBA418および420と通信する。FC HBA418または420に、差し迫る障害を示すエラーが起こり始めると、FC HBA418または420は、エラーを、ファブリック・イベントとしてVIOSコントローラ422を介しVIOS408に送信する。VIOSコントローラ422は、1つ以上の所定のエラー閾値を使用して、FC HBA418または420、あるいは両方が障害を起こし始めていることを、受信されたエラーが示すかどうかを決定するとよい。続いて、VIOS408は、VIOSコントローラ422を使用して、FC HBA418または420、あるいはその両方から受信された適切なファブリック・イベントを、クライアント402または412のうちの適切なクライアント(単数または複数)に伝達するとよい。VIOSコントローラ422は、機能停止、クライアントがオフラインであること、または同様の理由でクライアント402および412との通信が可能でなければ、ファブリック・イベントをキューに入れることもできる。VIOSコントローラ422は、各NPIVアダプタ404または414の、FC HBA418または420上の割り当てられているポートへのマッピングを提供する。さらに、VIOSコントローラ422は、FC HBA418および420、または仮想化レイヤ410、あるいはその両方により提供される情報を記憶し、この情報が、FC HBA418および420の各ポートにより一連のターゲットに提供される接続性を特定する。ターゲットがFC HBA上の特定のポートに追加されるとき、続いてFC HBA、またはそのFC HBAが属する仮想化レイヤ、あるいはその両方が、VIOSコントローラ422に更新を提供する。したがって、VIOSコントローラ422はさらに、FC HBA418または420の差し迫る障害、FC HBA418または420のメンテナンス、FC HBA418と、420との間のワークロード・バランシング、または同様の場合など、アテンションが必要な場合に、1つのFC HBAポートから別のFC HBAポートへのNPIVアダプタ404または414のマッピングを提供する。
図5は、例示の実施形態による、FC HBAの例示的な障害またはメンテナンスを示す。例えば、FC HBA418の障害が差し迫っているが、完全な障害またはメンテナンスではない場合、VIOSコントローラ422が、NPIVサーバ・アダプタ406をコールする。このコールは、NPIVサーバ・アダプタ406が、FC HBA418上の割り当てられているポートからFC HBA420上の利用可能なポートへ、クライアント402を移すべきであることを示す。その結果、NPIVサーバ・アダプタ406は、接続性が一時的に失われたことを示す、LINK down信号などのイベント信号を、クライアント402に送信する。次に、NPIVサーバ・アダプタ406は、クライアント402の既存の接続424を切断せよというコマンドをFC HBA418に送信する。FC HBA418は、コマンドを受信すると、リクエストされた接続を切断し、確認応答をNPIVサーバ・アダプタ406に返す。この例では、続いてNPIVサーバ・アダプタ406が、FC HBA420に対するクライアント402の新たな接続426を確立するために、接続コマンドをFC HBA420に送信する。コマンドを受信すると、FC HBA420は、リクエストされた接続を確立し、確認応答をNPIVサーバ・アダプタ406に返す。続いて、NPIVサーバ・アダプタ406は、接続性が再確立されたという、LINK up信号などのイベント信号を、クライアント402に送信する。接続性が再確立されたことで、その結果クライアント402は、通常であればFC HBA418が完全に障害を起こした場合に受けたであろうサービスの大きな損失なしに、FC HBA420を介してFCファブリックとの通信を実行できる。
図6は、例示の実施形態による、FC HBAの例示的な障害からの回復またはメンテナンスの成功を示す。例えば、FC HBA418の障害からの回復またはメンテナンスの成功が生じると、VIOSコントローラ422は、回復メッセージまたは初期化メッセージをFC HBA418から受信する。FC HBA418からの回復メッセージまたは初期化メッセージに応答して、VIOSコントローラ422は、NPIVサーバ・アダプタ406をコールする。このコールは、NPIVサーバ・アダプタ406が、クライアント402を、FC HBA420上の割り当てられているポートからFC HBA418上の利用可能なポートへ移すべきであることを示す。次に、NPIVサーバ・アダプタ406は、接続性が一時的に失われたことを示すイベント信号を、クライアント402に送信する。次に、NPIVサーバ・アダプタ406は、クライアント402の接続426を切断せよというコマンドをFC HBA420に送信する。FC HBA420は、コマンドを受信すると、リクエストされた接続を切断し、確認応答をNPIVサーバ・アダプタ406に返す。この例では、続いてNPIVサーバ・アダプタ406が、FC HBA418に対するクライアント402の接続424を確立するために、接続コマンドをFC HBA418に送信する。コマンドを受信すると、FC HBA418は、リクエストされた接続を確立し、確認応答をNPIVサーバ・アダプタ406に返す。NPIVサーバ・アダプタ406は、次に、接続性が再確立されたというイベント信号をクライアント402に送信する。接続性が再確立されたことで、続いてクライアント402は、FC HBA418を介してFCファブリックとの通信を実行できる。
図7は、例示の実施形態による、一連のファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)間での例示的なワークロード・バランシングを示す。VIOSコントローラ422は、FC HBA418および420それぞれからワークロード情報を受信する。この場合もやはり、例示の図7は、FC HBA418および420のみを示すが、例示の実施形態はそれに限定されない。それどころか、本発明の意図および範囲から逸脱することなく、例示の実施形態のメカニズムとともに任意の数のFC HBAが利用され得る。所定のワークロード・バランス閾値に基づき、FC HBA418および420からのワークロード情報がワークロード・バランシングの実行が必要であると示すと、その結果VIOSコントローラは、FC HBA418と、420との間のワークロード・バランシングを開始する。この例では、クライアント412、432、434、および436をサポートしているFC HBA420が、クライアント402および430をサポートしているFC HBA418により実行されている作業よりも50パーセント多い作業を実行していると、VIOSコントローラ422が特定する。次にVIOSコントローラ422は、FC HBA420に接続されているクライアント412、432、434、または436のうち、どれがFC HBA420からFC HBA418へ移されるとよいかを特定する。VIOSコントローラ422は、FC HBA420と通信しているクライアントそれぞれのワークロードに基づき、FC HBA420と、FC HBA418との間のワークロードのバランスを大幅によくすると考えられる1〜N個のクライアントを特定するとよい。
VIOSコントローラ422が、FC HBA420からFC HBA418へ移すべき一連のクライアント、この例ではクライアント432および434を特定すると、続いてVIOSコントローラ422は、NPIVサーバ・アダプタ406およびNPIVサーバ・アダプタ416をコールする。NPIVサーバ・アダプタ406に対するこのコールは、NPIVサーバ・アダプタ406が、クライアント432を、FC HBA420上の割り当てられているポートからFC HBA418上の利用可能なポートへ移すべきであることを示す。その結果、NPIVサーバ・アダプタ406は、接続性が一時的に失われたことを示すイベント信号をクライアント432に送信する。次に、NPIVサーバ・アダプタ406は、クライアント432の接続を切断せよというコマンドをFC HBA420に送信する。FC HBA420は、コマンドを受信すると、リクエストされた接続を切断し、確認応答をNPIVサーバ・アダプタ406に返す。この例では、続いてNPIVサーバ・アダプタ406が、FC HBA418に対するクライアント432の接続性を確立するために、接続コマンドをFC HBA418に送信する。コマンドを受信すると、FC HBA418は、リクエストされた接続を確立し、確認応答をNPIVサーバ・アダプタ406に返す。NPIVサーバ・アダプタ406は、次に、接続性が再確立されたというイベント信号をクライアント432に送信する。接続性が再確立されたことで、続いてクライアント432は、FC HBA418を介してFCファブリックとの通信を実行できる。
NPIVサーバ・アダプタ416に対するこのコールは、NPIVサーバ・アダプタ416が、クライアント434を、FC HBA420上の割り当てられているポートからFC HBA418上の利用可能なポートへ移すべきであることを示す。NPIVサーバ・アダプタ416は、接続性が一時的に失われたことを示すイベント信号をクライアント434に送信する。次に、NPIVサーバ・アダプタ416は、クライアント434の接続を切断せよというコマンドをFC HBA420に送信する。FC HBA420は、コマンドを受信すると、リクエストされた接続を切断し、確認応答をNPIVサーバ・アダプタ416に返す。この例では、続いてNPIVサーバ・アダプタ416が、FC HBA418に対するクライアント434の接続性を確立するために、接続コマンドをFC HBA418に送信する。コマンドを受信すると、FC HBA418は、リクエストされた接続を確立し、確認応答をNPIVサーバ・アダプタ416に返す。NPIVサーバ・アダプタ416は、次に、接続性が再確立されたというイベント信号をクライアント434に送信する。接続性が再確立されたことで、続いてクライアント434は、FC HBA418を介してFCファブリックとの通信を実行できる。
したがって、例示の実施形態は、同じ問題を、最小限のハードウェアまたは管理者の関与、あるいはその両方により解決する、N_port識別仮想化(NPIV)を使用するメカニズムを提供する。NPIVは、複数のクライアントが1つのファイバ・チャネル・ポートを使用できるようにし、各クライアントに固有ワールドワイド・ポート・ネーム(WWPN)が割り当てられる。例示の実施形態は、FC HBA障害、FC HBAのメンテナンス、2つ以上のFC HBA間のワークロード・バランシング、または同様の場合に、割り当てられたFC HBAポートから別のFC HBAポートにクライアントNPIVアダプタをマップするために、VIOSを使用する。
図8は、例示の実施形態による、ファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)の障害またはメンテナンス中に、データ処理システムの仮想入出力サーバ(VIOS)オペレーティング・システムにより実行される動作の、例示的なフローチャートを示す。動作の開始時、VIOSデータ処理システム内のVIOSコントローラは、特定されたFC HBAがアテンションを必要とするというインジケーションを受信する(ステップ502)。当該のインジケーションに応答して、VIOSコントローラ・システムは、特定されたFC HBAに結合された一連のNPIVサーバ・アダプタそれぞれをコールする(ステップ504)。各コールは、1つ以上のクライアントを、特定されたFC HBA上の割り当てられているポートからフェイルオーバFC HBA上の利用可能なポートへ移すことを、それぞれのNPIVサーバ・アダプタに示す。各NPIVサーバ・アダプタによりサービスを提供されているクライアントそれぞれに関して、NPIVサーバ・アダプタは、接続性が一時的に失われたことを示すイベント信号をクライアントに送信する(ステップ506)。続いてNPIVサーバ・アダプタは、特定されたFC HBAにコマンドを送信し、特定されたFC HBAが当該クライアントの接続を切断することを要求する(ステップ508)。特定されたFC HBAは、コマンドを受信すると、リクエストされた接続を切断し、確認応答をNPIVサーバ・アダプタに返す(ステップ510)。続いてNPIVサーバ・アダプタは、フェイルオーバFC HBAに対するクライアントの接続を確立するために、接続コマンドをフェイルオーバFC HBAに送信する(ステップ512)。フェイルオーバFC HBAは、コマンドを受信すると、リクエストされた接続を確立し、確認応答をNPIVサーバ・アダプタに返す(ステップ514)。続いてNPIVサーバ・アダプタは、接続性が再確立されたというイベント信号をクライアントに送信し(ステップ516)、その後動作が終了する。接続性が再確立されたことで、続いてクライアントは、フェイルオーバFC HBAを介してFCファブリックとの通信を実行できる。
図9は、例示の実施形態による、ファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)の障害からの回復またはメンテナンス中に、データ処理システムの仮想入出力サーバ(VIOS)オペレーティング・システムにより実行される動作の、例示的なフローチャートを示す。動作の開始時、回復したFC HBAの障害からの回復またはメンテナンスの成功が生じると、VIOSデータ処理システム内のVIOSコントローラが、回復したFC HBAから回復メッセージまたは初期化メッセージを受信する(ステップ602)。回復したFC HBAからの回復メッセージまたは初期化メッセージに応答して、VIOSコントローラは、フェイルオーバFC HBAに結合された一連のNPIVサーバ・アダプタそれぞれをコールする(ステップ604)。このコールは、NPIVサーバ・アダプタが、クライアントを、フェイルオーバFC HBA上の割り当てられているポートから回復したFC HBA上の利用可能なポートへ移すべきであることを示す。その結果、NPIVサーバ・アダプタは、接続性が一時的に失われたことを示すイベント信号をクライアントに送信する(ステップ606)。続いてNPIVサーバ・アダプタは、クライアントの接続を切断せよというコマンドをフェイルオーバFC HBAに送信する(ステップ608)。フェイルオーバFC HBAは、コマンドを受信すると、リクエストされた接続を切断し、確認応答をNPIVサーバ・アダプタに返す(ステップ610)。続いてNPIVサーバ・アダプタは、回復したFC HBAに対するクライアントの接続を確立するために、接続コマンドを回復したFC HBAに送信する(ステップ612)。回復したFC HBAは、コマンドを受信すると、リクエストされた接続を確立し、確認応答をNPIVサーバ・アダプタに返す(ステップ614)。続いてNPIVサーバ・アダプタは、接続性が再確立されたというイベント信号をクライアントに送信し(ステップ616)、その後動作が終了する。接続性が再確立されたことで、続いてクライアントは、回復したFC HBAを介してFCファブリックとの通信を実行できる。
図10は、例示の実施形態による、一連のファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)間のワークロード・バランシングのために、データ処理システムの仮想入出力サーバ(VIOS)オペレーティング・システムにより実行される動作の、例示的なフローチャートを示す。動作の開始時、VIOSデータ処理システム内のVIOSコントローラは、一連のFC HBAそれぞれからワークロード情報を受信する(ステップ702)。VIOSコントローラは、所定のワークロード・バランス閾値に基づき、ワークロード情報が、ワークロード・バランスの実行が必要であると示すかどうかを決定する(ステップ704)。ステップ704にて、VIOSコントローラが、ワークロード・バランスの実行は必要ないと決定すると、その結果、動作はステップ702に戻る。ステップ704にて、VIOSコントローラが、ワークロード・バランスの実行が必要であると決定すると、その結果VIOSコントローラは、一連のFC HBA間のワークロード・バランシングを開始する(ステップ706)。この例では、VIOSコントローラは、所定のワークロード・バランス閾値超の実行をしている一連のFC HBAのうちの1つ以上と、所定のワークロード・バランス閾値未満の実行をしている一連のFC HBAのうちの1つ以上を特定し、これらはそれぞれ、これにより一連のオーバーワーク(overworked)FC HBAおよび一連のアンダーワーク(underworked)FC HBAと呼ばれる(ステップ708)。続いてVIOSコントローラは、一連のオーバーワークFC HBAに接続されていて、一連のオーバーワークFC HBAから一連のアンダーワークFC HBAに移されるとよい一連のクライアントを、1つ以上のクライアントにより実行されるワークロードに基づき特定する(ステップ710)。
VIOSコントローラが一連のクライアントを特定すると、続いてVIOSコントローラは、一連のクライアントに関連する一連のNPIVサーバ・アダプタをコールする(ステップ712)。一連のNPIVサーバ・アダプタに対するコール(単数または複数)は、一連のNPIVサーバ・アダプタが、一連のクライアントを、一連のオーバーワークFC HBA上の割り当てられているポートから一連のアンダーワークFC HBA上の利用可能なポートに移すべきであることを示す。一連のクライアントのうちの各クライアントに関して、一連のNPIVサーバ・アダプタのうちの関連するNPIVサーバ・アダプタが、接続性が一時的に失われたことを示すイベント信号をクライアントに送信する(ステップ714)。続いて関連するNPIVサーバ・アダプタは、当該クライアントの接続を切断せよというコマンドを、一連のオーバーワークFC HBAのうちの関連するオーバーワークFC HBAに送信する(ステップ716)。関連するオーバーワークFC HBAは、コマンドを受信すると、リクエストされた接続を切断し、確認応答をNPIVサーバ・アダプタに返す(ステップ718)。続いてNPIVサーバ・アダプタは、アンダーワークFC HBAに対するクライアントの接続性を確立するために、接続コマンドを一連のアンダーワークFC HBAのうちのアンダーワークFC HBAに送信する(ステップ720)。アンダーワークFC HBAは、コマンドを受信すると、リクエストされた接続を確立し、確認応答をNPIVサーバ・アダプタに返す(ステップ722)。続いてNPIVサーバ・アダプタは、接続性が再確立されたというイベント信号をクライアントに送信し(ステップ724)、その後動作が終了する。接続性が再確立されたことで、続いてクライアントは、アンダーワークFC HBAを介してFCファブリックとの通信を実行できる。
このようにして、例示の実施形態は、同じ問題を、最小限のハードウェアまたはSAN管理、あるいはその両方により解決する、N_port識別仮想化(NPIV)を使用するメカニズムを提供する。例示の実施形態は、複数のファイバ・チャネル・ホスト・バス・アダプタ(FC HBA)に結合する仮想I/Oサーバ(VIOS)を使用し、仮想化レイヤを使用することによって、専用のワールドワイド・ポート・ネームを有する仮想FC HBAを提示する。VIOSは、仮想FC HBAポートから受信された適切なファブリック・イベントを、各クライアントへ、その仮想NPIVアダプタを介して転送すること、または各クライアントもしくはイニシエータに関してファイバ・チャネル・トランザクションをキューに入れること、あるいはその両方によって、1つのFC HBAを共有するよう複数のイニシエータを規定し、2つのFC HBAが2つ以上のイニシエータに対し冗長性を提供できるようにし、その結果ハードウェアを節約する。したがって、例示の実施形態は、ワールドワイド・ポート・ネームが、物理的なFC HBAではなくVIOS制御されたNPIVアダプタの属性であることから、FC HBAワールドワイド・ポート・ネームと、イニシエータのSCSIターゲットへのアクセスとの間の依存関係をなくす。VIOSは、クライアントが接続されているFC HBAがファイバ・チャネル・ファブリックへの接続性を失ったこと、もしくは失うこと、または予期されたメンテナンス・イベントが発生することで、NPIVアダプタの仮想ポートを別のFC HBA上の新たなポートに再マッピングすることが必要なときに、影響を受ける各クライアントに、LINK downの通知を送信することを提供する。VIOSは、別のFC HBAへの新たなマッピングが確立されると、LINK upを送信する。
上述の通り、当然のことながら、例示の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアと、ソフトウェア構成要素との両方を含む実施形態の形態をとり得る。1つの例示実施形態では、例示の実施形態のメカニズムはソフトウェアまたはプログラム・コードにおいて実装され、これは、限定はされないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。
プログラム・コードの記憶または実行、あるいはその両方に適したデータ処理システムは、システム・バスを介してメモリ要素に直接または間接的に結合された少なくとも1つのプロセッサを含む。メモリ要素は、プログラム・コードを実際に実行する間に用いられるローカル・メモリ、大容量ストレージ、および、実行中にコードが大容量ストレージから読み出されなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的なストレージとなるキャッシュ・メモリを含むことができる。
入出力、すなわちI/Oデバイス(限定はされないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む)は、直接、または介在するI/Oコントローラを介してシステムに結合されることが可能である。ネットワーク・アダプタもシステムに結合されて、データ処理システムが、他のデータ処理システムまたはリモート・プリンタもしくはストレージ・デバイスに、介在するプライベートまたはパブリック・ネットワークを介して結合された状態となることを可能にしてもよい。モデム、ケーブル・モデム、およびイーサネット・カードが、現在利用可能なタイプのネットワーク・アダプタのごく一部である。
本発明の記載は、例証および説明のために提示されたものであり、包括的であることも、開示された形態の発明に限定することも目的としていない。当業者には、多数の変更および変形が明らかであろう。実施形態は、本発明の原理、実際の応用を最もよく説明して、他の当業者が、意図される特定の用途に適する様々な変更を用いた様々な実施形態を得るために本発明を理解できるように選ばれ、記載された。
本発明は、上記の例示実施形態に関して記載されたが、本発明はそれに限定されず、本発明の範囲内に入る多数の可能な変形および変更があるということが、当業者には分かるであろう。
本開示の範囲は、本願明細書で開示された任意の新規な特徴または特徴の組み合わせを含む。出願人は、本出願もしくはそこから派生する任意のさらなる当該出願の審査中に、このような特徴または特徴の組み合わせに対して新たな特許請求の範囲が策定されることもあるということをここに予告する。特に、添付の特許請求の範囲に関しては、従属請求項の特徴が独立請求項の特徴と組み合わされてもよく、各独立請求項の特徴が特許請求の範囲で列挙されている特定の組み合わせのみではなく任意の適切な方法で組み合わされてもよい。
疑いを回避する目的で、本願明細書中で説明および特許請求の範囲全体で使用されている「含む」という用語は、「のみから成る」という意味として解釈されてはならない。

Claims (8)

  1. データ処理システムにおいて、ネットワークへのアクセスを変更する方法であって、
    特定された通信アダプタがアテンションを必要とするというインジケーションを、前記データ処理システムの仮想I/Oサーバ・オペレーティング・システム内の仮想I/Oサーバ・コントローラによって受信するステップと、
    前記仮想I/Oサーバ・コントローラによって、一連のコールを、前記特定された通信アダプタに結合されている一連のN_port識別仮想化(NPIV)サーバ・アダプタへ発行するステップであって、前記一連のコールはそれぞれ、一連のクライアントを、前記特定された通信アダプタ上の割り当てられているポートからフェイルオーバ通信アダプタ上の利用可能なポートへ移すリクエストを、前記一連のサーバ・アダプタそれぞれに対して示す、前記ステップと、
    前記一連のNPIVサーバ・アダプタによって、前記一連のクライアントを、前記特定された通信アダプタから前記フェイルオーバ通信アダプタへ移すステップと、
    を含み、
    前記一連のクライアントのうちの各クライアントを、前記特定された通信アダプタから前記フェイルオーバ通信アダプタへ移すステップは、
    接続性が一時的に失われたことを示す第1のイベント信号を、前記一連のサーバ・アダプタのうちの関連するNPIVサーバ・アダプタによって前記クライアントに送信するステップと、
    前記特定された通信アダプタが前記クライアントの既存の接続を切断することをリクエストするコマンドを、前記特定された通信アダプタに、前記関連するNPIVサーバ・アダプタによって送信するステップと、
    前記特定された通信アダプタが前記既存の接続を切断したという確認応答を、前記関連するNPIVサーバ・アダプタによって受信するステップと、
    前記クライアントの新たな接続をリクエストする接続コマンドを、前記フェイルオーバ通信アダプタに、前記関連するNPIVサーバ・アダプタによって送信するステップと、
    前記フェイルオーバ通信アダプタが前記新たな接続を確立したという確認応答を、前記関連するNPIVサーバ・アダプタによって受信するステップと、
    接続性が再確立されたことを示す第2のイベント信号を、前記関連するNPIVサーバ・アダプタによって前記クライアントに送信するステップと、
    をさらに含む、前記方法。
  2. 特定された通信アダプタが回復したというインジケーションを、前記仮想I/Oサーバ・コントローラによって受信するステップと、
    前記仮想I/Oサーバ・コントローラによって、後続の一連のコールを、前記一連のNPIVサーバ・アダプタへ発行するステップであって、前記後続の一連のコールはそれぞれ、一連のクライアントを、前記フェイルオーバ通信アダプタ上の割り当てられているポートから、前記特定された通信アダプタ上の利用可能なポートへ移すリクエストを、前記一連のNPIVアダプタそれぞれに対して示す、前記ステップと、
    前記一連のNPIVサーバ・アダプタによって、前記一連のクライアントを、前記フェイルオーバ通信アダプタから、前記特定された通信アダプタへ移すステップと、
    をさらに含む、請求項に記載の方法。
  3. 前記特定された通信アダプタがアテンションを必要とするという前記インジケーションは、前記特定された通信アダプタがワークロード・バランシングを必要とするということを特定し、前記通信アダプタの前記ワークロードのバランシングは、
    前記特定された通信アダプタとのワークロード・バランシングを実行する、1つ以上のさらなる通信アダプタを、前記仮想I/Oサーバ・コントローラによって決定するステップと、
    前記特定された通信アダプタに接続されている前記一連のクライアントのうち、前記特定された通信アダプタから前記1つ以上のさらなる通信アダプタへ移すサブセットを、前記仮想I/Oサーバ・コントローラによって特定するステップと、
    前記仮想I/Oサーバ・コントローラによって、一連のワークロード・バランシング・コールを、前記特定された通信アダプタおよび前記1つ以上のさらなる通信アダプタに結合された一連のNPIVサーバ・アダプタへ発行するステップであって、前記一連のワークロード・バランシング・コールは、前記一連のクライアントのうちの前記サブセットを、前記特定された通信アダプタ上の割り当てられているポートから前記1つ以上のさらなる通信アダプタへ移すリクエストを、前記一連のNPIVサーバ・アダプタに対して示す、前記ステップと、
    前記一連のNPIVサーバ・アダプタによって、前記一連のクライアントのうちの前記サブセットを、前記特定された通信アダプタから前記1つ以上のさらなる通信アダプタへ移すステップと、
    を含む、請求項1または2に記載の方法。
  4. コンピュータ可読プログラムが記録されているコンピュータ記録可能媒体であって、前記コンピュータ可読プログラムは、コンピューティング・デバイス上で実行されると、前記コンピューティング・デバイスに、請求項1〜のいずれか1つに記載の方法の各ステップを実行させる、コンピュータ記録可能媒体。
  5. コンピューティング・デバイス上で実行されると、前記コンピューティング・デバイスに、請求項1〜のいずれか1つに記載の方法の各ステップを実行させる、コンピュータ可読プログラム。
  6. プロセッサと、
    前記プロセッサに結合されたメモリと、
    を含む装置であって、
    前記メモリは、命令を含み、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
    特定された通信アダプタがアテンションを必要とするというインジケーションを受信すること、
    前記特定された通信アダプタに結合されている一連のN_port識別仮想化(NPIV)サーバ・アダプタへ、一連のコールを発行することであって、前記一連のコールはそれぞれ、一連のクライアントを、前記特定された通信アダプタ上の割り当てられているポートからフェイルオーバ通信アダプタ上の利用可能なポートへ移すリクエストを、前記一連のNPIVサーバ・アダプタそれぞれに対して示す、前記発行すること、および
    前記一連のクライアントを、前記特定された通信アダプタから前記フェイルオーバ通信アダプタへ移すこと
    を行わせ
    前記一連のクライアントのうちの各クライアントを、前記特定された通信アダプタから前記フェイルオーバ通信アダプタへ移すための前記命令は、前記プロセッサにさらに、
    接続性が一時的に失われたことを示す第1のイベント信号を前記クライアントに送信すること、
    前記特定された通信アダプタが前記クライアントの既存の接続を切断することをリクエストするコマンドを、前記特定された通信アダプタに送信すること、
    前記特定された通信アダプタが前記既存の接続を切断したという確認応答を受信すること、
    前記クライアントの新たな接続をリクエストする接続コマンドを、前記フェイルオーバ通信アダプタに送信すること、
    前記フェイルオーバ通信アダプタが前記新たな接続を確立したという確認応答を受信すること、および
    接続性が再確立されたことを示す第2のイベント信号を、前記クライアントに送信すること
    を行わせる、装置。
  7. 前記命令は、前記プロセッサにさらに、
    特定された通信アダプタが回復したというインジケーションを受信すること、
    後続の一連のコールを、前記一連のNPIVサーバ・アダプタへ発行することであって、前記後続の一連のコールはそれぞれ、一連のクライアントを、前記フェイルオーバ通信アダプタ上の割り当てられているポートから、前記特定された通信アダプタ上の利用可能なポートへ移すリクエストを、前記一連のNPIVサーバ・アダプタそれぞれに対して示す、前記発行すること、および
    前記一連のクライアントを、前記フェイルオーバ通信アダプタから、前記特定された通信アダプタへ移すこと
    を行わせる、請求項に記載の装置。
  8. 前記特定された通信アダプタがアテンションを必要とするという前記インジケーションは、前記特定された通信アダプタがワークロード・バランシングを必要とするということを特定し、前記通信アダプタの前記ワークロードのバランシングを行うための前記命令は、前記プロセッサにさらに、
    前記特定された通信アダプタとのワークロード・バランシングを実行する、1つ以上のさらなる通信アダプタを決定すること、
    前記特定された通信アダプタに接続されている前記一連のクライアントのうち、前記特定された通信アダプタから前記1つ以上のさらなる通信アダプタへ移すサブセットを特定すること、
    一連のワークロード・バランシング・コールを、前記特定された通信アダプタおよび前記1つ以上のさらなる通信アダプタに結合された一連のNPIVサーバ・アダプタへ発行することであって、前記一連のワークロード・バランシング・コールは、前記一連のクライアントのうちの前記サブセットを、前記特定された通信アダプタ上の割り当てられているポートから前記1つ以上のさらなる通信アダプタへ移すリクエストを、前記一連のNPIVサーバ・アダプタに対して示す、前記発行すること、および
    前記一連のクライアントのうちの前記サブセットを、前記特定された通信アダプタから前記1つ以上のさらなる通信アダプタへ移すこと、
    を行わせる、請求項6または7に記載の装置。
JP2012510186A 2009-05-12 2010-04-15 ファイバ・チャネル・ファブリックへのアクセスの変更 Expired - Fee Related JP5536878B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/464,364 US8274881B2 (en) 2009-05-12 2009-05-12 Altering access to a fibre channel fabric
US12/464,364 2009-05-12
PCT/EP2010/055001 WO2010130524A1 (en) 2009-05-12 2010-04-15 Altering access to a fibre channel fabric

Publications (2)

Publication Number Publication Date
JP2012527023A JP2012527023A (ja) 2012-11-01
JP5536878B2 true JP5536878B2 (ja) 2014-07-02

Family

ID=42315741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012510186A Expired - Fee Related JP5536878B2 (ja) 2009-05-12 2010-04-15 ファイバ・チャネル・ファブリックへのアクセスの変更

Country Status (5)

Country Link
US (1) US8274881B2 (ja)
EP (1) EP2430544B1 (ja)
JP (1) JP5536878B2 (ja)
CN (1) CN102341786B (ja)
WO (1) WO2010130524A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US8615676B2 (en) * 2011-03-24 2013-12-24 International Business Machines Corporation Providing first field data capture in a virtual input/output server (VIOS) cluster environment with cluster-aware vioses
US8935457B2 (en) 2011-07-29 2015-01-13 International Business Machines Corporation Network filtering in a virtualized environment
US8656389B2 (en) * 2011-08-22 2014-02-18 Vmware, Inc. Virtual port command processing during migration of virtual machine
US8719534B1 (en) * 2012-03-21 2014-05-06 Netapp, Inc. Method and system for generating a migration plan
US8909980B1 (en) * 2012-06-29 2014-12-09 Emc Corporation Coordinating processing for request redirection
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
US9830239B2 (en) 2013-01-30 2017-11-28 Hewlett Packard Enterprise Development Lp Failover in response to failure of a port
US9928120B1 (en) 2015-03-30 2018-03-27 EMC IP Holding Company LLC Configuring logical unit number mapping for multiple SCSI target endpoints
US10129081B1 (en) 2015-03-30 2018-11-13 EMC IP Holding Company LLC Dynamic configuration of NPIV virtual ports in a fibre channel network
US9858233B1 (en) 2015-03-30 2018-01-02 Emc Corporation Transparent virtualization of SCSI transport endpoints between base and virtual fibre channel ports
US9817732B1 (en) 2015-03-31 2017-11-14 EMC IP Holding Company LLC Method for controlling failover and failback of virtual endpoints in a SCSI network
US9747180B1 (en) * 2015-03-31 2017-08-29 EMC IP Holding Company LLC Controlling virtual endpoint failover during administrative SCSI target port disable/enable
US9800459B1 (en) 2015-04-01 2017-10-24 EMC IP Holding Company LLC Dynamic creation, deletion, and management of SCSI target virtual endpoints
US9942132B2 (en) 2015-08-18 2018-04-10 International Business Machines Corporation Assigning communication paths among computing devices utilizing a multi-path communication protocol
US10275327B2 (en) * 2017-01-05 2019-04-30 Hewlett Packard Enterprises Development LP Virtual fibre channel port migration
US20190235959A1 (en) * 2018-01-30 2019-08-01 International Business Machines Corporation Proactive Node Preference Changing in a Storage Controller
US10592155B2 (en) * 2018-04-10 2020-03-17 International Business Machines Corporation Live partition migration of virtual machines across storage ports

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718383B1 (en) * 2000-06-02 2004-04-06 Sun Microsystems, Inc. High availability networking with virtual IP address failover
US6779064B2 (en) 2002-01-24 2004-08-17 Hewlett-Packard Development Company, L.P. System, method, and computer program product for on-line replacement of a host bus adapter
US7606239B2 (en) * 2003-01-31 2009-10-20 Brocade Communications Systems, Inc. Method and apparatus for providing virtual ports with attached virtual devices in a storage area network
US7783779B1 (en) * 2003-09-19 2010-08-24 Vmware, Inc Storage multipath management in a virtual computer system
GB2426609B (en) * 2004-03-19 2008-05-14 Zakrytoe Aktsionernoe Obschest Failover and load balancing
US9491084B2 (en) * 2004-06-17 2016-11-08 Hewlett Packard Enterprise Development Lp Monitoring path connectivity between teamed network resources of a computer system and a core network
US8924499B2 (en) 2004-12-14 2014-12-30 International Business Machines Corporation Operating system migration with minimal storage area network reconfiguration
US7523176B2 (en) 2005-08-02 2009-04-21 International Business Machines Corporation Method, apparatus, and computer program product for reconfiguring a storage area network to support the execution of an application automatically upon execution of the application
US7599397B2 (en) 2005-12-27 2009-10-06 International Business Machines Corporation Obtaining multiple port addresses by a fibre channel switch from a network fabric
US7921431B2 (en) 2006-01-20 2011-04-05 Emulex Design & Manufacturing Corporation N-port virtualization driver-based application programming interface and split driver implementation
US7546398B2 (en) * 2006-08-01 2009-06-09 International Business Machines Corporation System and method for distributing virtual input/output operations across multiple logical partitions
US7711979B2 (en) 2007-02-16 2010-05-04 Symantec Corporation Method and apparatus for flexible access to storage facilities
US7778157B1 (en) * 2007-03-30 2010-08-17 Symantec Operating Corporation Port identifier management for path failover in cluster environments
US7836332B2 (en) * 2007-07-18 2010-11-16 Hitachi, Ltd. Method and apparatus for managing virtual ports on storage systems

Also Published As

Publication number Publication date
US20100293552A1 (en) 2010-11-18
WO2010130524A1 (en) 2010-11-18
JP2012527023A (ja) 2012-11-01
US8274881B2 (en) 2012-09-25
CN102341786A (zh) 2012-02-01
CN102341786B (zh) 2014-07-16
EP2430544B1 (en) 2012-07-25
EP2430544A1 (en) 2012-03-21

Similar Documents

Publication Publication Date Title
JP5536878B2 (ja) ファイバ・チャネル・ファブリックへのアクセスの変更
TWI439867B (zh) 動態實體及虛擬多重路徑輸入/輸出
US8713362B2 (en) Obviation of recovery of data store consistency for application I/O errors
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
US8156301B1 (en) Method and apparatus for synchronizing a physical machine with a virtual machine while the virtual machine is operational
US8146082B2 (en) Migrating virtual machines configured with pass-through devices
US9304802B2 (en) Mechanism for NPIV client recovery when NPIV server goes down
US20170102952A1 (en) Accessing data stored in a remote target using a baseboard management controler (bmc) independently of the status of the remote target's operating system (os)
US9489230B1 (en) Handling of virtual machine migration while performing clustering operations
JP5373893B2 (ja) 異なるサイズを有するデータのブロックを格納し、取り出すための構成
US20120151265A1 (en) Supporting cluster level system dumps in a cluster environment
US10656877B2 (en) Virtual storage controller
US20120201253A1 (en) Multi-Adapter Link Aggregation for Adapters with Hardware Based Virtual Bridges
US20150205542A1 (en) Virtual machine migration in shared storage environment
US10628196B2 (en) Distributed iSCSI target for distributed hyper-converged storage
US20210173695A1 (en) Decoupling Compute and Storage Resources in Cloud-Based HCI (Hyper-Converged Infrastructure)
TW201543225A (zh) 用於支持對經由nvme控制器、通過網路存取的遠端存儲設備的熱插拔的系統和方法
TW200925878A (en) System and method for management of an IOV adapter through a virtual intermediary in an IOV management partition
US8301860B2 (en) Identifying dynamically changing virtual storage devices
US9197504B2 (en) Enhanced remote presence
JP5669851B2 (ja) 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム
US11593234B2 (en) Cloud restart for VM failover and capacity management
US10592133B1 (en) Managing raw device mapping during disaster recovery
US9143410B1 (en) Techniques for monitoring guest domains configured with alternate I/O domains
WO2018173300A1 (ja) I/o制御方法およびi/o制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131126

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: 20140408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140424

R150 Certificate of patent or registration of utility model

Ref document number: 5536878

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees