欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

虛擬機(jī)i/o多路徑配置的制作方法

文檔序號(hào):6425592閱讀:266來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):虛擬機(jī)i/o多路徑配置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù),尤其涉及虛擬機(jī)I/O多路徑配置。
背景技術(shù)
當(dāng)在主機(jī)計(jì)算機(jī)系統(tǒng)上模擬來(lái)賓計(jì)算機(jī)系統(tǒng)時(shí),來(lái)賓計(jì)算機(jī)系統(tǒng)被稱(chēng)作“虛擬機(jī)”,因?yàn)閬?lái)賓計(jì)算機(jī)系統(tǒng)只作為可以偏離本機(jī)機(jī)器的一個(gè)特定硬件配置的操作的軟件表示而存在于主機(jī)計(jì)算機(jī)系統(tǒng)中。虛擬機(jī)向在虛擬機(jī)上操作軟件呈現(xiàn)被模擬的硬件配置。虛擬機(jī)管理系統(tǒng)(有時(shí)被稱(chēng)為虛擬機(jī)監(jiān)視器、虛擬化系統(tǒng)或系統(tǒng)管理程序)也常常被用來(lái)管理一個(gè)或多個(gè)虛擬機(jī),以便多個(gè)虛擬機(jī)可以同時(shí)在單個(gè)計(jì)算設(shè)備上運(yùn)行。虛擬機(jī)管理系統(tǒng)直接在本機(jī)硬件上運(yùn)行,并通過(guò)向虛擬機(jī)展示用于訪(fǎng)問(wèn)底層硬件的接口來(lái)虛擬化機(jī)器的資源。主機(jī)操作系統(tǒng)(OS)和虛擬機(jī)管理系統(tǒng)可以在同一個(gè)物理硬件上并排運(yùn)行。 出于簡(jiǎn)明的目的,我們使用術(shù)語(yǔ)“虛擬化系統(tǒng)”來(lái)指代虛擬機(jī)管理系統(tǒng)的所有體現(xiàn)。在操作系統(tǒng)虛擬化上下文中產(chǎn)生的一個(gè)問(wèn)題涉及諸如數(shù)據(jù)存儲(chǔ)設(shè)備、輸入數(shù)據(jù)和輸出設(shè)備、網(wǎng)絡(luò)設(shè)備等等之類(lèi)的計(jì)算資源,我們將它們統(tǒng)稱(chēng)為輸入/輸出(I/O)?,F(xiàn)有的虛擬化解決方案趨向于通過(guò)遠(yuǎn)離來(lái)賓操作系統(tǒng)地在虛擬化系統(tǒng)中管理I/O的物理冗余,并向虛擬機(jī)呈現(xiàn)虛擬化的單個(gè)I/O通道(網(wǎng)絡(luò)接口、存儲(chǔ)主機(jī)總線(xiàn)適配器等等),來(lái)處理該冗余。 這將限制虛擬機(jī)內(nèi)的OS和應(yīng)用程序提供關(guān)于如何有效地管理多路徑情景的有用暗示的能力。

發(fā)明內(nèi)容
所描述的實(shí)施例用于向虛擬機(jī)展示通信結(jié)構(gòu)的多個(gè)接口(以太網(wǎng)、光纖通道、串行附接SCSI、Infiniband等等),并自動(dòng)地將那些接口映射到單獨(dú)的物理接口。這樣的方法可以將單個(gè)連接點(diǎn)的簡(jiǎn)單管理體驗(yàn)保留到虛擬機(jī)中而同時(shí)允許虛擬機(jī)內(nèi)的OS和應(yīng)用程序提供高效地使用多個(gè)底層物理鏈路所需的任何信息。為此,可以接收虛擬機(jī)的輸入/輸出(I/O)配置信息,并基于I/O配置信息,可以確定與虛擬機(jī)相關(guān)聯(lián)的I/O通道,并將I/O通道分組到邏輯集中。每一邏輯集都包括附連到同一個(gè)虛擬端點(diǎn)的I/O通道。對(duì)于每一個(gè)邏輯集,都可以將每一 I/O通道映射到一個(gè)物理通道,以使得一個(gè)邏輯集中沒(méi)有兩個(gè)通道被連接到同一個(gè)物理通道。對(duì)于虛擬機(jī),可以將每一通道邏輯集表示為單個(gè)配置實(shí)體,以使得虛擬機(jī)的操作系統(tǒng)被允許向附連的虛擬端點(diǎn)展示I/O路由信息。


