監(jiān)控Hyper-V虛擬機的基本網(wǎng)絡(luò)流量統(tǒng)計很簡單,但是由于Hyper-V中網(wǎng)絡(luò)的虛擬化方式,執(zhí)行實際的數(shù)據(jù)包捕獲就很難了。下面是你的選擇:
計數(shù)器
最基本的監(jiān)控是給定VM的簡單帶寬利用率,這一點都不難。Hyper-V有四個基本的網(wǎng)絡(luò)性能計數(shù)器群組,你可以記錄和分析它們來了解Hyper-V本身和每個獨立虛擬機的網(wǎng)絡(luò)流量。
網(wǎng)絡(luò)接口。這個計數(shù)器設(shè)置描述Hyper-V中使用的物理網(wǎng)絡(luò)設(shè)備。這種設(shè)置的計數(shù)器可用來查看Hyper-V中流入流出的流量作為一個整體運行得怎么樣。如果你的物理網(wǎng)絡(luò)接口上有大量錯誤,比如,可能是適配器本身飽和了或者是Hyper-V連接的網(wǎng)絡(luò)結(jié)構(gòu)太慢了。
Hyper-V虛擬交換機。它讓你可以統(tǒng)計Hyper-V虛擬機之間交換的流量。還有一個相似的計數(shù)器設(shè)置叫做Hyper-V虛擬交換機端口,它讓你看到這個交換機上某個特定端口的數(shù)據(jù)統(tǒng)計。
Hyper-V遺留網(wǎng)絡(luò)適配器和Hyper-V虛擬網(wǎng)絡(luò)適配器。這兩個性能計數(shù)器設(shè)置提供特定VM的網(wǎng)絡(luò)活動詳細信息。這些計數(shù)器組中每一個的子設(shè)置都有一個VM易記的名字,還有其網(wǎng)絡(luò)適配器的名字,加上VM和適配器的GUID,防止了你想使用Windows管理規(guī)范(WMI)來查詢它們的情況。
這兩個計數(shù)器設(shè)置的最大不同在于你監(jiān)控的VM是否使用了集成服務(wù)。很明顯,你想要在任何可能的時候使用集成服務(wù),并且使用虛擬網(wǎng)絡(luò)適配器計數(shù)器。(Windows Server 2008和之后版本都有預(yù)安裝的集成服務(wù),所以你不用擔(dān)心它們。)沒有集成服務(wù)運行的虛擬機需要使用遺留網(wǎng)絡(luò)適配器計數(shù)器,盡管這會帶來一定的效能損失。
數(shù)據(jù)包捕獲
如果在一個Hyper-V實例中,你想要監(jiān)控所有來自或去向虛擬機的數(shù)據(jù)包級網(wǎng)絡(luò)流量怎么辦?也就是說,你要進行數(shù)據(jù)包檢查和網(wǎng)絡(luò)捕獲。不幸的是,現(xiàn)在還沒有在Hyper-V本身中直接這么做的方法。虛擬網(wǎng)絡(luò)適配器還沒有混合模式,某種程度上是為了增強安全性和VM間的獨立性,也是為了保護管理程序本身。
達成此目的的一種方式是通過在每個需要有數(shù)據(jù)包捕獲設(shè)置的虛擬機上安裝WireShark或相似產(chǎn)品。出于多方面的原因,這并不是一個理想的解決方案。一方面,你必須在每臺機器上而不是每個管理程序上安裝數(shù)據(jù)包捕獲軟件。你也許可以通過軟件部署來解決,但是這是假設(shè)你捕獲數(shù)據(jù)包的虛擬機都是運行Windows。
但是,圖景正在發(fā)生改變。Windows Server 8中計劃的一個新功能是“擴展交換機”系統(tǒng)。這實現(xiàn)了擴展的捕獲、過濾和轉(zhuǎn)送,這些擴展都注入到Hyper-V的虛擬交換機堆棧中,所以可以在Hyper-V上分別檢查VM中流入和流出的流量。這意味著要等Hyper-V 3.0出現(xiàn),但是至少微軟已經(jīng)承諾了對這個特性的需求,也正在為這個需求努力改變。