JP2012243298A - サーバi/oマイグレーション管理方法及び装置 - Google Patents

サーバi/oマイグレーション管理方法及び装置 Download PDF

Info

Publication number
JP2012243298A
JP2012243298A JP2011235511A JP2011235511A JP2012243298A JP 2012243298 A JP2012243298 A JP 2012243298A JP 2011235511 A JP2011235511 A JP 2011235511A JP 2011235511 A JP2011235511 A JP 2011235511A JP 2012243298 A JP2012243298 A JP 2012243298A
Authority
JP
Japan
Prior art keywords
function unit
virtual
mac address
migration management
migration
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.)
Pending
Application number
JP2011235511A
Other languages
English (en)
Inventor
Futoshi Haga
太 羽賀
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
Publication of JP2012243298A publication Critical patent/JP2012243298A/ja
Pending legal-status Critical Current

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/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】I/Oトラフィックが1つの特定のI/Oデバイスに集中した場合のI/Oマイグレーション管理方法及び装置を提供する。
【解決手段】I/Oマイグレーションのための情報システムにおいて、マイグレーション管理モジュールは、OSが接続される第1のI/Oデバイスに関連付けられた第1のI/O機能部を検出し、第1のI/Oデバイスのタイプと同じタイプの第2のI/Oデバイスに関連付けられた第2のI/O機能部を選択し、OSに第2のI/O機能部をホットアドするように命令する。OSは、第1のI/O機能部に対応する第1の仮想NICの第1の仮想MACアドレス及び第2のI/O機能部に対応する第2の仮想NICの第2の仮想MACアドレスのチーミングを設定し、第1のI/O機能部に対応する第1の仮想NICの第1の仮想MACアドレスを接続解除する。
【選択図】図1

Description