當(dāng)結(jié)合附圖閱讀時(shí),可以更好地了解前面的摘要,以及下面的對(duì)優(yōu)選實(shí)施例的詳細(xì)描述。為了公開(kāi)本發(fā)明,在圖形中示出了本發(fā)明的示例性結(jié)構(gòu);然而,本發(fā)明不僅限于所公開(kāi)的特定方法和所公開(kāi)的手段。在圖形中圖1是表示其中可以結(jié)合本發(fā)明的各方面的計(jì)算機(jī)系統(tǒng)的框圖2示出了虛擬化計(jì)算系統(tǒng)環(huán)境;圖3示出了跨虛擬化邊界的網(wǎng)絡(luò)的通信;圖4示出了包括本發(fā)明的各方面的虛擬機(jī)環(huán)境;以及圖5是由根據(jù)本發(fā)明的一個(gè)方面的虛擬化系統(tǒng)執(zhí)行的處理的流程圖。
具體實(shí)施例方式此處用具體細(xì)節(jié)描述本發(fā)明的主題以滿(mǎn)足法定要求。然而,描述本身并不旨在限制本專(zhuān)利的范圍。相反,發(fā)明人設(shè)想,所要求保護(hù)的主題還可結(jié)合其他當(dāng)前或未來(lái)技術(shù)按照其他方式來(lái)具體化,以包括類(lèi)似于本文中所描述的步驟的不同的組合。本發(fā)明的很多實(shí)施例可以在計(jì)算機(jī)上執(zhí)行。圖1以及下面的討論旨在提供其中可以實(shí)現(xiàn)本發(fā)明的合適的計(jì)算環(huán)境的簡(jiǎn)要的一般說(shuō)明。盡管并非必需,但將在由諸如客戶(hù)端工作站或服務(wù)器之類(lèi)的計(jì)算設(shè)備執(zhí)行的諸如程序模塊之類(lèi)的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述本發(fā)明。一般而言,程序模塊包括執(zhí)行特定任務(wù)的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。本領(lǐng)域技術(shù)人員將了解,可以利用其他計(jì)算機(jī)系統(tǒng)配置來(lái)實(shí)施本發(fā)明,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī),等等。本發(fā)明也可以在其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中?,F(xiàn)在參考圖1,描繪了示例性通用計(jì)算機(jī)系統(tǒng)。通用計(jì)算機(jī)系統(tǒng)可包括常規(guī)計(jì)算機(jī)20等等,包括至少一個(gè)處理器或處理單元21、系統(tǒng)存儲(chǔ)器22,以及當(dāng)系統(tǒng)處于操作狀態(tài)時(shí)將包括系統(tǒng)存儲(chǔ)器的各種系統(tǒng)組件連接到處理單元21的系統(tǒng)總線(xiàn)23。系統(tǒng)總線(xiàn)23可以是若干類(lèi)型的總線(xiàn)結(jié)構(gòu)中的任一種,包括使用各種總線(xiàn)體系結(jié)構(gòu)中的任一種的存儲(chǔ)器總線(xiàn)或存儲(chǔ)器控制器、外圍總線(xiàn),以及局部總線(xiàn)。系統(tǒng)存儲(chǔ)器可包括只讀存儲(chǔ)器(ROM)M和隨機(jī)存取存儲(chǔ)器(RAM) 25。基本輸入/輸出系統(tǒng)沈¢10 被存儲(chǔ)在ROM M中,包含了諸如在啟動(dòng)期間幫助在計(jì)算機(jī)20內(nèi)的元件之間傳輸信息的基本例程。計(jì)算機(jī)20還可以包括用于讀寫(xiě)硬盤(pán)(未示出)的硬盤(pán)驅(qū)動(dòng)器27、用于讀寫(xiě)可移動(dòng)磁盤(pán)四的磁盤(pán)驅(qū)動(dòng)器28,以及用于讀寫(xiě)諸如⑶ROM或其他光學(xué)介質(zhì)之類(lèi)的可移動(dòng)光盤(pán)31的光盤(pán)驅(qū)動(dòng)器30。硬盤(pán)驅(qū)動(dòng)器27、磁盤(pán)驅(qū)動(dòng)器28,以及光驅(qū)動(dòng)器30分別通過(guò)硬盤(pán)驅(qū)動(dòng)器接口 32、磁盤(pán)驅(qū)動(dòng)器接口 33,以及光驅(qū)動(dòng)器接口 34被示為連接到統(tǒng)總線(xiàn)23。驅(qū)動(dòng)器以及它們相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī) 20提供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,及其他數(shù)據(jù)的非易失性存儲(chǔ)。雖然此處所描述的示例性環(huán)境使用了硬盤(pán)、可移動(dòng)磁盤(pán)四、以及可移動(dòng)光盤(pán)31,但是,那些本領(lǐng)域普通技術(shù)人員應(yīng)該理解,在示例性操作環(huán)境中也可以使用諸如閃存卡、數(shù)字視頻盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等等之類(lèi)的可以存儲(chǔ)可由計(jì)算機(jī)進(jìn)行訪(fǎng)問(wèn)的數(shù)據(jù)的其他類(lèi)型的計(jì)算機(jī)可讀介質(zhì)。一般而言,可以在一些實(shí)施例中使用這樣的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)來(lái)存儲(chǔ)體現(xiàn)本發(fā)明的各方面的處理器可執(zhí)行指令??梢杂邪ㄓ?jì)算機(jī)可讀指令的若干個(gè)程序模塊存儲(chǔ)在諸如硬盤(pán)、磁盤(pán)四、光盤(pán) 3UR0M 24,和/或RAM 25之類(lèi)的計(jì)算機(jī)可讀介質(zhì)上,包括操作系統(tǒng)35、一個(gè)或多個(gè)應(yīng)用程序36、其他程序模塊37、以及程序數(shù)據(jù)38。在由處理單元執(zhí)行時(shí),計(jì)算機(jī)可讀取的指令使下面更詳細(xì)地描述的動(dòng)作被執(zhí)行或使各種程序模塊被實(shí)例化。用戶(hù)可以通過(guò)諸如鍵盤(pán)40和定點(diǎn)設(shè)備42之類(lèi)的輸入設(shè)備向計(jì)算機(jī)20中輸入命令和信息。其他輸入設(shè)備(未示出) 可以包括麥克風(fēng)、游戲桿、游戲手柄、圓盤(pán)式衛(wèi)星天線(xiàn)、掃描儀等等。這些及其他輸入設(shè)備常常通過(guò)耦合到系統(tǒng)總線(xiàn)的串行端口接口 46連接到處理單元21,但是,但也可以通過(guò)其他接口,如并行端口、游戲端口、通用串行總線(xiàn)(USB)端口、來(lái)進(jìn)行連接。顯示器47或其他類(lèi)型的顯示設(shè)備也可以通過(guò)諸如視頻適配器48之類(lèi)的接口,連接到系統(tǒng)總線(xiàn)23。除了顯示器 47之外,計(jì)算機(jī)通常還包括其他外圍輸出設(shè)備(未示出),如揚(yáng)聲器和打印機(jī)。圖1的示例性系統(tǒng)也包括主機(jī)適配器55、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)總線(xiàn)56,以及連接到SCSI總線(xiàn) 56的外部存儲(chǔ)設(shè)備62。計(jì)算機(jī)20可以使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)(如遠(yuǎn)程計(jì)算機(jī)49)的邏輯連接來(lái)在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)49可以是另一計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點(diǎn),并且通??砂ㄉ衔膮⒖加?jì)算機(jī)20所描述的許多或全部元件,雖然在圖1中只示出了存儲(chǔ)設(shè)備50。圖1中所描繪的邏輯連接可包括局域網(wǎng)(LAN)51和廣域網(wǎng) (WAN) 52。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)部網(wǎng)和因特網(wǎng)中是普遍現(xiàn)象。當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)20可通過(guò)網(wǎng)絡(luò)接口或適配器53連接到LAN 51。 當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)20通??砂ㄕ{(diào)制解調(diào)器M,或用于通過(guò)廣域網(wǎng)52 (如通過(guò)因特網(wǎng))建立通信的其他裝置。調(diào)制解調(diào)器54——其可以是內(nèi)置的或外置的,可通過(guò)串行端口接口 46連接到系統(tǒng)總線(xiàn)23。在聯(lián)網(wǎng)環(huán)境中,參考計(jì)算機(jī)20所描述的程序模塊,或其部分,可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。可以理解,所示出的網(wǎng)絡(luò)連接只是示例性的, 也可以使用用于在計(jì)算機(jī)之間建立通信鏈路的其他裝置。此外,盡管可以預(yù)想本發(fā)明的很多實(shí)施例特別適合于計(jì)算機(jī)化系統(tǒng),但是,本文中沒(méi)有任何表述旨在將本公開(kāi)限制于這樣的實(shí)施例?,F(xiàn)在參考圖2,描繪了可以用于本發(fā)明的實(shí)施例中的計(jì)算機(jī)系統(tǒng)的高層框圖。如圖所示,計(jì)算機(jī)20 (例如,上文所描述的計(jì)算機(jī)系統(tǒng))可包括諸如存儲(chǔ)設(shè)備208之類(lèi)的物理硬件設(shè)備,例如,硬盤(pán)驅(qū)動(dòng)器(如圖1中的27)、網(wǎng)絡(luò)接口控制器(NIC) 53、圖形處理單元 234(諸如將伴隨圖1中的視頻適配器48)、至少一個(gè)邏輯處理器212(例如,圖1中的處理單元21),隨機(jī)存取存儲(chǔ)器(RAM) 25。本領(lǐng)域技術(shù)人員可以理解,盡管示出了一個(gè)邏輯處理器, 但是,在其他實(shí)施例中,計(jì)算機(jī)20可以具有多個(gè)邏輯處理器,例如,每個(gè)處理器多個(gè)執(zhí)行核和/或每一個(gè)都可以具有多個(gè)執(zhí)行核的多個(gè)處理器。描繪了在本領(lǐng)域中也可以被稱(chēng)為虛擬機(jī)監(jiān)視器或更一般地稱(chēng)為虛擬機(jī)管理器或虛擬化系統(tǒng)的系統(tǒng)管理程序202。所描繪的實(shí)施例中的系統(tǒng)管理程序202包括用于控制和仲裁對(duì)計(jì)算機(jī)硬件20的訪(fǎng)問(wèn)的可執(zhí)行指令。寬泛地說(shuō),系統(tǒng)管理程序202可以生成叫做分區(qū)的執(zhí)行環(huán)境,如子分區(qū)1到子分區(qū)N(其中,N 是大于1的整數(shù))。如此處所使用的,子分區(qū)也可以被稱(chēng)為來(lái)賓分區(qū)或來(lái)賓虛擬機(jī)。在各實(shí)施例中,子分區(qū)可以被視為由系統(tǒng)管理程序202支持的隔離的基本單位,S卩,可以將每一子分區(qū)映射到在系統(tǒng)管理程序202和/或父分區(qū)控制之下的硬件資源集,例如,存儲(chǔ)器、設(shè)備、 邏輯處理器周期等等。在各實(shí)施例中,系統(tǒng)管理程序202可以是獨(dú)立軟件產(chǎn)品,操作系統(tǒng)的一部分、被嵌入在主板的固件內(nèi)、專(zhuān)門(mén)的集成電路,或其組合。在所描繪的示例配置中,計(jì)算機(jī)20可包括父分區(qū)204,該父分區(qū)204可以被配置成通過(guò)使用虛擬化服務(wù)提供程序228 (VSP)向在子分區(qū)I-N中執(zhí)行的來(lái)賓操作系統(tǒng)提供資源。在其他虛擬化系統(tǒng)中,系統(tǒng)管理程序或VMM可以不包括父分區(qū)和執(zhí)行諸如系統(tǒng)管理程序或者主機(jī)OS內(nèi)的I/O之類(lèi)的相關(guān)聯(lián)服務(wù)。在此示例體系結(jié)構(gòu)中,父分區(qū)204可以選通對(duì)底層硬件的訪(fǎng)問(wèn)。寬泛地說(shuō),可以使用VSP 2 來(lái)通過(guò)虛擬化服務(wù)客戶(hù)端(VSC)來(lái)多路復(fù)用與硬件資源的接口。每一子分區(qū)都可包括諸如虛擬處理器230到232之類(lèi)的虛擬處理器,來(lái)賓操作系統(tǒng)220到222可以管理虛擬處理器并調(diào)度線(xiàn)程來(lái)在其上執(zhí)行。一般而言,虛擬處理器230到232是提供帶有特定體系結(jié)構(gòu)的物理處理器的表示的可執(zhí)行指令和相關(guān)聯(lián)狀態(tài)信息。例如,一個(gè)虛擬機(jī)可以具有帶化切1 x86處理器的特征的虛擬處理器,而另一虛擬處理器可以具有PowerPC處理器的特征??梢詫⒋耸纠械奶摂M處理器映射到計(jì)算機(jī)系統(tǒng)的邏輯處理器,以便實(shí)現(xiàn)虛擬處理器的指令將被邏輯處理器支持。如此,在這些示例實(shí)施例中, 多個(gè)虛擬處理器可以同時(shí)執(zhí)行,而同時(shí)例如另一邏輯處理器正執(zhí)行系統(tǒng)管理程序指令。一般而言,一個(gè)分區(qū)中的虛擬處理器和各個(gè)VSC的組合可以被視為虛擬機(jī)。一般而言,來(lái)賓操作系統(tǒng)220到222可包括諸如,例如,來(lái)自Microsoft 、Apple 、 開(kāi)放源代碼社區(qū)等等的操作系統(tǒng)之類(lèi)的任何操作系統(tǒng)。來(lái)賓操作系統(tǒng)可包括操作的用戶(hù)/ 內(nèi)核模式,并可以具有可包括調(diào)度器、存儲(chǔ)器管理器等等的內(nèi)核。每一來(lái)賓操作系統(tǒng)220到 222都可以具有相關(guān)聯(lián)文件系統(tǒng),這些相關(guān)聯(lián)文件系統(tǒng)可以具有存儲(chǔ)在其上的應(yīng)用程序,如電子商務(wù)服務(wù)器、電子郵件服務(wù)器等等,以及來(lái)賓操作系統(tǒng)本身。來(lái)賓操作系統(tǒng)220-222可以調(diào)度線(xiàn)程來(lái)在虛擬處理器230-232上執(zhí)行,并可以實(shí)現(xiàn)這樣的應(yīng)用程序的實(shí)例。圖3是表示其中操作系統(tǒng)(主機(jī)OS 302)控制網(wǎng)絡(luò)接口設(shè)備53的示例性虛擬化計(jì)算設(shè)備的框圖。虛擬機(jī)I/O多路徑配置交換結(jié)構(gòu)或通信結(jié)構(gòu)是其中網(wǎng)絡(luò)節(jié)點(diǎn)彼此通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)交換機(jī)連接的網(wǎng)絡(luò)拓?fù)?。在光纖通道交換式結(jié)構(gòu)中,設(shè)備通過(guò)一個(gè)或多個(gè)光纖通道交換機(jī)彼此連接。光纖通道是可以用于附連到存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)的一種網(wǎng)絡(luò)技術(shù)。SAN是用于附連遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)設(shè)備以使得該設(shè)備表現(xiàn)為本地附連到虛擬機(jī)的體系結(jié)構(gòu)。InfiniBand(無(wú)限帶寬)是另一交換結(jié)構(gòu)鏈路,其也可以用于將虛擬機(jī)與諸如存儲(chǔ)盤(pán)之類(lèi)的高速外圍設(shè)備連接。盡管是在這樣的聯(lián)網(wǎng)和存儲(chǔ)實(shí)現(xiàn)中的一個(gè)或多個(gè)的上下文中描述本發(fā)明的,但是,應(yīng)該認(rèn)識(shí)到, 所公開(kāi)的概念不依賴(lài)任何特定實(shí)現(xiàn)。這樣的網(wǎng)絡(luò)設(shè)計(jì)可以使用兩個(gè)或更多單獨(dú)的結(jié)構(gòu)來(lái)實(shí)現(xiàn)冗余。結(jié)構(gòu)可以共享邊緣設(shè)備,但是可以別的方式未連接。通過(guò)提供這樣的冗余,可以提供故障轉(zhuǎn)移能力,其中當(dāng)一個(gè)鏈路發(fā)生故障時(shí),可以使用第二結(jié)構(gòu)?,F(xiàn)有的虛擬化解決方案趨向于通過(guò)遠(yuǎn)離來(lái)賓操作系統(tǒng)地在系統(tǒng)管理程序中管理 I/O的物理冗余,并向虛擬機(jī)呈現(xiàn)虛擬化的單個(gè)I/O通道(網(wǎng)絡(luò)接口、存儲(chǔ)器主機(jī)總線(xiàn)適配器等等),來(lái)處理該冗余。這可能限制虛擬機(jī)內(nèi)的OS和應(yīng)用程序提供有關(guān)如何有效地管理多個(gè)I/O路徑的有用暗示的能力。這些限制是由于系統(tǒng)管理程序通常不與虛擬機(jī)上的來(lái)賓OS具有相同的關(guān)于流量的信息這一事實(shí)而導(dǎo)致的。當(dāng)配置和操作虛擬機(jī)時(shí),可以向虛擬機(jī)展示或隱藏各種信息片段。要隱藏的信息量常常與免除虛擬機(jī)參與各種接口和協(xié)議的細(xì)節(jié)并如此避免增大在虛擬機(jī)內(nèi)運(yùn)行的軟件的復(fù)雜性的需要程度相關(guān)??梢酝ㄟ^(guò)讓系統(tǒng)管理程序處理接口的細(xì)節(jié)來(lái)隱藏信息,作為結(jié)果,關(guān)于穿過(guò)特定數(shù)據(jù)通道的數(shù)據(jù)的細(xì)節(jié)一定會(huì)被隱藏。
例如,在一個(gè)級(jí)別,在以太網(wǎng)上的TCP/IP的情況下,來(lái)賓OS可以具有,例如,有關(guān)哪些數(shù)據(jù)包是特定TCP連接的一部分的信息,以及如此關(guān)于哪些數(shù)據(jù)包的信息應(yīng)該沿著相同接口傳播,以避免被重新排序。在不同的示例中,且在另一層,在光纖通道的情況下,來(lái)賓 OS可以主存可以標(biāo)識(shí)存儲(chǔ)目標(biāo)上的哪些接口具有最小的隊(duì)列深度的插件。在這些情況中的每一種情況下,系統(tǒng)管理程序主要充當(dāng)信息管道。換言之,系統(tǒng)管理程序不檢查流量(這是避免復(fù)雜化系統(tǒng)管理程序設(shè)計(jì)和增加成本所需要的)。然而,只公開(kāi)與虛擬機(jī)的單個(gè)虛擬接口會(huì)隱藏如上文所描述的潛在地有用的信息。如此,在某些情況下,可能需要允許包括這樣的信息,因?yàn)閬?lái)賓OS通常具有更多對(duì)這樣的信息的訪(fǎng)問(wèn)。來(lái)賓OS通常與應(yīng)用程序工作負(fù)荷進(jìn)行交互,且一般在較佳的位置提供關(guān)于如何最佳地處理I/O數(shù)據(jù)的暗示。如此,在將I/O映射到冗余物理介質(zhì)的上下文中, 管理員可以通過(guò)利用諸如虛擬NIC之類(lèi)的多個(gè)虛擬化I/O通道手動(dòng)地配置虛擬機(jī)并在來(lái)賓 OS中手動(dòng)地啟用多路徑解決方案來(lái)嘗試減輕上面的問(wèn)題。管理員也可能需要手動(dòng)地將每一虛擬OTC與作為同一網(wǎng)絡(luò)的一部分的不同的物理OTC相關(guān)聯(lián)。這對(duì)于非常大的數(shù)據(jù)中心會(huì)變得非常麻煩,并且當(dāng)執(zhí)行實(shí)況遷移時(shí),問(wèn)題會(huì)變得更加嚴(yán)重。此處公開(kāi)了自動(dòng)地配置虛擬機(jī)以利用多路徑而同時(shí)又避免上文所描述的問(wèn)題的概念。在各實(shí)施例中,公開(kāi)了用于向虛擬機(jī)展示與通信結(jié)構(gòu)(以太網(wǎng)、光纖通道、串行附接 SCSI、Infiniband等等)的多個(gè)接口,然后自動(dòng)地將那些接口映射到單獨(dú)的物理接口的方法、系統(tǒng),以及計(jì)算機(jī)可讀介質(zhì)產(chǎn)品。此方法可以將單個(gè)連接點(diǎn)的簡(jiǎn)單管理體驗(yàn)保留到虛擬機(jī)中而同時(shí)允許虛擬機(jī)內(nèi)的OS和應(yīng)用程序提供用于高效地使用多個(gè)底層物理鏈路的信息。在某些實(shí)施例中,公開(kāi)了用于通過(guò)網(wǎng)絡(luò)管理存儲(chǔ)的多路徑的方法。例如,可以管理到以太網(wǎng)或光纖通道的多路徑。TCP/IP作為較高層協(xié)議在以太網(wǎng)上傳播,我們可以使用該層的內(nèi)部信息,如TCP連接狀態(tài),以選取有用的路徑。在其中存儲(chǔ)流量是比較典型的光纖通道上,我們可以使用來(lái)賓級(jí)別的多路徑I/O插件來(lái)進(jìn)行路徑選擇。但是,在邏輯上,這是混合與匹配情況。我們可以在以太網(wǎng)上進(jìn)行存儲(chǔ),如同iSCSI,此時(shí),我們使用MPIO作為智能路徑選擇的點(diǎn)。我們也可以在光纖通道上運(yùn)行TCP/IP,但是,這種情況非常少。盡管是在存儲(chǔ)空間的上下文中描述實(shí)施例的,但是,尋址至少兩層。第一層是處理底層網(wǎng)絡(luò)或結(jié)構(gòu),在網(wǎng)絡(luò)或結(jié)構(gòu)上創(chuàng)建虛擬端口,并通過(guò)那些端口管理流量。第二層以如下方式來(lái)展示聯(lián)網(wǎng)的存儲(chǔ)來(lái)賓OS中感知到用于存儲(chǔ)的多路徑的各種組件可以使用它們的本地度量(或其他啟發(fā)式法)來(lái)利用多路徑。圖4示出了一個(gè)示例性上下文以便進(jìn)行進(jìn)一步的討論。所示是四個(gè)以太網(wǎng)NIC 400。以太網(wǎng)NIC 400被附接到兩個(gè)網(wǎng)絡(luò)交換機(jī)410和420。網(wǎng)絡(luò)交換機(jī)410專(zhuān)門(mén)用于一般網(wǎng)絡(luò)流量,而網(wǎng)絡(luò)交換機(jī)420專(zhuān)門(mén)用于存儲(chǔ)流量。在各實(shí)施例中,交換機(jī)可以是光纖通道、Infiniband、以太網(wǎng)上的光纖通道、或任何其他交換技術(shù)。通用以太網(wǎng)交換機(jī)也可以是 Infiniband或某種其他網(wǎng)絡(luò)技術(shù)。主機(jī)總線(xiàn)適配器(HBA)可以將主機(jī)系統(tǒng)連接到其他網(wǎng)絡(luò)和存儲(chǔ)設(shè)備。SCSI HBA將SCSi總線(xiàn)連接到計(jì)算設(shè)備。在光纖通道和hfiniBand中,HBA 可以表示接口卡。HBA可以具有諸如全球名稱(chēng)(WffN)之類(lèi)的唯一標(biāo)識(shí)符。在一個(gè)實(shí)施例中,可以將冗余網(wǎng)絡(luò)接口(NIC、HBA等等)編組到資源池中,其中,池中的每一物理資源都被附連到同一個(gè)邏輯級(jí)別2(Level 2)網(wǎng)絡(luò)。在一個(gè)示例實(shí)施例中,可以將全部NIC都附連到同一網(wǎng)絡(luò)交換機(jī)。在另一示例中,可以將NIC附連到不同的物理交換機(jī),但是,那些交換機(jī)可以是同一級(jí)別2網(wǎng)絡(luò)的一部分。在另一個(gè)示例中,交換機(jī)可以是多個(gè)級(jí)別2網(wǎng)絡(luò)的一部分,且可以將虛擬機(jī)所附連到的虛擬交換機(jī)端口附連到交換機(jī)管理的那些邏輯級(jí)別2網(wǎng)絡(luò)中的一個(gè)??梢允褂酶鞣N網(wǎng)絡(luò)交換協(xié)議,通過(guò)查看默認(rèn)DNS后綴,或者通過(guò)讓管理員或管理團(tuán)隊(duì)將NIC “標(biāo)記”為特定資源池,來(lái)自動(dòng)地配置資源池。作為說(shuō)明性示例,兩個(gè)HBA可以連接到一個(gè)或多個(gè)物理交換機(jī)。如果需要,HBA可以連接到同一個(gè)交換機(jī),例如,以使可以從虛擬機(jī)發(fā)送的流量翻倍。如果需要冗余和/或容錯(cuò),則HBA也可以連接到多個(gè)分開(kāi)的交換機(jī)。如上文所提及的,每一 HBA都具有諸如MAC地址、WffN或全局唯一標(biāo)識(shí)符(GUID)之類(lèi)的唯一標(biāo)識(shí)。可以將唯一標(biāo)識(shí)符映射到物理結(jié)構(gòu), 以使得來(lái)自特定虛擬端口的流量出現(xiàn)在結(jié)構(gòu)上,好像它具有真實(shí)的HBA那樣。在某些情況下,可以將兩個(gè)HBA附連到虛擬交換機(jī)??梢詫?lái)自虛擬機(jī)的數(shù)據(jù)流量發(fā)送到虛擬交換機(jī), 并可以選定數(shù)據(jù)路徑。如此,可以通過(guò)避免單個(gè)故障點(diǎn),實(shí)現(xiàn)物理冗余。例如,如果存儲(chǔ)事務(wù)失敗,那么,可以通過(guò)其他路徑重新啟動(dòng)和發(fā)送該事務(wù)。然而,在此情況下,可以隱藏有用信息。例如,VMM/系統(tǒng)管理程序/虛擬化系統(tǒng)可以具有有關(guān)多路徑的信息,但是,可能沒(méi)有充分的信息來(lái)關(guān)于路徑進(jìn)行有用的選擇。如此,虛擬化系統(tǒng)可能不能基于可能只包含在該虛擬機(jī)內(nèi)的信息來(lái)智能地選擇要使用哪一個(gè)路徑。本發(fā)明解決了如何管理多路徑并有用地展示到來(lái)賓OS的路徑。在一個(gè)實(shí)施例中,當(dāng)配置虛擬機(jī)時(shí),可以確定需要到存儲(chǔ)目標(biāo)的邏輯連接。例如, 可以確定請(qǐng)求了光纖通道虛擬端口。然后,可以確定虛擬端口的配置偏好。在下面的討論中,虛擬端口一般可以稱(chēng)為“接口”。配置偏好可包括所希望的冗余量。冗余的級(jí)別可以以若干個(gè)級(jí)別來(lái)確定,并可包括所希望的容錯(cuò)和所希望的數(shù)據(jù)路徑數(shù)量。并非作為要添加到虛擬機(jī)中以及從虛擬機(jī)中刪除的分開(kāi)的實(shí)體來(lái)管理配置,結(jié)果所得的路徑集可被配置成可以共同地添加和刪除的邏輯集該邏輯集可以包括至少兩個(gè)路徑的冗余級(jí)別。在一個(gè)實(shí)施例中,到存儲(chǔ)目標(biāo)的路徑集可以被配置為單個(gè)配置實(shí)體,而并非被兩次或更多次地添加到虛擬機(jī)的實(shí)體。可以將該邏輯集添加到虛擬機(jī),其中,該集的一個(gè)屬性是冗余路徑的數(shù)量。如下面進(jìn)一步詳細(xì)描述的,用于解決上面的問(wèn)題的實(shí)施例可包括為虛擬機(jī)配置I/ 0通道的邏輯集,每一 I/O通道都附連到同一個(gè)級(jí)別2或?qū)?網(wǎng)絡(luò)。這可以包括為每一個(gè)接口生成唯一性級(jí)別2地址,如MAC、全球名稱(chēng)等等。這還可以進(jìn)一步包括作為整體管理鏈路集的服務(wù)質(zhì)量,并配置存儲(chǔ)目標(biāo)及其他網(wǎng)絡(luò)伙伴以對(duì)全部接口作出響應(yīng)。如此處所使用的,術(shù)語(yǔ)“級(jí)別2網(wǎng)絡(luò)”或“層2網(wǎng)絡(luò)”可以泛指對(duì)應(yīng)于OSI模型的層2的網(wǎng)絡(luò)。眾所周知, 取決于特定系統(tǒng)或技術(shù),可以以各種方式實(shí)現(xiàn)層2。例如,層2可以與TCP/IP模型的鏈路層相對(duì)應(yīng)。在諸如IEEE 802之類(lèi)的網(wǎng)絡(luò)中,層2可以與媒體接入控制(MAC)和邏輯鏈路控制 (LLC)子層相對(duì)應(yīng)。在光纖通道中,層2可以與包括FC0、FC1,以及FC2的物理層中的一個(gè)或多個(gè)相對(duì)應(yīng)。因?yàn)檫@里使用了術(shù)語(yǔ)“層2”或“級(jí)別2”,因此該術(shù)語(yǔ)一般用來(lái)表示所有這樣的網(wǎng)絡(luò)層,不旨在僅限于特定協(xié)議或技術(shù)。本發(fā)明的一實(shí)施例還可以進(jìn)一步包括將邏輯集中的每一 I/O通道映射到物理通道,并確保邏輯集中沒(méi)有兩個(gè)成員被連接到同一通道。這還可以進(jìn)一步包括標(biāo)識(shí)I/O通道旨在與其進(jìn)行連接的層2網(wǎng)絡(luò),并發(fā)現(xiàn)提供與該網(wǎng)絡(luò)的連通性的所有可能的設(shè)備。實(shí)施例還可以進(jìn)一步包括創(chuàng)建排他性規(guī)則,該規(guī)則指出該集中的所有I/O通道都必須映射到單獨(dú)
9的物理接口。實(shí)施例還可以進(jìn)一步包括將該集中的每一 I/O通道綁定到單獨(dú)的有效物理接如上文所提及的,當(dāng)配置邏輯集時(shí),可以確定物理設(shè)備的唯一性標(biāo)識(shí)符。例如,可以確定HBA的標(biāo)識(shí)符。一旦確定了標(biāo)識(shí)符,就可以配置標(biāo)識(shí)符集,以使得存儲(chǔ)目標(biāo)可以將該標(biāo)識(shí)符集視為單個(gè)實(shí)體,并以一致的方式對(duì)該集作出響應(yīng)。例如,可以配置關(guān)系,以使得當(dāng)標(biāo)識(shí)符集中的任何一個(gè)被發(fā)送到存儲(chǔ)結(jié)構(gòu)時(shí),存儲(chǔ)目標(biāo)可以提供對(duì)一致的存儲(chǔ)位置的訪(fǎng)問(wèn)。換言之,構(gòu)建路徑集,其中該集包括冗余路徑,并將該集作為單個(gè)邏輯實(shí)體遞送給目標(biāo)。當(dāng)需要路徑冗余時(shí),結(jié)果所得的路徑配置可以提供路徑多樣性,以使得實(shí)現(xiàn)所希望的容錯(cuò)和/或增大的帶寬。如此,當(dāng)配置邏輯集時(shí),優(yōu)選的是,探知用戶(hù)的意圖,以及分配到存儲(chǔ)交換機(jī)的連接以使得邏輯結(jié)構(gòu)根據(jù)所請(qǐng)求的冗余來(lái)提供到目標(biāo)的不同的路徑。例如,如果第一 HBA鏈接到第一 SAN,而第二 HBA鏈接到第二 SAN,那么,可能不能實(shí)現(xiàn)冗余的故障安全目標(biāo),因?yàn)槊恳荒繕?biāo)只具有一個(gè)遭受單點(diǎn)故障的可用路徑。特定配置可以取決于實(shí)際物理網(wǎng)絡(luò)和可用的設(shè)備。本領(lǐng)域的技術(shù)人員將理解,可以以各種級(jí)別復(fù)雜度實(shí)現(xiàn)冗余的策略,并可以在多個(gè)系統(tǒng)層應(yīng)用。例如,一個(gè)策略可以指出,需要獨(dú)立路徑,但是,可能不指定外部交換機(jī)上的特定交換機(jī)端口選擇。某些策略可能更加關(guān)心倍增帶寬(multiplying bandwidth),而不是最小化物理故障的概率。在某些情況下,可以使用在內(nèi)部沒(méi)有單個(gè)故障點(diǎn)的交換機(jī)。在一個(gè)實(shí)施例中,可以在實(shí)例化虛擬機(jī)之前確定和配置所希望的I/O路徑配置。 在實(shí)況遷移的情況下,可以使用所希望的I/O配置信息來(lái)確保遷移目標(biāo)可以支持配置和所希望的策略。如果無(wú)法滿(mǎn)足所希望的策略,那么,系統(tǒng)仍可以選擇繼續(xù)。例如,在無(wú)法提供所希望的冗余級(jí)別的情況下,如果策略允許或管理員允許,則遷移可以繼續(xù),且警告可能丟棄到虛擬機(jī)的鏈接中的一個(gè)。并非將虛擬機(jī)配置(內(nèi)部的以及在管理界面中)表示為分開(kāi)的虛擬NIC的集合, 而是可以將NIC表示為帶有到網(wǎng)絡(luò)的多路徑的單個(gè)邏輯連接。例如,作為MAC地址或全球名稱(chēng)的代替,可以將NIC表示為MAC地址或全球名稱(chēng)的陣列??梢詫⒚恳唤涌诒硎緸樘摂M機(jī)內(nèi)的NIC,其中每個(gè)都單個(gè)MAC地址或全球名稱(chēng)。在任何情況下,都可以將NIC的集合表示為一個(gè)組。如此,I/O集和網(wǎng)絡(luò)之間的關(guān)聯(lián)是單一的1 1關(guān)系。然后,可以將每一 NIC映射到I/O集被附連到的網(wǎng)絡(luò)資源池中的物理NIC (通過(guò)虛擬網(wǎng)絡(luò)交換機(jī))。虛擬化系統(tǒng)可以使用反親和性規(guī)則來(lái)確保沒(méi)有兩個(gè)虛擬NIC被映射到同一個(gè)物理NIC。如果I/O集中的虛擬NIC比網(wǎng)絡(luò)資源池中的物理NIC更多,那么,一些虛擬 NIC可能看起來(lái)在虛擬機(jī)內(nèi)是斷開(kāi)連接的。這會(huì)防止虛擬機(jī)從所有其N(xiāo)IC都具有單獨(dú)的到網(wǎng)絡(luò)的路徑的假象得出假的推斷。取決于系統(tǒng)策略,如果虛擬NIC不能全部都被映射到物理NIC,則虛擬化主機(jī)可以允許虛擬機(jī)成功地啟動(dòng)。以此方式表示虛擬機(jī)配置對(duì)于選擇用于實(shí)況遷移的合適的目標(biāo)機(jī)器也會(huì)是有用的。例如,具有適當(dāng)數(shù)量的連接到同一個(gè)級(jí)別2網(wǎng)絡(luò)的物理NIC的目標(biāo)機(jī)器可以被視為用于實(shí)況遷移的可接受候選。在選擇了帶有較少數(shù)量的物理NIC的候選目標(biāo)機(jī)器的情況下, 某些虛擬NIC在虛擬機(jī)遷移之后將看起來(lái)是斷開(kāi)連接的。可另選地,可以通過(guò)策略禁止到這樣的機(jī)器的遷移。為進(jìn)一步降低虛擬機(jī)管理員任務(wù)的復(fù)雜性,可以應(yīng)用各種技術(shù),以使虛擬機(jī)內(nèi)的OS自動(dòng)地合并多個(gè)接口,并分散多個(gè)接口中的流量。實(shí)施例可以包括將軟件(也被稱(chēng)為集成組件)注入到虛擬機(jī)中,該虛擬機(jī)將邏輯通道集合并到虛擬機(jī)的單個(gè)接口中,以便保留虛擬機(jī)內(nèi)的OS展示有用的路由信息的能力。集成組件可以包括軟件組件,軟件組件尤其包括虛擬化驅(qū)動(dòng)程序,這些虛擬化驅(qū)動(dòng)程序協(xié)助虛擬機(jī)在特定環(huán)境進(jìn)行操作并可以在建立虛擬機(jī)時(shí)加載??梢耘渲眉山M件,以使得虛擬機(jī)管理器不必確定意圖或策略。因?yàn)樘摂M端口的配置(包括諸如存儲(chǔ)目標(biāo)和多路徑信息之類(lèi)的信息)包含在虛擬機(jī)設(shè)置內(nèi),所以虛擬化系統(tǒng)可以確定什么類(lèi)型的配置適用于來(lái)賓0S,以及可以自動(dòng)地注入設(shè)置適當(dāng)?shù)亩嗦窂絀/O 堆棧的集成組件。例如,在使用來(lái)自多個(gè)供應(yīng)商的OS的系統(tǒng)中,可以修改BIOS或其他固件,以展示 iSCSI引導(dǎo)信息。在其中WindowsTM在虛擬機(jī)中運(yùn)行的另一示例中,可以安裝網(wǎng)絡(luò)協(xié)作驅(qū)動(dòng)程序,或者可以實(shí)例化Windows多路徑I/O驅(qū)動(dòng)程序。在iSCSI的示例中,這可以包括在 BIOS/固件中插入表,以通知引導(dǎo)OS,哪些NIC用于iSCSI引導(dǎo)設(shè)備。更一般而言,系統(tǒng)管理程序/虛擬化系統(tǒng)可以將執(zhí)行上面的功能中的一個(gè)或多個(gè)的軟件注入到來(lái)賓虛擬機(jī)中。這可以采取在虛擬機(jī)引導(dǎo)時(shí)將軟件加載在虛擬機(jī)中的形式。 可另選地,也可以使用諸如展示包含有用的軟件的虛擬CD-ROM映像之類(lèi)的其他技術(shù)。一旦系統(tǒng)管理程序-特定的軟件在虛擬機(jī)內(nèi)運(yùn)行,軟件就可以與系統(tǒng)管理程序建立通信,并使用虛擬機(jī)配置來(lái)驅(qū)動(dòng)OS配置。最后,實(shí)施例可以包括使用虛擬化系統(tǒng)來(lái)配置負(fù)載平衡和故障轉(zhuǎn)移或協(xié)調(diào)來(lái)賓操作系統(tǒng)內(nèi)的網(wǎng)絡(luò)系統(tǒng)。在一個(gè)實(shí)施例中,方法可以包括在父分區(qū)中實(shí)現(xiàn)故障轉(zhuǎn)移能力。例如,在物理通道發(fā)生故障的情況下(如光纖通道主機(jī)總線(xiàn)適配器(HBA)端口離線(xiàn)),與物理通道相關(guān)聯(lián)的邏輯通道通常將丟失連通性。然而,如果在資源池中有另一未分配的物理端口,則可以在運(yùn)行時(shí)向同一個(gè)組中的另一物理通道重新指派邏輯端口,只要還沒(méi)有指派物理通道。在此過(guò)程中,可以在父分區(qū)中排隊(duì)來(lái)自虛擬HBA的1/0,以使得來(lái)賓OS決不會(huì)看到虛擬HBA離線(xiàn)。在沒(méi)有找到合適的物理通道的情況下,邏輯通道可以保持離線(xiàn)。圖5描繪了用于執(zhí)行所公開(kāi)的主題的實(shí)施例的示例性操作過(guò)程。參考圖5,操作 500開(kāi)始操作過(guò)程,而操作502示出了接收虛擬機(jī)的輸入/輸出(1/0)配置信息,基于1/0 配置信息,標(biāo)識(shí)與虛擬機(jī)相關(guān)聯(lián)的1/0通道。在一個(gè)實(shí)施例中,1/0配置信息可以包括路徑冗余的所希望的級(jí)別。另外,標(biāo)識(shí)1/0通道還可以進(jìn)一步包括為1/0通道中的每一個(gè)生成唯一性地址。操作504示出了將1/0通道編組到邏輯集,其中,每一邏輯集都包括附連到同一虛擬端點(diǎn)的1/0通道。在一個(gè)實(shí)施例中,虛擬端點(diǎn)可以是層2網(wǎng)絡(luò)設(shè)備。對(duì)于每一個(gè)邏輯集,操作506示出了將每一 1/0通道映射到物理通道,以使得一個(gè)邏輯集中沒(méi)有兩個(gè)通道連接到同一個(gè)物理通道。在一個(gè)實(shí)施例中,映射操作還可以進(jìn)一步包括標(biāo)識(shí)1/0通道被配置成與其進(jìn)行連接的物理端點(diǎn),并確定哪些網(wǎng)絡(luò)設(shè)備提供與物理端點(diǎn)的連通性。操作508示出了將虛擬機(jī)的每一邏輯集表示為單個(gè)配置實(shí)體,以使得虛擬機(jī)的操作系統(tǒng)被允許向附連的虛擬端點(diǎn)展示1/0路由信息。在一個(gè)實(shí)施例中,這可以通過(guò)一個(gè)或多個(gè)軟件組件,或通過(guò)虛擬化系統(tǒng)配置的并與虛擬機(jī)一起執(zhí)行的集成組件來(lái)促進(jìn)。此處所描述的各種系統(tǒng)、方法,以及技術(shù)可以利用硬件或軟件,或者,在適當(dāng)?shù)那闆r下,利用兩者的組合來(lái)實(shí)現(xiàn)。因此,本發(fā)明的方法和裝置,或其某些方面或部分,也可以以在有形介質(zhì)(如軟盤(pán)、CD-ROM、硬盤(pán)驅(qū)動(dòng)器,或任何其他機(jī)器可讀存儲(chǔ)介質(zhì))中實(shí)現(xiàn)的程序代碼(即,指令)的形式來(lái)實(shí)現(xiàn),其中當(dāng)程序代碼被加載到諸如計(jì)算機(jī)之類(lèi)的機(jī)器中并由它們執(zhí)行時(shí),機(jī)器變?yōu)橛糜趯?shí)施該發(fā)明的裝置。在程序代碼在可編程計(jì)算機(jī)上執(zhí)行的情況下, 計(jì)算機(jī)將一般包括處理器、可由處理器讀取的存儲(chǔ)介質(zhì)(包括易失性和非易失性存儲(chǔ)器和 /或存儲(chǔ)元件)、至少一個(gè)輸入設(shè)備,以及至少一個(gè)輸出設(shè)備。一個(gè)或多個(gè)程序優(yōu)選地以高級(jí)過(guò)程或面向?qū)ο缶幊陶Z(yǔ)言來(lái)實(shí)現(xiàn),以與計(jì)算機(jī)系統(tǒng)進(jìn)行通信。然而,若有需要,程序也可以以以匯編或機(jī)器語(yǔ)言來(lái)實(shí)現(xiàn)。在任一情況下,語(yǔ)言都可以是編譯的或解釋的語(yǔ)言,并與硬件實(shí)現(xiàn)相結(jié)合。本發(fā)明的方法和設(shè)備也可以以通過(guò)某些傳輸介質(zhì)(如通過(guò)電線(xiàn)或電纜,通過(guò)光纖,或任何其他形式的傳輸)傳輸?shù)某绦虼a的形式來(lái)實(shí)現(xiàn),其中,當(dāng)接收到程序代碼并加載到諸如EPR0M、門(mén)陣列、可編程邏輯器件(PLD)、客戶(hù)端計(jì)算機(jī)、視頻記錄器等等之類(lèi)的機(jī)器中并由機(jī)器執(zhí)行時(shí),機(jī)器變成實(shí)施本發(fā)明的設(shè)備。當(dāng)在通用處理器上實(shí)現(xiàn)時(shí),程序代碼與處理器結(jié)合,以提供操作用于執(zhí)行本發(fā)明的索引功能的唯一性設(shè)備。盡管結(jié)合各種圖形的優(yōu)選實(shí)施例描述了本發(fā)明,但是,可以理解,在不偏離本發(fā)明的情況下,也可以使用其他類(lèi)似的實(shí)施例,或可以對(duì)所描述的實(shí)施例進(jìn)行修改和補(bǔ)充,以便執(zhí)行本發(fā)明的相同功能。例如,盡管是在模擬個(gè)人計(jì)算機(jī)的功能的數(shù)字設(shè)備的上下文中描述本發(fā)明的示例性實(shí)施例的,但是,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,本發(fā)明不僅限于諸如本申請(qǐng)所描述的數(shù)字設(shè)備,而可以適用于任意數(shù)量的現(xiàn)有或新興的計(jì)算設(shè)備或環(huán)境。因此,本發(fā)明不應(yīng)該僅限于任何單個(gè)實(shí)施例,而是應(yīng)該在根據(jù)所附權(quán)利要求書(shū)的廣度和范圍內(nèi)解釋。最后,此處所描述的所公開(kāi)的實(shí)施例可以適用于其他處理器體系結(jié)構(gòu)、基于計(jì)算機(jī)的系統(tǒng)或系統(tǒng)虛擬化中,而這樣的實(shí)施例明確地被此處所作出的本發(fā)明所預(yù)期,如此,本發(fā)明不應(yīng)該僅限于此處所描述的特定實(shí)施例,而是被最廣泛地解釋。
1權(quán)利要求
1.一種用于通過(guò)虛擬化系統(tǒng)(20 配置虛擬機(jī)的方法,包括接收(502)所述虛擬機(jī)的輸入/輸出(I/O)配置信息,以及基于所述I/O配置信息,標(biāo)識(shí)與所述虛擬機(jī)相關(guān)聯(lián)的I/O通道;將所述I/O通道編組(504)到邏輯集,其中每一邏輯集包括附連到同一虛擬端點(diǎn)的I/ 0通道;對(duì)于每一個(gè)邏輯集,將每一 I/O通道映射(506)到一物理通道,以使得邏輯集中沒(méi)有兩個(gè)通道被連接到同一物理通道;以及將每一邏輯集表示(508)為單個(gè)配置實(shí)體,以使得所述虛擬機(jī)的操作系統(tǒng)被允許向所述附連的虛擬端點(diǎn)展示I/O路由信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述標(biāo)識(shí)包括為所述I/O通道中的每一個(gè)生成唯一性地址,還包括作為整體管理每一個(gè)邏輯集的服務(wù)質(zhì)量;以及配置網(wǎng)絡(luò)資產(chǎn)以對(duì)所述I/O通道作出響應(yīng)。
3.如權(quán)利要求1所述的方法,其特征在于,所述映射還包括標(biāo)識(shí)I/O通道被配置成與其進(jìn)行連接的物理端點(diǎn),以及確定哪些網(wǎng)絡(luò)設(shè)備提供與所述物理端點(diǎn)的連通性。
4.如權(quán)利要求3所述的方法,其特征在于,還包括為每一個(gè)邏輯集生成指示所述邏輯集中的每一 I/O通道都必須映射到唯一性物理接口的排他性規(guī)則。
5.如權(quán)利要求4所述的方法,其特征在于,還包括將每一邏輯集中的每一I/O通道綁定到唯一性物理接口。
6.如權(quán)利要求1所述的方法,其特征在于所述表示是通過(guò)由所述虛擬化系統(tǒng)配置的并結(jié)合所述虛擬機(jī)來(lái)執(zhí)行的至少一個(gè)軟件組件執(zhí)行的,所述表示還包括在來(lái)賓操作系統(tǒng)內(nèi)配置多路徑I/O存儲(chǔ)驅(qū)動(dòng)程序,以及所述I/O存儲(chǔ)驅(qū)動(dòng)程序?qū)⒍鄠€(gè)存儲(chǔ)接口表示為單個(gè)邏輯接口還包括在所述來(lái)賓操作系統(tǒng)內(nèi)配置負(fù)載平衡和故障轉(zhuǎn)移機(jī)制。
7.如權(quán)利要求1所述的方法,其特征在于,還包括為發(fā)生故障的物理通道實(shí)現(xiàn)故障轉(zhuǎn)移機(jī)制,所述故障轉(zhuǎn)移機(jī)制包括當(dāng)所述物理通道中的一個(gè)發(fā)生故障時(shí),將與所述發(fā)生故障的通道相關(guān)聯(lián)的所述邏輯端口重新指派給同一個(gè)邏輯集中的未指派的物理通道;以及當(dāng)沒(méi)有未指派的物理通道剩下時(shí),將對(duì)應(yīng)的邏輯通道置于離線(xiàn)。
8.在其上存儲(chǔ)有在執(zhí)行時(shí)導(dǎo)致配置虛擬機(jī)的計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀指令包括在執(zhí)行時(shí)導(dǎo)致執(zhí)行下列操作的指令接收(502)所述虛擬機(jī)的輸入/輸出(I/O)配置信息,以及基于所述I/O配置信息,標(biāo)識(shí)與所述虛擬機(jī)相關(guān)聯(lián)的I/O通道;將所述I/O通道編組(504)到邏輯集,其中,每一邏輯集包括附連到同一虛擬端點(diǎn)的I/ 0通道;對(duì)于每一個(gè)邏輯集,通過(guò)生成指示所述邏輯集中的每一 I/O通道必須映射到唯一性物理接口的排他性規(guī)則,來(lái)將每一 I/O通道映射(506)到一物理通道,以使得一個(gè)邏輯集中沒(méi)有兩個(gè)通道連接到同一個(gè)物理通道;以及將每一邏輯集表示(508)為單個(gè)配置實(shí)體,以使得所述虛擬機(jī)的操作系統(tǒng)被允許向所述附連的虛擬端點(diǎn)展示I/O路由信息。
9.一種用于配置虛擬機(jī)的系統(tǒng),包括 包括至少一個(gè)處理器的計(jì)算設(shè)備00);存儲(chǔ)器,其在所述系統(tǒng)操作時(shí)可通信地耦合到所述處理器;其中存儲(chǔ)有在由所述至少一個(gè)處理器執(zhí)行時(shí)導(dǎo)致執(zhí)行下列操作的計(jì)算機(jī)指令的所述存儲(chǔ)器接收(502)所述虛擬機(jī)的輸入/輸出(I/O)配置信息,以及基于所述I/O配置信息,標(biāo)識(shí)與所述虛擬機(jī)相關(guān)聯(lián)的I/O通道;將所述I/O通道編組(504)到邏輯集,其中每一邏輯集包括附連到同一虛擬端點(diǎn)的I/ 0通道;對(duì)于每一個(gè)邏輯集,將每一 I/O通道映射(506)到一物理通道,以使得一個(gè)邏輯集中沒(méi)有兩個(gè)通道被連接到同一物理通道;將每一邏輯集中的每一 I/O通道綁定到唯一性物理接口 ;以及將每一邏輯集表示(508)為單個(gè)配置實(shí)體,以使得所述虛擬機(jī)的操作系統(tǒng)被允許向所述附連的虛擬端點(diǎn)公開(kāi)I/O路由信息。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述I/O配置信息包括路徑冗余級(jí)別。
全文摘要
本文描述了虛擬機(jī)I/O多路徑配置。公開(kāi)了用于展示虛擬機(jī)的通信結(jié)構(gòu)的多個(gè)接口(以太網(wǎng)、光纖通道、串行附接SCSI、Infiniband等等),并自動(dòng)地將那些接口映射到單獨(dú)的物理接口的方法。這樣的方法可以將單個(gè)連接點(diǎn)的簡(jiǎn)單管理體驗(yàn)保留到虛擬機(jī)中而同時(shí)允許虛擬機(jī)內(nèi)的OS和應(yīng)用程序提供高效地使用多個(gè)底層物理鏈路所需的信息。
文檔編號(hào)G06F9/455GK102314372SQ20111014982
公開(kāi)日2012年1月11日 申請(qǐng)日期2011年5月24日 優(yōu)先權(quán)日2010年5月25日
發(fā)明者J·奧辛斯, T·卡蘭達(dá)卡 申請(qǐng)人:微軟公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阿拉尔市| 军事| 鱼台县| 鹤庆县| 福州市| 宁陵县| 抚宁县| 太康县| 合川市| 拉萨市| 龙井市| 西宁市| 拜城县| 永平县| 洞口县| 长汀县| 乌什县| 塘沽区| 淮安市| 施甸县| 太保市| 五莲县| 惠水县| 泽库县| 裕民县| 托里县| 兴宁市| 沅江市| 博客| 日喀则市| 二连浩特市| 容城县| 潞西市| 额敏县| 临江市| 铁力市| 辽源市| 龙陵县| 福州市| 蓝田县| 三河市|