用于數(shù)據(jù)傳輸?shù)姆椒?、裝置和系統(tǒng)以及物理網(wǎng)卡的制作方法
【專利摘要】本發(fā)明實施例提供了一種用于數(shù)據(jù)傳輸?shù)姆椒ā⒀b置和系統(tǒng)以及物理網(wǎng)卡。該方法包括:從第一物理網(wǎng)卡的物理功能PF模塊組中,確定主PF模塊,該PF模塊組包括至少兩個PF模塊;基于該PF模塊組中各個PF模塊對應(yīng)的虛擬功能VF模塊組,確定該主PF模塊管理的目標VF模塊群;將該目標VF模塊群中的VF模塊,分配給至少一個虛擬機,以便該至少一個虛擬機實現(xiàn)數(shù)據(jù)傳輸。本發(fā)明實施例的用于數(shù)據(jù)傳輸?shù)姆椒?、裝置和系統(tǒng)可以避免系統(tǒng)出現(xiàn)故障,并減少資源浪費。
【專利說明】用于數(shù)據(jù)傳輸?shù)姆椒?、裝置和系統(tǒng)以及物理網(wǎng)卡
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,并且更具體地,涉及一種用于數(shù)據(jù)傳輸?shù)姆椒?、裝置和系統(tǒng) 以及物理網(wǎng)卡。
【背景技術(shù)】
[0002]作為云計算快速發(fā)展的基礎(chǔ),虛擬化技術(shù)在計算、存儲、網(wǎng)絡(luò)和集群管理等方面的 逐漸成熟,推動著云計算在各個領(lǐng)域的應(yīng)用。
[0003]隨著中央處理單元(Center Processing Unit, CPU)芯片技術(shù)的發(fā)展,單個物理 CPU能力越來越強,能夠提供的虛擬機個數(shù)越來越多,同時對物理網(wǎng)卡的性能要求更高, 要求提供的虛擬網(wǎng)卡數(shù)量越來越多,以滿足更多用戶的要求,提高云資源的利用率。在網(wǎng) 絡(luò)虛擬化中,網(wǎng)卡虛擬化作為解決虛擬化最后一公里的關(guān)鍵技術(shù),經(jīng)歷了軟件模擬、虛擬 機設(shè)備隊列(Virtual Machine Device Queue, VMDq)、單根 I/O 虛擬化(Single-Root I/ 0 Virtualization, SR-10V)三個階段的發(fā)展后,SR-1OV技術(shù)已經(jīng)成為解決虛擬化最后 一公里的理想設(shè)備,SR-1OV用于將一個高速外設(shè)部件互連標準(Peripheral Component Interconnect Express,PCIe)網(wǎng)卡設(shè)備虛擬成至少兩個PCIe網(wǎng)卡設(shè)備,每個虛擬PCIe網(wǎng) 卡設(shè)備如同物理PCIe網(wǎng)卡設(shè)備一樣向虛擬機上層軟件提供服務(wù)。
[0004]SR-1OV是一種10虛擬化的技術(shù)標準,允許一個物理設(shè)備支持至少兩個虛擬網(wǎng) 卡。SR-1OV引入了兩種新的功能類型,即物理功能(Physical Function, PF)模塊和虛擬 功能(Virtual Function, VF)模塊。其中,PF模塊擁有SR-1OV的全部PCIe功能,可以進 行SR-1OV功能配置和管理,VF模塊具有輕量級的PCIe功能,包含數(shù)據(jù)傳輸所必要的資源 和少量的配置資源。VF模塊作為一個單獨的PCIe設(shè)備,可以經(jīng)由虛擬機管理層(Virtual Machine Management, VMM)分配給虛擬機(Virtual Machine, VM)使用。
[0005]然而,PF模塊作為系統(tǒng)的關(guān)鍵節(jié)點,一旦出現(xiàn)故障,將會造成系統(tǒng)故障和資源浪 費。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實施例提供一種用于數(shù)據(jù)傳輸?shù)姆椒?、裝置和系統(tǒng)以及物理網(wǎng)卡,可以避 免系統(tǒng)出現(xiàn)故障,并減少資源浪費。
[0007]第一方面,提供了一種用于數(shù)據(jù)傳輸?shù)姆椒?,包?從第一物理網(wǎng)卡的物理功能 PF模塊組中,確定主PF模塊,該PF模塊組包括至少兩個PF模塊,該PF模塊組中各個PF模 塊對應(yīng)不同的虛擬功能VF模塊組;基于該PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定 該主PF模塊管理的目標VF模塊群,其中,該目標VF模塊群中的VF模塊用于分配給至少一 個虛擬機W,以便該至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
[0008]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,該從第一物理網(wǎng)卡的PF 模塊組中,確定主PF模塊,包括:基于該PF模塊組中每一個PF模塊的基準參數(shù),確定該主 PF模塊,其中,該PF模塊的基準參數(shù)包括PF模塊故障次數(shù)、PF模塊對應(yīng)的VF模塊組中VF模塊的個數(shù)、PF模塊靜態(tài)帶寬和PF模塊靜態(tài)帶寬中的至少一種。
[0009]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的 實現(xiàn)方式中,該基于該PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定該主PF模塊管理的 目標VF模塊群,包括:從該PF模塊組中每一個PF模塊對應(yīng)的VF模塊組中選出至少一個VF 模塊,組成該目標VF模塊群。
[0010]結(jié)合第一方面,第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實 現(xiàn)方式中,在第一方面的第三種可能的實現(xiàn)方式中,該方法還包括:確定第一 PF模塊重新 使能或故障恢復(fù),將該第一 PF模塊確定為該PF模塊組中的PF模塊;基于該第一 PF模塊, 建立該第一 PF模塊對應(yīng)的VF模塊組。
[0011]結(jié)合第一方面,或第一方面的第一種至第三種中任一種可能的實現(xiàn)方式,在第一 方面的第四種可能的實現(xiàn)方式中,該方法還包括:確定第二 PF模塊從該第一物理網(wǎng)卡的該 PF模塊組中刪除;釋放該第二 PF模塊對應(yīng)的VF模塊組。
[0012]結(jié)合第一方面,或第一方面的第一種至第四種中任一種可能的實現(xiàn)方式,在第一 方面的第五種可能的實現(xiàn)方式中,該方法還包括:確定該第一物理網(wǎng)卡的第三PF模塊發(fā)生 故障時,確定該第三PF模塊對應(yīng)的VF模塊組中的VF模塊是否可用;在該第三PF模塊對應(yīng) 的VF模塊組中的至少一個VF模塊可用時,將該第一 PF模塊對應(yīng)的VF模塊組中的可用的 該至少一個VF模塊確定為繼續(xù)可用。
[0013]結(jié)合第一方面,或第一方面的第一種至第五種中任一種可能的實現(xiàn)方式,在第一 方面的第六種可能的實現(xiàn)方式中,該方法還包括:確定該目標VF模塊群中分配給該至少一 個VM中的第一 VM的第一 VF模塊出現(xiàn)故障;從該PF模塊組中各個PF模塊對應(yīng)的VF模塊 組中,選擇不同于該第一 VF模塊的第二 VF模塊;更新該目標VF模塊群。
[0014]結(jié)合第一方面,或第一方面的第一種至第六種中任一種可能的實現(xiàn)方式,在第一 方面的第七種可能的實現(xiàn)方式中,該第一物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準 PCIe總線,該方法還包括:確定需要將該目標VF模塊群中與該至少兩個PCIe總線中第一 PCIe總線連接的VF模塊的數(shù)據(jù)發(fā)送到該目標VF模塊群中與該至少兩個PCIe總線中第二 PCIe總線連接的VF模塊;將該與第一 PCIe總線連接的VF模塊的數(shù)據(jù)通過該第一物理網(wǎng) 卡的交換機發(fā)送到該與第二 PCIe總線連接的VF模塊。
[0015]結(jié)合第一方面,或第一方面的第一種至第七種中任一種可能的實現(xiàn)方式,在第一 方面的第八種可能的實現(xiàn)方式中,該方法還包括:確定該主PF模塊出現(xiàn)故障;從該PF模塊 組中,選擇除該主PF模塊之外的PF模塊作為新的主PF模塊;基于該PF模塊組中各個PF 模塊對應(yīng)的VF模塊組,確定該新的主PF模塊管理的新的目標VF模塊群,其中,該新的目標 VF模塊群中的VF模塊用于分配給至少一個虛擬機VM,以便該至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
[0016]第二方面,提供了一種用于數(shù)據(jù)傳輸?shù)难b置,包括:第一確定單元,用于從第一物 理網(wǎng)卡的物理功能PF模塊組中,確定主PF模塊,該PF模塊組包括至少兩個PF模塊,該PF 模塊組中各個PF模塊對應(yīng)不同的虛擬功能VF模塊組;第二確定單元,用于基于該PF模塊 組中各個PF模塊對應(yīng)的虛擬功能VF模塊組,確定該主PF模塊管理的目標VF模塊群,其 中,該目標VF模塊群中的VF模塊用于分配給至少一個虛擬機VM,以便該至少一個VM實現(xiàn) 數(shù)據(jù)傳輸。
[0017]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,該第一確定單元具體用于:基于該PF模塊組中每一個PF模塊的基準參數(shù),確定該主PF模塊,其中,該PF模塊的基 準參數(shù)包括PF模塊故障次數(shù)、PF模塊對應(yīng)的VF模塊組中VF模塊的個數(shù)、PF模塊靜態(tài)帶寬 和PF模塊靜態(tài)帶寬中的至少一種。
[0018]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的 實現(xiàn)方式中,該第二確定單元具體用于:從該PF模塊組中每一個PF模塊對應(yīng)的VF模塊組 中選出至少一個VF模塊,組成該目標VF模塊群。
[0019]結(jié)合第二方面,第二方面的第一種可能的實現(xiàn)方式或第二方面的第二種可能的實 現(xiàn)方式中,在第二方面的第三種可能的實現(xiàn)方式中,該裝置還包括:第四確定單元,用于確 定第一 PF模塊重新使能或故障恢復(fù),將該第一 PF模塊確定為該PF模塊組中的PF模塊;建 立單元,用于基于該第一 PF模塊,建立該第一 PF模塊對應(yīng)的VF模塊組。
[0020]結(jié)合第二方面,或第二方面的第一種至第三種中任一種可能的實現(xiàn)方式,在第二 方面的第四種可能的實現(xiàn)方式中,該裝置還包括:第五確定單元,用于確定第二 PF模塊從 該第一物理網(wǎng)卡的該PF模塊組中刪除;釋放單元,用于釋放該第二 PF模塊對應(yīng)的VF模塊 組。
[0021]結(jié)合第二方面,或第二方面的第一種至第四種中任一種可能的實現(xiàn)方式,在第二 方面的第五種可能的實現(xiàn)方式中,該裝置還包括:第六確定單元,用于確定該第一物理網(wǎng)卡 的第三PF模塊發(fā)生故障時,確定該第三PF模塊對應(yīng)的VF模塊組中的VF是否可用;保持單 元,用于在該第三PF模塊對應(yīng)的VF模塊組中的至少一個VF模塊可用時,將該第三PF模塊 對應(yīng)的VF模塊組中的該至少一個VF模塊確定為繼續(xù)可用。
[0022]結(jié)合第二方面,或第二方面的第一種至第五種中任一種可能的實現(xiàn)方式,在第二 方面的第六種可能的實現(xiàn)方式中,該裝置還包括:第七確定單元,用于確定該目標VF模塊 群中分配給該至少一個VM中的第一 VM的第一 VF模塊出現(xiàn)故障;選擇單元,用于從該PF模 塊組中各個PF模塊對應(yīng)的VF模塊組中,選擇不同于該第一 VF模塊的第二 VF模塊;更新單 元,用于更新該目標VF模塊群,并將該第二 VF模塊分配給該第一 VM。
[0023]結(jié)合第二方面,或第二方面的第一種至第六種中任一種可能的實現(xiàn)方式,在第二 方面的第七種可能的實現(xiàn)方式中,該第一物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準 PCIe總線,該裝置還包括:第八確定單元,用于確定需要將該目標VF模塊群中與該至少兩 個PCIe總線中第一 PCIe總線連接的VF模塊的數(shù)據(jù)發(fā)送到該目標VF模塊群中與該至少兩 個PCIe總線中第二 PCIe總線連接的VF模塊;發(fā)送單元,用于將該與第一 PCIe總線連接的 VF模塊的數(shù)據(jù)通過該第一物理網(wǎng)卡的交換機發(fā)送到該與第二 PCIe總線連接的VF模塊。
[0024]結(jié)合第二方面,或第二方面的第一種至第七種中任一種可能的實現(xiàn)方式,在第二 方面的第八種可能的實現(xiàn)方式中,該裝置還包括第三確定單元,用于確定該主PF模塊出現(xiàn) 故障;該第一確定單元還用于:從該PF模塊組中,選擇除該主PF模塊之外的PF模塊作為新 的主PF模塊;該第二確定單元還用于:基于該PF模塊組中各個PF模塊對應(yīng)的VF模塊組, 確定該新的主PF模塊管理的新的目標VF模塊群,其中,該新的目標VF模塊群中的VF模塊 用于分配給至少一個虛擬機W,以便該至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
[0025]第三方面,提供了一種用于數(shù)據(jù)傳輸?shù)难b置,包括處理器和存儲器;其中,該存儲 器存儲程序代碼,該處理器用于調(diào)用該存儲器中存儲的該程序代碼,執(zhí)行以下操作:從第一 物理網(wǎng)卡的物理功能PF模塊組中,確定主PF模塊,該PF模塊組包括至少兩個PF模塊,該PF模塊組中各個PF模塊對應(yīng)不同的虛擬功能VF模塊組;基于該PF模塊組中各個PF模塊 對應(yīng)的虛擬功能VF模塊組,確定該主PF模塊管理的目標VF模塊群,其中,該目標VF模塊 群中的VF模塊用于分配給至少一個虛擬機VM,以便該至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
[0026]結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,該處理器用于調(diào)用該存 儲器中存儲的該程序代碼,具體執(zhí)行以下操作:基于該PF模塊組中每一個PF模塊的基準參 數(shù),確定該主PF模塊,其中,該PF模塊的基準參數(shù)包括PF模塊故障次數(shù)、PF模塊對應(yīng)的VF 模塊組中VF模塊的個數(shù)、PF模塊靜態(tài)帶寬和PF模塊靜態(tài)帶寬中的至少一種。
[0027]結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式,在第三方面的第二種可能的 實現(xiàn)方式中,該處理器用于調(diào)用該存儲器中存儲的該程序代碼,具體執(zhí)行以下操作:從該 PF模塊組中每一個PF模塊對應(yīng)的VF模塊組中選出至少一個VF模塊,組成該目標VF模塊 群。
[0028]結(jié)合第三方面,第三方面的第一種可能的實現(xiàn)方式或第三方面的第二種可能的實 現(xiàn)方式中,在第三方面的第三種可能的實現(xiàn)方式中,該處理器用于調(diào)用該存儲器中存儲的 該程序代碼,還執(zhí)行以下操作:確定第一 PF模塊重新使能或故障恢復(fù),將該第一 PF模塊確 定為該PF模塊組中的PF模塊;基于該第一 PF模塊,建立該第一 PF模塊對應(yīng)的VF模塊組。
[0029]結(jié)合第三方面,或第三方面的第一種至第三種中任一種可能的實現(xiàn)方式,在第三 方面的第四種可能的實現(xiàn)方式中,該處理器用于調(diào)用該存儲器中存儲的該程序代碼,還執(zhí) 行以下操作:確定第二 PF模塊從該第一物理網(wǎng)卡的該PF模塊組中刪除;釋放該第二 PF模 塊對應(yīng)的VF模塊組。
[0030]結(jié)合第三方面,或第三方面的第一種至第四種中任一種可能的實現(xiàn)方式,在第三 方面的第五種可能的實現(xiàn)方式中,該處理器用于調(diào)用該存儲器中存儲的該程序代碼,還執(zhí) 行以下操作:確定該第一物理網(wǎng)卡的第三PF模塊發(fā)生故障時,確定該第三PF模塊對應(yīng)的 VF模塊組中的VF模塊是否可用;在該第三PF模塊對應(yīng)的VF模塊組中的至少一個VF模塊 可用時,將該第一 PF模塊對應(yīng)的VF模塊組中的可用的該至少一個VF模塊確定為繼續(xù)可 用。
[0031]結(jié)合第三方面,或第三方面的第一種至第五種中任一種可能的實現(xiàn)方式,在第三 方面的第六種可能的實現(xiàn)方式中,該處理器用于調(diào)用該存儲器中存儲的該程序代碼,還執(zhí) 行以下操作:確定該目標VF模塊群中分配給該至少一個VM中的第一 VM的第一 VF模塊出 現(xiàn)故障;從該PF模塊組中各個PF模塊對應(yīng)的VF模塊組中,選擇不同于該第一 VF模塊的第
二VF模塊;更新該目標VF模塊群,并將該第二 VF模塊分配給該第一 VM。
[0032]結(jié)合第三方面,或第三方面的第一種至第六種中任一種可能的實現(xiàn)方式,在第三 方面的第七種可能的實現(xiàn)方式中,該第一物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準 PCIe總線,該處理器用于調(diào)用該存儲器中存儲的該程序代碼,還執(zhí)行以下操作:確定需要 將該目標VF模塊群中與該至少兩個PCIe總線中第一 PCIe總線連接的VF模塊的數(shù)據(jù)發(fā)送 到該目標VF模塊群中與該至少兩個PCIe總線中第二 PCIe總線連接的VF模塊;將該與第 一 PCIe總線連接的VF模塊的數(shù)據(jù)通過該第一物理網(wǎng)卡的交換機發(fā)送到該與第二 PCIe總 線連接的VF模塊。
[0033]結(jié)合第三方面,或第三方面的第一種至第七種中任一種可能的實現(xiàn)方式,在第三 方面的第八種可能的實現(xiàn)方式中,該處理器用于調(diào)用該存儲器中存儲的該程序代碼,還執(zhí)行以下操作:確定該主PF模塊出現(xiàn)故障;從該PF模塊組中,選擇除該主PF模塊之外的PF 模塊作為新的主PF模塊;基于該PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定該新的主 PF模塊管理的新的目標VF模塊群,其中,該新的目標VF模塊群中的VF模塊用于分配給至 少一個虛擬機VM,以便該至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
[0034]第四方面,提供了一種物理網(wǎng)卡,包括:有至少兩個PF模塊組成的PF模塊組,以及 至少兩個VF模塊組;其中,該至少兩個PF模塊中的一個PF模塊對應(yīng)于該至少兩個VF模塊 組中的一個VF模塊組,該至少兩個PF模塊中的任一 PF模塊在被確定為主PF模塊后能夠 管理其他PF模塊連接的VF模塊組中的VF模塊。
[0035]結(jié)合第四方面,在第四方面的第一種可能的實現(xiàn)方式中,所述至少兩個VF模塊組 中各個VF模塊組中的VF模塊包括兩類空間資源;其中,所述兩類空間資源中的一類空間資 源用于在所述主PF模塊被確定前,由所述兩類空間資源所屬的VF模塊所屬的VF模塊組對 應(yīng)的PF模塊進行訪問;所述兩類空間資源中的另一類空間資源用于在所述主PF模塊被確 定后,與所述主PF模塊建立連接由所述主PF模塊進行訪問。
[0036]結(jié)合第四方面或第四方面的第一種可能的實現(xiàn)方式,在第四方面的第二種可能的 實現(xiàn)方式中,所述物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準PCIe總線,所述物理網(wǎng)卡 還包括內(nèi)置交換機;其中,所述內(nèi)置交換機用于將與所述至少兩個PCIe總線中的第一 PCIe 總線連接的VF模塊的數(shù)據(jù)通過發(fā)送到與所述至少兩個PCIe總線中的第二 PCIe總線連接 的VF模塊。
[0037]結(jié)合第四方面,第四方面的第一種可能的實現(xiàn)方式或第四方面的第二種可能的實 現(xiàn)方式,在第四方面的第三種可能的實現(xiàn)方式中,所述物理網(wǎng)卡通過至少兩個端口與外部 交換機連接;所述物理網(wǎng)卡還用于接收數(shù)據(jù)傳輸?shù)难b置通過聚合鏈路發(fā)送的數(shù)據(jù)流,并通 過所述至少兩個端口中各個端口均衡發(fā)送所述數(shù)據(jù)流至所述外部交換機。
[0038]第五方面,提供了一種用于數(shù)據(jù)傳輸?shù)南到y(tǒng),包括第二方面或第二方面中的任一 種可能的實現(xiàn)方式中的用于數(shù)據(jù)傳輸?shù)难b置和第四方面或第四方面的任一種可能的實現(xiàn) 方式中的物理網(wǎng)卡,或者包括第三方面或第三方面中的任一種可能的實現(xiàn)方式中的用于數(shù) 據(jù)傳輸?shù)难b置和第四方面或第四方面的任一種可能的實現(xiàn)方式中的物理網(wǎng)卡;其中,第二 方面或第二方面中的任一種可能的實現(xiàn)方式中所指的第一物理網(wǎng)卡或第三方面或第三方 面中的任一種可能的實現(xiàn)方式中所指的第一物理網(wǎng)卡為第四方面或第四方面的任一種可 能的實現(xiàn)方式中所指的物理網(wǎng)卡。
[0039]因此,在本發(fā)明實施例中,由于一個物理網(wǎng)卡具有至少兩個PF模塊組成的PF模塊 組,且可以從該PF模塊組中的至少兩個PF模塊中選擇一個PF模塊作為主PF模塊,從而由 于選擇的機會較多,可以避免系統(tǒng)出現(xiàn)故障,并減少資源浪費。
【專利附圖】
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中 所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實 施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖 獲得其他的附圖。
[0041]圖1是根據(jù)本發(fā)明實施例的用于數(shù)據(jù)傳輸?shù)姆椒ǖ氖疽庑粤鞒虉D。[0042]圖2是根據(jù)本發(fā)明另一實施例的用于數(shù)據(jù)傳輸?shù)姆椒ǖ氖疽庑粤鞒虉D。
[0043]圖3是根據(jù)本發(fā)明另一實施例的用于數(shù)據(jù)傳輸?shù)难b置的示意性框圖。
[0044]圖4是根據(jù)本發(fā)明另一實施例的用于數(shù)據(jù)傳輸?shù)难b置的示意性框圖。
[0045]圖5是根據(jù)本發(fā)明另一實施例的用于數(shù)據(jù)傳輸?shù)难b置的示意性框圖。
[0046]圖6是根據(jù)本發(fā)明另一實施例的物理網(wǎng)卡的示意性框圖。
[0047]圖7是根據(jù)本發(fā)明另一實施例的用于數(shù)據(jù)傳輸?shù)南到y(tǒng)的示意性框圖。
【具體實施方式】
[0048]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā) 明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施 例,都屬于本發(fā)明保護的范圍。
[0049]圖1是根據(jù)本發(fā)明實施例的一種用于數(shù)據(jù)傳輸?shù)姆椒?。如圖1所示,該方法100 包括:
[0050]SI 10,從第一物理網(wǎng)卡的第一 PF模塊組中,確定主PF模塊,第一 PF模塊組包括至 少兩個PF模塊,第一 PF模塊組中各個PF模塊對應(yīng)不同的VF模塊組。
[0051 ] S120,基于該PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定該主PF模塊管理的 目標VF模塊群,其中,主PF模塊管理的目標VF模塊群中的VF模塊被分配給至少一個虛擬 機,以便該至少一個虛擬機實現(xiàn)數(shù)據(jù)傳輸。
[0052]用于數(shù)據(jù)傳輸?shù)难b置,例如,具備數(shù)據(jù)傳輸功能的至少一個處理器的裝置,例如可 以是主機,或者由至少兩個主機組成的主機組,可以從第一物理網(wǎng)卡的包括至少兩個PF模 塊的PF模塊組中,確定主PF模塊;然后從該PF模塊組中各個PF模塊對應(yīng)的VF模塊組中, 確定需要該主PF模塊管理的目標VF模塊群,其中然后可以將該目標VF模塊群中的VF模 塊可以被分配給至少一個虛擬機,從而各個虛擬機可以通過VF模塊實現(xiàn)數(shù)據(jù)傳輸。
[0053]因此,在本發(fā)明實施例中,由于一個物理網(wǎng)卡具有至少兩個PF模塊組成第一 PF模 塊組,且可以從第一 PF模塊組中的至少兩個PF模塊中選擇一個PF模塊作為主PF模塊,由 于存在至少兩個PF模塊可供選擇,增加了主PF模塊的可靠性,從而可以減少了系統(tǒng)出現(xiàn)故 障的概率,并減少了因為系統(tǒng)故障而造成的資源浪費。
[0054]本發(fā)明實施例中提到的物理網(wǎng)卡也可以稱之為為SR-1OV網(wǎng)卡,其可以包括兩種 功能模塊,PF模塊和VF模塊,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知道,也簡稱為PF和VF。其中,PF模塊 支持SR-1OV擴展功能的PCIe功能,被用于配置和管理SR-1OV功能特性;VF模塊實現(xiàn)簡化 的PCIe功能。在從PF模塊組中確定了主PF模塊且確定了主PF模塊管理的目標VF模塊 群之后,虛擬機管理層(Virtual Machine Management, VMM)可以將目標VF模塊群中的每 一個VF模塊分別作為一個PCIe設(shè)備分給虛擬機(Virtual Machine, VM)。VM對被分配的 VF模塊進行控制面訪問時,由VM發(fā)起請求,主PF模塊和VMM響應(yīng)請求,并返回結(jié)果到VM 中。VM從VF模塊收發(fā)數(shù)據(jù)報文時,結(jié)合CPU提供的輸入輸出存儲管理單元(input/output memory management unit, 10MMU)技術(shù),實現(xiàn)收發(fā)完全獨立,不需要主PF模塊和VMM參與。
[0055]在本發(fā)明實施例中,PF模塊組中各個PF模塊與VF模塊組存在對應(yīng)關(guān)系,在沒有選 擇主PF模塊之前,各個PF模塊可以用于管理其所對應(yīng)的VF模塊組中的所有VF模塊,也就是說各個PF模塊下掛有其所對應(yīng)的VF模塊組中的VF模塊。而在選擇了主PF模塊之后, 主PF模塊能夠?qū)崿F(xiàn)針對PF模塊組中所有PF模塊對應(yīng)的VF模塊組中的VF模塊的統(tǒng)一管 理和資源分配等,從而,可以從所有PF模塊對應(yīng)的VF模塊組中選擇全部或部分VF模塊組 成目標VF模塊群,由VMM將目標VF模塊群中的VF模塊分配給虛擬機。
[0056]本發(fā)明實施例中,VF模塊可以包括兩類空間資源,第一類空間資源是受直接對應(yīng) 的PF模塊的控制,在主PF模塊被確定之前,直接對應(yīng)的PF模塊通過訪問第一類空間資源 對該VF模塊進行管理;第二類空間資源在系統(tǒng)選擇了主PF模塊之后,被重新映射為主PF 模塊可見的區(qū)域(即建立第二空間資源與該主PF模塊的連接),可以由主PF模塊直接對該 第二類空間資源進行訪問以實現(xiàn)對該VF模塊進行管理,不受直接對應(yīng)的PF模塊的控制。
[0057]在本發(fā)明實施例中,SllO中從第一物理網(wǎng)卡的PF模塊組中,確定主PF模塊,可以 包括:基于該PF模塊組中每一個PF模塊的基準參數(shù),確定該主PF模塊,其中,該基準參數(shù) 可以包括PF模塊的故障次數(shù)、PF模塊對應(yīng)的VF模塊組中VF模塊的個數(shù)、PF模塊靜態(tài)帶寬 和PF模塊動態(tài)帶寬中的至少一種。
[0058]具體地說,在需要從第一物理網(wǎng)卡的PF模塊組中確定主PF模塊時,用于數(shù)據(jù)傳輸 的裝置可以基于該PF模塊組中每一個PF模塊的基準參數(shù),確定該PF模塊組中每一個PF模 塊的性能值,并基于每一個PF模塊的性能值,可以確定該PF模塊組中PF模塊的優(yōu)先級排 序,然后可以基于優(yōu)先級排序,從PF模塊組中確定主PF模塊。在本發(fā)明實施例中,每一個 PF模塊的基準參數(shù)相對于該PF模塊可以根據(jù)不同的基準性能值得到。例如,若PF模塊的 基準參數(shù)為PF模塊故障次數(shù)和PF模塊對應(yīng)的VF模塊組中VF模塊的個數(shù),可以設(shè)置發(fā)生 一次故障的基準性能值為-10,一個VF模塊的基準性能值為5,若PF模塊0的故障次數(shù)為 2以及對應(yīng)的VF模塊組中VF模塊的個數(shù)為6個,PF模塊I的故障次數(shù)3以及對應(yīng)的VF模 塊組中VF模塊的個數(shù)5個,則可以計算得到PF模塊0的性能值為10,而PF模塊I的性能 值為-5,則PF模塊0的性能值大于PF模塊I的性能值,從而,PF模塊0的優(yōu)先級高于PF 模塊1,則可以選擇PF模塊0作為主PF模塊。應(yīng)理解,上述只是一個舉例,本發(fā)明實施例并 不對此作限定。
[0059]在本發(fā)明實施例中,對于如何確定主PF模塊可以具有以下原則:若基準參數(shù)只是 PF模塊故障次數(shù),則發(fā)生故障次數(shù)越少,則PF模塊的優(yōu)先級越高,越可能被確定為主PF模 塊;若基準參數(shù)只是PF模塊對應(yīng)的VF模塊組中VF模塊的個數(shù),則PF模塊對應(yīng)的VF模塊 組中VF模塊的個數(shù)越多,則該PF模塊的優(yōu)先級越高,越可能被確定為主PF模塊;若基準參 數(shù)只是PF模塊的靜態(tài)帶寬,則PF模塊的靜態(tài)帶寬越大,則該PF模塊的優(yōu)先級越高,越可能 被確定為主PF模塊;若基準參數(shù)只是PF模塊的動態(tài)帶寬,則PF模塊的動態(tài)帶寬越大,則優(yōu) 先級越高,越可能被確定為主PF模塊;若基準參數(shù)為PF模塊故障次數(shù)、PF模塊對應(yīng)的VF 模塊組中VF模塊的個數(shù)、PF模塊動態(tài)帶寬和PF模塊靜態(tài)帶寬中的至少兩種,則可以綜合 考慮兩種因素進行優(yōu)先級排序,以確定出主PF模塊。
[0060]在本發(fā)明實施例中,S120中基于該PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確 定該主PF模塊管理的目標VF模塊群,可以包括:從第一 PF模塊組中每一個PF模塊對應(yīng)的 VF模塊組中選出至少一個VF模塊,組成該目標VF模塊群。
[0061]例如,需要至少兩個VF模塊實現(xiàn)鏈路聚合功能(當(dāng)然也可以是其它場景下)時,在 確定了主PF模塊之后,可以從第一 PF模塊組中每一個PF模塊對應(yīng)的VF模塊組中分別選出至少一個VF模塊,組成該目標VF模塊群。在本發(fā)明實施例,如果某一 PF模塊故障,不會影響到其他PF模塊對應(yīng)的VF模塊組中的VF模塊的正常工作,從而可以實現(xiàn)不同VF模塊組的VF模塊的相互隔離,從而本發(fā)明實施例從不同的PF模塊對應(yīng)的VF模塊組中,選擇VF 模塊,可以提高系統(tǒng)的可靠性和穩(wěn)定性,從而可以保證系統(tǒng)帶寬。
[0062]在本發(fā)明實施例中,在需要發(fā)送聚合鏈路數(shù)據(jù)流(聚合鏈路數(shù)據(jù)流指通過至少兩個VF模塊聯(lián)合發(fā)送的數(shù)據(jù)流,也就是至少兩個VF模塊收發(fā)數(shù)據(jù)的通道可以形成聚合鏈路) 時,可以通過物理網(wǎng)卡上的多個端口(port)向外部交換機發(fā)送聚合鏈路數(shù)據(jù)流,此時,可以實時監(jiān)測各個端口的流量,例如,該物理網(wǎng)卡與外部交換機有兩個端口連接,在某一段時間內(nèi),該物理網(wǎng)卡中的發(fā)送調(diào)度模塊監(jiān)測到端口 0的流量為0.2G,端口 I的流量為1G,則為了實現(xiàn)鏈路帶寬均衡,則可以減少發(fā)到端口 I的聚合鏈路的流量,增加到端口 0的聚合鏈路的流量,例如,可以將端口 0和端口 I的流量均調(diào)整為0.6G。
[0063]應(yīng)理解,對于非聚合鏈路數(shù)據(jù)流,也可以通過多端口向外部交換機發(fā)送該數(shù)據(jù)流, 并可以實時監(jiān)測端口的流量,并進行調(diào)整。
[0064]應(yīng)理解,在本發(fā)明實施例中,在確定了主PF模塊之后,也可以直接將主PF模塊對應(yīng)的VF模塊組確定為該主PF模塊管理的目標VF模塊群,或者將其他一個或多個PF模塊對應(yīng)的VF模塊組確定為該主PF模塊管理的目標VF模塊群。具體如何從PF模塊組中各個 PF模塊對應(yīng)的VF模塊組中,確定目標VF模塊群,本發(fā)明并不作限定。
[0065]在本發(fā)明實施例中,該方法100還可以包括:確定第一 PF模塊重新使能或故障恢復(fù),將該第一 PF模塊確定為第一 PF模塊組中的PF模塊;基于該第一 PF模塊,建立該第一 PF模塊對應(yīng)的VF模塊組?;蛘?,該方法100還可以包括:確定第二 PF模塊從該第一物理網(wǎng)卡的第一 PF模塊組中刪除;釋放該第二 PF模塊對應(yīng)的VF模塊組。
[0066]具體地說,用于數(shù)據(jù)傳輸?shù)难b置可以監(jiān)控第一物理網(wǎng)卡的所有VF模塊,并把VF模塊進行分組管理。例如,可以將PF模塊0下掛的VF模塊組成VF模塊組0,即VF模塊0、VF 模塊1-VF模塊127組成VF模塊組0,PF模塊I下掛的VF模塊組成VF模塊組1,即VF模塊128,VF模塊129、VF模塊130…VF模塊255組成VF模塊組I。在第一物理網(wǎng)卡中的第一 PF模塊重新使能或者故障恢復(fù)之后,用于數(shù)據(jù)傳輸?shù)难b置可以基于第一 PF模塊以及第一 PF模塊下掛的VF模塊,建立第一 PF模塊對應(yīng)的VF模塊組。在該第一物理網(wǎng)卡的PF模塊組中的第二PF模塊被從系統(tǒng)中刪除時(例如,因第二PF模塊發(fā)生故障而刪除或用戶主動刪除),可以釋放已建立的第二 PF模塊對應(yīng)的VF模塊組。
[0067]因此,在本發(fā)明實施例中,在PF模塊重新使能或故障恢復(fù)之后,可以建立該重新使能或故障恢復(fù)的PF模塊對應(yīng)的VF模塊組,或在刪除了 PF模塊后,釋放該被刪除的PF模塊對應(yīng)的VF模塊組,從而可以動態(tài)調(diào)整物理網(wǎng)卡中能夠被使用的VF模塊,使得系統(tǒng)更為靈活。
[0068]在本發(fā)明實施例中,該方法100還可以包括:確定該第一物理網(wǎng)卡的第三PF模塊發(fā)生故障時,確定該第三PF模塊對應(yīng)的VF模塊組中的VF模塊是否可用;在該第三PF模塊對應(yīng)的VF模塊組中的至少一個VF模塊可用時,將該第一 PF模塊對應(yīng)的VF模塊組中的可用的至少一個VF確定為繼續(xù)可用。
[0069]具體地說,在本發(fā)明實施例中,在某一物理網(wǎng)卡的某一 PF模塊出現(xiàn)故障時,可以不直接釋放該PF模塊對應(yīng)的VF模塊組,可以進一步確定該PF模塊下的VF模塊的狀態(tài),如果該PF模塊下的所有VF模塊發(fā)生故障,則可以直接釋放該PF模塊對應(yīng)的VF模塊組,如果 該PF模塊下的部分VF模塊發(fā)生故障,則只需將發(fā)生故障的VF模塊從該VF模塊組中剔除。 因此,在本發(fā)明實施例中,在PF模塊發(fā)生故障時,如果該PF模塊下掛的VF模塊可用,將該 發(fā)生故障的PF模塊下掛的可用的VF模塊確定為繼續(xù)可用,可以避免資源浪費。
[0070]應(yīng)理解,本發(fā)明實施例中提到的第一 PF模塊,第二 PF模塊和第三PF模塊可以是 相同的PF模塊,也可以是不同的PF模塊。
[0071]在本發(fā)明實施例中,該方法100還可以包括:確定該目標VF模塊群中分配給該至 少一個VM中的第一 VM的第一 VF模塊出現(xiàn)故障;從該PF模塊組中各個PF模塊對應(yīng)的VF 模塊組中,確定第二 VF模塊,該第二 VF模塊不同于該目標VF模塊群包括的VF模塊;更新 該目標VF模塊群,并將該第二 VF模塊分配給該第一 VM。
[0072]具體地說,在某一 VM中被分配的VF模塊發(fā)生故障時,可以從物理網(wǎng)卡的PF模塊 組中各個PF模塊對應(yīng)的VF模塊組中,重新選擇一個新的VF模塊,該重新選擇的VF模塊不 同于原有的目標VF模塊群包括的VF模塊;然后,更新該目標VF模塊群,即將該重新選擇的 VF模塊作為該目標VF模塊群的成員,并將該重新選擇的VF模塊分配給該VM。
[0073]在本發(fā)明實施例中,該方法100還可以包括:確定需要將該目標VF模塊群中與第 一 PCIe總線連接的VF模塊的數(shù)據(jù)發(fā)送到該目標VF模塊群中與第二 PCIe總線連接的VF 模塊;將該與第一 PCIe總線連接的VF模塊的數(shù)據(jù)通過該第一物理網(wǎng)卡的交換機發(fā)送到該 與第二 PCIe總線連接的VF模塊。
[0074]S卩,第一物理網(wǎng)卡可以占用至少兩個PCIe總線,若一個PCIe總線上的某一個VF 模塊數(shù)據(jù)需要發(fā)送到同一個PCIe總線上的另一個VF模塊,可以通過該物理網(wǎng)卡的內(nèi)部交 換機實現(xiàn)該數(shù)據(jù)的發(fā)送。若與某一個PCIe總線連接的VF模塊數(shù)據(jù)需要發(fā)送到與另一個 PCIe總線連接的VF模塊,也可以通過該物理網(wǎng)卡的內(nèi)部交換機實現(xiàn)該數(shù)據(jù)的發(fā)送。
[0075]因此,在本發(fā)明實施例中,同一物理網(wǎng)卡中的與不同PCIe總線連接的VF模塊之間 的數(shù)據(jù)交換,或者同一物理網(wǎng)卡中與相同PCIe總線連接的VF模塊之間的數(shù)據(jù)交換,可以通 過該物理網(wǎng)卡中內(nèi)置的交換機實現(xiàn),從而可以節(jié)省網(wǎng)絡(luò)帶寬,降低數(shù)據(jù)收發(fā)時延。
[0076]在本發(fā)明實施例中,該方法100還可以包括:確定該主PF模塊出現(xiàn)故障;從該PF 模塊組中,選擇除該主PF模塊之外的PF模塊作為新的主PF模塊;基于該PF模塊組中各個 PF模塊對應(yīng)的VF模塊組,確定該新的主PF模塊管理的新的目標VF模塊群;將該新的目標 VF模塊群中的VF模塊,分配給至少一個虛擬機,以便該至少一個虛擬機實現(xiàn)數(shù)據(jù)傳輸。
[0077]具體地說,在系統(tǒng)的運行過程中,可以實時跟蹤記錄主PF模塊的具體操作信息, 監(jiān)控主PF模塊的狀態(tài)。如果主PF模塊出現(xiàn)故障,則可以從PF模塊組中重選選擇一個PF 模塊作為新的主PF模塊,并把記錄的操作信息更新到新的主PF模塊,并重新為該新的主PF 模塊確定新的目標VF模塊群,并將該新的目標VF模塊群中的VF模塊,分配給至少一個虛 擬機,以便該至少一個虛擬機實現(xiàn)數(shù)據(jù)傳輸。
[0078]因此,在本發(fā)明實施例中,在原主PF模塊出現(xiàn)故障時,可以從具有至少兩個PF模 塊的PF模塊組中重新選擇一個新的主PF模塊,可以進一步避免系統(tǒng)出現(xiàn)故障并減少資源浪費。
[0079]應(yīng)理解,本發(fā)明還可以與軟件模擬虛擬技術(shù)相結(jié)合,也就是說,網(wǎng)卡中還可以存在 第二 PF模塊組,第二 PF模塊組中的PF模塊可以通過軟件模擬的方式,虛擬出至少兩個vNIC,供傳統(tǒng)(legacy)虛擬機使用。
[0080]為了更加清楚地理解本發(fā)明,以下將結(jié)合圖2描述根據(jù)本發(fā)明實施例的用于數(shù)據(jù) 傳輸?shù)姆椒ā?br>
[0081]首先對圖2所示出的場景進行簡要說明。在該場景下,PF模塊組I包括PF模塊
0;PF模塊組2包括PF模塊I和PF模塊2,PF模塊I下掛有VF模塊I和VF模塊2,PF模 塊2下掛有VF模塊3和VF模塊4。其中,圖中PF模塊0、PF模塊I和PF模塊2分別示出 為PFO、PFl和PF2 ;VF模塊1、VF模塊2、VF模塊3和VF模塊4分別示出為VF1、VF2、VF3 和VF4。圖2中所示出的VF DD指VF模塊的驅(qū)動(Device Driver), PF DD指PF模塊的驅(qū) 動。VMM可以由主機運行,用于VM的創(chuàng)建、刪除、硬件資源的管理,VM資源的分配等。以下 將結(jié)合圖2具體描述根據(jù)本發(fā)明實施例的方法。
[0082]VMM可以從物理網(wǎng)卡(NIC)中的PF模塊組2中選擇一個PF模塊作為主PF模塊, 具體地,VMM可以根據(jù)各個PF模塊的故障次數(shù)、對應(yīng)VF模塊組中VF模塊的個數(shù)、PF模塊 靜態(tài)帶寬和PF模塊動態(tài)帶寬中的至少一種確定主PF模塊,例如,可以如圖2中所示,將PF 模塊I確定為主PF模塊。在確定了主PF模塊之后,VMM可以確定該主PF模塊需要管理的 VF模塊,其中,如果需要實現(xiàn)鏈路聚合功能,可以從不同的PF模塊下掛的VF模塊中選擇VF 模塊,組成需要主PF模塊管理的目標VF模塊群,例如,如圖2中所示,可以將VF模塊2、VF 模塊3和VF模塊4確定為目標VF模塊群。然后,VMM可以將需要主PF模塊管理的目標VF 模塊群中的各個VF模塊分配給各個VM,供各個VM后續(xù)數(shù)據(jù)傳輸,例如如圖2所示,將VF模 塊2分配給VM2,將VF模塊3分配給VM3,以及將VF模塊4分配給VM4。在選擇的主PF模 塊發(fā)生故障時,VMM可以從PF模塊組中重新選擇一個PF模塊作為主PF模塊,并可以重新 為該主PF模塊選擇目標VF模塊群。在本發(fā)明實施例中,VMM也可以基于軟件模擬的方式 通過PF模塊虛擬出一個或至少兩個vNIC,例如如圖2中所示,通過PF模塊0虛擬出vNICl 和VNIC2,分別為傳統(tǒng)(Legacy) VMl和傳統(tǒng)(Legacy) VM2服務(wù)。在為VM分配了 VF模塊或 vNIC之后,各個VM可以實現(xiàn)數(shù)據(jù)的傳輸。以下將介紹四種主要的數(shù)據(jù)傳輸路徑的實現(xiàn)方 式:
[0083]數(shù)據(jù)流①:Legacy VM之間的數(shù)據(jù)交換是通過VMM內(nèi)置的虛擬軟件交換機 (Virtual Sff switch)實現(xiàn)的。
[0084]數(shù)據(jù)流②:Legacy VM中的虛擬網(wǎng)卡收發(fā)的數(shù)據(jù)通道是:外部交換機一內(nèi)部交換 機一MAC — PF — VMM — VM ;VM — VMM — PF — MAC —內(nèi)部交換機一外部交換機。
[0085]數(shù)據(jù)流③:采用VF模塊的VM之間的數(shù)據(jù)交換是通過NIC中內(nèi)置的交換機實現(xiàn)的, 不論VF模塊連接的是相同的PCIe還是不同的PCIe,均可以通過NIC內(nèi)置的交換機實現(xiàn)。
[0086]數(shù)據(jù)流④:采用VF模塊的VM數(shù)據(jù)收發(fā)通道是:外部交換機一內(nèi)部交換機一介質(zhì) 訪問控制(Media Access Control, MAC) — VF ;VF — MAC —內(nèi)部交換機一外部交換機。
[0087]數(shù)據(jù)流⑤:主PF對VF進行資源管理和控制的通道是:VM — VMM —主PF — VF ; VF —主 PF — VMM — VM。
[0088]因此,在本發(fā)明實施例中,由于一個物理網(wǎng)卡具有至少兩個PF模塊組成的PF模塊 組,且可以從該PF模塊組中的至少兩個PF模塊中選擇一個PF模塊作為主PF模塊,從而由 于選擇的機會較多,可以避免系統(tǒng)出現(xiàn)故障,并減少資源浪費。
[0089]圖3是根據(jù)本發(fā)明實施例用于數(shù)據(jù)傳輸?shù)难b置200的示意性框圖。如圖3所示,該裝置200包括第一確定單元210和第二確定單元220。第一確定單元210用于從第一物 理網(wǎng)卡的物理功能PF模塊組中,確定主PF模塊,該PF模塊組包括至少兩個PF模塊,該PF 模塊組中各個PF模塊對應(yīng)不同的VF模塊組;第二確定單元220用于基于該PF模塊組中各 個PF模塊對應(yīng)的虛擬功能VF模塊組,確定該主PF模塊管理的目標VF模塊群,其中,該目 標VF模塊群中的VF模塊用于分配給至少一個虛擬機VM,以便該至少一個VM實現(xiàn)數(shù)據(jù)傳 輸。
[0090]可選地,該第一確定單元210具體用于:基于該PF模塊組中每一個PF模塊的基準 參數(shù),確定該主PF模塊,其中,該PF模塊的基準參數(shù)包括PF模塊故障次數(shù)、PF模塊對應(yīng)的 VF模塊個數(shù)、PF模塊靜態(tài)帶寬、PF模塊靜態(tài)帶寬中的至少一種。
[0091]可選地,該第二確定單元220具體用于:從該PF模塊組中每一個PF模塊對應(yīng)的VF 模塊組中選出至少一個VF模塊,組成該目標VF模塊群。
[0092]如圖4所示,該裝置200還包括第四確定單元252和建立單元254。第四確定單元 252用于確定第一 PF模塊重新使能或故障恢復(fù),將所述第一 PF模塊確定為所述PF模塊組 中的PF模塊;建立單兀254用于基于所述第一 PF模塊,建立所述第一 PF模塊對應(yīng)的VF模 塊組。
[0093]可選地,如圖4所示,該裝置200還包括第五確定單元256和釋放單元258。第五 確定單元256用于確定第二 PF模塊從所述第一物理網(wǎng)卡的所述PF模塊組中刪除;釋放單 元258用于釋放所述第二 PF模塊對應(yīng)的VF模塊組。
[0094]可選地,如圖4所示,該裝置200還包括第六確定單元262、保持單元264和保持單 元264。第六確定單元262用于確定所述第一物理網(wǎng)卡的第三PF模塊發(fā)生故障時,確定所 述第三PF模塊對應(yīng)的VF模塊組中的VF是否可用;保持單元264用于在所述第三PF模塊 對應(yīng)的VF模塊組中的至少一個VF模塊可用時,將所述第三PF模塊對應(yīng)的VF模塊組中的 所述至少一個VF模塊確定為繼續(xù)可用。
[0095]可選地,如圖4所示,該裝置200還包括第七確定單元272、選擇單元274和更新 單元276。第七確定單元272用于確定該目標VF模塊群中分配給該至少一個VM中的第一 VM的第一 VF模塊出現(xiàn)故障;選擇單元274用于從該PF模塊組中各個PF模塊對應(yīng)的VF模 塊組中,選擇不同于該第一 VF模塊的第二 VF模塊;更新單元276用于更新該目標VF模塊群。
[0096]可選地,所述第一物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準PCIe總線,如圖 4所示,該裝置200還包括:第八確定單元282,用于確定需要將所述目標VF模塊群中與所 述至少兩個PCIe總線中第一 PCIe總線連接的VF模塊的數(shù)據(jù)發(fā)送到所述目標VF模塊群中 與所述至少兩個PCIe總線中第二 PCIe總線連接的VF模塊;發(fā)送單元284,用于將該與第 一 PCIe總線連接的VF模塊的數(shù)據(jù)通過該第一物理網(wǎng)卡的交換機發(fā)送到該與第二 PCIe總 線連接的VF模塊。
[0097]可選地,如圖4所示,該裝置200還包括第三確定單元240。該第三確定單元240 用于確定所述主PF模塊出現(xiàn)故障;該第一確定單元210還用于:從該PF模塊組中,選擇除 該主PF模塊之外的PF模塊作為新的主PF模塊;該第二確定單元220還用于:基于該PF模 塊組中各個PF模塊對應(yīng)的VF模塊組,確定該新的主PF模塊管理的新的目標VF模塊群,其 中,該新的目標VF模塊群中的VF模塊用于分配給至少一個虛擬機VM,以便該至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
[0098]因此,在本發(fā)明實施例中,由于一個物理網(wǎng)卡具有至少兩個PF模塊組成的PF模塊 組,且可以從該PF模塊組中的至少兩個PF模塊中選擇一個PF模塊作為主PF模塊,從而由 于選擇的機會較多,可以避免系統(tǒng)出現(xiàn)故障,并減少資源浪費。
[0099]圖5是根據(jù)本發(fā)明實施例的用于數(shù)據(jù)傳輸?shù)难b置300的示意性框圖。如圖5所示, 該裝置300包括:處理器310310和存儲器320320 ;其中,該存儲器320存儲程序代碼,該處 理器310用于調(diào)用該存儲器320中存儲的該程序代碼,執(zhí)行以下操作:從第一物理網(wǎng)卡的物 理功能PF模塊組中,確定主PF模塊,該PF模塊組包括至少兩個PF模塊,該PF模塊組中各 個PF模塊對應(yīng)不同的虛擬功能VF模塊組;基于該PF模塊組中各個PF模塊對應(yīng)的虛擬功 能VF模塊組,確定該主PF模塊管理的目標VF模塊群,其中,該目標VF模塊群中的VF模塊 用于分配給至少一個虛擬機W,以便該至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
[0100]可選地,該處理器310用于調(diào)用該存儲器320中存儲的該程序代碼,具體執(zhí)行以下 操作:基于該PF模塊組中每一個PF模塊的基準參數(shù),確定該主PF模塊,其中,該PF模塊的 基準參數(shù)包括PF模塊故障次數(shù)、PF模塊對應(yīng)的VF模塊個數(shù)、PF模塊靜態(tài)帶寬和PF模塊靜 態(tài)帶寬中的至少一種。
[0101]可選地,該處理器310用于調(diào)用該存儲器320中存儲的該程序代碼,具體執(zhí)行以下 操作:從該PF模塊組中每一個PF模塊對應(yīng)的VF模塊組中選出至少一個VF模塊,組成該目 標VF模塊群。
[0102]可選地,該處理器310用于調(diào)用該存儲器320中存儲的該程序代碼,還執(zhí)行以下操 作:確定第一 PF模塊重新使能或故障恢復(fù),將該第一 PF模塊確定為該PF模塊組中的PF模 塊;基于該第一 PF模塊,建立該第一 PF模塊對應(yīng)的VF模塊組。
[0103]可選地,該處理器310用于調(diào)用該存儲器320中存儲的該程序代碼,還執(zhí)行以下操 作:確定第二 PF模塊從該第一物理網(wǎng)卡的該PF模塊組中刪除;釋放該第二 PF模塊對應(yīng)的 VF模塊組。
[0104]可選地,該處理器310用于調(diào)用該存儲器320中存儲的該程序代碼,還執(zhí)行以下操 作:確定該第一物理網(wǎng)卡的第三PF模塊發(fā)生故障時,確定該第三PF模塊對應(yīng)的VF模塊組 中的VF模塊是否可用;在該第三PF模塊對應(yīng)的VF模塊組中的至少一個VF模塊可用時,將 該第一 PF模塊對應(yīng)的VF模塊組中的可用的該至少一個VF模塊確定為繼續(xù)可用。
[0105]可選地,該處理器310用于調(diào)用該存儲器320中存儲的該程序代碼,還執(zhí)行以下操 作:確定該目標VF模塊群中分配給該至少一個VM中的第一 VM的第一 VF模塊出現(xiàn)故障; 從該PF模塊組中各個PF模塊對應(yīng)的VF模塊組中,選擇不同于該第一 VF模塊的第二 VF模 塊;更新該目標VF模塊群。
[0106]可選地,該第一物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準PCIe總線,該處理 器310用于調(diào)用該存儲器320中存儲的該程序代碼,還執(zhí)行以下操作:確定需要將該目標 VF模塊群中與該至少兩個PCIe總線中第一 PCIe總線連接的VF模塊的數(shù)據(jù)發(fā)送到該目標 VF模塊群中與該至少兩個PCIe總線中第二 PCIe總線連接的VF模塊;將該與第一 PCIe總 線連接的VF模塊的數(shù)據(jù)通過該第一物理網(wǎng)卡的交換機發(fā)送到該與第二 PCIe總線連接的VF 模塊。
[0107]可選地,該處理器310用于調(diào)用該存儲器320中存儲的該程序代碼,還執(zhí)行以下操作:確定該主PF模塊出現(xiàn)故障;從該PF模塊組中,選擇除該主PF模塊之外的PF模塊作為 新的主PF模塊;基于該PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定該新的主PF模塊 管理的新的目標VF模塊群,其中,該新的目標VF模塊群中的VF模塊用于分配給至少一個 虛擬機W,以便該至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
[0108]因此,在本發(fā)明實施例中,由于一個物理網(wǎng)卡具有至少兩個PF模塊組成的PF模塊 組,且可以從該PF模塊組中的至少兩個PF模塊中選擇一個PF模塊作為主PF模塊,從而由 于選擇的機會較多,可以避免系統(tǒng)出現(xiàn)故障,并減少資源浪費。
[0109]圖6是根據(jù)本發(fā)明實施例的物理網(wǎng)卡的示意性框圖。如圖6所示,該物理網(wǎng)卡400 包括:有至少兩個PF模塊411組成的PF模塊組410,以及至少兩個VF模塊組420 ;其中,所 述至少兩個PF模塊411中的一個PF模塊411對應(yīng)于所述至少兩個VF模塊組420中的一 個VF模塊組420,所述至少兩個PF模塊411中的任一 PF模塊411在被確定為主PF模塊后 能夠管理其他PF模塊411連接的VF模塊組420中的VF模塊421。
[0110]可選地,所述PF模塊組410中的各個PF模塊411相互連接,所述PF模塊組410 中的任一 PF模塊411能夠通過其他PF模塊411管理所述其他PF模塊411連接的VF模塊 組420中的VF模塊421。
[0111]可選地,,所述至少兩個VF模塊組420中各個VF模塊組420中的VF模塊421包 括兩類空間資源;其中,所述兩類空間資源中的一類空間資源用于在所述主PF模塊被確定 前,由所述兩類空間資源所屬的VF模塊421所屬的VF模塊組420對應(yīng)的PF模塊411進行 訪問;所述兩類空間資源中的另一類空間資源用于在所述主PF模塊被確定后,與所述主PF 模塊建立連接由所述主PF模塊進行訪問。
[0112]可選地,所述物理網(wǎng)卡400占用至少兩個高速外設(shè)部件互連標準PCIe總線,所述 物理網(wǎng)卡400還包括內(nèi)置交換機;其中,所述內(nèi)置交換機用于將與所述至少兩個PCIe總線 中的第一 PCIe總線連接的VF模塊的數(shù)據(jù)通過發(fā)送到與所述至少兩個PCIe總線中的第二 PCIe總線連接的VF模塊。
[0113]可選地,所述物理網(wǎng)卡通過至少兩個端口與外部交換機連接;所述物理網(wǎng)卡還用 于接收數(shù)據(jù)傳輸?shù)难b置通過聚合鏈路發(fā)送的數(shù)據(jù)流,并通過所述至少兩個端口中各個端口 均衡發(fā)送所述數(shù)據(jù)流至所述外部交換機。
[0114]因此,在本發(fā)明實施例中,由于一個物理網(wǎng)卡具有至少兩個PF模塊組成的PF模塊 組,且可以從該PF模塊組中的至少兩個PF模塊中選擇一個PF模塊作為主PF模塊,從而由 于選擇的機會較多,可以避免系統(tǒng)出現(xiàn)故障,并減少資源浪費。
[0115]圖7是根據(jù)本發(fā)明實施例的用于數(shù)據(jù)傳輸?shù)南到y(tǒng)500的示意性框圖。如圖7所示, 該系統(tǒng)400包括用于數(shù)據(jù)傳輸?shù)难b置410和物理網(wǎng)卡420 ;其中用于數(shù)據(jù)傳輸?shù)难b置510可 對應(yīng)于本發(fā)明實施例中的用于數(shù)據(jù)傳輸?shù)难b置200或300,物理網(wǎng)卡520可對應(yīng)于物理網(wǎng) 卡400,用于數(shù)據(jù)傳輸?shù)难b置200或300中提到的第一物理網(wǎng)卡即為物理網(wǎng)卡400。為了簡 潔,在此不再贅述。
[0116]因此,在本發(fā)明實施例中,由于一個物理網(wǎng)卡具有至少兩個PF模塊組成的PF模塊 組,且可以從該PF模塊組中的至少兩個PF模塊中選擇一個PF模塊作為主PF模塊,從而由 于選擇的機會較多,可以避免系統(tǒng)出現(xiàn)故障,并減少資源浪費。
[0117]本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟 以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員 可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出 本發(fā)明的范圍。
[0118]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、 裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
[0119]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以 通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的 劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件 可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或 討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦 合或通信連接,可以是電性,機械或其它的形式。
[0120]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個 網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目 的。
[0121]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以 是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0122]所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以 存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說 對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計 算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個 人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。 而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取 存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0123]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準。
【權(quán)利要求】
1.一種用于數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟?,包?從第一物理網(wǎng)卡的物理功能PF模塊組中,確定主PF模塊,所述PF模塊組包括至少兩個PF模塊,所述PF模塊組中各個PF模塊對應(yīng)不同的虛擬功能VF模塊組;基于所述PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定所述主PF模塊管理的目標 VF模塊群,其中,所述目標VF模塊群中的VF模塊用于分配給至少一個虛擬機VM,以便所述至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從第一物理網(wǎng)卡的PF模塊組中,確定主PF模塊,包括:基于所述PF模塊組中每一個PF模塊的基準參數(shù),確定所述主PF模塊,其中,所述PF 模塊的基準參數(shù)包括PF模塊故障次數(shù)、PF模塊對應(yīng)的VF模塊組中VF模塊的個數(shù)、PF模塊靜態(tài)帶寬和PF模塊靜態(tài)帶寬中的至少一種。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述基于所述PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定所述主PF模塊管理的目標VF模塊群,包括:從所述PF模塊組中每一個PF模塊對應(yīng)的VF模塊組中選出至少一個VF模塊,組成所述目標VF模塊群。
4.根據(jù)權(quán)利要求1至3中任 一項所述的方法,其特征在于,所述方法還包括:確定第一 PF模塊重新使能或故障恢復(fù),將所述第一 PF模塊確定為所述PF模塊組中的 PF模塊;基于所述第一 PF模塊,建立所述第一 PF模塊對應(yīng)的VF模塊組。
5.根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述方法還包括:確定第二 PF模塊從所述第一物理網(wǎng)卡的所述PF模塊組中刪除;釋放所述第二 PF模塊對應(yīng)的VF模塊組。
6.根據(jù)權(quán)利要求1至5中任一項所述的方法,其特征在于,所述方法還包括:確定所述第一物理網(wǎng)卡的第三PF模塊發(fā)生故障時,確定所述第三PF模塊對應(yīng)的VF模塊組中的VF模塊是否可用;在所述第三PF模塊對應(yīng)的VF模塊組中的至少一個VF模塊可用時,將所述第一 PF模塊對應(yīng)的VF模塊組中的可用的所述至少一個VF模塊確定為繼續(xù)可用。
7.根據(jù)權(quán)利要求1至6中任一項所述的方法,其特征在于,所述方法還包括:確定所述目標VF模塊群中分配給所述至少一個VM中的第一 VM的第一 VF模塊出現(xiàn)故障;從所述PF模塊組中各個PF模塊對應(yīng)的VF模塊組中,選擇不同于所述第一 VF模塊的第二 VF模塊;更新所述目標VF模塊群。
8.根據(jù)權(quán)利要求1至7中任一項所述的方法,其特征在于,所述第一物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準PCIe總線,所述方法還包括:確定需要將所述目標VF模塊群中與所述至少兩個PCIe總線中第一 PCIe總線連接的 VF模塊的數(shù)據(jù)發(fā)送到所述目標VF模塊群中與所述至少兩個PCIe總線中第二 PCIe總線連接的VF模塊;將所述與第一 PCIe總線連接的VF模塊的數(shù)據(jù)通過所述第一物理網(wǎng)卡的交換機發(fā)送到所述與第二 PCIe總線連接的VF模塊。
9.根據(jù)權(quán)利要求1至8中任一項所述的方法,其特征在于,所述方法還包括:確定所述主PF模塊出現(xiàn)故障;從所述PF模塊組中,選擇除所述主PF模塊之外的PF模塊作為新的主PF模塊;基于所述PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定所述新的主PF模塊管理的新的目標VF模塊群,其中,所述新的目標VF模塊群中的VF模塊用于分配給至少一個虛擬機VM,以便所述至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
10.一種用于數(shù)據(jù)傳輸?shù)难b置,其特征在于,包括:第一確定單元,用于從第一物理網(wǎng)卡的物理功能PF模塊組中,確定主PF模塊,所述PF 模塊組包括至少兩個PF模塊,所述PF模塊組中各個PF模塊對應(yīng)不同的虛擬功能VF模塊組;第二確定單元,用于基于所述PF模塊組中各個PF模塊對應(yīng)的虛擬功能VF模塊組,確定所述主PF模塊管理的目標VF模塊群,其中,所述目標VF模塊群中的VF模塊用于分配給至少一個虛擬機VM,以便所述至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第一確定單元具體用于:基于所述PF模塊組中每一個PF模塊的基準參數(shù),確定所述主PF模塊,其中,所述PF 模塊的基準參數(shù)包括PF模塊故障次數(shù)、PF模塊對應(yīng)的VF模塊組中的VF模塊的個數(shù)、PF模塊靜態(tài)帶寬和PF模塊靜態(tài)帶寬中的至少一種。
12.根據(jù)權(quán)利要求10或11所述的裝置,其特征在于,所述第二確定單元具體用于: 從所述PF模塊組中每一個PF模塊對應(yīng)的VF模塊組中選出至少一個VF模塊,組成所述目標VF模塊群。
13.根據(jù)權(quán)利要求10至12中任一項所述的方法,其特征在于,所述裝置還包括: 第四確定單元,用于確定第一 PF模塊重新使能或故障恢復(fù),將所述第一 PF模塊確定為所述PF模塊組中的PF模塊;建立單元,用于基于所述第一 PF模塊,建立所述第一 PF模塊對應(yīng)的VF模塊組。
14.根據(jù)權(quán)利要求10至13中任一項所述的裝置,其特征在于,所述裝置還包括: 第五確定單元,用于確定第二 PF模塊從所述第一物理網(wǎng)卡的所述PF模塊組中刪除; 釋放單元,用于釋放所述第二 PF模塊對應(yīng)的VF模塊組。
15.根據(jù)權(quán)利要求10至14中任一項所述的方法,其特征在于,所述裝置還包括: 第六確定單元,用于確定所述第一物理網(wǎng)卡的第三PF模塊發(fā)生故障時,確定所述第三PF模塊對應(yīng)的VF模塊組中的VF是否可用;保持單元,用于在所述第三PF模塊對應(yīng)的VF模塊組中的至少一個VF模塊可用時,將所述第三PF模塊對應(yīng)的VF模塊組中的所述至少一個VF模塊確定為繼續(xù)可用。
16.根據(jù)權(quán)利要求10至15中任一項所述的裝置,其特征在于,所述裝置還包括: 第七確定單元,用于確定所述目標VF模塊群中分配給所述至少一個VM中的第一 VM的第一 VF模塊出現(xiàn)故障;選擇單元,用于從所述PF模塊組中各個PF模塊對應(yīng)的VF模塊組中,選擇不同于所述第一 VF模塊的第二 VF模塊;更新單元,用于更新所述目標VF模塊群。
17.根據(jù)權(quán)利要求10至16中任一項所述的裝置,其特征在于,所述第一物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準PCIe總線,所述裝置還包括:第八確定單元,用于確定需要將所述目標VF模塊群中與所述至少兩個PCIe總線中第一PCIe總線連接的VF模塊的數(shù)據(jù)發(fā)送到所述目標VF模塊群中與所述至少兩個PCIe總線中第二 PCIe總線連接的VF模塊;發(fā)送單元,用于將所述與第一 PCIe總線連接的VF模塊的數(shù)據(jù)通過所述第一物理網(wǎng)卡的交換機發(fā)送到所述與第二 PCIe總線連接的VF模塊。
18.根據(jù)權(quán)利要求10至17中任一項所述的裝置,其特征在于,所述裝置還包括第三確定單元,用于確定所述主PF模塊出現(xiàn)故障;所述第一確定單元還用于:從所述PF模塊組中,選擇除所述主PF模塊之外的PF模塊作為新的主PF模塊;所述第二確定單元還用于:基于所述PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定所述新的主PF模塊管理的新的目標VF模塊群,其中,所述新的目標VF模塊群中的VF模塊用于分配給至少一個虛擬機W,以便所述至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
19.一種用于數(shù)據(jù)傳輸?shù)难b置,其特征在于,包括處理器和存儲器;其中,所述存儲器存儲程序代碼,所述處理器用于調(diào)用所述存儲器中存儲的所述程序代碼,執(zhí)行以下操作:從第一物理網(wǎng)卡的物理功能PF模塊組中,確定主PF模塊,所述PF模塊組包括至少兩個PF模塊,所述PF模塊組中各個PF模塊對應(yīng)不同的虛擬功能VF模塊組;基于所述PF模塊組中各個PF 模塊對應(yīng)的虛擬功能VF模塊組,確定所述主PF模塊管理的目標VF模塊群,其中,所述所述目標VF模塊群中的VF模塊用于分配給至少一個虛擬機VM,以便所述至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述處理器用于調(diào)用所述存儲器中存儲的所述程序代碼,具體執(zhí)行以下操作:基于所述PF模塊組中每一個PF模塊的基準參數(shù),確定所述主PF模塊,其中,所述PF 模塊的基準參數(shù)包括PF模塊故障次數(shù)、PF模塊對應(yīng)的VF模塊組中VF模塊的個數(shù)、PF模塊靜態(tài)帶寬和PF模塊靜態(tài)帶寬中的至少一種。
21.根據(jù)權(quán)利要求19或20所述的裝置,其特征在于,所述處理器用于調(diào)用所述存儲器中存儲的所述程序代碼,具體執(zhí)行以下操作:從所述PF模塊組中每一個PF模塊對應(yīng)的VF模塊組中選出至少一個VF模塊,組成所述目標VF模塊群。
22.根據(jù)權(quán)利要求19至21中任一項所述的裝置,其特征在于,所述處理器用于調(diào)用所述存儲器中存儲的所述程序代碼,還執(zhí)行以下操作:確定第一 PF模塊重新使能或故障恢復(fù),將所述第一 PF模塊確定為所述PF模塊組中的 PF模塊;基于所述第一 PF模塊,建立所述第一 PF模塊對應(yīng)的VF模塊組。
23.根據(jù)權(quán)利要求19至22中任一項所述的裝置,其特征在于,所述處理器用于調(diào)用所述存儲器中存儲的所述程序代碼,還執(zhí)行以下操作:確定第二 PF模塊從所述第一物理網(wǎng)卡的所述PF模塊組中刪除;釋放所述第二 PF模塊對應(yīng)的VF模塊組。
24.根據(jù)權(quán)利要求19至23中任一項所述的裝置,其特征在于,所述處理器用于調(diào)用所述存儲器中存儲的所述程序代碼,還執(zhí)行以下操作:確定所述第一物理網(wǎng)卡的第三PF模塊發(fā)生故障時,確定所述第三PF模塊對應(yīng)的VF模塊組中的VF模塊是否可用;在所述第三PF模塊對應(yīng)的VF模塊組中的至少一個VF模塊可用時,將所述第一 PF模塊對應(yīng)的VF模塊組中的可用的所述至少一個VF模塊確定為繼續(xù)可用。
25.根據(jù)權(quán)利要求19至24中任一項所述的裝置,其特征在于,所述處理器用于調(diào)用所述存儲器中存儲的所述程序代碼,還執(zhí)行以下操作:確定所述目標VF模塊群中分配給所述至少一個VM中的第一 VM的第一 VF模塊出現(xiàn)故障;從所述PF模塊組中各個PF模塊對應(yīng)的VF模塊組中,選擇不同于所述第一 VF模塊的第二 VF模塊;更新所述目標VF模塊群。
26.根據(jù)權(quán)利要求19至25中任一項所述的裝置,其特征在于,所述第一物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準PCIe總線,所述處理器用于調(diào)用所述存儲器中存儲的所述程序代碼,還執(zhí)行以下操作:確定需要將所述目標VF模塊群中與所述至少兩個PCIe總線中第一 PCIe總線連接的 VF模塊的數(shù)據(jù)發(fā)送到所述目標VF模塊群中與所述至少兩個PCIe總線中第二 PCIe總線連接的VF模塊;將所述與第一 PCIe總線連接的VF模塊的數(shù)據(jù)通過所述第一物理網(wǎng)卡的交換機發(fā)送到所述與第二 PCIe總線連接的VF模塊。
27.根據(jù)權(quán)利要求19`至26中任一項所述的方法,其特征在于,所述處理器用于調(diào)用所述存儲器中存儲的所述程序代碼,還執(zhí)行以下操作:確定所述主PF模塊出現(xiàn)故障;從所述PF模塊組中,選擇除所述主PF模塊之外的PF模塊作為新的主PF模塊;基于所述PF模塊組中各個PF模塊對應(yīng)的VF模塊組,確定所述新的主PF模塊管理的新的目標VF模塊群,其中,所述所述目標VF模塊群中的VF模塊用于分配給至少一個虛擬機VM,以便所述至少一個VM實現(xiàn)數(shù)據(jù)傳輸。
28.—種物理網(wǎng)卡,其特征在于,包括:有至少兩個PF模塊組成的PF模塊組,以及至少兩個VF模塊組;其中,所述至少兩個PF模塊中的一個PF模塊對應(yīng)于所述至少兩個VF模塊組中的一個VF模塊組,所述至少兩個PF模塊中的任一 PF模塊在被確定為主PF模塊后能夠管理其他PF模塊連接的VF模塊組中的VF模塊。
29.根據(jù)權(quán)利要求28所述的物理網(wǎng)卡,其特征在于,所述至少兩個VF模塊組中各個VF 模塊組中的VF模塊包括兩類空間資源;其中,所述兩類空間資源中的一類空間資源用于在所述主PF模塊被確定前,由所述兩類空間資源所屬的VF模塊所屬的VF模塊組對應(yīng)的PF模塊進行訪問;所述兩類空間資源中的另一類空間資源用于在所述主PF模塊被確定后,與所述主PF 模塊建立連接由所述主PF模塊進行訪問。
30.根據(jù)權(quán)利要求28或29所述的物理網(wǎng)卡,其特征在于,所述物理網(wǎng)卡占用至少兩個高速外設(shè)部件互連標準PCIe總線,所述物理網(wǎng)卡還包括內(nèi)置交換機;其中,所述內(nèi)置交換機用于將與所述至少兩個PCIe總線中的第一 PCIe總線連接的VF模塊的數(shù)據(jù)通過發(fā)送到與所述至少兩個PCIe總線中的第二 PCIe總線連接的VF模塊。
31.根據(jù)權(quán)利28至31中任一項所述的物理網(wǎng)卡,其特征在于,所述物理網(wǎng)卡通過至少兩個端口與外部交換機連接;所述物理網(wǎng)卡還用于接收數(shù)據(jù)傳輸?shù)难b置通過聚合鏈路發(fā)送的數(shù)據(jù)流,并通過所述至少兩個端口中各個端口均衡發(fā)送所述數(shù)據(jù)流至所述外部交換機。
32.一種用于數(shù)據(jù)傳輸?shù)南到y(tǒng),其特征在于,包括根據(jù)權(quán)利要求10至18中任一項所述的用于數(shù)據(jù)傳輸?shù)难b置和權(quán)利要求28至31中任一項所述的物理網(wǎng)卡,或者包括根據(jù)權(quán)利要求19至27中任一項所述的用于數(shù)據(jù)傳輸?shù)难b置和權(quán)利要求28至31中任一項所述的物理網(wǎng)卡;其中,權(quán)利要求10至18中任一項權(quán)利要求中所指的第一物理網(wǎng)卡或權(quán)利要求19 至27中任一項權(quán)利要求中所指的第一物理網(wǎng)卡為權(quán)利要求28至31中任一項所述的物理 網(wǎng)卡。
【文檔編號】H04L12/24GK103609077SQ201380000801
【公開日】2014年2月26日 申請日期:2013年6月18日 優(yōu)先權(quán)日:2013年6月18日
【發(fā)明者】趙曉雷 申請人:華為技術(shù)有限公司