本発明は、一般的には、ストレージシステムに関し、特に、サーバI/Oマイグレーション管理方法及び装置に関する。
近年、情報技術(IT)プラットフォームは、Peripheral Component Interconnect(PCI) Express(PCI−e)スイッチ等の新たなI/Oスイッチデバイスが利用されてきている。PCI−eスイッチは、オンボード又は標準的なPCIのI/Oデバイスと比較して、サーバシステムに対するI/Oの柔軟性を増大させる。PCI技術を用いることによって、サーバシステムは、他のサーバシステム、ストレージシステム、及びネットワークシステムが正しく構成された後、それらと通信することができる。
特許文献1は、PCI−eスイッチの内部の実装を開示している。特許文献2は、PCI−eスイッチ接続を構成する方法を開示している。
米国特許出願公開第2005/0125590号明細書 米国特許出願公開第2005/0270988号明細書
しかしながら、これらの特許文献及びPCI技術の標準規格は、PCI−eスイッチがサーバシステムに対する動的な柔軟性を増大させる可能性を有するにもかかわらず、PCI−eスイッチのI/O管理方法を明確に記述していない。多くのI/Oトラフィックが1つの特定のI/Oデバイスに集中する場合、これらのトラフィックの挙動を制御することは難しい。
本発明の例示の実施の形態は、I/Oマイグレーション管理機能部を備えるI/Oスイッチのうちの1つと、仮想サーバ管理機能部及びI/Oチーミング管理機能部を備えるサーバ管理システムとを提供する。I/Oマイグレーション管理機能部は、I/Oデバイス上のI/O機能部を管理し、I/O機能部と、管理された計算機システムにおけるオペレーティングシステム(OS)又は仮想マシンモニタ(VMM)等のホストとの間の接続を構成する機能を有する。仮想サーバ管理機能部は、VMM及び仮想マシン(VM)上の仮想I/O構成を管理する機能を有する。I/Oチーミング管理機能部は、OS及びVMM上でI/Oチーミング構成を管理する機能を有する。
本発明の一態様によれば、情報システムは、I/Oマイグレーションのための情報システムであって、OS(オペレーティングシステム)を実行する管理された計算機と、ネットワークを介して前記管理された計算機と接続される複数のI/Oデバイスを有するI/Oスイッチと、マイグレーション管理モジュールと、を備え、前記マイグレーション管理モジュールは、前記OSが接続される第1のI/Oデバイスに関連付けられた第1のI/O機能部を検出し、前記第1のI/Oデバイスのタイプと同一タイプの第2のI/Oデバイスに関連付けられた第2のI/O機能部を選択し、前記OSに前記第2のI/O機能部をホットアドするように命令し、前記OSは、前記第1のI/O機能部に対応する第1の仮想NICの第1の仮想MACアドレス及び前記第2のI/O機能部に対応する第2の仮想NICの第2の仮想MACアドレスのチーミングを設定し、前記第1のI/O機能部に対応する前記第1の仮想NICの前記第1の仮想MACアドレスの接続を解除する、情報システム、を含む。
本発明は、ITプラットフォームシステムがI/Oスイッチマイグレーション管理を用いるとき、より効率的なサーバI/O構成を提供するのに用いられる。
本発明のこれらの特徴及び利点、並びに、他の特徴及び利点は、特定の実施形態の以下の詳細な説明を考慮すると、当業者に明らかになる。
サーバシステムのシステム構成の一例を示す図である。 I/O機能部管理表の一例である。 I/Oデバイス管理表の一例である。 ネットワークスイッチ管理表の一例である。 ホスト管理表の一例である。 I/Oマイグレーション管理部350のI/O選択フローを示すフロー図の一例である。 I/Oマイグレーション管理部350のI/O管理フローを示すフロー図の一例である。 I/Oマイグレーション管理部350のシーケンス図の一例である。 I/Oマイグレーションのホットアドフローにおけるシステム挙動の一例を示す図である。 I/Oマイグレーションのホットリムーブフロー前におけるシステム挙動の一例を示す図である。 I/Oマイグレーションのホットリムーブフロー中におけるシステム挙動の一例を示す図である。 I/Oマイグレーションのホットリムーブフロー後におけるシステム挙動の一例を示す図である。
本発明の以下の詳細な説明では、開示の一部をなす添付図面が参照される。添付図面には、限定としてではなく例示として、本発明を実施することができる例示の実施形態が示されている。図面において、同じ番号は、いくつかの図を通じて実質的に同様の構成要素を表している。さらに、以下で説明し図面に示すように、詳細な説明はさまざまな例示の実施形態を提供するが、本発明は、本明細書に説明し図示する実施形態に限定されるものではなく、当業者に知られているか又は知られることになる他の実施形態に及ぶことに留意すべきである。
この明細書において「一実施形態」、「この実施形態」、又は「これらの実施形態」というとき、これは、その実施形態に関して説明される特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態に含まれることを意味し、これらのフレーズがこの明細書のさまざまな箇所に登場しても、必ずしもすべて同じ実施形態が参照されるとは限らない。加えて、以下の詳細な説明では、本発明の十分な理解を提供するために、多数の具体的な詳細が述べられている。しかしながら、これらの具体的な詳細がすべて、本発明を実施するのに必要であるとは限らない場合があることが当業者には明らかである。他の状況では、本発明を不必要に分かりにくくしないように、よく知られた構造、材料、回路、プロセス、及びインターフェースは、詳細に説明されておらず、かつ/又はブロック図の形態で示される場合がある。
さらに、以下の詳細な説明のいくつかの部分は、計算機内の動作のアルゴリズム及びシンボル表現の点から提示される。これらのアルゴリズム的記述及びシンボル表現は、データ処理技術の当業者が自身の革新的なものの本質を他の当業者に最も効果的に伝えるために用いる手段である。アルゴリズムは、所望の最終状態又は結果をもたらす一連の定義されたステップである。本発明では、実行されるこれらのステップは、有形の結果を達成するための有形の量の物理的な操作を必要とする。必ずしもそうではないが、通例、これらの量は、記憶、転送、結合、比較、及びそれ以外の操作を行うことができる電気的又は磁気的な信号又は命令の形をとる。主として一般に用いられるとの理由から、これらの信号を、ビット、値、要素、シンボル、文字、用語、数字、命令等と呼ぶことが時に便利であることが分かっている。しかしながら、これらの用語及び類似の用語のすべては、適切な物理量に関連付けられることになり、これらの物理量に適用される単なる便利なラベルにすぎないことに留意すべきである。
特に別段の指定のない限り、以下の記述から明らかなように、本明細書全体を通じて、「処理」、「計算」、「算出」、「確定(求める)」、「表示」等の用語を利用している記述は、計算機システム、又は該計算機システムのレジスタ及びメモリ内の物理(電子)量として表されたデータを操作して、計算機システムのメモリ若しくはレジスタ若しくは他の情報ストレージデバイス、伝送デバイス、若しくはディスプレイデバイス内の物理量として同様に表される他のデータに変換する他の情報処理デバイスの動作及びプロセスを含むことができることが理解されよう。
本発明は、本明細書の操作を実行する装置にも関する。この装置は、必要な目的で特別に構成することもできるし、1つ以上の計算機プログラムによって選択的に起動又は再構成される1つ以上の汎用計算機を含むこともできる。このような計算機プログラムは、計算機可読ストレージ媒体に記憶することができる。計算機可読ストレージ媒体には、光ディスク、磁気ディスク、読み出し専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びソリッドステートドライブ、又は電子情報を記憶するのに適した他の任意のタイプの媒体等が含まれるが、これらに限定されるものではない。本明細書に提示されるアルゴリズム及び表示は、どの特定の計算機にも他の装置にも本来的に関係付けられない。
本明細書の教示に従ってさまざまな汎用システムをプログラム及びモジュールと共に用いることもできるし、所望の方法ステップを実行するようにより特化された装置を構築することが便利であると分かることもできる。さらに、本発明はどの特定のプログラミング言語に関しても説明されていない。さまざまなプログラミング言語を用いて、本明細書で説明するような本発明の教示を実施することができることが理解されよう。プログラミング言語(複数可)の命令は、1つ又は複数の処理デバイス、例えば中央処理装置(CPU)、プロセッサ、又はコントローラによって実行することができる。
本発明の例示の実施形態は、以下でさらに詳細に説明するように、I/Oマイグレーション管理のための装置、方法、及び計算機プログラムを提供する。
システム構成
図1は、サーバシステムのシステム構成の一例を示している。このサーバシステムは、管理された計算機システム210、220、230、I/Oスイッチ310、320、I/Oデバイス311、312、321、322、ネットワークスイッチ410、420、サーバ管理システム500、ネットワーク610、620、630を備える。管理された計算機システム210は、ホスト計算機としてOS211を実行する機能を有し、管理された計算機システム220、230は、ホスト計算機として、VMM(仮想マシンマネージャ)を介してOS222、223、232、233を実行する機能を有し、これらの管理された計算機システムはI/Oスイッチ310、320に接続される。VMM221、231は、サーバ仮想化プラットフォームであり、OS222、223、232、233を実行する機能を有し、I/O機能部から仮想I/O機能部を作成し、それらの仮想I/O機能部をOSに割り当てる。
OS211、222、223、232、233は、1つ以上のI/O機能部に接続し、他のOS、並びにストレージシステム及びクライアントシステム等のITシステムとネットワークを介して通信する機能を有する。I/Oスイッチ310、320は、I/Oデバイス311、312、321、322上にI/O機能部を提供する機能を有する。I/O機能部は、I/Oスイッチ310、320に接続される仮想NIC(ネットワークインターフェースカード)又は仮想HBA(ホストバスアダプタ)であり、I/Oスイッチは、PCI−eネットワークプロトコル又は他のネットワークプロトコルを介して、I/O機能部と、OS211及びVMM221、231との間の接続を提供する。各OS211、222、223、232、233は、I/Oスイッチ310、320内で実行されるI/O機能部を介して1つ以上のネットワーク610、620、630に接続することができる。
I/Oスイッチ320は、I/Oマイグレーション管理部350のモジュールを備える。I/Oマイグレーション管理部350は、サーバ管理システム500の機能部のうちの1つとして実現することができ、マイクロコンピュータ/マイクロ集積チップによって処理されるソフトウェアモジュールによってかつ/又はマイクロ集積回路のようなハードウェアモジュールによって提供することができる。I/Oマイグレーション管理部350は、ネットワーク630を介してサーバ管理システム500と協働することによりこのシステムのI/Oマイグレーションプロセスを管理する機能を有する。I/Oマイグレーション管理部350は、I/Oスイッチ310、320内に実装することができ、サーバ管理システム500から命令を受けることができる。しかし、I/Oマイグレーション管理部350は、I/Oスイッチ310、320とは別に外部I/O計算機内に実装することもできる。
I/Oデバイス311、312はI/Oスイッチ310と接続され、I/Oデバイス321、322はI/Oスイッチ320と接続される。各I/Oデバイス311、312、321、322は、各I/Oスイッチ310、320に1つ以上のI/O機能部を提供する機能を有する。そして、I/Oデバイス311、321はネットワークスイッチ410に接続され、同様に、I/Oデバイス312、322はネットワークスイッチ420に接続される。
サーバ管理システム500は、仮想サーバ管理部510のモジュール及びI/Oチーミング制御部520のモジュールを備える。仮想サーバ管理部510及びI/Oチーミング制御部520は、ソフトウェアモジュールによってかつ/又はマイクロ集積回路のようなハードウェアモジュールによって提供することができる。サーバ管理システム500は、ネットワーク630に接続され、I/Oスイッチ310、320及び管理された計算機システム210、220、230の間の接続を有する。仮想サーバ管理部510は、ネットワーク630を介してVMM221、231を管理する機能を有する。I/Oチーミング制御部520は、ネットワーク630を介して、OS211、222、223、232、233及びVMM221、231上のネットワークチーミング構成を管理する機能を有する。
ネットワークスイッチ410、420は、各I/Oデバイス311、312、321、322とネットワーク610、620、630との間の接続を提供する。これらの接続により、このシステムの各構成要素は互いに通信することができる。ネットワーク610、620、630は、各ネットワークスイッチ410、420とサーバ管理システム500との間の接続を提供する。また、省略されているが、ストレージシステム及びクライアントシステム等の他のITシステムもこれらのネットワークと接続されている。
I/Oマイグレーション管理部の表
図2は、I/Oマイグレーション管理部350のI/O機能部管理表の一例を示している。この表は、機能部ID1201、機能部タイプ1202、デバイスID1203、接続ホストID1204、接続計算機システムID1205、接続ネットワーク(NW)ドメインID1206、割当帯域幅1207、使用帯域幅1208、及び割当デバイスアドレス1209を含む。機能部ID1201は、I/Oスイッチ310、320の各I/O機能部の識別子である。機能部タイプ1202は、ネットワークインターフェースカード(NIC)又はファイバチャネルホストバスアダプタ(FC−HBA)等の各I/O機能部のタイプを示す。
デバイスID1203は、各I/Oデバイス311、312、321、322の識別子である。接続ホストID1204は、どのホスト(OS211又はVMM221、231)が各I/O機能部に接続されているのかをホストの識別子によって示す。接続計算機システムID1205は、どの管理された計算機システム210、220、230が各I/O機能部に接続されているのかを、管理された計算機システムの識別子によって示す。接続ネットワークドメインID1206は、どのネットワーク610、620、630が各I/O機能部に接続されているのかを、ネットワークの識別子によって示す。
割当帯域幅1207は、どれだけの帯域幅が各I/O機能部に割り当てられているのかを示す。割当帯域幅1207におけるBEはベストエフォートを表している。使用帯域幅1208は、どれだけの帯域幅が各I/O機能部によって使用されているのかを示す。これらの値は、リアルタイムで監視することができ、特定のチームの平均値は、I/Oスイッチ310、320又はI/Oデバイス311、312、321、322によって算出することができる。割当デバイスアドレス1209は、Media Access Control(MAC)アドレス又はワールドワイド名(WWN)等の各I/O機能部のデバイスアドレスを示す。
図3は、I/Oデバイス管理表の一例を示している。この表は、I/OデバイスID1301、I/OデバイスポートID1302、接続ネットワークスイッチID1303、接続ネットワークポートID1304、挿入先I/OスイッチID1305、接続可能計算機システム1306、物理帯域幅1307、及び利用可能帯域幅1308を含む。I/OデバイスID1301は、各I/Oデバイス311、312、321、322の識別子を示す。I/OデバイスポートID1302は、I/Oデバイス311、312、321、322の各ポートの識別子を示す。接続ネットワークスイッチID1303は、どのネットワークスイッチ410、420が各I/Oデバイス311、312、321、322に接続されているのかを示す。
接続ネットワークポートID1304は、ネットワークスイッチ410、420のどのポートが各I/Oデバイス311、312、321、322に接続されているのかを示す。挿入先I/OスイッチID1305は、各I/Oデバイス311、312、321、322がどのI/Oスイッチ310、320に挿入されているのかを示す。接続可能計算機システム1306は、どの管理された計算機システム210、220、230がI/Oスイッチ310、320を介して各I/Oデバイス311、312、321、322と接続できるのかを示す。物理帯域幅1307は、各I/Oデバイス311、312、321、322が有する総帯域幅を示す。利用可能帯域幅1308は、各I/Oデバイス311、312、321、322の未使用帯域幅を示す。
図4は、ネットワークスイッチ管理表の一例を示している。ネットワークスイッチ管理表1400は、ネットワークスイッチID1401、ネットワークスイッチポートID1402、及び接続可能ネットワークドメインID1403を含む。ネットワークスイッチID1401は、各ネットワークスイッチ410、420の識別子である。ネットワークスイッチポートID1402は、各ネットワークスイッチ410、420上の各ポートの識別子である。接続可能ネットワークドメインID1403は、各ネットワークスイッチ410、420をどのネットワークに接続することができるのかを示す。
図5は、ホスト管理表1500の一例を示している。この表は、ホストID1501、ホストタイプ1502、計算機システムID1503、及び接続ネットワークドメインID1504を含む。ホストID1501は、各ホスト(OS211、222、223、232、233)の識別子である。ホストタイプ1502は、ホストがインストールされている環境のタイプを示す。「Bare(ベア)」は、ホストが物理的な計算機システム上にインストールされていることを意味し、「VM」は、ホストが仮想マシン上にインストールされていることを意味する。計算機システムID1503は、ホストがインストールされている管理された計算機システムの識別子を示す。接続されたネットワークドメインID1504は、ホストがI/Oスイッチ310、320を介して接続されている1つ以上のネットワーク610、620、630を示す。
I/Oマイグレーション管理部のフローチャート
図6は、I/Oマイグレーション管理部350のI/O選択フロー1600を示すフロー図の一例を示している。図7は、I/Oマイグレーション管理部350のI/O管理フロー1700を示すフロー図の一例を示している。ホストのI/O接続がマイグレーションされるとき、最初に、I/O選択フロー1600が処理され、その後、I/Oマイグレーションフロー1700が処理される。I/O選択フロー1600は、サーバ管理システム500、又は統合管理システム等、このシステムの外部システムの指示によって開始される(ステップ1610)。
最初に、I/Oマイグレーション管理部350は、I/Oデバイス311、312、321、322上で、ホストからマイグレーションされる選択されたI/O機能部を検出する(ステップ1620)。このI/O機能部は、オペレータ若しくは外部システムによって指定されるか、又は、I/Oマイグレーション管理部350自体が利用可能帯域幅1308に基づいて検出することができる。マイグレーションされるI/O機能部を検出した後、I/Oマイグレーション管理部350は、接続ネットワークドメインID1206に基づいて、検出されたI/O機能部が接続されているネットワークドメインを取得する(ステップ1630)。そして、I/Oマイグレーション管理部350は、ネットワークスイッチ管理表1400に基づいて、そのネットワークドメインに接続されているネットワークスイッチのポートを取得する(ステップ1640)。
I/Oマイグレーション管理部350は、接続ネットワークスイッチID1303、接続ネットワークポートID1304、及び接続ネットワークドメインID1540に基づいて、それらのポートと、I/O機能部がマイグレーションされるホストと、に接続されている1つ以上のI/Oデバイス311、312、321、322を選択する(ステップ1650)。そして、I/Oマイグレーション管理部350は、機能部タイプ1202に基づいて、選択されたI/Oデバイスのタイプが検出されたI/O機能部と同一であるI/O機能部を、選択されたI/Oデバイスの中から1つ以上取得する(ステップ1660)。最後に、I/Oマイグレーション管理部350は、それらの取得されたI/O機能部の中から、1つのI/O機能部を選択する(ステップ1670)。このI/O機能部は、I/Oマイグレーション管理部350によってランダムに選択されるか、又は利用可能帯域幅1308に基づいて選択される。I/Oマイグレーション管理部350は、I/Oデバイスに関連付けられた1つのI/O機能部を選択するとき、図3及び図4の表からの情報を用いて、既存のI/O機能部と同一のドメインを有するI/O機能部を選択することができる。図3から、I/Oマイグレーション管理部350は、I/Oデバイス上のI/O機能部に接続された接続ネットワーク(NW)スイッチID1303、及びポートID1304を検出する。その後、図4から、I/Oマイグレーション管理部350は、その接続NWスイッチID1303及びポートID1304を有する接続可能NWドメインID1403を検出する。既存のI/O機能部のネットワークドメインは、この検出された接続可能ドメインに含まれる場合がある。
I/Oマイグレーションフロー1700は、I/O選択フロー1600が終了した後、I/Oマイグレーション管理部350自身によって開始される。最初に、I/Oマイグレーション管理部350は、I/O選択フロー1600において選択されたI/O機能部を、I/O接続がマイグレーションされるホスト(OS211、又はVMM221、231)にホットアドする(ステップ1720)。その後、このフローは、ホストがベアなOS211であるか又はVMM221、231上のOS222、223、232、233であるかに応じて、2つの分岐に分かれる(ステップ1730)。これは、ホストタイプ1502に基づいて検出される。ホストがベアなOS211ではなく、OS222、223、232、233である場合(ステップ1730:No)、VMMは、ホットアドされたI/O機能部から仮想I/O機能部を作成し、ホストが用いることができる仮想I/O機能部を構成する(ステップ1740)。ホットアド機能部によって、計算機のリブート又はシャットダウンを行うことなく、追加の仮想ハードウェアを実行中の仮想マシンに追加することが可能になる。
その後、ベアなOS211、又は仮想I/O機能部が追加されたOS222、223、232、233に対して、ホットアドステップ1720〜1740により作成された新たな接続と、ホストからマイグレーションされる既存の接続であるI/O接続とについて、チーミングが設定される(ステップ1750)。チーミングが設定された後、I/Oマイグレーション管理部350は、ステップ1750においてチーミング設定された既存の接続のためのI/O機能部を、ホストからホットリムーブする(ステップ1760)。最後に、ホットリムーブが完了した後、1750において設定されたチーミング設定はホストから除去される(ステップ1770)。
I/Oマイグレーション管理部のシーケンス図
図8は、I/Oマイグレーション管理部350のシーケンス図の一例を示している。このシーケンスは、I/Oマイグレーションフロー1700における、I/Oスイッチ320、サーバ管理システム500、及び管理された計算機システム210、220、230の間の制御フローを記載している。ホットアドフローはステップ1720に記載されている。I/Oマイグレーション管理部350は、選択されたI/O機能部をOSにホットアドするために、ネットワークを介して、選択されたI/O機能部の情報を含む割込みデータをホストに送信し、このネットワークはPCI−eネットワークとすることができる。次に、仮想NIC及び仮想MACアドレスのような仮想I/O機能部がVMM上で生成される(ステップ1721)。ホットアド操作ステップ1721の後、I/Oスイッチ320におけるI/Oマイグレーション管理部350は、ホットアドが正常に完了したか否かの結果を確認するための要求をサーバ管理システム500に送信する(ステップ1723)。
この要求に応答するために、サーバ管理システム500は、I/O機能部がホットアドされたホストからI/O構成を取得する(ステップ1722)。ステップ1740内のフローでは、I/Oマイグレーション管理部350からの要求によって、サーバ管理システム500は、仮想I/O機能部を作成し、管理された計算機システム230内のVMM上のホストに追加する(ステップ1741、ステップ1742)。より具体的には、サーバ管理システム500は、管理された計算機システム内のVM及び/又はVMM上のOSに対して、VM(仮想マシン)及び/又はVMM上での仮想I/O機能部(仮想NIC及び環境層MACアドレス)の作成を命令し、作成された仮想I/O機能部の認識を命令する。VMM及び/又はVMは、VM上の仮想NICをVMM上の仮想NICに関連付ける。ホストが、VMを有しないベアのOSである場合、ステップ1740はスキップされる。
ステップ1750内のフローにおいて、サーバ管理システム500は、I/Oマイグレーション管理部350からの要求によって、管理された計算機システム230内のホストにチーミングを設定する(ステップ1751、ステップ1752)。チーミングについてより具体的に言えば、OSは、仮想MAC(アドレス)を生成し、OS上のこの仮想MACをVM及び/又はVMM内の古い仮想NICの古いMACアドレスに関連付け、OS上の該仮想MACを、VM及び/又はVMM上の新たに作成された仮想NICの新たに作成されたMACアドレスに関連付ける。チーミングプロセスの後、OSは、複数の仮想NICを1つのNICとして扱うことができる。
ホットリムーブフローはステップ1760に記載されている。I/Oマイグレーション管理部350は、古いI/O機能部のホットリムーブを管理された計算機システム230内のホストに命令する。この命令によって、VMM及び/又はVMは、古い仮想NIC及び仮想MACを自身から削除する。その結果、OSは、削除された古いI/O機能部(仮想NIC及び仮想MAC)の代わりに、新しく作成されたI/O機能部(仮想NIC及び仮想MAC)を介した接続を有する。ホットリムーブステップ1761の後、I/Oマイグレーション管理部350は、ステップの実行に成功したか否かを確認する(ステップ1762、ステップ1763)。そして、ステップ1770におけるチーミング除去フローは、ステップ1740及びステップ1750と同一であり、I/Oマイグレーション管理部350からの要求によって、サーバ管理システム500は、管理された計算機システム230内のホストからチーミング構成を削除し、ホストは、古いI/O機能部への接続を解除する(ステップ1771、ステップ1772)。ホットリムーブ機能部によって、計算機のリブート又はシャットダウンを行うことなく、追加の仮想ハードウェアを実行中の仮想マシンから除去することが可能になる。古いI/O機能部及び新しく追加されたI/O機能部のチーミングによって、OSは、古いI/O機能部がホットリムーブされたときでも、ターゲットへの通信を継続することができる。
I/Oマイグレーション時のシステムの挙動
図9〜図12は、I/Oマイグレーションの際のシステム挙動の例を示している。ここで取り上げられていないI/Oのいくつかのフローは省略されている。図9は、ステップ1720からステップ1750までのホットアドフローにおけるシステム挙動の一例を示している。I/Oマイグレーション管理部350は、使用されていなかったI/Oデバイス322上にI/O機能部のうちの1つを作り(Fn2を作成)、I/Oマイグレーション管理部は、ステップ1720に示すようにVMM231にホットアドを命令する(A1)。ホットアドステップ1723、仮想I/O構成ステップ1742、及びチーミング設定ステップ1752の結果確認が、ステップ1740、1750に示すように、I/Oマイグレーション管理部350からサーバ管理システム500に要求される(A2)。これらの要求を実行するために、サーバ管理システム500は、管理された計算機システム上のOS、VM及び/又はVMMを制御する(A3)。
PCI−eを含むPCIプロトコルでは、I/Oマイグレーション管理部350が割込みデータを、管理された計算機システム内のOSに送信した後、割込みデータに対する応答は、PCIプロトコルによってI/Oマイグレーション管理部350に返されない。したがって、マイグレーション管理部350は、割込みデータが正しく処理されたか否かを認識していない場合がある。そして、管理された計算機とI/Oスイッチとの間で不一致が生じた場合、システムは故障している場合がある。したがって、ホットアドステップ1723、仮想I/O構成ステップ1742、及びチーミング設定ステップ1752の結果確認が、I/Oマイグレーション管理部350からサーバ管理システム500を介して要求されるべきである(A2及びA3)。
図10は、ホットリムーブ操作ステップ1760の前のシステム状態の一例を示している。この図において、OS232は、古い(既に存在する)I/O機能部Fn1を介してI/Oデバイス321に接続されている。そして、上記で説明した図9のフローによって、I/Oスイッチは、新たなI/O機能部Fn2をI/Oデバイス上に作成する。新しく追加されたI/O機能部Fn2及び古い(既存の)I/O機能部Fn1の両方がOS232に接続される。チーミング操作1750の後、OS232は、両方のI/O機能部を介して自身のターゲットと通信することができる。
図11は、ステップ1760からステップ1770までのホットリムーブフローにおけるシステム挙動の一例を示している。I/Oマイグレーション管理部350は、マイグレーションされる接続用のI/O機能部を作成し、I/Oマイグレーション管理部350はホットリムーブをVMM231に命令する(B1)。ホットリムーブステップ1763及びチーミングリムーブステップ1772の結果確認が、I/Oマイグレーション管理部350からサーバ管理システム500に要求される(B2)。これらの要求を実行するように、サーバ管理システム500は、管理された計算機システム上のOS及び/又はVMMに命令する(B3)。
図12は、ホットリムーブフローの後のシステム状態の一例を示している。ホストのI/O接続は、古いI/O機能部Fn1から新しく割り当てられたI/O機能部Fn2にマイグレーションされてしまっており、ホストは、古いI/Oデバイス321の代わりに新しく割り当てられたI/Oデバイス322を用いることができる。
本発明を実施する計算機及びストレージシステムは、上記で説明した本発明を実施するために用いられるモジュール、プログラム、及びデータ構造体を記憶し読み出すことができる既知のドライブ(例えばCDドライブ及びDVDドライブ、フロッピー(登録商標)ディスクドライブ、ハードドライブ等)も有することができる。これらのモジュール、プログラム、及びデータ構造体は、このような計算機可読媒体にコード化することができる。例えば、本発明のデータ構造体は、本発明で用いられるプログラムが存在する1つ以上の計算機可読媒体とは独立して計算機可読媒体に記憶することができる。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信、例えば通信ネットワークによって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク、ワイドエリアネットワーク、例えばインターネット、無線ネットワーク、ストレージエリアネットワーク等が含まれる。
この説明では、多数の詳細が、本発明の十分な理解を提供するために説明の目的で述べられている。しかしながら、これらの具体的な詳細のすべてが、本発明を実施するために必要とされるとは限らないことは当業者には明らかである。本発明をプロセスとして説明することができることにも留意されたい。プロセスは、通例、フローチャート、フロー図、構造図、又はブロック図として示される。フローチャートは、逐次的なプロセスとして動作を記載することができるが、動作の多くは、並列又は同時に実行することができる。さらに、動作の順序は並べ替えることができる。
当該技術分野で知られているように、上記で説明した動作は、ハードウェア、ソフトウェア、又はソフトウェア及びハードウェアのある組み合わせによって実行することができる。本発明の実施形態のさまざまな態様は、回路及び論理デバイス(ハードウェア)を用いて実施することができるが、他の態様としては、プロセッサによって実行された場合に本発明の実施形態を実施する方法を該プロセッサに実行させる、マシン可読媒体に記憶された命令(ソフトウェア)を用いて実施することもできる。
さらに、本発明のいくつかの実施形態では、ハードウェアのみで実行することができるのに対して、他の実施形態は、ソフトウェアのみで実行することができる。さらに、説明したさまざまな機能は、単一のユニットで実行することもできるし、任意の数の方法で複数の構成要素に散在させることもできる。本方法は、ソフトウェアによって実行されるとき、計算機可読媒体に記憶された命令に基づいて、汎用計算機等のプロセッサによって実行することができる。所望である場合、これらの命令は、圧縮フォーマット及び/又は暗号化フォーマットで媒体に記憶することができる。
上記から、本発明は、I/Oマイグレーション管理のための方法、装置、及び計算機可読媒体に記憶されたプログラムを提供することが明らかであろう。さらに、特定の実施形態がこの明細書で図示及び説明されたが、当業者ならば、開示した特定の実施形態に代えて、同じ目的を達成するように適合された任意の構成を用いることができることを理解する。この開示は、本発明のありとあらゆる適応形態又は変形形態を包含するように意図されており、次に述べる特許請求の範囲で用いられる用語は、本明細書に開示された特定の実施形態に本発明を限定するように解釈されるべきでないことが理解されるべきである。それとは逆に、本発明の範囲は、専ら次に述べる特許請求の範囲によって画定されるべきである。特許請求の範囲は、そのような特許請求の範囲が権利を有する均等物の全範囲と共に、請求項の解釈の確立された原則に従って解釈されるべきである。

