虛擬機(jī)遷移方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),尤其涉及一種虛擬機(jī)遷移方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)代虛擬機(jī)技術(shù)提供的重要技術(shù)中有虛擬機(jī)遷移,即在不中斷待遷移的操作系統(tǒng)中任何主機(jī)服務(wù)的情況下,將操作系統(tǒng)遷移到另外一個物理節(jié)點(diǎn)上。
[0003]現(xiàn)有技術(shù)中,源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的虛擬機(jī)遷移主要包括:運(yùn)用傳輸控制協(xié)議/網(wǎng)間協(xié)議,或運(yùn)用轉(zhuǎn)換線纜技術(shù)與遠(yuǎn)程內(nèi)存直接訪問(Remote Direct Memory Access,簡稱為RDMA)相結(jié)合的方式,在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間進(jìn)行內(nèi)存頁拷貝,
[0004]然而,將虛擬機(jī)從源節(jié)點(diǎn)遷移到目的節(jié)點(diǎn)的過程中,由于源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的網(wǎng)卡帶寬有限,導(dǎo)致連接在源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的其他虛擬機(jī)的性能下降。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種虛擬機(jī)遷移方法、裝置及系統(tǒng),用以提高連接在源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的其他虛擬機(jī)的性能。
[0006]第一個方面,提供一種虛擬機(jī)遷移方法,其特征在于,包括:
[0007]第一控制節(jié)點(diǎn)確定第一超節(jié)點(diǎn)中第一空閑節(jié)點(diǎn)的第一地址,所述第一空閑節(jié)點(diǎn)為所述第一超節(jié)點(diǎn)中有空閑資源的節(jié)點(diǎn),所述第一超節(jié)點(diǎn)包括所述第一控制節(jié)點(diǎn)、第一節(jié)點(diǎn)和至少一個所述第一空閑節(jié)點(diǎn);
[0008]所述第一控制節(jié)點(diǎn)向所述第一節(jié)點(diǎn)發(fā)送所述第一空閑節(jié)點(diǎn)的所述第一地址,以使所述第一節(jié)點(diǎn)將遷移數(shù)據(jù)塊通過所述第一地址遷移到第二節(jié)點(diǎn),所述遷移數(shù)據(jù)塊為準(zhǔn)備從所述第一節(jié)點(diǎn)遷移到第二節(jié)點(diǎn)的一部分?jǐn)?shù)據(jù),所述第二節(jié)點(diǎn)設(shè)置在第二超節(jié)點(diǎn)中。
[0009]在第一方面的第一種可能的實現(xiàn)方式中,所述第一控制節(jié)點(diǎn)向所述第一節(jié)點(diǎn)發(fā)送所述第一空閑節(jié)點(diǎn)的所述第一地址之后,還包括:
[0010]所述第一控制節(jié)點(diǎn)接收所述第二控制節(jié)點(diǎn)發(fā)送的地址映射消息,以使確定第二空閑節(jié)點(diǎn)的第三地址與所述第一地址之間的映射關(guān)系,所述地址映射消息包括所述第二節(jié)點(diǎn)的第二地址與所述第二空閑節(jié)點(diǎn)的第三地址之間的映射關(guān)系,所述第二空閑節(jié)點(diǎn)為所述第二超節(jié)點(diǎn)中資源空閑的節(jié)點(diǎn)。
[0011 ] 在第一方面或是第一方面的第一種可能的實現(xiàn)方式中,在第二種可能的實現(xiàn)方式中,所述第一控制節(jié)點(diǎn)向所述第一節(jié)點(diǎn)發(fā)送所述空閑節(jié)點(diǎn)的第一地址之前,還包括:
[0012]所述第一控制節(jié)點(diǎn)接收所述第一節(jié)點(diǎn)發(fā)送的空閑節(jié)點(diǎn)請求,所述空閑節(jié)點(diǎn)請求用以請求分配所述空閑節(jié)點(diǎn);
[0013]所述第一控制節(jié)點(diǎn)向所述第一節(jié)點(diǎn)發(fā)送所述空閑子節(jié)點(diǎn)的所述第一地址,包括:
[0014]所述第一控制節(jié)點(diǎn)根據(jù)所述空閑節(jié)點(diǎn)請求,將所述空閑節(jié)點(diǎn)分配給所述第一節(jié)點(diǎn)。
[0015]第二個方面,提供一種虛擬機(jī)遷移方法,包括:
[0016]第一節(jié)點(diǎn)接收第一控制節(jié)點(diǎn)發(fā)送的第一空閑節(jié)點(diǎn)的第一地址,用以將遷移數(shù)據(jù)塊通過所述第一地址遷移到第二節(jié)點(diǎn),所述遷移數(shù)據(jù)塊為準(zhǔn)備從所述第一節(jié)點(diǎn)遷移到第二節(jié)點(diǎn)的一部分?jǐn)?shù)據(jù),所述第二節(jié)點(diǎn)設(shè)置在第二超節(jié)點(diǎn)中;
[0017]所述第一節(jié)點(diǎn)通過所述第一空閑節(jié)點(diǎn)將所述遷移數(shù)據(jù)塊遷移到所述第二節(jié)點(diǎn)。
[0018]在第二方面的第一種可能的實現(xiàn)方式中,所述第一節(jié)點(diǎn)通過所述第一空閑節(jié)點(diǎn)將所述遷移數(shù)據(jù)塊遷移到所述第二節(jié)點(diǎn)之前,還包括:
[0019]所述第一節(jié)點(diǎn)向所述第一空閑節(jié)點(diǎn)發(fā)送遷移數(shù)據(jù)信息,以使所述第一空閑節(jié)點(diǎn)建立與所述第一節(jié)點(diǎn)中所述遷移數(shù)據(jù)塊之間的地址映射關(guān)系,所述遷移數(shù)據(jù)信息包括所述遷移數(shù)據(jù)塊的大小信息,以及所述遷移數(shù)據(jù)塊在所述第一節(jié)點(diǎn)中的地址信息。
[0020]在第二方面或是第二方面的第一種可能的實現(xiàn)方式中,在第二種可能的實現(xiàn)方式中,所述第一節(jié)點(diǎn)接收所述第一控制節(jié)點(diǎn)發(fā)送的第一空閑子節(jié)點(diǎn)的第一地址之前,還包括:
[0021]所述第一節(jié)點(diǎn)向所述第一控制節(jié)點(diǎn)發(fā)送空閑節(jié)點(diǎn)請求,所述空閑節(jié)點(diǎn)請求用以請求分配所述空閑節(jié)點(diǎn)。
[0022]第三個方面,提供一種虛擬機(jī)遷移裝置,包括:
[0023]確定模塊,用于確定第一超節(jié)點(diǎn)中第一空閑節(jié)點(diǎn)的第一地址,所述第一空閑節(jié)點(diǎn)為所述第一超節(jié)點(diǎn)中有空閑資源的節(jié)點(diǎn),所述第一超節(jié)點(diǎn)包括所述第一控制節(jié)點(diǎn)、第一節(jié)點(diǎn)和至少一個所述第一空閑節(jié)點(diǎn);
[0024]發(fā)送模塊,用于向所述第一節(jié)點(diǎn)發(fā)送所述第一空閑節(jié)點(diǎn)的所述第一地址,以使所述第一節(jié)點(diǎn)將遷移數(shù)據(jù)塊通過所述第一地址遷移到第二節(jié)點(diǎn),所述遷移數(shù)據(jù)塊為準(zhǔn)備從所述第一節(jié)點(diǎn)遷移到第二節(jié)點(diǎn)的一部分?jǐn)?shù)據(jù),所述第二節(jié)點(diǎn)設(shè)置在第二超節(jié)點(diǎn)中。
[0025]在第三方面的第一種可能的實現(xiàn)方式中,還包括:接收模塊;
[0026]所述接收模塊,用于接收所述第二控制節(jié)點(diǎn)發(fā)送的地址映射消息,以使確定第二空閑節(jié)點(diǎn)的第三地址與所述第一地址之間的映射關(guān)系,所述地址映射消息包括所述第二節(jié)點(diǎn)的第二地址與所述第二空閑節(jié)點(diǎn)的第三地址之間的映射關(guān)系,所述第二空閑節(jié)點(diǎn)為所述第二超節(jié)點(diǎn)中資源空閑的節(jié)點(diǎn)。
[0027]在第三方面或是第三方面的第一種可能的實現(xiàn)方式中,在第二種可能的實現(xiàn)方式中,所述接收模塊,還用于接收所述第一節(jié)點(diǎn)發(fā)送的空閑節(jié)點(diǎn)請求,所述空閑節(jié)點(diǎn)請求用以請求分配所述空閑節(jié)點(diǎn);
[0028]所述發(fā)送模塊,還用于根據(jù)所述空閑節(jié)點(diǎn)請求,將所述空閑節(jié)點(diǎn)分配給所述第一節(jié)點(diǎn)。
[0029]第四個方面,提供一種虛擬機(jī)遷移裝置,包括:
[0030]發(fā)送模塊,用于接收第一控制節(jié)點(diǎn)發(fā)送的第一空閑節(jié)點(diǎn)的第一地址,用以將遷移數(shù)據(jù)塊通過所述第一地址遷移到第二節(jié)點(diǎn),所述遷移數(shù)據(jù)塊為準(zhǔn)備從所述第一節(jié)點(diǎn)遷移到第二節(jié)點(diǎn)的一部分?jǐn)?shù)據(jù),所述第二節(jié)點(diǎn)設(shè)置在第二超節(jié)點(diǎn)中;
[0031]遷移模塊,用于通過所述第一空閑節(jié)點(diǎn)將所述遷移數(shù)據(jù)塊遷移到所述第二節(jié)點(diǎn)。
[0032]在第四方面的第一種可能的實現(xiàn)方式中,所述遷移模塊,還用于所述第一節(jié)點(diǎn)向所述第一空閑節(jié)點(diǎn)發(fā)送遷移數(shù)據(jù)信息,以使所述第一空閑節(jié)點(diǎn)建立與所述第一節(jié)點(diǎn)中所述遷移數(shù)據(jù)塊之間的地址映射關(guān)系,所述遷移數(shù)據(jù)信息包括所述遷移數(shù)據(jù)塊的大小信息,以及所述遷移數(shù)據(jù)塊在所述第一節(jié)點(diǎn)中的地址信息。
[0033]在第四方面或是第四方面的第一種可能的實現(xiàn)方式中,在第二種可能的實現(xiàn)方式中,所述發(fā)送模塊,還用于向所述第一控制節(jié)點(diǎn)發(fā)送空閑節(jié)點(diǎn)請求,所述空閑節(jié)點(diǎn)請求用以請求分配所述空閑節(jié)點(diǎn)。
[0034]第五個方面,提供一種虛擬機(jī)遷移系統(tǒng),包括:如第三方面任一所述的虛擬機(jī)遷移裝置和如第四方面所述的虛擬機(jī)遷移裝置。
[0035]本發(fā)明實施例提供的虛擬機(jī)遷移方法、裝置及系統(tǒng),通過第一控制節(jié)點(diǎn)確定第一超節(jié)點(diǎn)中空閑節(jié)點(diǎn)的第一地址,其中,該空閑節(jié)點(diǎn)為第一超節(jié)點(diǎn)中有空閑資源的節(jié)點(diǎn);接著,第一控制節(jié)點(diǎn)向第一節(jié)點(diǎn)發(fā)送空閑節(jié)點(diǎn)的第一地址,以使第一節(jié)點(diǎn)將遷移數(shù)據(jù)塊通過第一地址遷移到第二節(jié)點(diǎn),其中,遷移數(shù)據(jù)塊為準(zhǔn)備從第一節(jié)點(diǎn)遷移到第二節(jié)點(diǎn)的一部分?jǐn)?shù)據(jù),第二節(jié)點(diǎn)設(shè)置在第二超節(jié)點(diǎn)中。從而實現(xiàn)了將第一節(jié)點(diǎn)中準(zhǔn)備遷移的數(shù)據(jù)分為多個遷移數(shù)據(jù)塊,并將該遷移數(shù)據(jù)塊通過對應(yīng)的空閑節(jié)點(diǎn)從第一節(jié)點(diǎn)的第一地址遷移到第二節(jié)點(diǎn),降低了虛擬機(jī)遷移對連接在遷移網(wǎng)絡(luò)中的其他應(yīng)用及虛擬機(jī)的性能。進(jìn)一步的,實現(xiàn)了按需調(diào)度,并提高數(shù)據(jù)中的空閑資源的利用率。
【附圖說明】
[0036]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0037]圖1為本發(fā)明一實施例提供的虛擬機(jī)遷移方法的流程圖;
[0038]圖2為本發(fā)明另一實施例提供的虛擬機(jī)遷移方法的流程圖;
[0039]圖3為本發(fā)明再一實施例提供的虛擬機(jī)遷移方法的流程圖;
[0040]圖4為本發(fā)明一實施例提供的虛擬機(jī)遷移裝置的結(jié)構(gòu)示意圖;
[0041]圖5