亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

虛擬機熱遷移的系統(tǒng)和方法

文檔序號:6397057閱讀:283來源:國知局
專利名稱:虛擬機熱遷移的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及服務(wù)器領(lǐng)域,并且更具體地,涉及虛擬機熱遷移的系統(tǒng)和方法。
背景技術(shù)
服務(wù)器虛擬化技術(shù)是當前的熱點,而虛擬機(英文為Virtual Machine,縮寫為VM)的“熱遷移(英文為Live Migration)”技術(shù)則是虛擬化技術(shù)當中的熱點。虛擬機熱遷移技術(shù)主要應(yīng)用于保持服務(wù)器的負載均衡或虛擬機的容災(zāi)、備份等場景。虛擬機熱遷移技術(shù)是指將整個虛擬機的運行狀態(tài)完整保存下來,同時可以快速地恢復(fù)到另一個物理服務(wù)器上。理想的情況,恢復(fù)以后,虛擬機仍舊平滑運行,用戶不會察覺到任何差異?,F(xiàn)有技術(shù)中,虛擬機熱遷移根據(jù)系統(tǒng)的不同,存在多種應(yīng)用方案。然而,虛擬機熱遷移的過程中經(jīng)常出現(xiàn)接收數(shù)據(jù)包和/或發(fā)送數(shù)據(jù)包丟失,無法保證網(wǎng)絡(luò)通信的連續(xù)性。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供一種虛擬機熱遷移的系統(tǒng)和方法,以保證虛擬機熱遷移過程中網(wǎng)絡(luò)通信的連續(xù)性。第一方面,提供了一種虛擬機VM熱遷移的系統(tǒng),包括管理節(jié)點、源服務(wù)器、目的服務(wù)器、PCIE交換機和SR-1OV網(wǎng)卡,其中,源服務(wù)器、目的服務(wù)器、管理節(jié)點以及SR-1OV網(wǎng)卡分別連接到PCIE交換機的物理端口以進行通信;源服務(wù)器包括熱遷移前的虛擬機,熱遷移前的虛擬機為虛擬機熱遷移的源端;SR-10V網(wǎng)卡包括輸入輸出的物理端口以及虛擬功能VF模塊,其中,所述輸入輸出的物理端口用于與PCIE交換機的一個物理端口連接以進行通信;管理節(jié)點用于通過PCIE交換機,將熱遷移前的虛擬機使用的VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系;目的服務(wù)器包括熱遷移后的虛擬機,熱遷移后的虛擬機為虛擬機熱遷移的目的端;目的服務(wù)器的虛擬機監(jiān)控器用于通過PCIE交換機,根據(jù)管理節(jié)點配置的與VF模塊的連接關(guān)系,使用VF模塊,以完成虛擬機熱遷移。在第一種可能的實現(xiàn)方式中,VF模塊與源服務(wù)器的連接關(guān)系為VF模塊通過PCIE交換機的一個物理端口與源服務(wù)器的連接關(guān)系,VF模塊與目的服務(wù)器的連接關(guān)系為VF模塊通過PCIE交換機的一個物理端口與目的服務(wù)器的連接關(guān)系。在第二種可能的實現(xiàn)方式中或結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,管理節(jié)點,還用于向源服務(wù)器的虛擬機監(jiān)控器發(fā)起遷移請求;以及將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系后,通知所述目的服務(wù)器的虛擬機監(jiān)控器;則,源服務(wù)器的虛擬機監(jiān)控器VMM,還用于根據(jù)遷移請求暫停熱遷移前的虛擬機,并獲取熱遷移前的虛擬機的數(shù)據(jù)和VF模塊的配置信息,發(fā)送到目的服務(wù)器的虛擬機監(jiān)控器;目的服務(wù)器的虛擬機監(jiān)控器,用于根據(jù)管理節(jié)點配置的與VF模塊的連接關(guān)系,使用VF模塊,具體為:目的服務(wù)器的虛擬機監(jiān)控器,用于接收管理節(jié)點的通知,將VF模塊配置給熱遷移后的虛擬機,并根據(jù)從源服務(wù)器的虛擬機監(jiān)控器接收的熱遷移前虛擬機的數(shù)據(jù)和VF模塊的配置信息配置VF模塊,以使熱遷移后的虛擬機使用VF模塊在目的服務(wù)器上恢復(fù)運行。結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,管理節(jié)點將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系,包括:將PCIE交換機的一個物理端口與源服務(wù)器的硬件的地址映射配置為PCIE交換機的一個物理端口與目的服務(wù)器的硬件的地址映射,該物理端口為VF模塊所使用的。結(jié)合第一方面的第三種可能的實現(xiàn)方式或第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,目的服務(wù)器的虛擬機監(jiān)控器將VF模塊配置給熱遷移后的虛擬機包括:改變目的服務(wù)器的輸入輸出內(nèi)存管理單元(IOMMU)硬件的地址映射信息,以便VF模塊根據(jù)地址映射信息訪問熱遷移后的虛擬機。結(jié)合第一方面的第三種至第五種任一可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,源服務(wù)器的虛擬機監(jiān)控器,還用于在管理節(jié)點將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系前,如果熱遷移前的虛擬機還有待發(fā)送的數(shù)據(jù)包,將待發(fā)送的數(shù)據(jù)包發(fā)送到目的服務(wù)器的虛擬機監(jiān)控器;熱遷移后的虛擬機,還用于在目的服務(wù)器上恢復(fù)運行后,通過VF模塊發(fā)送目的服務(wù)器的虛擬機監(jiān)控器接收的待發(fā)送的數(shù)據(jù)包。結(jié)合第一方面的第三種至第六種任一可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,VF模塊,用于,在管理節(jié)點將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系后,如果熱遷移前的虛擬機還有待接收的數(shù)據(jù)包時,執(zhí)行直接內(nèi)存存取DMA,將待接收的數(shù)據(jù)包發(fā)送到目的服務(wù)器的虛擬機監(jiān)控器;并向熱遷移后的虛擬機發(fā)起中斷請求,由目的服務(wù)器的虛擬機監(jiān)控器接收并記錄中斷請求;目的服務(wù)器的虛擬機監(jiān)控器,還用于在熱遷移后的虛擬機在目的服務(wù)器上恢復(fù)運行后,將所記錄的中斷請求發(fā)送到熱遷移后的虛擬機,熱遷移后的虛擬機還用于處理目的服務(wù)器的虛擬機監(jiān)控器接收的待接收的數(shù)據(jù)包。第二方面,提供了一種虛擬機VM熱遷移的方法,包括管理節(jié)點通過PCIE交換機,將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系,以使目的服務(wù)器的虛擬機監(jiān)控器根據(jù)管理節(jié)點配置的與VF模塊的連接關(guān)系,使用VF模塊,以完成虛擬機熱遷移;其中,VF模塊是配置給熱遷移前的虛擬機使用的SR-1OV網(wǎng)卡上的VF模塊;源服務(wù)器、目的服務(wù)器、管理節(jié)點以及SR-1OV網(wǎng)卡分別連接到PCIE交換機的物理端口以進行通信;源服務(wù)器為熱遷移前的虛擬機所在的服務(wù)器,熱遷移前的虛擬機為虛擬機熱遷移的源端;目的服務(wù)器為熱遷移后的虛擬機所在的服務(wù)器,熱遷移前的虛擬機為虛擬機熱遷移的目的端;SR-10V網(wǎng)卡包括輸入輸出的物理端口以及VF模塊,其中,輸入輸出的物理端口用于與PCIE交換機的一個物理端口連接以進行通信。在第一種可能的實現(xiàn)方式中,VF模塊與源服務(wù)器的連接關(guān)系為VF模塊通過PCIE交換機的一個物理端口與源服務(wù)器的連接關(guān)系,VF模塊與目的服務(wù)器的連接關(guān)系為VF模塊通過PCIE交換機的一個物理端口與目的服務(wù)器的連接關(guān)系。在第二種可能的實現(xiàn)方式中或結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,管理節(jié)點向源服務(wù)器的虛擬機監(jiān)控器發(fā)起遷移請求;源服務(wù)器的虛擬機監(jiān)控器VMM根據(jù)遷移請求暫停熱遷移前的虛擬機后,并獲取熱遷移前的虛擬機的數(shù)據(jù)和VF模塊的配置信息,發(fā)送到目的服務(wù)器的虛擬機監(jiān)控器;管理節(jié)點將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系后,通知目的服務(wù)器的虛擬機監(jiān)控器;目的服務(wù)器的虛擬機監(jiān)控器接收管理節(jié)點的通知,將VF模塊配置給熱遷移后的虛擬機,并根據(jù)從源服務(wù)器的虛擬機監(jiān)控器所接收的熱遷移前虛擬機的數(shù)據(jù)和VF模塊的配置信息配置VF模塊;熱遷移后的虛擬機使用VF模塊在目的服務(wù)器恢復(fù)運行。結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,管理節(jié)點將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系包括:管理節(jié)點將PCIE交換機的一個物理端口與源服務(wù)器的硬件的地址映射配置為PCIE交換機的一個物理端口與目的服務(wù)器的硬件的地址映射,該物理端口為VF模塊所使用的。結(jié)合第二方面的第三種可能的實現(xiàn)方式或第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,目的服務(wù)器的虛擬機監(jiān)控器將VF模塊配置給熱遷移后的虛擬機包括:改變目的服務(wù)器的輸入輸出內(nèi)存管理單元(IOMMU)硬件的地址映射信息,以便VF模塊根據(jù)地址映射信息訪問熱遷移后的虛擬機。結(jié)合第二方面的第三種至第五種任一可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,在管理節(jié)點將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系前,如果熱遷移前的虛擬機還有待發(fā)送的數(shù)據(jù)包,源服務(wù)器的虛擬機監(jiān)控器將待發(fā)送的數(shù)據(jù)包發(fā)送到目的服務(wù)器的虛擬機監(jiān)控器;熱遷移后的虛擬機在目的服務(wù)器上恢復(fù)運行后,通過VF模塊發(fā)送目的服務(wù)器的虛擬機監(jiān)控器接收的待發(fā)送的數(shù)據(jù)包。結(jié)合第二方面的第三種至第六種任一可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,在管理節(jié)點將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊目的服務(wù)器的連接關(guān)系后,如果熱遷移前的虛擬機還有待接收的數(shù)據(jù)包,VF模塊還執(zhí)行直接內(nèi)存存取DMA,將待接收的數(shù)據(jù)包發(fā)送到目的服務(wù)器的虛擬機監(jiān)控器;并向熱遷移后的虛擬機發(fā)起中斷請求,由目的服務(wù)器的虛擬機監(jiān)控器接收并記錄中斷請求;在熱遷移后的虛擬機在目的服務(wù)器上恢復(fù)運行后,目的服務(wù)器的虛擬機監(jiān)控器還將所記錄的中斷請求發(fā)送到熱遷移后的虛擬機,熱遷移后的虛擬機處理目的服務(wù)器的虛擬機監(jiān)控器接收的待接收的數(shù)據(jù)包。通過上述技術(shù)方案,可以在虛擬機熱遷移過程中,通過PCIE交換機切換SR-1OV網(wǎng)卡上的VF模塊的連接關(guān)系以保持熱遷移前后虛擬機所連接的SR-1OV網(wǎng)卡的VF模塊不變從而保證收發(fā)數(shù)據(jù)包業(yè)務(wù)不丟失,保證網(wǎng)絡(luò)業(yè)務(wù)的連續(xù)性。


