對于剛剛開始接觸VMWare虛擬化的同學励七,除了創(chuàng)建虛擬機外,一定繞不過的就是VMWare的虛擬化網(wǎng)絡(luò)摊欠。在此記錄一下筆者對vSphere虛擬交換機的理解捌显。
引子
ESXi是 vSphere 中最重要的一個組件。ESXi 是虛擬化服務(wù)陡厘。所有的虛擬機都是運行在 ESXi 服務(wù)上面抽米。創(chuàng)建虛擬機的時候,需要綁定網(wǎng)口對應的PortGroup糙置,那么什么是ESXi的vSwitch云茸,什么是PortGroup,虛擬機的流量最后又是按照什么規(guī)則從ESXi主機的物理網(wǎng)口出來的呢谤饭?反方向呢标捺?
ESXi物理網(wǎng)口
安裝了ESXi的服務(wù)器的物理網(wǎng)口呈現(xiàn)為"vmnicx"的形式,其中x為編號揉抵,從0開始依次遞增亡容。
ESXi主機上創(chuàng)建的虛擬機,如果要和外界通信冤今,流量最后一定是要通過ESXi主機的物理網(wǎng)口的闺兢。要確認物理網(wǎng)口和上聯(lián)的交換機端口的連接關(guān)系也很簡單,只要把交換機的端口down掉辟汰,看哪個物理網(wǎng)口變成down即可列敲。
vSwitch
Switch(交換機)原本指的是按照vlan+mac進行橋接轉(zhuǎn)發(fā)的二層網(wǎng)絡(luò)設(shè)備。在虛擬化的浪潮中帖汞,交換機作為直連主機的網(wǎng)絡(luò)設(shè)備戴而,也被虛擬化了,就是vSwitch(虛擬交換機)。在OpenStack中翩蘸,一般使用OpenvSwitch作為虛擬交換機所意,而VMWare系統(tǒng)中的虛擬交換機的功能由ESXi的內(nèi)核提供,只支持最基本的二層橋接催首,沒有物理交換機的那些高級功能扶踊。
vSphere交換機可以分為兩類,即為“標準交換機”和“分布式交換機”郎任。不同之處在于“標準交換機”只存在于一臺ESXi主機上秧耗,只能將存在與本機的虛擬機進行直接連通。
“分布式交換機”借助vCenter對多臺ESXi主機的統(tǒng)一管理能力舶治,可以建立一個跨ESXi主機的分布式虛擬交換機分井,提供一致性的配置和二層連通服務(wù)车猬。當然,“分布式交換機”其實是將ESXi主機和上聯(lián)的物理交換機的二層連通能力進行了統(tǒng)一抽象尺锚,形成的邏輯上“分布式交換機”珠闰。
PortGroup
交換機上(無論物理還是虛擬),都會有很多端口瘫辩,用來連接主機(或虛擬機)伏嗜。為了方便起見,將具有相同特性的端口聚合為“端口組”伐厌。因此端口組一定是屬于某個虛擬交換機承绸,可能是標準虛擬交換機也可能是分布式虛擬交換機。
標準交換機上的端口組就叫標準端口組弧械,直接allow所有vlan八酒。
分布式交換機上的端口組自然就叫分布式端口組了。在指定分布式交換機上創(chuàng)建端口組的時候刃唐,需要重點關(guān)注的是它的vlan類型羞迷。
一般來說主要使用下面兩種
(1)VLAN:相當于Access類型,native VLAN是可以設(shè)置的画饥。虛擬機連接了這樣的接口衔瓮,發(fā)出的untag報文會被歸為native VLAN,從所在的虛擬交換機的uplink口離開ESXi主機的時候抖甘,會插入這個VLAN tag热鞍。
(2)VLAN中繼:相當于Trunk類型,還需要指定allow的vlan range衔彻。主要用于虛擬機發(fā)出的報文已經(jīng)帶了vlan tag的情況薇宠,例如虛擬機上裝ESXi或是OpenStack,即所謂的“又虛了一層”艰额。這些帶VLAN tag的報文會透傳出虛擬交換機的uplink口澄港。
當設(shè)置虛擬機的網(wǎng)卡的時候,會指定這張網(wǎng)卡是屬于哪個端口組柄沮,同時也就確定了連接到哪臺虛擬交換機了回梧,進而也就確定了從ESXi哪個物理網(wǎng)口與外界通信。