1. 程式人生 > >詳細講解Hyper-V虛擬機器的網路配置

詳細講解Hyper-V虛擬機器的網路配置

近幾年最火熱的IT術語就是虛擬化、雲端計算,隨著Hyper-v2.0的釋出,伺服器虛擬化又一次走近我們的身邊,在任何虛擬化環境,都需要考量虛擬網路的配置,那麼,hyper-v如何支援網路,又是如何配置的呢?本文簡單介紹了hyper-v的架構,並針對Hyper-V在實際應用中的網路架構及設定進行詳盡的講解,使您可以對其虛擬網路執行機制有一個全面的瞭解。

術語說明:

執行在hyper-v伺服器上的虛擬機器:子分割槽、虛擬機器、guest

執行hyper-v的物理伺服器:父分割槽、管理作業系統、host

Hyper-v的簡介及架構

Hyper-V是微軟伴隨Windows Server 2008推出的伺服器虛擬化解決方案,最新的版本為Hyper-v 2.0,隨windows 2008 R2釋出,其單獨版本為Hyper-V Server 2008 R2,與上一個版本增加了大量新特性,特別是動態遷移(Live Migration)、故障轉移叢集(Failover Cluster)、新版伺服器配置工具等等,同時物理系統處理器、記憶體支援(4路/24核心、32GB-->8路/64核心、1TB),另外最多可執行的虛擬系統也從192增加到了384個,在增加容量的同時不需要重新啟動系統。利用hyper-v管理器及SCVMM2008,提供了動態、可靠以及可伸縮的虛擬化平臺,並以之管理物理和虛擬資源,可實現更低的總體擁有成本(TCO)。

Hyper-v核心程式碼僅有幾百K,且不包含任何第三方驅動,驅動程式和全新的 IO 共享模型一起託管在父分割槽中,Hyper-V的架構簡化了虛擬機器和硬體之間的層數,這種構架使得虛擬機器和硬體之間只通過很薄的一層進行連線,因此虛擬機器執行效率非常高,可以更加充分的利用硬體資源,使虛擬機器系統性能非常的接近真實的作業系統效能。

Hyper-V採用基於VMbus的高速記憶體匯流排架構,來自虛機的硬體請求(顯示卡、滑鼠、磁碟、網路),可以直接經過VSC,通過VMbus匯流排傳送到根分割槽的VSP,VSP呼叫對應的裝置驅動,直接訪問硬體,中間不需要Hypervisor的幫助。

Hyper-v架構如下圖所示:

Hyper-v網路執行機制

Hyper-v通過模擬一個標準的(ISO/OSI二層)交換機來支援以下三種虛擬網路:

External(外部虛擬網路):虛擬機器和物理網路、本地主機都能通訊

在希望允許子分割槽(虛擬機器或guest)與外部伺服器和父分割槽(管理作業系統或host)進行通訊時,可以使用此型別的虛擬網路。此型別的虛擬網路還允許位於同一物理伺服器上的虛擬機器互相通訊。

Internal(內部虛擬網路):虛擬機器之間互相通訊,並且虛擬機器能和本機通訊

在希望允許同一物理伺服器上的子分割槽與子分割槽和父分割槽之間進行通訊時,可以使用此型別的虛擬網路。內部虛擬網路是一種未繫結到物理網路介面卡的虛擬網路。它通常用來構建從管理作業系統連線到虛擬機器所需的測試環境。

Private(專用虛擬網路):僅允許執行在這臺物理機上的虛擬機器之間互相通訊

在希望只允許同一物理伺服器上的子分割槽之間進行通訊時,可以使用此型別的虛擬網路。專用虛擬網路是一種無需在父分割槽中裝有虛擬網路介面卡的虛擬網路。在希望將子分割槽從父分割槽以及外部網路中的網路通訊中分離出來時,通常會使用專用虛擬網路。

建議在執行hyper-v的伺服器上至少兩個網路介面卡,其中:一個網路介面卡專供進行遠端管理的使用,另外一個或多個網路介面卡專門用於虛擬機器(子分割槽);如果你使用到SAN、iSCSI等共享網路儲存,需要兩個高速(Gbit銅纜或光纖)專門用於網路儲存,因此生產環境建議至少四個網路介面卡。

實踐建議:為每個網路介面卡重新命名為易記、易懂的標識,如:專供遠端管理的網路介面卡——manager

下圖為某企業生產環境hyper-v拓撲圖:

如果使用System Center Virtual Machine Manager 2008(以下簡稱SCVMM)的話,可以很方便的看到全域性或單獨虛擬的網路拓樸圖,如下:

外部虛擬網路

對於hyper-v伺服器,最值得關注的是外部虛擬網路,理解外部虛擬網路也就理解了hyper-v的網路結構。Hyper-v外部虛擬網路的網路通訊,通過在物理網絡卡上執行“Microsoft Virtual Network Switch Protocol(微軟虛擬交換機協議)”,模擬出一個標準的(ISO/OSI二層)交換機,支援Vlan劃分。對於生產環境基本上都將使用到外部虛擬網路,結合vlan的設定,可以輕鬆構建適合企業使用的網路。