為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是相關(guān)技術(shù)中虛擬機熱遷移的一種遷移架構(gòu)的示意圖。圖2是本發(fā)明實施例的虛擬機熱遷移的系統(tǒng)的示意圖。圖3是本發(fā)明實施例的虛擬機熱遷移前的系統(tǒng)的示意架構(gòu)。圖4是本發(fā)明實施例的虛擬機熱遷移后的系統(tǒng)的示意架構(gòu)。圖5是本發(fā)明實施例的虛擬機熱遷移過程中發(fā)送數(shù)據(jù)包處理方法的示意圖。圖6是本發(fā)明實施例的虛擬機熱遷移過程中接收數(shù)據(jù)包處理方法的示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另夕卜,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。虛擬機熱遷移主要包括以下幾個技術(shù)點:外部存儲設(shè)備遷移、內(nèi)存狀態(tài)遷移和網(wǎng)絡(luò)設(shè)備遷移。外部存儲設(shè)備遷移目前常用的方法包括通過網(wǎng)絡(luò)共享外部存儲設(shè)備,如SAN (英文為Storage Area Network,中文為存儲局域網(wǎng)絡(luò))或NAS (英文為Network-AttachedStorage,中文為網(wǎng)絡(luò)連接存儲)之類的集中式共享外存設(shè)備。內(nèi)存狀態(tài)遷移目前常用的方法包括內(nèi)存預(yù)拷貝技術(shù)等。網(wǎng)絡(luò)設(shè)備遷移目前常用的方法大多適用于虛擬網(wǎng)絡(luò)設(shè)備的遷移,虛擬網(wǎng)絡(luò)設(shè)備也稱為虛擬網(wǎng)卡。圖1是相關(guān)技術(shù)中虛擬機熱遷移的一種遷移架構(gòu)的示意圖。遷移架構(gòu)中包括虛擬機遷移前的源服務(wù)器110和虛擬機遷移后的目的服務(wù)器150。源服務(wù)器110包括:源服務(wù)器的物理設(shè)備111、源服務(wù)器的虛擬機監(jiān)控器(英文為Virtual Machine Monitor,縮寫為VMM) 112和熱遷移前的虛擬機160。目的服務(wù)器150包括:目的服務(wù)器的物理設(shè)備151、目的服務(wù)器的VMM152和熱遷移后的虛擬機165。源服務(wù)器的物理設(shè)備111和目的服務(wù)器的物理設(shè)備151通過互聯(lián)網(wǎng)絡(luò)180彼此連接。如常規(guī)服務(wù)器一樣,源服務(wù)器110和目的服務(wù)器150的IT (英文為InformationTechnology,中文為信息技術(shù))基礎(chǔ)結(jié)構(gòu)中包括各種物理設(shè)備,例如處理器、內(nèi)存、網(wǎng)卡、磁盤和其他設(shè)備等。VMM用于在服務(wù)器的物理設(shè)備上創(chuàng)建和管理一臺或多臺虛擬機,實現(xiàn)了物理和虛擬的IT基礎(chǔ)結(jié)構(gòu)的集中管理。虛擬機可以模擬完整硬件系統(tǒng)功能,可以運行操作系統(tǒng)、應(yīng)用程序,通過VMM分配的虛擬網(wǎng)絡(luò)設(shè)備,經(jīng)服務(wù)器的物理設(shè)備的網(wǎng)卡可以訪問網(wǎng)絡(luò)資源?,F(xiàn)有技術(shù)中,虛擬網(wǎng)絡(luò)設(shè)備在虛擬機遷移中會造成接收數(shù)據(jù)包和/或發(fā)送數(shù)據(jù)包業(yè)務(wù)中斷,無法保證網(wǎng)絡(luò)通信的連續(xù)性。此外,由于虛擬網(wǎng)絡(luò)設(shè)備的性能較低,VMM必須直接參與每項1/0 (英文為Input/Output,中文為輸入/輸出)。這不僅會減緩數(shù)據(jù)傳輸速度,還會由于更頻繁的VMM活動而增大服務(wù)器的處理器的負載,從而導(dǎo)致占用了較多的服務(wù)器的物理資源,不利于提高服務(wù)器性能。針對上述遷移架構(gòu)存在的問題,本發(fā)明實施例提供了一種虛擬機熱遷移的系統(tǒng),可以保證遷移過程網(wǎng)絡(luò)的連續(xù)性,使得收發(fā)數(shù)據(jù)包業(yè)務(wù)不中斷。圖2是本發(fā)明實施例的虛擬機熱遷移的系統(tǒng)200的示意框圖。系統(tǒng)200包括源服務(wù)器210、目的服務(wù)器220、管理節(jié)點230、SR-10V(英文為SingleRoot I/O Virtualization,中文為單根模式的I/O設(shè)備虛擬化)網(wǎng)卡240和PCIE (英文為Peripheral Component Interconnect Express,中文為高速外圍部件互連)交換機250等多個物理節(jié)點。其中源服務(wù)器210、目的服務(wù)器220、管理節(jié)點230和SR-1OV網(wǎng)卡240分別連接到PCIE交換機250的不同物理端口 251以進行通信。源服務(wù)器210包括VMM212和熱遷移前的虛擬機211,其中虛擬機211為虛擬機熱遷移的源端。目的服務(wù)器220包括VMM222和熱遷移后的虛擬機221,其中虛擬機221為虛擬機熱遷移的目的端。PCIE交換機250,英文為PCIE Switch,包括提供PCIE總線的多個P2P (英文為Peer to Peer,中文為端到端)的物理端口 251,用于連接不同的設(shè)備。PCIE總線使用P2P的連接方式,在一條PCIE鏈路(英文為link)的兩端只能各連接一個設(shè)備,這兩個設(shè)備互為數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端。PCIE總線的物理層為PCIE鏈路兩端的設(shè)備間的數(shù)據(jù)通信提供了傳送介質(zhì),為數(shù)據(jù)傳送提供了可靠的物理環(huán)境。PCIE交換機擴展了 PCIE鏈路,可以連接多個物理設(shè)備,可以支持SR-1OV設(shè)備共享。PCIE交換機支持SR-1OV設(shè)備共享是指通過PCIE交換機將SR-1OV設(shè)備共享給不同的設(shè)備。其中,SR-1OV設(shè)備就是指支持SR-1OV功能的設(shè)備,例如,常用的SR-1OV網(wǎng)卡。SR-1OV網(wǎng)卡240包括一個輸入輸出的物理端口 241,物理端口 241用于與PCIE交換機的一個物理端口連接以進行通信。SR-1OV網(wǎng)卡240還包括與物理端口 241存在一對多映射關(guān)系的多個VF (英文為Virtual Function,中文為虛擬功能)模塊242,以及一個PF (英文為Physical Function,中文為物理功能)模塊243。SR-1OV網(wǎng)卡包括兩種功能模塊:PF模塊支持SR-1OV擴展功能的PCIE功能,被用于配置和管理SR-1OV功能特性;VF模塊實現(xiàn)簡化的PCIE功能,包括數(shù)據(jù)遷移必需的資源,以及經(jīng)過精簡的配置資源集。SR-1OV網(wǎng)卡可以配置成多個VF模塊形式呈現(xiàn)在PCI(英文為Peripheral Component Interconnect,中文為外圍部件互連)配置空間中,每個VF模塊都有它們自己的PCI配置空間。每個VF模塊可以支持針對PCIE層中1/0相關(guān)功能的一個特有且單獨的數(shù)據(jù)路徑(英文為lane)。在網(wǎng)絡(luò)設(shè)備中使用SR-1OV功能可使一個端口(功能)的帶寬分成更小的塊,然后通過一個標準接口分配到特定虛擬機中。這種資源的共享提高了在一個支持SR-1OV設(shè)備共享的PCIE交換機上任何特定資源的總利用率,從而降低了虛擬系統(tǒng)的成本。也就是說,SR-1OV網(wǎng)卡包括的多個VF模塊中的一個可以由VMM通過模擬配置空間來分給虛擬機。這樣,一個SR-1OV網(wǎng)卡對多個虛擬機來說,具有呈現(xiàn)為多個獨立的物理網(wǎng)卡的1/0共享特性。通過上述直通技術(shù),可以使得虛擬機直接操作硬件,此處硬件為SR-1OV網(wǎng)卡,從而在帶寬、延時等方面的性能都接近物理機直接使用設(shè)備的性能。而采用虛擬網(wǎng)絡(luò)設(shè)備的情況,由于VMM必須直接參與每項1/0,從而減緩數(shù)據(jù)傳輸速度,且由于更頻繁的VMM活動而增大服務(wù)器的處理器的負載,影響服務(wù)器的性能,由此說SR-1OV網(wǎng)卡擁有聞性能。管理節(jié)點230通過PCIE交換機250,配置所述SR-1OV網(wǎng)卡240的VF模塊與源服務(wù)器210之間的連接關(guān)系,即VF模塊通過PCIE交換機的一個物理端口與源服務(wù)器的連接關(guān)系,例如,配置第一 VF模塊242通過SR-1OV網(wǎng)卡的物理端口 241,連接到PCIE交換機的物理端口 251,并通過PCIE交換機連接到源服務(wù)器210,以及配置SR-1OV網(wǎng)卡240的VF模塊與目的服務(wù)器220之間的連接關(guān)系,通過切換所述VF模塊與源服務(wù)器和目的服務(wù)器之間的連接關(guān)系以管理虛擬機熱遷移。管理節(jié)點是管理PCIE交換機的一個物理節(jié)點,例如可以是一臺主機。作為一種虛擬機熱遷移的實現(xiàn)過程,可選的,管理節(jié)點向源服務(wù)器的虛擬機監(jiān)控器發(fā)起遷移請求;并在將熱遷移前的虛擬機使用的VF模塊通過PCIE交換機配置給目的服務(wù)器,即將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系后,通知目的服務(wù)器的虛擬機監(jiān)控器;則,源服務(wù)器的虛擬機監(jiān)控器根據(jù)遷移請求暫停熱遷移前的虛擬機后,獲取熱遷移前的虛擬機的數(shù)據(jù)和VF模塊的配置信息,發(fā)送到目的服務(wù)器的虛擬機監(jiān)控器;目的服務(wù)器的虛擬機監(jiān)控器接收管理節(jié)點的通知,將該VF模塊配置給熱遷移后的虛擬機,并根據(jù)從源服務(wù)器的虛擬機監(jiān)控器所接收的熱遷移前虛擬機的數(shù)據(jù)和VF模塊的配置信息配置該目的服務(wù)器的虛擬機的VF模塊;熱遷移后的虛擬機使用VF模塊在目的服務(wù)器恢復(fù)運行。本發(fā)明實施例提供了一種虛擬機熱遷移的系統(tǒng),可以實現(xiàn)虛擬機熱遷移,且通過遷移前的虛擬機和遷移后的虛擬機利用同一物理SR-1OV網(wǎng)卡上的同一 VF模塊可以保證接收數(shù)據(jù)包業(yè)務(wù)不丟失,從而保證網(wǎng)絡(luò)業(yè)務(wù)的連續(xù)性??蛇x的,管理節(jié)點將熱遷移前的虛擬機使用的VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系包括:將PCIE交換機的一個物理端口與源服務(wù)器的硬件的地址映射配置為PCIE交換機的一個物理端口與目的服務(wù)器的硬件的地址映射,該物理端口為該VF模塊所使用的。可選的,目的服務(wù)器的虛擬機監(jiān)控器將VF模塊配置給目的服務(wù)器的虛擬機包括:改變目的服務(wù)器的輸入輸出內(nèi)存管理單元(英文為Input Output Memory ManagementUnit,縮寫為IOMMU)硬件的地址映射信息,以便VF模塊根據(jù)地址映射信息訪問熱遷移后的虛擬機??蛇x的,在管理節(jié)點將熱遷移前的虛擬機使用的SR-1OV網(wǎng)卡的VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系前,如果熱遷移前的虛擬機還有待發(fā)送的數(shù)據(jù)包,源服務(wù)器的虛擬機監(jiān)控器還用于將待發(fā)送的數(shù)據(jù)包發(fā)送到目的服務(wù)器的虛擬機監(jiān)控器;熱遷移后的虛擬機在目的服務(wù)器恢復(fù)運行后,通過VF模塊發(fā)送目的服務(wù)器的虛擬機監(jiān)控器從源服務(wù)器接收的待發(fā)送的數(shù)據(jù)包??蛇x的,VF模塊還用于,在管理節(jié)點將VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系后,如果熱遷移前的虛擬機還有待接收的數(shù)據(jù)包,執(zhí)行DMA (英文為Direct Memory Access,中文為直接內(nèi)存存取),將待接收的數(shù)據(jù)包發(fā)送到目的服務(wù)器的虛擬機監(jiān)控器,并向熱遷移后的虛擬機發(fā)起中斷請求,由目的服務(wù)器的虛擬機監(jiān)控器接收并記錄中斷請求;熱遷移后的虛擬機在目的服務(wù)器恢復(fù)后,目的服務(wù)器的虛擬機監(jiān)控器,還用于將所記錄的中斷請求發(fā)送到熱遷移后的虛擬機,熱遷移后的虛擬機還用于處理待接收的數(shù)據(jù)包。圖3是本發(fā)明實施例的虛擬機熱遷移前的系統(tǒng)的示意架構(gòu)。如圖3所示,虛擬機熱切換前,管理節(jié)點230通過配置PCIE交換機250,建立源服務(wù)器210和SR-1OV網(wǎng)卡240之間的連接關(guān)系。此時源服務(wù)器210的VMM211將SR-1OV網(wǎng)卡240的多個VF模塊242中的一個,如圖中所示的第一 VF模塊242配置給熱遷移前的虛擬機212,即第一 VF模塊242通過SR-1OV網(wǎng)卡的物理端口 241連接PCIE交換機的物理端口 251,并進一步通過PCIE交換機實現(xiàn)與源服務(wù)器的連接,虛擬機212通過第一 VF模塊242實現(xiàn)與其他設(shè)備的互聯(lián)網(wǎng)絡(luò)通信,例如收發(fā)數(shù)據(jù)包。同時,目的服務(wù)器220連接到PCIE交換機250的一個的物理端口251。與PCIE交換機250連接的SR-1OV網(wǎng)卡240可以有多個。通過配置PCIE交換機250,管理節(jié)點230建立了目的服務(wù)器220與SR-1OV網(wǎng)卡240中的一個VF模塊242的連接關(guān)系。如果目的服務(wù)器220的虛擬機222已經(jīng)創(chuàng)建,VMM221可以從與目的服務(wù)器220建立連接關(guān)系的SR-1OV網(wǎng)卡240中選擇一個VF模塊242,并將所選擇的SR-1OV網(wǎng)卡中的一個VF模塊242配置給虛擬機222,被配置的VF模塊是除第一 VF模塊以外的其他VF模塊??赡艿那闆r中包括,目的服務(wù)器210和源服務(wù)器220都連接到同一個SR-1OV網(wǎng)卡,但配置給虛擬機212和虛擬機222的VF模塊是不同的。可選的,還可以以現(xiàn)有技術(shù)的方式為虛擬機222配置有虛擬網(wǎng)卡。這樣,虛擬機222可以通過配置的VF模塊或虛擬網(wǎng)卡與其他設(shè)備進行互聯(lián)網(wǎng)絡(luò)通信??蛇x的,VMM221暫未對虛擬機222進行任何網(wǎng)絡(luò)設(shè)備的配置工作。在本發(fā)明實施例中,為突出本發(fā)明實施例中連接關(guān)系的改變,在圖3中未示出目的服務(wù)器的虛擬機222與VF模塊的連接關(guān)系。圖4是本發(fā)明實施例的虛擬機熱遷移后的系統(tǒng)的示意架構(gòu)。如圖4所示,虛擬機熱遷移后,原來配置給熱遷移前的虛擬機212的第一 VF模塊242被目的服務(wù)器220的VMM221配置給熱遷移后的虛擬機222,且通過配置PCIE交換機250,管理節(jié)點230建立了目的服務(wù)器220與最初源服務(wù)器210所使用的SR-1OV網(wǎng)卡240的連接關(guān)系,即第一 VF模塊242通過SR-1OV網(wǎng)卡的物理端口 241連接PCIE交換機的物理端口 251,并進一步通過PCIE交換機實現(xiàn)與目的服務(wù)器的連接。此時,熱遷移前的虛擬機212與第一 VF模塊之間的配置關(guān)系已經(jīng)不存在,例如虛擬機212暫停(英文為suspend),或直至虛擬機212被刪除。本發(fā)明實施例提供的虛擬機熱遷移的系統(tǒng),通過切換上述圖3和圖4中的連接關(guān)系,實現(xiàn)了虛擬機SR-1OV網(wǎng)卡的熱遷移,特別地,通過遷移前和遷移后利用同一 SR-1OV網(wǎng)卡的同一 VF模塊可以保證接收數(shù)據(jù)包業(yè)務(wù)不丟失,從而保證網(wǎng)絡(luò)業(yè)務(wù)的連續(xù)性。此外,由于虛擬機使用VF模塊直接通過SR-1OV網(wǎng)卡進行網(wǎng)絡(luò)通信,減少了 VMM的參與,提高了源服務(wù)器或目的服務(wù)器的資源的利用率,從而提高了源服務(wù)器或目的服務(wù)器的性能,降低了虛擬系統(tǒng)的成本。進一步地,當源服務(wù)器和目的服務(wù)器通過PCIE交換機進行數(shù)據(jù)遷移時,比起使用外部網(wǎng)絡(luò)通信進行的數(shù)據(jù)遷移,則效率高且穩(wěn)定。圖5是本發(fā)明實施例50的虛擬機熱遷移過程中發(fā)送數(shù)據(jù)包處理方法50的示意圖。S51,管理節(jié)點向源服務(wù)器的VMM發(fā)起遷移請求。此時,與現(xiàn)有技術(shù)相同,源服務(wù)器和目的服務(wù)器已經(jīng)存在通信連接。當源服務(wù)器收到遷移請求后,源服務(wù)器和目的服務(wù)器建立遷移的通道,也即源服務(wù)器發(fā)遷移請求到目的服務(wù)器;目的服務(wù)器接到遷移請求后,在目的服務(wù)器上構(gòu)建和源服務(wù)器上的虛擬機配置相同的虛擬機。當前,管理節(jié)點已經(jīng)通過配置PCIE交換機的端口與源服務(wù)器的硬件的地址的映射,建立了 SR-1OV網(wǎng)卡與源服務(wù)器的連接關(guān)系,如圖3所示。同時,熱遷移前的虛擬機通過SR-1OV網(wǎng)卡的第一 VF模塊與其他設(shè)備進行網(wǎng)絡(luò)通信。
S52,源服務(wù)器的VMM接收遷移請求,將虛擬機暫停,同時虛擬機的第一 VF模塊驅(qū)
動停止運行。此處的虛擬機為虛擬機熱遷移前的虛擬機,如圖3中的212。S53,源服務(wù)器的VMM將數(shù)據(jù)、第一 VF模塊的配置信息發(fā)送到目的服務(wù)器的VMM。該過程同現(xiàn)有技術(shù),數(shù)據(jù)包括虛擬內(nèi)存數(shù)據(jù)、磁盤數(shù)據(jù)、虛擬機的CPU (英文為Central Processing Unit,中文為中央處理器)的上下文等,如果此時遷移前的虛擬機還有未完成的需要發(fā)送的數(shù)據(jù)包,則數(shù)據(jù)中還包括待發(fā)送的數(shù)據(jù)包??蛇x的,該步驟可以通過源服務(wù)器和目的服務(wù)器的外部的互聯(lián)網(wǎng)絡(luò)。當通過本發(fā)明實施例的PCIE交換機交互數(shù)據(jù)時,較之通過外部的互聯(lián)網(wǎng)絡(luò)更為高效和可靠。S54,管理節(jié)點將熱遷移前的虛擬機使用的第一 VF模塊與源服務(wù)器的連接關(guān)系配置為第一 VF模塊與目的服務(wù)器連接關(guān)系,即將第一 VF模塊配置給目的服務(wù)器,并通知目的服務(wù)器的VMM。管理節(jié)點通過將PCIE交換機的一個物理端口與源服務(wù)器的硬件的地址映射配置為PCIE交換機的一個物理端口與目的服務(wù)器的硬件的地址映射,該物理端口為第一 VF模塊所使用的,從而建立SR-1OV網(wǎng)卡與目的服務(wù)器的連接關(guān)系,如圖4所示。S55,目的服務(wù)器的VMM根據(jù)從源服務(wù)器的VMM所接收的源服務(wù)器VM的第一 VF模塊的配置信息和熱遷移前虛擬機的數(shù)據(jù),配置目的服務(wù)器的虛擬機的VF模塊。當目的服務(wù)器的VMM接收到管理節(jié)點的通知時,則根據(jù)從源服務(wù)器的VMM獲知的第一 VF模塊的配置信息和熱遷移前虛擬機的數(shù)據(jù),將所述第一 VF模塊配置作為熱遷移后的虛擬機的VF模塊。目的服務(wù)器的VMM配置目的服務(wù)器的VF模塊包括在內(nèi)存中改變目的服務(wù)器的IOMMU硬件的地址映射信息,以便VF模塊根據(jù)地址映射信息訪問熱遷移后的虛擬機。此后,目的服務(wù)器的VMM配置后的第一 VF模塊成為熱遷移后的虛擬機的虛擬網(wǎng)絡(luò)設(shè)備。IOMMU是一種I/O硬件輔助虛擬化技術(shù)中的組件,用于維護虛擬機的內(nèi)存和物理內(nèi)存的地址映射關(guān)系。當外部設(shè)備例如SR-1OV網(wǎng)卡的VF模塊訪問虛擬機內(nèi)存地址時,通過IOMMU轉(zhuǎn)換,可以訪問與虛擬機內(nèi)存地址相映射的物理內(nèi)存上存儲的信息。I/O硬件輔助虛擬化技術(shù)例如包括VT-d (英文為Virtual Technology of Directed I/O,中文為直接的輸入輸出的虛擬技術(shù))或AMD-Vi (英文為Advanced Micro Devices-Virtual 1/0,中文為超微半導(dǎo)體設(shè)備-虛擬輸入輸出技術(shù))。S56,目的服務(wù)器的VMM恢復(fù)(resume)虛擬機。S57,恢復(fù)后的虛擬機重啟第一 VF模塊的通信,如果有遷移前未完成的需要發(fā)送的數(shù)據(jù)包,則還執(zhí)行未完成數(shù)據(jù)包的發(fā)送流程。至此,熱遷移后的虛擬機可以通過SR-1OV網(wǎng)卡的第一 VF模塊與其他設(shè)備進行網(wǎng)絡(luò)通信。虛擬機完成從源服務(wù)器到目的服務(wù)器的遷移。由于在上述過程中,發(fā)送數(shù)據(jù)包的數(shù)據(jù)、VF模塊的驅(qū)動狀態(tài)信息、VF模塊的配置信息都沒有改動,只有PCIE交換機中第一 VF模塊的配置空間地址映射信息以及IOMMU硬件的地址映射信息被改變,IOMMU硬件的地址映射信息也就是虛擬機的內(nèi)存與物理內(nèi)存的地址映射信息。上層的虛擬機對此沒有察覺,無需做任何改動,因此對發(fā)送數(shù)據(jù)包流程不會有任何影響。與其他虛擬機熱遷移技術(shù)中需要更改虛擬機內(nèi)核的方法比較,該熱遷移的過程對上層軟件透明,實現(xiàn)簡便,且保證發(fā)送數(shù)據(jù)包業(yè)務(wù)不丟失,從而保證網(wǎng)絡(luò)業(yè)務(wù)的連續(xù)性。圖6是本發(fā)明實施例60的虛擬機熱遷移過程中接收數(shù)據(jù)包處理方法60的示意圖。S61,管理節(jié)點向源服務(wù)器的VMM發(fā)起遷移請求。當前,管理節(jié)點已經(jīng)通過配置PCIE的端口與源服務(wù)器的硬件的地址的映射,建立了 SR-1OV網(wǎng)卡與源服務(wù)器的連接關(guān)系,如圖3所示。同時,熱遷移前的虛擬機通過SR-1OV網(wǎng)卡的第一 VF模塊與其他設(shè)備進行網(wǎng)絡(luò)通信。S62,源服務(wù)器的VMM接收遷移請求,將待熱遷移的虛擬機暫停(英文為suspend),同時第一 VF模塊驅(qū)動停止運行。S63,源服務(wù)器的VMM將數(shù)據(jù)、第一 VF模塊的配置信息發(fā)送到目的服務(wù)器的VMM。該過程同現(xiàn)有技術(shù)。數(shù)據(jù)包括虛擬內(nèi)存數(shù)據(jù)、磁盤數(shù)據(jù)、虛擬機的CPU的上下文等,如果此時遷移前的虛擬機還有未完成的需要發(fā)送的數(shù)據(jù)包,則數(shù)據(jù)中還包括待發(fā)送的數(shù)據(jù)包??蛇x的,可以通過源服務(wù)器和目的服務(wù)器的外部的互聯(lián)網(wǎng)絡(luò)。當通過本發(fā)明實施例的PCIE交換機交互數(shù)據(jù)時,較之通過外部的互聯(lián)網(wǎng)絡(luò)更為高效和可靠。S64,管理節(jié)點將原先熱遷移前的虛擬機使用的第一 VF模塊與源服務(wù)器的連接關(guān)系配置為第一 VF模塊與目的服務(wù)器連接關(guān)系,即將第一 VF模塊配置給目的服務(wù)器,并通知目的服務(wù)器的VMM。管理節(jié)點通過通過將PCIE交換機的一個物理端口與源服務(wù)器的硬件的地址映射配置為PCIE交換機的一個物理端口與目的服務(wù)器的硬件的地址映射,該物理端口為第一VF模塊所使用的,從而建立SR-1OV網(wǎng)卡與目的服務(wù)器的連接關(guān)系,如圖4所示。S65,目的服務(wù)器的VMM根據(jù)從源服務(wù)器的VMM所接收的源服務(wù)器VM的第一 VF模塊的配置信息和熱遷移前虛擬機的數(shù)據(jù),配置熱遷移后的虛擬機的VF模塊。目的服務(wù)器的VMM接收到管理節(jié)點的通知時,則根據(jù)從源服務(wù)器的VMM獲知的第一 VF模塊的配置信息和熱遷移前虛擬機的數(shù)據(jù),將所述第一 VF模塊配置作為熱遷移后的虛擬機的VF模塊。目的服務(wù)器的VMM配置目的服務(wù)器的VF模塊包括在內(nèi)存中改變目的服務(wù)器的IOMMU硬件的地址映射信息,以便VF模塊根據(jù)地址映射信息訪問熱遷移后的虛擬機。此后,目的服務(wù)器的VMM配置后的第一 VF模塊成為熱遷移后的虛擬機的虛擬網(wǎng)絡(luò)設(shè)備。IOMMU是一種I/O硬件輔助虛擬化技術(shù)中的組件,用于維護虛擬機的內(nèi)存和物理內(nèi)存的地址映射關(guān)系。當外部設(shè)備例如SR-1OV網(wǎng)卡的VF模塊訪問虛擬機內(nèi)存地址時,通過IOMMU轉(zhuǎn)換,可以訪問與虛擬機內(nèi)存地址相映射的物理內(nèi)存上存儲的信息。S66,在遷移過程中,如果第一 VF模塊還在繼續(xù)接收數(shù)據(jù)包,第一 VF模塊執(zhí)行DMA,將獲得的數(shù)據(jù)包發(fā)送到熱遷移后的虛擬機的內(nèi)存中。具體的,第一 VF模塊通過SR-1OV網(wǎng)卡的描述符表寄存器(英文為Descriptor Table Register)獲得接收的數(shù)據(jù)包數(shù)據(jù)。需要注意的是,第一 VF模塊執(zhí)行DMA時,由于管理節(jié)點和目的服務(wù)器的VMM已經(jīng)配置了 SR-1OV網(wǎng)卡的第一 VF模塊及PCIE Switch中的硬件地址的映射關(guān)系,并根據(jù)源服務(wù)器和目的服務(wù)器的VM虛擬內(nèi)存分布信息重新配置10MMU,因此DMA過程中,SR-1OV網(wǎng)卡的第一 VF模塊仍然可以把數(shù)據(jù)傳送到目的服務(wù)器的VM內(nèi)存中。源服務(wù)器和目的服務(wù)器的VM虛擬內(nèi)存分布信息為虛擬機的內(nèi)存到物理內(nèi)存的映射信息,可以包括在虛擬機遷移所發(fā)送的數(shù)據(jù)中。
S67, DMA完成后,第一 VF模塊向目的服務(wù)器的VM發(fā)起一個中斷請求。S68,由于中斷映射到目的服務(wù)器的VMM,中斷不會直接到VM (此時虛擬機尚未恢復(fù)),由VMM接收該中斷請求并記錄。S69,目的服務(wù)器的VMM恢復(fù)虛擬機后,將中斷請求重新發(fā)送到恢復(fù)后的VM,該VM完成被中斷的接收數(shù)據(jù)包的處理過程。同時,結(jié)合本發(fā)明實施例50可以還完成遷移過程中未處理的數(shù)據(jù)包處理流程。本發(fā)明實施例提供的虛擬機熱遷移的系統(tǒng)和方法,實現(xiàn)了虛擬機熱遷移,且通過遷移前和遷移后利用同一 SR-1OV網(wǎng)卡的同一 VF模塊可以保證接收數(shù)據(jù)包業(yè)務(wù)不丟失,從而保證網(wǎng)絡(luò)業(yè)務(wù)的連續(xù)性。此外,在實施例50和60中,由于虛擬機使用VF模塊直接通過SR-1OV網(wǎng)卡進行網(wǎng)絡(luò)通信,減少了 VMM的參與,提高了源服務(wù)器或目的服務(wù)器的資源的利用率,從而提高了源服務(wù)器或目的服務(wù)器的性能,降低了虛擬系統(tǒng)的成本。進一步地,當源服務(wù)器和目的服務(wù)器通過PCIE交換機進行數(shù)據(jù)遷移時,比起使用外部網(wǎng)絡(luò)通信進行的數(shù)據(jù)遷移,則效率高且穩(wěn)定。本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟件功能單元的形式實現(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ì)。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種虛擬機VM熱遷移的系統(tǒng),其特征在于,包括管理節(jié)點、源服務(wù)器、目的服務(wù)器、高速外圍部件互連PCIE交換機和單根模式的I/O設(shè)備虛擬化SR-1OV網(wǎng)卡: 所述源服務(wù)器、所述目的服務(wù)器、所述管理節(jié)點以及所述SR-1OV網(wǎng)卡分別連接到所述PCIE交換機的物理端口以進行通信; 所述源服務(wù)器包括熱遷移前的虛擬機,所述熱遷移前的虛擬機為所述虛擬機熱遷移的源端; 所述SR-1OV網(wǎng)卡包括輸入輸出的物理端口以及虛擬功能VF模塊,其中,所述輸入輸出的物理端口用于與所述PCIE交換機的一個物理端口連接以進行通信; 所述管理節(jié)點用于通過所述PCIE交換機,將所述熱遷移前的虛擬機使用的所述VF模塊與所述源服務(wù)器的連接關(guān)系配置為所述VF模塊與所述目的服務(wù)器的連接關(guān)系; 所述目的服務(wù)器包括熱遷移后的虛擬機,所述熱遷移后的虛擬機為所述虛擬機熱遷移的目的端,所述目的服務(wù)器的虛擬機監(jiān)控器,用于通過所述PCIE交換機,根據(jù)所述管理節(jié)點配置的與所述VF模塊的連接關(guān)系,使用所述VF模塊,以完成虛擬機熱遷移。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于: 所述VF模塊與所述源服務(wù)器的連接關(guān)系為所述VF模塊通過所述PCIE交換機的一個物理端口與所述源服務(wù)器的連接關(guān)系,所述VF模塊與所述目的服務(wù)器的連接關(guān)系為所述VF模塊通過所述PCIE交換機的一個物理端口與所述目的服務(wù)器的連接關(guān)系。
3.根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于: 所述管理節(jié)點,還 用于向所述源服務(wù)器的虛擬機監(jiān)控器發(fā)起遷移請求;以及將所述VF模塊與所述源服務(wù)器的連接關(guān)系配置為所述VF模塊與所述目的服務(wù)器的連接關(guān)系后,通知所述目的服務(wù)器的虛擬機監(jiān)控器; 貝1J,所述源服務(wù)器的虛擬機監(jiān)控器,用于根據(jù)所述遷移請求暫停所述熱遷移前的虛擬機,并獲取所述熱遷移前的虛擬機的數(shù)據(jù)和所述VF模塊的配置信息,發(fā)送到所述目的服務(wù)器的虛擬機監(jiān)控器; 所述目的服務(wù)器的虛擬機監(jiān)控器用于根據(jù)所述管理節(jié)點配置的與所述VF模塊的連接關(guān)系,使用所述VF模塊,具體為:所述目的服務(wù)器的虛擬機監(jiān)控器,用于接收所述管理節(jié)點的所述通知,將所述VF模塊配置給所述熱遷移后的虛擬機,并根據(jù)從所述源服務(wù)器的虛擬機監(jiān)控器接收的所述熱遷移前虛擬機的數(shù)據(jù)和所述VF模塊的配置信息配置所述VF模塊,以使所述熱遷移后的虛擬機使用所述VF模塊在所述目的服務(wù)器上恢復(fù)運行。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述管理節(jié)點將所述VF模塊與所述源服務(wù)器的連接關(guān)系配置為所述VF模塊與所述目的服務(wù)器的連接關(guān)系,包括: 將所述PCIE交換機的一個物理端口與所述源服務(wù)器的硬件的地址映射配置為所述PCIE交換機的一個物理端口與所述目的服務(wù)器的硬件的地址映射,所述物理端口為所述VF模塊所使用的。
5.根據(jù)權(quán)利要求3或4所述的系統(tǒng),其特征在于,所述目的服務(wù)器的虛擬機監(jiān)控器將所述VF模塊配置給所述熱遷移后的虛擬機包括: 改變所述目的服務(wù)器的輸入輸出內(nèi)存管理單元IOMMU硬件的地址映射信息,以便所述VF模塊根據(jù)所述地址映射信息訪問所述熱遷移后的虛擬機。
6.根據(jù)權(quán)利要求3至5任一所述的系統(tǒng),其特征在于:所述源服務(wù)器的虛擬機監(jiān)控器,還用于在所述管理節(jié)點將所述VF模塊與所述源服務(wù)器的連接關(guān)系配置為所述VF模塊與所述目的服務(wù)器的連接關(guān)系前,如果所述熱遷移前的虛擬機還有待發(fā)送的數(shù)據(jù)包,將所述待發(fā)送的數(shù)據(jù)包發(fā)送到所述目的服務(wù)器的虛擬機監(jiān)控器; 所述熱遷移后的虛擬機,還用于在所述目的服務(wù)器上恢復(fù)運行后,通過所述VF模塊發(fā)送所述目的服務(wù)器的虛擬機監(jiān)控器接收的所述待發(fā)送的數(shù)據(jù)包。
7.根據(jù)權(quán)利要求3至6任一所述的系統(tǒng),其特征在于: 所述VF模塊,用于,所述管理節(jié)點將所述VF模塊與所述源服務(wù)器的連接關(guān)系配置為所述VF模塊與所述目的服務(wù)器的連接關(guān)系后,如果所述熱遷移前的虛擬機還有待接收的數(shù)據(jù)包時,執(zhí)行直接內(nèi)存存取DMA,將所述待接收的數(shù)據(jù)包發(fā)送到所述目的服務(wù)器的虛擬機監(jiān)控器;并向所述熱遷移后的虛擬機發(fā)起中斷請求,由所述目的服務(wù)器的虛擬機監(jiān)控器接收并記錄所述中斷請求; 貝IJ,所述目的服務(wù)器的虛擬機監(jiān)控器,還用于,在所述熱遷移后的虛擬機在所述目的服務(wù)器上恢復(fù)運行后,將所記錄的所述中斷請求發(fā)送到所述熱遷移后的虛擬機, 所述熱遷移后的虛擬機,還用于處理所述目的服務(wù)器的虛擬機監(jiān)控器接收的所述待接收的數(shù)據(jù)包。
8.—種虛擬機VM熱遷移的方法,其特征在于,包括: 管理節(jié)點通過高速外圍部件互連PCIE交換機,將虛擬功能VF模塊與源服務(wù)器的連接關(guān)系配置為所述VF模塊與目的服務(wù)器的連接關(guān)系,以使所述目的服務(wù)器的虛擬機監(jiān)控器根據(jù)所述管理節(jié)點配置的與所述VF模塊的連接關(guān)系使用所述VF模塊完成虛擬機熱遷移; 其中,所述VF模塊是配 置給所述熱遷移前的虛擬機使用的單根模式的I/O設(shè)備虛擬化SR-1OV網(wǎng)卡上的VF模塊; 其中,所述源服務(wù)器、所述目的服務(wù)器、所述管理節(jié)點以及所述SR-1OV網(wǎng)卡分別連接到所述PCIE交換機的物理端口以進行通信;所述源服務(wù)器為熱遷移前的虛擬機所在的服務(wù)器,所述熱遷移前的所述虛擬機為所述虛擬機熱遷移的源端;所述目的服務(wù)器為熱遷移后的虛擬機所在的服務(wù)器,所述熱遷移前的所述虛擬機為所述虛擬機熱遷移的目的端;所述SR-1OV網(wǎng)卡包括輸入輸出的物理端口以及VF模塊,其中,所述輸入輸出的物理端口用于與所述PCIE交換機的一個物理端口連接以進行通信。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于: 所述VF模塊與源服務(wù)器的連接關(guān)系為所述VF模塊通過所述PCIE交換機的一個物理端口與所述源服務(wù)器的連接關(guān)系,所述VF模塊與所述目的服務(wù)器的連接關(guān)系為所述VF模塊通過所述PCIE交換機的一個物理端口與所述目的服務(wù)器的連接關(guān)系。
10.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,所述方法還包括: 所述管理節(jié)點向所述源服務(wù)器的虛擬機監(jiān)控器發(fā)起遷移請求; 所述源服務(wù)器的虛擬機監(jiān)控器VMM根據(jù)所述遷移請求暫停所述熱遷移前的虛擬機,并獲取所述熱遷移前的虛擬機的數(shù)據(jù)和所述VF模塊的配置信息,發(fā)送到所述目的服務(wù)器的虛擬機監(jiān)控器; 所述管理節(jié)點將所述VF模塊與所述源服務(wù)器的連接關(guān)系配置為所述VF模塊與所述目的服務(wù)器連接關(guān)系后,通知所述目的服務(wù)器的虛擬機監(jiān)控器;所述目的服務(wù)器的虛擬機監(jiān)控器接收所述管理節(jié)點的所述通知,將所述VF模塊配置給所述熱遷移后的虛擬機,并根據(jù)從所述源服務(wù)器的虛擬機監(jiān)控器接收的所述熱遷移前虛擬機的數(shù)據(jù)和所述VF模塊的配置信息配置所述VF模塊; 所述熱遷移后的虛擬機使用所述VF模塊在所述目的服務(wù)器恢復(fù)運行。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述管理節(jié)點將所述VF模塊與所述源服務(wù)器的連接關(guān)系配置為所述VF模塊與所述目的服務(wù)器的連接關(guān)系包括: 所述管理節(jié)點將所述PCIE交換機的一個物理端口與所述源服務(wù)器的硬件的地址映射配置為所述PCIE交換機的一個物理端口與所述目的服務(wù)器的硬件的地址映射,所述物理端口為所述VF模塊所使用的。
12.根據(jù)權(quán)利要求10或11所述的方法,其特征在于,所述目的服務(wù)器的虛擬機監(jiān)控器將所述VF模塊配置給所述熱遷移后的虛擬機包括: 改變所述目的服務(wù)器的輸入輸出內(nèi)存管理單元IOMMU硬件的地址映射信息,以便所述VF模塊根據(jù)所述地址映射信息訪問所述熱遷移后的虛擬機。
13.根據(jù)權(quán)利要求10至12任一所述的方法,其特征在于,所述方法還包括: 在所述管理節(jié)點將所述VF模塊與所述源服務(wù)器的連接關(guān)系配置為所述VF模塊與所述目的服務(wù)器的連接關(guān)系前,如果所述熱遷移前的虛擬機還有待發(fā)送的數(shù)據(jù)包,所述源服務(wù)器的虛擬機監(jiān)控器將所述待發(fā)送的數(shù)據(jù)包發(fā)送到所述目的服務(wù)器的虛擬機監(jiān)控器; 所述熱遷移后的虛擬機在所述目的服務(wù)器上恢復(fù)運行后,通過所述VF模塊發(fā)送所述目的服務(wù)器的虛擬機監(jiān)控器接收的所述待發(fā)送的數(shù)據(jù)包。
14.根據(jù)權(quán)利要求 10至13任一所述的方法,其特征在于,所述方法還包括: 在所述管理節(jié)點將所述VF模塊與所述源服務(wù)器的連接關(guān)系配置為所述VF模塊所述目的服務(wù)器的連接關(guān)系后,如果所述熱遷移前的虛擬機還有待接收的數(shù)據(jù)包,所述VF模塊還執(zhí)行直接內(nèi)存存取DMA,將所述待接收的數(shù)據(jù)包發(fā)送到所述目的服務(wù)器的虛擬機監(jiān)控器; 并向所述熱遷移后的虛擬機發(fā)起中斷請求,由所述目的服務(wù)器的虛擬機監(jiān)控器接收并記錄所述中斷請求; 在所述熱遷移后的虛擬機在所述目的服務(wù)器上恢復(fù)運行后,所述目的服務(wù)器的虛擬機監(jiān)控器還將所記錄的所述中斷請求發(fā)送到所述熱遷移后的虛擬機; 所述熱遷移后的虛擬機處理所述目的服務(wù)器的虛擬機監(jiān)控器接收的所述待接收的數(shù)據(jù)包。
全文摘要
虛擬機熱遷移的系統(tǒng),包括管理節(jié)點、源服務(wù)器、目的服務(wù)器、PCIE交換機和SR-IOV網(wǎng)卡,源服務(wù)器包括熱遷移前的VM;目的服務(wù)器包括熱遷移后的VM;源服務(wù)器、目的服務(wù)器、管理節(jié)點以及SR-IOV網(wǎng)卡分別連接到PCIE交換機的物理端口以進行通信;管理節(jié)點用于通過PCIE交換機,將熱遷移前的VM使用的VF模塊與源服務(wù)器的連接關(guān)系配置為VF模塊與目的服務(wù)器的連接關(guān)系;目的服務(wù)器通過PCIE交換機,根據(jù)管理節(jié)點配置的與VF模塊的連接關(guān)系,使用VF模塊,以完成虛擬機熱遷移。該系統(tǒng)通過切換上述連接關(guān)系從而保證收發(fā)數(shù)據(jù)包業(yè)務(wù)不丟失,保證網(wǎng)絡(luò)業(yè)務(wù)的連續(xù)性。
文檔編號G06F9/455GK103201721SQ201280002397
公開日2013年7月10日 申請日期2012年8月29日 優(yōu)先權(quán)日2012年8月29日
發(fā)明者董益兼 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1