Claims (18)

  1. I/Oマイグレーションのための情報システムであって、
    OS(オペレーティングシステム)を実行する管理された計算機と、
    ネットワークを介して前記管理された計算機と接続される複数のI/Oデバイスを有するI/Oスイッチと、
    マイグレーション管理モジュールと、
    を備え、
    前記マイグレーション管理モジュールは、
    前記OSが接続されている第1のI/Oデバイスに関連付けられた第1のI/O機能部を検出し、
    前記第1のI/Oデバイスのタイプと同じタイプの第2のI/Oデバイスに関連付けられた第2のI/O機能部を選択し、
    前記OSに前記第2のI/O機能部をホットアドするように命令し、
    前記OSは、
    前記第1のI/O機能部に対応する第1の仮想NICの第1の仮想MACアドレス及び前記第2のI/O機能部に対応する第2の仮想NICの第2の仮想MACアドレスのチーミングを設定し、
    前記第1のI/O機能部に対応する前記第1の仮想NICの前記第1の仮想MACアドレスを接続解除する、ことを特徴とする情報システム。
  2. 前記マイグレーション管理モジュールからのホットアドする前記命令は、前記第2のI/O機能部の情報を有する、前記OSへの割込みデータを含む、ことを特徴とする請求項1に記載の情報システム。
  3. 前記マイグレーション管理モジュールは、前記ホットアドが完了したか否かの結果を確認するための要求をサーバ管理計算機に送信し、該サーバ管理計算機は、前記管理された計算機の構成を問い合わせ、前記I/Oマイグレーション管理モジュールに前記結果を返す、ことを特徴とする請求項1に記載の情報システム。
  4. 前記マイグレーション管理モジュールは、前記OSにおいて、第3の仮想MACアドレスを作成し、該第3の仮想MACアドレスと、前記第1のI/O機能部に対応する第1の仮想NICの第1の仮想MACアドレスと、前記第2のI/O機能部に対応する第2の仮想NICの第2の仮想MACアドレスと、の間のチーミングを設定する、ことを特徴とする請求項1に記載の情報システム。
  5. 前記マイグレーション管理モジュールは、前記第1のI/O機能部に対応する前記第1の仮想NICの前記第1の仮想MACアドレスの情報を、前記チーミングの前記設定からホットリムーブする、ことを特徴とする請求項1に記載の情報システム。
  6. マイグレーション管理モジュールは、前記第1のI/Oデバイスのドメインと同一のドメインを有する第2のI/Oデバイスに関連付けられたI/O機能部を前記第2のI/O機能部として選択する、ことを特徴とする請求項1に記載の情報システム。
  7. 前記I/O機能部は、前記仮想NIC(ネットワークインターフェースカード)又は仮想HBA(ホストバスアダプタ)である、ことを特徴とする請求項1に記載の情報システム。
  8. 前記ネットワークはPCI−eネットワークである、ことを特徴とする請求項1に記載の情報システム。
  9. 前記I/Oスイッチは、前記マイグレーション管理モジュールを有する、ことを特徴とする請求項1に記載の情報システム。
  10. 情報システムのI/Oマイグレーションのための方法であって、該情報システムは、OS(オペレーティングシステム)を実行する管理された計算機と、ネットワークを介して前記管理された計算機と接続される複数のI/Oデバイスを有するI/Oスイッチと、マイグレーション管理モジュールとを有し、
    前記方法は、
    前記OSが接続されている第1のI/Oデバイスに関連付けられた第1のI/O機能部を検出し、
    前記第1のI/Oデバイスのタイプと同一タイプの第2のI/Oデバイスに関連付けられた第2のI/O機能部を選択し、
    前記OSに前記第2のI/O機能部をホットアドするように命令し、
    前記第1のI/O機能部に対応する第1の仮想NICの第1の仮想MACアドレス及び前記第2のI/O機能部に対応する第2の仮想NICの第2の仮想MACアドレスのチーミングを設定し、
    前記第1のI/O機能部に対応する前記第1の仮想NICの前記第1の仮想MACアドレスを接続解除すること、を含む、方法。
  11. 前記ホットアドする命令は、前記第2のI/O機能部の情報を有する、前記OSへの割込みデータを含む、ことを特徴とする請求項10に記載の方法。
  12. 前記方法は、さらに、
    前記ホットアドが完了したか否かの結果を確認するための要求をサーバ管理計算機に送信することを含み、
    該サーバ管理計算機は、前記管理された計算機の構成を問い合わせ、前記I/Oマイグレーション管理モジュールに前記結果を返す、ことを特徴とする請求項10に記載の方法。
  13. 前記方法は、さらに、
    第3の仮想MACアドレスを前記OSにおいて作成し、前記第3の仮想MACアドレスと、前記第1のI/O機能部に対応する第1の仮想NICの第1の仮想MACアドレスと、前記第2のI/O機能部に対応する第2の仮想NICの第2の仮想MACアドレスとの間の前記チーミングを設定すること、を含む、ことを特徴とする請求項10に記載の方法。
  14. 前記方法は、さらに、
    前記第1のI/O機能部に対応する前記第1の仮想NICの前記第1の仮想MACアドレスの前記情報を、前記チーミングの前記設定からホットリムーブすること、を含む、ことを特徴とする請求項10に記載の方法。
  15. 前記方法は、さらに、
    前記第1のI/Oデバイスのドメインと同一ドメインを有する第2のI/Oデバイスに関連付けられたI/O機能部を、前記第2のI/O機能部として選択すること、を含む、ことを特徴とする請求項10に記載の方法。
  16. 前記I/O機能部は、前記仮想NIC(ネットワークインターフェースカード)又は仮想HBA(ホストバスアダプタ)である、ことを特徴とする請求項10に記載の方法。
  17. 前記ネットワークはPCI−eネットワークである、ことを特徴とする請求項10に記載の方法。
  18. 前記I/Oスイッチは、前記マイグレーション管理モジュールを有する、ことを特徴とする請求項10に記載の方法。
