基于輕量級虛擬機的虛擬控制平面資源管理方法
【技術領域】
[0001 ]本發明主要涉及到路由器虛擬化技術領域,特指一種基于輕量級虛擬機的虛擬控制平面資源管理方法。
【背景技術】
[0002]隨著網絡技術的快速發展以及用戶需求日益豐富,互聯網在移動性、安全性、可靠性等方面面臨著諸多的挑戰,使得人們不得不反思現有的互聯網體系架構,希望從中找到解決之道。學術界和工業界嘗試提供各種新型網絡體系架構試圖顛覆現有的網絡體系,比如SDN網絡、NDN網絡等。然而,這些新型的網絡體系架構不可避免存在著缺陷,同時,它們也缺乏真實的網絡實驗床為其提供測試和部署環境。而網絡虛擬化技術是作為互聯網體系發展的一種漸進式的變革思路,能夠支持多種同構(或異構)網絡體系架構并行運行,為解決當前互聯網面臨的困境提供了一條切實可行的解決思路,逐漸引起人們的關注與重視。
[0003]路由器虛擬化技術是網絡虛擬化部署與實施的重要技術支撐。它主要涉及到三個層面:鏈路虛擬化、數據平面虛擬化以及控制平面虛擬化。在控制平面虛擬化方面,采用半虛擬化或全虛擬化來實現控制平面的虛擬化,讓多個路由器實例的控制平面共享同一物理平臺。比如,利用Xen等系統虛擬化工具實現控制平面虛擬化的方式是在物理機構建虛擬機,并把租戶需要的路由協議在虛擬機內部署;同時,通過橋接方式構建多個虛擬接口與外部互連,這些虛擬接口主要為路由協議提供支撐。系統虛擬化工具既為控制平面虛擬化的部署提供快速實現技術,又能有效地保障虛擬控制平面間隔離性,確保虛擬控制平面獨立、并行運行。
[0004]目前,針對采用系統虛擬化方式來實現控制平面虛擬化的方式主要面臨以下問題:
一、采用Xen或VMWare等系統虛擬化方式通常會引入過大的系統開銷,尤其是VMWare系統虛擬化工具,嚴重地降低單臺設備平臺支撐虛擬控制平面的數量,從而影響虛擬路由器平臺的資源利用率。
[0005]二、現有的系統虛擬化技術通過構建虛擬機部署虛擬控制平面的方式達到控制平面虛擬化的目的。但它們缺乏一套完善的資源管理技術用于管理虛擬控制平面的創建與撤銷等功能,無法對虛擬控制平面實現自動化、靈活地管理與控制。
[0006]三、為了最大限度地滿足不同類型的租戶需求,支撐虛擬控制平面的硬件平臺逐漸采用集群化的方式,導致虛擬路由器平臺利用“池化的”物理資源來部署虛擬控制平面。因此,如何在“池化的”物理資源池進行虛擬控制平面的管理與維護也是需要解決的問題。
[0007]綜上所述,目前采用簡單的系統虛擬化工具來實現控制平面虛擬化的方式面臨諸多問題。因而提供一種適用于管理“池化的”物理資源以及實現虛擬控制平面的自動化控制是目前亟待解決的技術問題。
【發明內容】
[0008]本發明要解決的技術問題就在于:針對現有技術存在的技術問題,本發明提供一種原理簡單、易實現、能有效地降低開銷、優化整體性能的基于輕量級虛擬機的虛擬控制平面資源管理方法。
[0009 ]為解決上述技術問題,本發明采用以下技術方案:
一種基于輕量級虛擬機的虛擬控制平面資源管理方法,步驟為:
S1:控制平面容器向資源管理平面進行認證與注冊;
S2:當資源管理平面的用戶操作界面接收到虛擬控制平面創建請求時,服務部署模塊通過查詢控制平面容器的資源狀態,根據控制平面容器的資源狀態來進行操作;
S3:控制平面容器在接收到資源管理平面的創建消息時,通過服務代理模塊對創建消息進行解析,并通過1CTL方式利用VNETDEV創建一系列的虛擬接口 ;同時,利用系統調用執行創建LXC虛擬機的命令,將創建的虛擬接口劃分至該LXC虛擬機,并為該LXC虛擬機分配CPU和內存資源;如果上述操作失敗,服務代理模塊回卷剛才一系列的操作至接收創建消息時系統狀態,并向資源管理平面發送創建失敗的消息;否則,向資源管理平面發送創建成功的消息;
S4:資源管理平面將控制平面容器創建虛擬控制平面的結果通過用戶操作界面反饋給用戶;
S5:當資源管理平面的用戶操作界面接收到虛擬控制平面撤銷請求時,服務部署模塊通過查詢該虛擬控制平面狀態,根據虛擬控制平面狀態來進行操作;
S6:控制平面容器在接收到資源管理平面的撤銷消息時,通過服務代理模塊對撤銷消息進行解析,利用系統調用執行撤銷LXC虛擬機的命令,并通過1CTL方式利用VNETDEV撤銷分配給該LXC虛擬機的虛擬接口 ;
S7:資源管理平面將控制平面容器撤銷虛擬控制平面的結果通過用戶操作界面反饋給用戶;
S8:資源管理平面與控制平面容器進行保活。
[0010]作為本發明的進一步改進:所述步驟SI的流程為:
SlOl:由控制平面容器的認證服務模塊讀取自身的數字證書,并將數字證書中用戶標識域的值作為用戶標識;
S102:控制平面容器通過網絡或直連線向資源管理平面發起認證的請求;
S103:資源管理平面接收到注冊請求報文后,向安全認證模塊查詢該控制平面容器在認證表中狀態;如果資源管理平面允許控制平面容器注冊,向控制平面容器發送認證成功消息,并轉至步驟S104;否則,向控制平面容器發送認證失敗消息,以保證拒絕任何不符合網絡拓撲規劃的控制平面容器連接虛擬路由器平臺中;
S104:控制平面容器在接收到認證成功消息后,通過注冊服務模塊主動向資源管理平面發起注冊請求;
S105:資源管理平面接收到控制平面容器的注冊請求后,注冊管理模塊解析注冊請求消息,獲知該控制平面容器的物理資源信息;如果該控制平面容器已認證成功,向控制平面容器發送注冊成功的消息,并轉至S104;否則,向控制平面容器發送未認證的消息。
[0011]作為本發明的進一步改進:所述步驟S8的流程為:
S801:資源管理平面中保活服務模塊通過網絡或直連線向控制平面容器發送保活請求報文;
S802:控制平面容器根據保活請求報文信息做出相應應答,并把應答報文發送給資源管理平面;
S803:如果資源管理平面在一段時間內沒有接收到控制平面容器的應答報文或者應答報文信息與自身預期的不一致,認為與資源管理平面斷開連接,轉到步驟SI執行;否則,執行步驟S8。
[0012]作為本發明的進一步改進:在所述步驟S2中,如果當前控制平面容器的資源無法滿足虛擬控制平面的需求時,則通過用戶操作界面向用戶反饋資源不足的提示性消息;否貝1J,計算出虛擬控制平面部署位置,并把創建虛擬控制平面的消息下發至對應的控制平面容器,轉至步驟S3。
[0013]作為本發明的進一步改進:在所述步驟S5中,如果該虛擬控制平面不存在時,則通過用戶操作界面向用戶反饋不存在的提示性消息;否則,并將撤銷虛擬控制平面的消息下發至對應的控制平面容器,轉至步驟S6。
[0014]作為本發明的進一步改進:在所述步驟S6中,如果上述操作失敗,服務代理模塊向資源管理平面發送撤銷失敗的消息;否則,向資源管理平面發送撤銷成功的消息。
[0015]作為本發明的進一步改進:所述資源管理平面包括注冊管理模塊、報文收發模塊、安全認證模塊、保活服務模塊、服務部署模塊、用戶操作界面;所述注冊管理模塊負責響應控制平面容器注冊過程,并獲知控制平面容器的物理資源信息,包括控制平面容器的唯一標識、網絡接口性能及數量、CPU性能及數量以及內存總量;所述報文收發模塊負責資源管理平面與控制平面容器間報文發送與接收的任務;所述安全認證模塊負責控制平面容器的認證功能;所述保活服務模塊完成資源管理平面對控制平面容器以及控制平面容器中虛擬控制平面保活的過程;服務部署模塊根據租戶的需求將虛擬控制平面部署到的配置信息下發至對應控制平面容器中服務代理模塊;所述用戶操作界面是指用戶查詢物理資源信息、虛擬控制平面信息以及管理虛擬控制平面的通道。
[0016]作為本發明的進一步改進:所述控制平面容器包括注冊管理模塊、報文收發模塊、認證服務模塊、保活服務模塊、服務代理模塊、LXC虛擬機、VNETDEV;所述注冊管理模塊負責控制平面容器向資源管理平面注冊請求的過程,向資源管理平面通告自身的物理資源信息,包括網絡接口性能及數量、CPU性能及數量以及內存容量;所述報文收發模塊負責資源管理平面與控制平面容器間報文發送