在安裝 Hyper-V 並建立外部虛擬網路後,計算機將以不同的方式執行。安裝後,父分割槽將使用虛擬網路介面卡連線到物理網路。在父分割槽的“網路連線”上,您將看到原始的網路介面卡和一個新的虛擬網路介面卡,在原始物理網路介面卡只繫結“Microsoft 虛擬網路交換協議”,而虛擬網路介面卡綁定了所有標準協議和服務(如ipv4、ipv6、Microsoft網路客戶端)。在“網路連線”下顯示的虛擬網路介面卡將使用與其關聯的虛擬網路交換機相同的名稱。在建立或刪除外部虛擬網路時,將會暫時中斷外部網路連線。

建立外部虛擬網路後,除了交換機是基於軟體以及可以根據需要動態新增或刪除埠之外,虛擬網路與物理網路的工作原理基本相同,虛擬交換機發揮物理交換機的功能,所有的網路通訊將通過外部虛擬網路傳送到其目的地。

因此,建議使用至少一個其他物理網路介面卡來管理網路通訊。

通常我們使用SCVMM來配置虛擬網路,在SCVMM提供更多的選項比如VLAN的trunk模式。在外部虛擬網路中,我們需要配置網路的連線型別(外部)、選擇繫結的網路介面卡、VLAN的模式等,下圖為Hyper-v管理器——外部虛擬網路配置:

內部虛擬網路及專用虛擬網路

相對於外部虛擬網路來說,內部及專用虛擬網路就好理解多了。

新增內部虛擬網路的步驟及新增外部虛擬網路相似,但不需要選擇繫結的物理網絡卡,在父分割槽的“網路連線”上將新增一個新的虛擬網路介面卡,但不會對已有的物理卡做任何修改。內部虛擬網路僅提供子分割槽與子分割槽及父分割槽之間的通訊。

新增專用虛擬網路的步驟及新增內部虛擬網路一樣,在父分割槽的“網路連線”不會新增虛擬網路介面卡。專用虛擬網路僅提供子分割槽之間的通訊。

設定全域性MAC地址

可以通過hyper管理器設定子分割槽能夠使用的MAC地址範圍,通常我們不需要特別去設定。在P-V時,某些特殊需求的情況下,我們只需要單獨為虛擬機器(子分割槽)的網絡卡分配MAC地址。

虛擬機器中的網路

當在Hyper-V中建立虛擬機器,需要連線到虛擬網路時,將會使用虛擬網路介面卡。有兩種型別的網路介面卡可用於 Hyper-V:

l  網路介面卡:SCVMM中稱為綜合網路介面卡

綜合網路介面卡是 Hyper-V 所使用的一種新裝置,可比模擬網路介面卡提供更佳的效能。合成網路介面卡要求在虛擬機器上安裝hyper-v的整合服務(VGS、虛擬來賓服務)。

l  舊版網路介面卡:SCVMM中稱為模擬網路介面卡

模擬基於 Intel 21140網路介面卡,可以在所有虛擬化軟體(Virtual PC、Virtual Server等)平臺上使用,並支援PXE啟動。通常因為作業系統原因(如版本太舊)無法安裝整合服務。

虛擬機器(子分割槽)連線到虛擬交換機的一個埠。為了使虛擬機器上的網路應用程式能夠與外部網路的應用程式一起工作,它首先會通過虛擬網路介面卡路由到外部虛擬網路上的虛擬埠(連線虛擬機器的埠),然後將網路資料包通過物理網路介面卡向外傳送到外部物理網路。

通常我們需要配置虛擬機器網路介面卡的:網路連線、MAC地址、VLAN,如下圖:

虛擬區域網 (VLAN)

Hyper-v支援Vlan,同時支援access及trunk。首先你的網路需要支援vlan,至少你的父分割槽網路介面卡支援Vlan。Access模式相對比較簡單,只需要在子分割槽網路介面卡中設定對應的Vlan ID,Trunk 模式允許多個 VLAN ID 共享物理網路介面卡和物理網路之間的連線。若要使虛擬機器能夠外部訪問多個 VLAN 中的虛擬網路,您需要將物理網路上的埠配置為 trunk 模式。還需要知道所使用的特定 VLAN,以及虛擬網路支援的虛擬機器使用的所有 VLAN ID。Trunk模式需要在System Center Virtual Machine Manager 2008 中設定。

乙太網交換機埠的三種鏈路型別:access、trunk、hybird。

l   Access型別的埠只能屬於1個VLAN,一般用於連線計算機的埠;

l   Trunk型別的埠可以允許多個VLAN通過,可以接收和傳送多個VLAN的報文,一般用於交換機之間連線的埠;

l   Hybrid型別的埠可以允許多個VLAN通過,可以接收和傳送多個VLAN的報文,可以用於交換機之間連線,也可以用於連線使用者的計算機。

總結

通過以上內容的介紹,我們將學習到三種的虛擬網路架構,各種虛擬網路不同的用途,特別對常用於生產環境的外部虛擬網路,以及VLAN的支援做了詳盡的介紹。Hyper-v的網路架構與vmware的網路架構,有著很大的區別,但hyper-v的網路架構更簡單,更合適企業生產環境。在實際生產環境中,更多時候將使用功能強大的system center(主要是scvmm、scom、dpm)來管理整個虛擬化平臺。