一種Xen虛擬化環(huán)境下虛擬機網絡數(shù)據(jù)的監(jiān)控方法
【技術領域】
[0001]本發(fā)明涉及云計算技術領域,尤其是涉及一種Xen虛擬化環(huán)境下虛擬機網絡數(shù)據(jù)的監(jiān)控方法。
【背景技術】
[0002]Xen是一個開放源代碼虛擬機監(jiān)視器,由劍橋大學開發(fā)。它打算在單個計算機上運行多達100個滿特征的操作系統(tǒng)。操作系統(tǒng)必須進行顯式地修改(“移植”),以在Xen上運行(但是提供對用戶應用的兼容性)。這使得Xen無需特殊硬件支持,就能達到高性能的虛擬化。
[0003]所謂網絡數(shù)據(jù)監(jiān)控即對于網上流動的數(shù)據(jù),首先按事先設定的截獲原則完成有效截取,然后對截獲下的數(shù)據(jù)進行數(shù)據(jù)還原,最后對還原后的數(shù)據(jù)進行分析并做出某種控制決定。由此可見網絡監(jiān)控需分三個階段:先完成數(shù)據(jù)截獲,然后是數(shù)據(jù)的還原,最后才是進行控制。而網絡監(jiān)控的難處在于如何完成第一、第二階段的工作。
[0004]虛擬化網絡技術其核心目標是在一個物理網絡基礎設施上同時運行多個互不干擾的邏輯網絡,這些網絡可以有自己特定的拓撲和路由算法,并允許各邏輯網絡(或稱為虛擬子網)采用完全不同的體系結構,從而允許虛擬子網中實現(xiàn)充分實驗、完全創(chuàng)新、各具特色的網絡技術。由于虛擬化網絡的復雜性與多樣性,在HoSt宿主機內部是無法獲取到虛擬機的網絡數(shù)據(jù)的,從而更無法對網絡數(shù)據(jù)進行監(jiān)控。在虛擬化環(huán)境下至今沒有針對虛擬機網絡數(shù)據(jù)進行監(jiān)控的方法。
【發(fā)明內容】
[0005]本發(fā)明所解決的技術問題是提供一種Xen虛擬化環(huán)境下虛擬機網絡數(shù)據(jù)的監(jiān)控方法,為了達到清除安全死角,將網絡監(jiān)控需求蔓延到虛擬網絡環(huán)境中,特提出本方案;本方案使用Xen虛擬化系統(tǒng)中的Open vSwitch (OVS)虛擬交換機實現(xiàn),OVS是一個具有高質量的多層虛擬交換機,通過可編程擴展,可以實現(xiàn)大規(guī)模網絡的自動化(配置、管理和維護);它支持現(xiàn)有標準管理接口和協(xié)議(例如netFlow,sFlow, SPAN, RSPAN, CLI, LACP,802.lag等)。對虛擬機網絡數(shù)據(jù)的監(jiān)控,利于后續(xù)對數(shù)據(jù)的過濾、檢測等處理。
[0006]為了解決上述技術問題,本發(fā)明提供了一種Xen虛擬化環(huán)境下虛擬機網絡數(shù)據(jù)的監(jiān)控方法,包括:
[0007]S1:在宿主機上,用Open vSwitch搭建網絡架構,倉ij建網橋;
[0008]S2:建立虛擬機,并將所述虛擬機加入所述網橋;
[0009]S3:將真實的網絡接口對應所述虛擬機的虛擬接口,保持真實的網絡接口與所述虛擬機的虛擬接口對應一致;
[0010]S4:將所述虛擬機的虛擬接口與所述網橋橋接,同時為各個虛擬機創(chuàng)建虛擬端口 ;使網絡數(shù)據(jù)都經過相應的所述虛擬機的虛擬端口進行網絡數(shù)據(jù)的通信;
[0011]S5:用所述Open vSwitch創(chuàng)建一個額外的網絡監(jiān)控數(shù)據(jù)端口,通過所述網絡監(jiān)控數(shù)據(jù)端口來監(jiān)控所述網絡數(shù)據(jù)。
[0012]優(yōu)選的,所述步驟3中,保持真實的網絡接口與所述虛擬機的虛擬接口對應一致的方法是:在所述宿主機內,截取每個到達虛擬機虛擬端口的數(shù)據(jù)包頭部的前128KB個字節(jié),分析所述數(shù)據(jù)包頭部,解析所述數(shù)據(jù)包頭部的協(xié)議,根據(jù)解析后所述數(shù)據(jù)包,確定虛擬機對應的網橋端口。
[0013]更加優(yōu)選的,所述步驟3中,保持真實的網絡接口與所述虛擬機的虛擬接口對應一致的方法是:在虛擬機的虛擬端口被創(chuàng)建后,發(fā)送數(shù)據(jù)包時,數(shù)據(jù)包從虛擬機內部到達虛擬端口,判斷數(shù)據(jù)包是否是第一個數(shù)據(jù)包;若數(shù)據(jù)包是第一個數(shù)據(jù)包,正常發(fā)送所述數(shù)據(jù)包;若數(shù)據(jù)包不是第一個數(shù)據(jù)包,構建新數(shù)據(jù)包,新數(shù)據(jù)包的目的地址為所述宿主機,所述宿主機接受新數(shù)據(jù)包,保持真實的網絡接口與虛擬機的虛擬接口對應一致。
[0014]更加優(yōu)選的,所述新數(shù)據(jù)包包含虛擬機的唯一標識、以及所述虛擬端口的標識。
[0015]更加優(yōu)選的,所述步驟5中,將所述網絡監(jiān)控數(shù)據(jù)端口添加到所述OpenvSwitch中,做所述網絡監(jiān)控數(shù)據(jù)端口的鏡像,通過所述網絡監(jiān)控數(shù)據(jù)端口實現(xiàn)虛擬機網絡數(shù)據(jù)的監(jiān)控。
[0016]其中,所述云計算(cloud computing)是基于互聯(lián)網的相關服務的增加、使用和交付模式,通常涉及通過互聯(lián)網來提供動態(tài)易擴展且經常是虛擬化的資源。
[0017]其中,所述Open vSwitch即開放虛擬交換標準!Open vSwitch是在開源的Apache2.0許可下的產品級質量的多層虛擬交換標準。它旨在通過編程擴展,使龐大的網絡自動化(配置、管理、維護),同時還支持標準的管理接口和協(xié)議(如NetFlow,sFlow,SPAN, RSPAN, CLl, LACP,802.lag)。總的來說,它被設計為支持分布在多個物理服務器,例如 VMware 的 vNetwork 分布式 vSwitch 或思科的 NexuslOOOV。
[0018]本發(fā)明與現(xiàn)有技術相比,具有如下有益效果:
[0019]本發(fā)明在Xen虛擬化環(huán)境下利用Open vSwitch實現(xiàn)虛擬機網絡數(shù)據(jù)的監(jiān)控;能夠監(jiān)控虛擬機網絡的數(shù)據(jù),利于后續(xù)對對數(shù)據(jù)的過濾、檢測等處理。
【附圖說明】
[0020]圖1示例性的示出了本發(fā)明監(jiān)控流程示意圖;
[0021]圖2示例性的示出了本發(fā)明保持真實的網絡接口與虛擬機的虛擬接口對應一致的方法流程示意圖;
[0022]圖3示例性的示出了本發(fā)明用Open vSwitch搭建后的網絡示意圖。
【具體實施方式】
[0023]為了更好的理解本發(fā)明所解決的技術問題、所提供的技術方案,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。此處所描述的具體實施例僅用以解釋本發(fā)明的實施,但并不用于限定本發(fā)明。
[0024]在優(yōu)選的實施例中,圖1示例性的示出了一種Xen虛擬化環(huán)境下虛擬機網絡數(shù)據(jù)的監(jiān)控流程示意圖;包括:
[0025]步驟一:在宿主機上,用Open vSwitch搭建網絡架構,如圖3所示;創(chuàng)建網橋;
[0026]步驟二:建立虛擬機,并將所述虛擬機加入網橋;
[0027]步驟三:將真實的網絡接口對應所述虛擬機的虛擬接口,保持真實的網絡接口與所述虛擬機的虛擬接口對應一致;
[0028]步驟四:將所述虛擬機的虛擬接口與所述網橋橋接,同時為各個虛擬機創(chuàng)建虛擬端口 ;使網絡數(shù)據(jù)都經過相應的所述虛擬機的虛擬端口進行網絡數(shù)據(jù)的通信;
[0029]步驟五:用所述Open vSwitch創(chuàng)建一個額外的網絡監(jiān)控數(shù)據(jù)端口,通過所述網絡監(jiān)控數(shù)據(jù)端口來監(jiān)控所述網絡數(shù)據(jù)。
[0030]在更加優(yōu)選的實施例中,所述步驟三中,保持真實的網絡接口與所述虛擬機的虛擬接口對應一致的方法是:在所述宿主機內,截取每個到達虛擬機虛擬端口的數(shù)據(jù)包頭部的前128KB個字節(jié),分析所述數(shù)據(jù)包頭部,解析所述數(shù)據(jù)包頭部的協(xié)議,根據(jù)解析后所述數(shù)據(jù)包,確定虛擬機對應的網橋端口。
[0031]在更加優(yōu)選的實施例中,所述步驟三中,圖2示例性的示出了本發(fā)明保持真實的網絡接口與所述虛擬機的虛擬接口對應一致的方法流程示意圖;具體方法是:在虛擬機的虛擬端口被創(chuàng)建后,發(fā)送數(shù)據(jù)包時,數(shù)據(jù)包從虛擬機內部到達虛擬端口,判斷數(shù)據(jù)包是否是第一個數(shù)據(jù)包;若數(shù)據(jù)包是第一個數(shù)據(jù)包,正常發(fā)送所述數(shù)據(jù)包;若數(shù)據(jù)包不是第一個數(shù)據(jù)包,構建新數(shù)據(jù)包,新數(shù)據(jù)包的目的地址為所述宿主機,所述宿主機接受新數(shù)據(jù)包,保持真實的網絡接口與虛擬機的虛擬接口