JP2011235511A 2011-05-18 2011-10-26 サーバi/oマイグレーション管理方法及び装置 Pending JP2012243298A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/110,748 US8321617B1 (en) 2011-05-18 2011-05-18 Method and apparatus of server I/O migration management
US13/110,748 2011-05-18

Publications (1)

Publication Number Publication Date
JP2012243298A true JP2012243298A (ja) 2012-12-10

Family

ID=47175815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011235511A Pending JP2012243298A (ja) 2011-05-18 2011-10-26 サーバi/oマイグレーション管理方法及び装置

Country Status (2)

Country Link
US (1) US8321617B1 (ja)
JP (1) JP2012243298A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013210760A (ja) * 2012-03-30 2013-10-10 Nec Corp 仮想化システム、スイッチコントローラ、ファイバチャネルスイッチ、マイグレーション方法、マイグレーションプログラム
WO2015071973A1 (ja) * 2013-11-13 2015-05-21 株式会社日立製作所 ネットワークシステム及びその負荷分散方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429322B2 (en) * 2010-10-26 2013-04-23 Red Hat Israel, Ltd. Hotplug removal of a device in a virtual machine system
TWI477970B (zh) * 2012-08-24 2015-03-21 Realtek Semiconductor Corp 電子裝置的模式切換方法與相關的電子裝置
CN104243427B (zh) * 2013-06-19 2018-04-06 日电(中国)有限公司 虚拟机在线迁移方法、数据包传输方法和设备
US9459902B2 (en) * 2013-08-16 2016-10-04 Red Hat Israel, Ltd. Memory duplication by destination host in virtual machine live migration
US9454400B2 (en) 2013-08-16 2016-09-27 Red Hat Israel, Ltd. Memory duplication by origin host in virtual machine live migration
TWI556174B (zh) * 2014-03-05 2016-11-01 威盛電子股份有限公司 虛擬功能分配系統、方法及其管理主機
CN107306230B (zh) * 2016-04-18 2020-12-29 中兴通讯股份有限公司 一种网络资源部署的方法、装置、控制器及核心网设备
CN109302460A (zh) * 2018-09-14 2019-02-01 中通国脉物联科技南京有限公司 一种动态扩展通信连接数的管理方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286066B1 (en) * 1998-12-15 2001-09-04 Dell U.S.A., L.P. Hot-plug interface for detecting adapter card insertion and removal
US7383330B2 (en) * 2002-05-24 2008-06-03 Emc Corporation Method for mapping a network fabric
US20040215864A1 (en) * 2003-04-28 2004-10-28 International Business Machines Corporation Non-disruptive, dynamic hot-add and hot-remove of non-symmetric data processing system resources
US8285881B2 (en) * 2003-09-10 2012-10-09 Broadcom Corporation System and method for load balancing and fail over
US20050125590A1 (en) 2003-12-09 2005-06-09 Li Stephen H. PCI express switch
DE112004002797B4 (de) * 2004-03-19 2015-12-31 Zakrytoe Aktsionernoe Obschestvo "Intel A/O" Ausfallsicherung und Lastausgleich
US20050270988A1 (en) 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
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
US20060004837A1 (en) * 2004-06-30 2006-01-05 Genovker Victoria V Advanced switching peer-to-peer protocol
US7639624B2 (en) * 2004-07-23 2009-12-29 Hewlett-Packard Development Company, L.P. Method and system for monitoring network connectivity
US7350014B2 (en) * 2004-11-05 2008-03-25 Intel Corporation Connecting peer endpoints
US7872965B2 (en) * 2005-08-01 2011-01-18 Hewlett-Packard Development Company, L.P. Network resource teaming providing resource redundancy and transmit/receive load-balancing through a plurality of redundant port trunks
US7840398B2 (en) * 2006-03-28 2010-11-23 Intel Corporation Techniques for unified management communication for virtualization systems
US7783788B1 (en) * 2006-04-28 2010-08-24 Huawei Technologies Co., Ltd. Virtual input/output server
US20080080400A1 (en) * 2006-09-29 2008-04-03 Randeep Kapoor Switching fabric device discovery
US7899848B2 (en) * 2006-11-12 2011-03-01 Dell Products L.P. Methods to model NIC teaming and load balancing
US7836238B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Hot-plug/remove of a new component in a running PCIe fabric
US7782869B1 (en) * 2007-11-29 2010-08-24 Huawei Technologies Co., Ltd. Network traffic control for virtual device interfaces
US7840706B1 (en) * 2007-11-30 2010-11-23 Nvidia Corporation Wake-on-LAN design in a load balanced environment
JP5116497B2 (ja) * 2008-01-31 2013-01-09 株式会社日立製作所 情報処理システム、i/oスイッチ及びi/oパスの交替処理方法
US7873711B2 (en) * 2008-06-27 2011-01-18 International Business Machines Corporation Method, system and program product for managing assignment of MAC addresses in a virtual machine environment
US8503468B2 (en) * 2008-11-05 2013-08-06 Fusion-Io, Inc. PCI express load sharing network interface controller cluster
JP5401679B2 (ja) * 2009-02-19 2014-01-29 株式会社日立製作所 計算機システム、管理方法及び管理サーバ
US8265075B2 (en) * 2009-03-16 2012-09-11 International Business Machines Corporation Method and apparatus for managing, configuring, and controlling an I/O virtualization device through a network switch
WO2010117967A2 (en) * 2009-04-05 2010-10-14 Citrix Systems, Inc. Methods and systems for modifying disk images to provide network interface card teaming capabilities
US8867552B2 (en) * 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013210760A (ja) * 2012-03-30 2013-10-10 Nec Corp 仮想化システム、スイッチコントローラ、ファイバチャネルスイッチ、マイグレーション方法、マイグレーションプログラム
US10007536B2 (en) 2012-03-30 2018-06-26 Nec Corporation Virtualization system, switch controller, fiber-channel switch, migration method and migration program
WO2015071973A1 (ja) * 2013-11-13 2015-05-21 株式会社日立製作所 ネットワークシステム及びその負荷分散方法

