專利名稱:一種虛擬機(jī)位置定位方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種虛擬機(jī)位置定位方法和裝置。
背景技術(shù):
在數(shù)據(jù)中心等場景中引入虛擬化技術(shù)之后,服務(wù)器接入網(wǎng)絡(luò)的位置往往就不是固定的。比如HA、DRS、DPM等引起的遷移(VMotion),或根據(jù)既定資源監(jiān)測策略引起的 VMotion,虛擬機(jī)(VM)可能會隨時改變所在的網(wǎng)絡(luò)位置。在VMotion時,VM主機(jī)是否能正常運行,除了在服務(wù)器上的資源合理調(diào)度,其網(wǎng)絡(luò)連接的合理調(diào)度也是必須的,比如ACL、QoS、VLAN等網(wǎng)絡(luò)配置。為了保證VM的業(yè)務(wù)連續(xù)性, 除了虛擬化軟件能保證VM在服務(wù)器上的快速遷移,相應(yīng)的網(wǎng)絡(luò)連接配置遷移也需要實時完成,實現(xiàn)隨需而動的數(shù)據(jù)中心網(wǎng)絡(luò)。在虛擬網(wǎng)絡(luò)配置遷移時,需要針對每個VM的虛接口(vNic),部署在物理交換機(jī)的相應(yīng)接口,因此需要網(wǎng)管可以實時、準(zhǔn)確的定位出VM遷移后接入網(wǎng)絡(luò)的接入交換機(jī)和接入接口。但現(xiàn)有實現(xiàn)中尚未有效的不受廠商兼容和組網(wǎng)應(yīng)用的限制,且效率高的VM位置定位方法。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種虛擬機(jī)位置定位方法和裝置,能夠不受廠商兼容和組網(wǎng)應(yīng)用的限制,提高VM位置定位效率。為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種虛擬機(jī)位置定位方法,記錄各VM的接入位置信息,其中,所述接入位置信息包括VM的MAC地址,所述方法包括若監(jiān)聽到交換機(jī)上報的遠(yuǎn)程認(rèn)證撥入用戶服務(wù)Radius報文或MAC學(xué)習(xí)告警報文, 則獲取所述Radius報文或MAC學(xué)習(xí)告警報文中攜帶的VM的接入位置信息,并更新所述記錄的該VM的接入位置信息;若檢測到VM遷移事件,根據(jù)所述遷移事件獲取遷移的VM的MAC地址,并根據(jù)所述 MAC地址在所述記錄的接入位置信息中查詢,獲取所述遷移的VM的接入位置信息,若獲取的接入位置信息為該VM的最新接入位置信息,則確定記錄的接入位置信息為該VM的當(dāng)前接入位置信息;否則,通過簡單網(wǎng)絡(luò)管理協(xié)議SNMP實時探測定位該VM,并更新記錄的該VM 的接入位置信息。一種虛擬機(jī)位置定位裝置,所述裝置包括記錄單元、監(jiān)聽單元、檢測單元、獲取單元和確定單元;所述記錄單元,用于記錄各虛擬機(jī)VM的接入位置信息,其中,所述接入位置信息包括VM的媒質(zhì)接入訪問控制MAC地址;所述監(jiān)聽單元,用于監(jiān)聽交換機(jī)上報的遠(yuǎn)程認(rèn)證撥入用戶服務(wù)Radius報文和MAC學(xué)習(xí)告警報文;所述檢測單元,用于檢測VM遷移事件;所述獲取單元,用于當(dāng)所述監(jiān)聽單元監(jiān)聽到交換機(jī)上報的Radius報文或MAC學(xué)習(xí)告警報文時,獲取所述Radius報文或MAC學(xué)習(xí)告警報文攜帶的VM的接入位置信息,并使所述記錄單元更新所述記錄的該VM的接入位置信息;當(dāng)所述檢測單元檢測到VM遷移事件時, 根據(jù)所述遷移事件獲取遷移的VM的MAC地址,并在所述記錄單元記錄的接入位置信息中查詢,獲取所述遷移的VM的接入位置信息;所述確定單元,用于若獲取的接入位置信息為該VM的最新接入位置信息,則確定記錄的接入位置信息為該VM的當(dāng)前接入位置信息;否則,通過簡單網(wǎng)絡(luò)管理協(xié)議SNMP實時探測定位該VM,并使所述記錄單元更新記錄的該VM的接入位置信息。綜上所述,本發(fā)明通過檢測到VM遷移事件時,獲取遷移的VM的MAC地址,根據(jù)該 VM地址進(jìn)一步獲取接入位置信息,如果確定接入位置信息為最新接入位置信息,則定位成功;否則,通過SNMP實時探測進(jìn)行定位,并更新記錄的該VM的接入位置信息。能夠不受廠商兼容和組網(wǎng)應(yīng)用的限制,提高VM位置定位效率。
圖1為本發(fā)明實施例中虛擬機(jī)位置定位方法流程圖;圖2為本發(fā)明具體實施例中虛擬機(jī)位置定位裝置結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進(jìn)一步地詳細(xì)說明。參見圖1,圖1為本發(fā)明實施例中虛擬機(jī)位置定位方法流程圖。具體步驟為步驟101,網(wǎng)管記錄各VM的接入位置信息,其中,接入位置信息包括VM的MAC地址。步驟102,網(wǎng)管若監(jiān)聽到交換機(jī)上報的Radius報文或MAC學(xué)習(xí)告警報文,則獲取該 Radius報文或MAC學(xué)習(xí)告警報文中攜帶的VM的接入位置信息,并更新自身記錄的該VM的接入位置信息。如果VM的遷移目標(biāo)交換機(jī)上配置了 !Radius或MAC學(xué)習(xí)Trap上報,VM遷移后,目標(biāo)交換機(jī)會上報Radius或MAC學(xué)習(xí)告警報文,網(wǎng)管會監(jiān)聽到Radius報文或MAC學(xué)習(xí)告警報文,并獲取報文中VM的接入位置信息,并更新記錄。這時記錄的該VM對應(yīng)的接入位置信息是最新的。如果VM的遷移目標(biāo)交換機(jī)上未配置Radius和MAC學(xué)習(xí)Trap上報,VM遷移后,目標(biāo)交換機(jī)不會進(jìn)行上報,網(wǎng)管記錄的該VM的接入位置信息為該VM遷移前的接入位置 fn息ο步驟103,網(wǎng)管若檢測到VM遷移事件,根據(jù)該遷移事件獲取遷移的VM的MAC地址, 并根據(jù)該MAC地址在記錄的接入位置信息中查詢,獲取該VM的接入位置信息。本步驟中檢測到VM遷移事件的方法為網(wǎng)管在自身管理的服務(wù)器上進(jìn)行注冊,監(jiān)聽VM遷移事件,即有新的VM遷移到某個服務(wù)器時,該服務(wù)器根據(jù)網(wǎng)關(guān)注冊時的IP地址,上報VM遷移事件,該VM遷移事件攜帶遷移的VM的MAC地址。這里描述的檢測VM遷移事件的方法只是具體舉例,具體實現(xiàn)可以根據(jù)實際應(yīng)用確定檢測VM遷移事件的方法。步驟104,確定獲取的接入位置信息是否為該VM的最新接入位置信息,如果是,執(zhí)行步驟105 ;否則,執(zhí)行步驟106。步驟105,網(wǎng)管確定記錄的接入位置信息為該VM的當(dāng)前接入位置信息。本步驟中網(wǎng)管確定該記錄的接入位置信息為最新的接入位置信息,即該VM遷移后上報了最新的接入位置信息,并進(jìn)行了該VM的接入位置更新,此時確定定位成功。步驟106,網(wǎng)管通過SNMP實時探測定位該VM,并更新記錄的該VM的接入位置信肩、ο網(wǎng)管確定該記錄的接入位置信息不是最新的接入位置信息,即該VM遷移后未上報了最新的接入位置信息,此時定位不成功,需要執(zhí)行步驟106。接入位置信息還包括VM的MAC地址、接入交換機(jī)IP地址、接入接口號和接入虛擬局域網(wǎng)標(biāo)識VLAN ID。本發(fā)明的實施例中確定獲取的接入位置信息為該VM的最新接入位置信息的方法為根據(jù)獲取的MAC地址、接入交換機(jī)IP地址和接入VLAN ID確定該VM當(dāng)前的接入接口號與獲取的接入接口號一致。其中,根據(jù)獲取的MAC地址、接入交換機(jī)IP地址和接入VLAN ID確定VM當(dāng)前的接入接口號與獲取的接入接口號一致的方法為根據(jù)獲取的MAC地址、接入交換機(jī)IP地址和接入VLAN ID構(gòu)造探測橋管理信息庫(DotlqBridge MIB)的MAC學(xué)習(xí)節(jié)點(dotIqTpFdbPort)的簡單網(wǎng)絡(luò)協(xié)議讀取數(shù)據(jù) (SNMP-GET)請求報文并發(fā)送,接收到SNMP-GET響應(yīng)報文且攜帶的接入接口號同所述獲取的接入接口號一致。其中,dotIqTpFdbPort為SNMP協(xié)議中標(biāo)準(zhǔn)的MAC學(xué)習(xí)節(jié)點名稱。如果預(yù)設(shè)時間未接到SNMP-GET響應(yīng)報文、或接收到的SNMP-GET響應(yīng)失敗報文,或接到的響應(yīng)報文攜帶的接口號與在記錄的接入位置信息中獲取的接入接口號不一致,則確定該記錄的接入位置信息不是最新的,需要進(jìn)行實時定位,執(zhí)行步驟106。通過SNMP實時探測定位該VM,并更新記錄的該VM的接入位置信息的方法為根據(jù)獲取的MAC地址和接入VLAN ID對該接入VLAN范圍內(nèi)交換機(jī)分別構(gòu)造探測 DotlqBridge MIB 的 dotIqTpFdbPort 的 SNMP-GET 報文并發(fā)送,獲取 SNMP-GET 響應(yīng)報文中攜帶的接入位置信息,如果獲取的接入位置信息中的接入接口上學(xué)習(xí)到其他接換機(jī)和路由器的MAC地址,則刪除該接入位置信息;否則,通過該接入位置信息更新記錄的VM的接入位直fe息。下面舉例來說明SNMP實時探測定位該VM的過程。假定網(wǎng)管管理的所有交換機(jī)的集合為A,首先,根據(jù)獲取的VLAN ID對集合A進(jìn)行過濾,過濾出配置了此VLAN的交換機(jī)集合B ;其次,針對集合B中的每一臺交換機(jī),根據(jù)VM 的 MAC 地址、接入 VLAN ID,構(gòu)造探測 DotlqBridge MIB 的 dotIqTpFdbPort 的 SNMP-GET 報文并發(fā)送。如果SNMP-GET響應(yīng)成功,則將響應(yīng)中攜帶的接入位置信息中的接入接口號添加到接口集合C中;最后,針對集合C中的每一個接口,依據(jù)交換機(jī)接口是否為終端接入接口的判斷原則,過濾出接口上沒有學(xué)習(xí)到其他交換機(jī)和路由器的MAC地址的接口,該接口對應(yīng)的接入位置信息即該VM遷移后的位置,并將該VM的新位置信息更新到終端接入記錄中?;谕瑯拥陌l(fā)明構(gòu)思,本發(fā)明還提出一種虛擬機(jī)位置定位裝置。參見圖2,圖2為本發(fā)明具體實施例中虛擬機(jī)位置定位裝置結(jié)構(gòu)示意圖。該裝置包括記錄單元201、監(jiān)聽單元202、檢測單元203,獲取單元204和確定單元205。記錄單元201,用于記錄各虛擬機(jī)VM的接入位置信息,其中,接入位置信息包括VM 的MAC地址。監(jiān)聽單元202,用于監(jiān)聽交換機(jī)上報的Radius報文、MAC學(xué)習(xí)告警報文。檢測單元203,用于檢測VM遷移事件。獲取單元204,用于當(dāng)監(jiān)聽單元202監(jiān)聽到交換機(jī)上報的Radius報文或MAC學(xué)習(xí)告警報文時,獲取該Radius報文或MAC學(xué)習(xí)告警報文攜帶的VM的接入位置信息,并使記錄單元201更新記錄的該VM的接入位置信息;當(dāng)檢測單元203檢測到VM遷移事件時,根據(jù)該遷移事件獲取遷移的VM的MAC地址,并在記錄單元201記錄的接入位置信息中查詢,獲取該遷移的VM的接入位置信息。確定單元205,用于若獲取的接入位置信息為該VM的最新接入位置信息,則確定記錄的接入位置信息為該VM的當(dāng)前接入位置信息;否則,通過SNMP實時探測定位該VM,并使記錄單元201更新記錄的該VM的接入位置信息。較佳地,確定單元205,用于根據(jù)獲取單元204獲取的MAC地址、接入交換機(jī)IP地址和接入VLAN ID確定該VM當(dāng)前的接入接口號與獲取的接入接口號一致,其中,接入位置信息還包括VM的MAC地址、接入交換機(jī)IP地址、接入接口號和接入虛擬局域網(wǎng)標(biāo)識VLAN ID。較佳地,確定單元205,用于根據(jù)獲取單元203獲取的MAC地址、接入交換機(jī)IP地址和接入 VLAN ID 構(gòu)造 DotlqBridge MIB 的 MAC 學(xué)習(xí)節(jié)點 dotIqTpFdbPort 的 SNMP-GET 請求報文并發(fā)送;接收到SNMP-GET響應(yīng)報文且攜帶的接入接口號同所述獲取的接入接口號一致。較佳地,確定單元205,用于根據(jù)獲取的MAC地址和接入VLAN ID對該接入VLAN范圍內(nèi)交換機(jī)分別構(gòu)造探測DotlqBridge MIB的MAC學(xué)習(xí)節(jié)點dotIqTpFdbPort的SNMP-GET報文并發(fā)送,獲取SNMP-GET響應(yīng)報文中攜帶的接入位置信息,如果獲取的接入位置信息中的接入接口上學(xué)習(xí)到其他接換機(jī)和路由器的MAC地址,則刪除該接入位置信息;否則,通過該接入位置信息使記錄單元201更新記錄的VM的接入位置信息。上述實施例的單元可以集成于一體,也可以分離部署;可以合并為一個單元,也可以進(jìn)一步拆分成多個子單元。綜上所述,本發(fā)明具體實施例中根據(jù)VM的遷移特征,記錄VM的遷移前的接入位置信息,如果VM遷移的目的交換機(jī)上配置了 Radius或MAC學(xué)習(xí)Trap上報,VM遷移后,目標(biāo)交換機(jī)會上報Radius或MAC學(xué)習(xí)告警報文,網(wǎng)管會監(jiān)聽到Radius報文或MAC學(xué)習(xí)告警報文,并獲取報文中VM的接入位置信息,并更新記錄,此時記錄的接入位置信息是最新的,則直接定位成功;如果VM遷移的目的交換機(jī)上Radius和MAC學(xué)習(xí)Trap上報都未配置,此時 VM遷移后,記錄的接入位置信息還是遷移前的接入位置信息,需要通過SNMP實時探測定位來進(jìn)行定位,并更新記錄。本發(fā)明融合監(jiān)聽Radius報文定位、監(jiān)聽MAC學(xué)習(xí)Trap定位和 SNMP實時探測定位為一體,兼容各種廠商和組網(wǎng)應(yīng)用,同時提高VM位置定位效率。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種虛擬機(jī)位置定位方法,其特征在于,記錄各虛擬機(jī)VM的接入位置信息,其中,所述接入位置信息包括VM的媒質(zhì)接入控制MAC地址,所述方法包括若監(jiān)聽到交換機(jī)上報的遠(yuǎn)程認(rèn)證撥入用戶服務(wù)Radius報文或MAC學(xué)習(xí)告警報文,則獲取所述Radius報文或MAC學(xué)習(xí)告警報文中攜帶的VM的接入位置信息,并更新所述記錄的該VM的接入位置信息;若檢測到VM遷移事件,根據(jù)所述遷移事件獲取遷移的VM的MAC地址,并根據(jù)所述MAC 地址在所述記錄的接入位置信息中查詢,獲取所述遷移的VM的接入位置信息,若獲取的接入位置信息為該VM的最新接入位置信息,則確定記錄的接入位置信息為該VM的當(dāng)前接入位置信息;否則,通過簡單網(wǎng)絡(luò)管理協(xié)議SNMP實時探測定位該VM,并更新記錄的該VM的接入位置信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接入位置信息還包括VM的MAC地址、接入交換機(jī)IP地址、接入接口號和接入虛擬局域網(wǎng)標(biāo)識VLAN ID ;確定所述獲取的接入位置信息為該VM的最新接入位置信息的方法為根據(jù)獲取的MAC 地址、接入交換機(jī)IP地址和接入VLAN ID確定該VM當(dāng)前的接入接口號與獲取的接入接口號一致。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)獲取的MAC地址、接入交換機(jī)IP地址和接入VLAN ID確定VM當(dāng)前的接入接口號與獲取的接入接口號一致的方法為根據(jù)所述獲取的MAC地址、接入交換機(jī)IP地址和接入VLAN ID構(gòu)造探測橋管理信息庫 DotlqBridge MIB的MAC學(xué)習(xí)節(jié)點dotIqTpFdbPort的簡單網(wǎng)絡(luò)協(xié)議讀取數(shù)據(jù)SNMP-GET請求報文并發(fā)送,接收到SNMP-GET響應(yīng)報文且攜帶的接入接口號同所述獲取的接入接口號一致。
4.根據(jù)權(quán)利要求1-3任意一項所述的方法,其特征在于,所述通過SNMP實時探測定位該VM,并更新記錄的該VM的接入位置信息的方法為根據(jù)所述MAC地址和接入VLAN ID對所述接入VLAN范圍內(nèi)交換機(jī)分別構(gòu)造探測 DotlqBridge MIB 的 dotIqTpFdbPort 的 SNMP-GET 報文并發(fā)送,獲取 SNMP-GET 響應(yīng)報文中攜帶的接入位置信息,如果獲取的接入位置信息中的接入接口上學(xué)習(xí)到其他接換機(jī)和路由器的MAC地址,則刪除該接入位置信息;否則,通過該接入位置信息更新記錄的該VM的接入位置信息。
5.一種虛擬機(jī)位置定位裝置,其特征在于,所述裝置包括記錄單元、監(jiān)聽單元、檢測單元、獲取單元和確定單元;所述記錄單元,用于記錄各虛擬機(jī)VM的接入位置信息,其中,所述接入位置信息包括 VM的媒質(zhì)接入訪問控制MAC地址;所述監(jiān)聽單元,用于監(jiān)聽交換機(jī)上報的遠(yuǎn)程認(rèn)證撥入用戶服務(wù)Radius報文和MAC學(xué)習(xí)告警報文;所述檢測單元,用于檢測VM遷移事件;所述獲取單元,用于當(dāng)所述監(jiān)聽單元監(jiān)聽到交換機(jī)上報的Radius報文或MAC學(xué)習(xí)告警報文時,獲取所述Radius報文或MAC學(xué)習(xí)告警報文攜帶的VM的接入位置信息,并使所述記錄單元更新所述記錄的該VM的接入位置信息;當(dāng)所述檢測單元檢測到VM遷移事件時,根據(jù)所述遷移事件獲取遷移的VM的MAC地址,并在所述記錄單元記錄的接入位置信息中查詢, 獲取所述遷移的VM的接入位置信息;所述確定單元,用于若所述獲取單元獲取的接入位置信息為該VM的最新接入位置信息,則確定記錄的接入位置信息為該VM的當(dāng)前接入位置信息;否則,通過簡單網(wǎng)絡(luò)管理協(xié)議SNMP實時探測定位該VM,并使所述記錄單元更新記錄的該VM的接入位置信息。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述確定單元,用于根據(jù)所述獲取單元獲取的MAC地址、接入交換機(jī)IP地址和接入 VLAN ID確定該VM當(dāng)前的接入接口號與獲取的接入接口號一致,其中,所述接入位置信息還包括VM的MAC地址、接入交換機(jī)IP地址、接入接口號和接入虛擬局域網(wǎng)標(biāo)識VLAN ID。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述確定單元,用于根據(jù)所述獲取單元獲取的MAC地址、接入交換機(jī)IP地址和接入 VLAN ID構(gòu)造探測橋管理信息庫DotlqBridge MIB的MAC學(xué)習(xí)節(jié)點dotIqTpFdbPort的簡單網(wǎng)絡(luò)協(xié)議讀取數(shù)據(jù)SNMP-GET請求報文并發(fā)送;接收到SNMP-GET響應(yīng)報文且攜帶的接入接口號同所述獲取的接入接口號一致。
8.根據(jù)權(quán)利要求5-7任意一項所述的裝置,其特征在于,所述確定單元,用于根據(jù)所述MAC地址和接入VLAN ID對所述接入VLAN范圍內(nèi)交換機(jī)分別構(gòu)造探測DotlqBridge MIB的MAC學(xué)習(xí)節(jié)點dotIqTpFdbPort的SNMP-GET報文并發(fā)送,獲取SNMP-GET響應(yīng)報文中攜帶的接入位置信息,如果獲取的接入位置信息中的接入接口上學(xué)習(xí)到其他接換機(jī)和路由器的MAC地址,則刪除該接入位置信息;否則,通過該接入位置信息使所述記錄單元更新記錄的VM的接入位置信息。
全文摘要
本發(fā)明公開了一種虛擬機(jī)位置定位方法,該方法包括檢測到VM遷移事件時,根據(jù)該遷移事件獲取遷移的VM的MAC地址,根據(jù)該VM的MAC地址進(jìn)一步獲取記錄的該VM的接入位置信息,如果確定該接入位置信息為最新接入位置信息,則定位成功;否則,通過SNMP實時探測進(jìn)行定位并更新該VM的接入位置信息?;谕瑯拥匕l(fā)明構(gòu)思,本發(fā)明還提出一種裝置,能夠不受廠商兼容和組網(wǎng)應(yīng)用的限制,提高VM位置定位效率。
文檔編號H04L29/08GK102387205SQ20111032266
公開日2012年3月21日 申請日期2011年10月21日 優(yōu)先權(quán)日2011年10月21日
發(fā)明者曾勇剛, 潘宗輝 申請人:杭州華三通信技術(shù)有限公司