vSphere vSwitch入門:設計依據
在一個vSphere主機上,虛擬交換機(vSwitch)是核心網絡構件,它連接主機服務器上的物理網卡(pNIC)和虛擬機上的虛擬網卡(vNIC)。作為2層網管交換機,vSphere vSwitch仿真傳統以太網的特征,實現諸如劃分VLAN等相似的功能。但是vSphere vSwitch沒有路由功能,必須依靠虛擬路由器或3層物理路由器才能進行路由。
考慮到這一點,在vSphere中有很多種方法來設計vSwitch。在規劃vSwitch的架構時,工程師必須決定怎樣使用物理網卡(pNIC)和分配端口組來確保冗余、隔離和安全性。例如擁有的物理網卡越多,對于隔離、負載均衡和失效備援的可選方案也就越多。物理網卡較少則可選方案有限,而且在vSwitch中難以平衡安全性、性能和冗余三者的關系。
三種vSphere vSwitch
工程師首先必須要做的是選擇適合他們應用環境的vSwitch。與vSphere一起使用的vSwitch有三種類型:虛擬網絡標準虛擬交換機(vNetwork Standard vSwitch,VSS),虛擬網絡分布式虛擬交換機(vNetwork Distributed vSwitch ,vDS)以及思科的Nexus 1000v。
標準虛擬交換機:易于使用,工作在規模相對較小的應用環境中。一臺vSphere主機可以擁有多達248個vSS和最多4088個vSwitch端口,其中每個vSwitch可配置多達512個端口組。對于vSS,必須在每個主機上分別配置它們,因此在大的應用環境中維護它們會耗時。此外,vSS缺乏vDS和1000v所具有的所有高級網絡特征。
分布式虛擬交換機:同標準虛擬交換機十分相似,但是標準虛擬交換機是在每個主機上分別配置;vDS則是使用虛擬中央服務器(vCenter Server)集中配置。在每一個虛擬中央服務器上你可以擁有多達32個的vDS,并且每個主機可以連接多達16個vDS。盡管創建和維護vDS需要使用虛擬中央服務器,但是在運行中vDS卻是不依賴于vCenter Server的。
思科Nexus 1000v:一款混合型的分布式vSwitch,它是由思科和VMware聯合開發的。Nexus 1000v添加了更多的智能和更好的管理特征來保護虛擬機流量。
你應該選擇那一款vSphere vSwitch?在沒有vSphere企業增強版許可(Enterprise Plus License)的情況下答案非常簡單:標準虛擬交換機是你唯一的選擇。如果你擁有了一個企業增強版許可,vDS或Nexus 1000v則可能是更好的選擇。但是,vSphere中包含了vDS的許可,而對1000v而言每個主機都額外需要一個許可。
使用一臺vSphere vSwitch進行802.1Q VLAN標記添加
虛擬交換機支持802.1Q VLAN標記添加,該技術允許同一個物理交換機端口被劃分到多個VLAN中。這個功能可以極大地減少主機上所需的物理網卡數量。你可以使用一個單獨的網卡連接到多個VLAN,而不用在主機上為每一個VLAN配備一個獨立的物理網卡。
添加標記(Tagging)的工作原理就是給所有的網絡幀添加標記來標識其屬于一個特定VLAN。vSphere中有許多種方法來添加標記,這些模式之間主要的不同是標記用在哪里。虛擬機來賓標記(VGT)模式是在來賓操作系統層上添加標記;外部交換機標記(EST)模式是在外部物理交換機上添加標記;虛擬交換機標記(VST)模式是在VMkernel內添加標記。VST模式是vSphere中最常用模式之一。#p#
vSphere vSwitch設計依據
●冗余:必須有足夠的物理網卡,當一個物理網卡失效了vSwitch仍然可以工作。
●負載均衡:必須有足夠的物理網卡,使流量可以通過多個物理網卡。
●隔離:敏感的虛擬機流量類型必須物理上隔離。
●功能:各種主機流量類型必須物理隔離。
vSwitch設計中的端口和端口組分配
由于安全和性能原因,不推薦將所有的端口和端口組放在單獨一個擁有指定物理網卡的vSwitch上。在創建vSwitch時可以添加許多種類型的端口和端口組來實現隔離、安全和管理。
服務控制端口:該類端口是ESX主機所獨有的一個關鍵端口。它是虛擬機服務控制的管理接口,也被稱作VSWIF端口。每一個ESX主機必須擁有一個服務控制端口,而且另外一臺vSwitch上能夠創建第二個服務控制端口作為冗余。
VMKernel端口:ESXi中將該端口用作管理控制接口。ESX和ESXi主機也都可以將該端口用于vMotion、容錯記錄和NFS與iSCSI數據存儲的連接。可以在多個vSwitch上建立VMKernel端口作為冗余,并且在各個vSwitch內隔離不同的流量類型。
虛擬機端口組:連接一個虛擬機所有虛擬網卡的端口組。一個vSwitch中,每個VLAN可以創建多個虛擬機端口組。利用VLAN ID可以將流量路由到正確的端口組。
服務控制端口和VMkernel端口的流量對于主機的正常運行是非常關鍵的,應該始終將他們同虛擬機的流量分開。這些流量也包含敏感數據,而且并非所有的流量(例如vMotion)都是加密的。因此你應該將物理網卡分派到多個用于特定功能和流量類型的vSwitch中。
vSwitch的冗余設計
如果一個vSwitch僅僅使用了一個物理網卡,發生故障時,所有的虛擬機都將失去網絡連接。對服務控制端口和VMkernel端口來說這是特別重要的。心跳通信在每個主機之間不停地廣播,它是高可用性功能的觸發器,并且通過服務控制端口(ESX)和VMkernel端口(ESXi)進行發送。如果那些端口由于網絡故障超過12秒不可用,高可用性功能就會被觸發,主機上的虛擬機就會關機,同時在另外一臺主機上啟動該虛擬機。因此,使用冗余來防止因為單個網絡端口故障導致誤報警的發生是很重要的。
在一個vSwitch上實現冗余,而且是在主機層而不是路徑層提供冗余,要求至少要有兩個物理網卡分配給它。為實現更強的快速回復能力,每個物理網卡必須連到一個不同的物理交換機上。那樣的話當一個交換機完全失效仍然可以確保一條網絡路徑完好可用。可以在活躍(Active)或備用(Standby)模式下設置物理網卡。活躍意味著一個物理網卡在交換機上活躍可用。備用模式說明物理網卡直到有一個活躍狀態的物理網卡失效才會參與工作。大多數情況下一個物理網卡將會處于活躍狀態,被充分使用。一個物理網卡能夠作為一個端口組的活躍端口和同一交換機上另一個端口組的備用端口同時工作。當物理網卡數量有限而工程師想要分配某種流量類型給每一個物理網卡,同時又想要有物理網卡用作冗余時,這樣做是很有幫助的。
下面給出了一個同時包括服務控制端口和VMkernel端口組的vSwitch例子。如果為每個端口組創建一個vSwitch,那么為了每個vSwitch的冗余總共將需要四個物理網卡。而為兩個端口組共同創建一個vSwitch,僅需要使用兩個運行于活躍/備用模式的物理網卡:
●vSwitch0——服務控制端口組——vmnic0(活躍)——vmnic1(備用)
●vSwitch0——VMkernel端口組——vmnic1(活躍)——vmnic0(備用)
在這個配置中,每一個關鍵的端口組都有一個專用的物理網卡,但是如果一個故障發生,另一個物理網卡能夠代替故障網卡并且同時服務于兩個端口組。
【編輯推薦】