Also Published As

Publication number Publication date
US8321617B1 (en) 2012-11-27
US20120297091A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
JP2012243298A (ja) サーバi/oマイグレーション管理方法及び装置
US11061712B2 (en) Hot-plugging of virtual functions in a virtualized environment
US10223144B2 (en) Method and apparatus of redundant path validation before provisioning
US10333865B2 (en) Transformation of peripheral component interconnect express compliant virtual devices in a network environment
US20180232225A1 (en) Applying update to snapshots of virtual machine
TWI453597B (zh) 經由在一輸入輸出虛擬管理分割中之虛擬仲介以管理輸入輸出虛擬配接器的系統及方法
JP5305866B2 (ja) データ処理システム内で入出力(i/o)仮想化を管理するための方法およびコンピュータ・プログラムならびにデータ処理システム
TWI520072B (zh) 計算環境之資料網路之管理之方法、系統及其電腦程式
US20180239725A1 (en) Persistent Remote Direct Memory Access
JP2010033404A (ja) 仮想計算機システムおよび仮想計算機システムの制御方法
JP2010282447A (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
JP2014517419A (ja) ネットワークのセグメント化によるネイティブクラウドコンピューティング
JP5770284B2 (ja) I/oスイッチの制御方法、仮想計算機の制御方法及び計算機システム
JP2007164394A (ja) ストレージ切替システム、ストレージ切替方法、管理サーバ、管理方法および管理プログラム
JP2010147929A (ja) アドレス割当方法、コンピュータ、及びプログラム
JP2007188374A (ja) 複合型情報プラットフォーム装置とその情報処理装置構成方法
WO2018201461A1 (zh) 虚拟机迁移的方法、装置和虚拟化系统
EP3985508A1 (en) Network state synchronization for workload migrations in edge devices
WO2020063432A1 (zh) 一种升级虚拟化模拟器的方法和装置
US10089267B2 (en) Low latency efficient sharing of resources in multi-server ecosystems
US20180121223A1 (en) Hypervisor conversion
US8578378B2 (en) Facilitating compatible interaction, at least in part
JP6657910B2 (ja) 帯域設定方法、帯域設定プログラム、情報処理装置及び情報処理システム
JP5919981B2 (ja) 検疫ネットワークシステム、検疫サーバ、検疫方法、及びプログラム
WO2013171832A1 (ja) 情報処理装置、情報処理方法及びプログラム