服務(wù)器虛擬化使網(wǎng)絡(luò)管理變得更復(fù)雜
服務(wù)器虛擬化在數(shù)據(jù)中心領(lǐng)域中正得到越來(lái)越廣泛的實(shí)際應(yīng)用。經(jīng)濟(jì)因素與這一趨勢(shì)密不可分。服務(wù)器虛擬化可減少服務(wù)器的數(shù)量,所需的制冷能力和功率都更小,同時(shí)也大幅增加了靈活性,因此可以有效地降低總體擁有成本(TCO)。對(duì)于業(yè)務(wù)和服務(wù)器團(tuán)隊(duì)而言,這的確是好消息,但對(duì)于網(wǎng)絡(luò)的管理來(lái)說(shuō),它又會(huì)產(chǎn)生怎樣的影響呢?事實(shí)情況是,它會(huì)使網(wǎng)絡(luò)管理變得更加復(fù)雜。
服務(wù)器虛擬化會(huì)牽涉到兩項(xiàng)重大的網(wǎng)絡(luò)問(wèn)題。首先是虛擬局域網(wǎng)(VLAN)的配置問(wèn)題。網(wǎng)絡(luò)管理者必須確認(rèn)當(dāng)物理服務(wù)器運(yùn)行虛擬機(jī)時(shí),同樣的交換機(jī)端口也被分配給了虛擬機(jī)使用的虛擬局域網(wǎng)。
解決方法之一是,服務(wù)器虛擬化團(tuán)隊(duì)將虛擬機(jī)可能啟動(dòng)的每一臺(tái)服務(wù)器告訴網(wǎng)絡(luò)管理團(tuán)隊(duì),并且對(duì)交換機(jī)端口進(jìn)行預(yù)先配置。但這并不是理想的解決方案,因?yàn)檫@將導(dǎo)致在很大比例的交換機(jī)端口上定義VLAN。由于服務(wù)器團(tuán)隊(duì)可能并不清楚鏡像啟動(dòng)時(shí)所用的所有服務(wù)器,特別在災(zāi)難恢復(fù)情況下他們要采取緊急措施的時(shí)候,情況將變得更加復(fù)雜。
第二個(gè)問(wèn)題是指定服務(wù)質(zhì)量(QoS)和執(zhí)行網(wǎng)絡(luò)協(xié)議,例如訪問(wèn)控制列表(ACL)。傳統(tǒng)上,這項(xiàng)工作是在與應(yīng)用所運(yùn)行的服務(wù)器相連的網(wǎng)絡(luò)交換機(jī)上完成的。當(dāng)有了服務(wù)器虛擬化后,就出現(xiàn)了運(yùn)行在物理服務(wù)器的Hypervisor下的軟件交換機(jī),而非傳統(tǒng)意義上的連接到物理服務(wù)器的物理網(wǎng)絡(luò)交換機(jī)。
在軟件交換機(jī)上執(zhí)行協(xié)議還是很重要。例如,有兩臺(tái)虛擬機(jī),我們本意是這兩臺(tái)虛擬機(jī)相互通信,但如果有人控制了虛擬機(jī)1,便可以打開(kāi)與虛擬機(jī)2的連接并盜取數(shù)據(jù)。而我們?nèi)绻麑?duì)服務(wù)器上的軟件交換機(jī)實(shí)施了訪問(wèn)控制列表,這種入侵活動(dòng)便可被阻止。
在虛擬化之前,此類行為一般都可阻止,由于虛擬機(jī)1和虛擬機(jī)2運(yùn)行在不同的服務(wù)器上,因而可以通過(guò)在網(wǎng)絡(luò)交換機(jī)上定義訪問(wèn)控制列表來(lái)阻止這種通信。在軟件交換機(jī)上執(zhí)行這種協(xié)議可以保持安全性。但問(wèn)題在于,如何讓軟件來(lái)實(shí)施協(xié)議。
要想使服務(wù)器虛擬化順利開(kāi)展,克服這些挑戰(zhàn)將至關(guān)重要。目前,共有四種方法來(lái)解決這些問(wèn)題。
虛擬化廠商的應(yīng)對(duì)之法
市場(chǎng)上有多家提供虛擬化解決方案的廠商,例如VMware、思杰、微軟、紅帽等。不過(guò),Vmware的解決方案應(yīng)用最為廣泛,因此我們以它來(lái)舉例說(shuō)明。
在圖1中,VMware的vCenter控制著虛擬流程并指導(dǎo)虛擬機(jī)應(yīng)在哪里啟動(dòng)。Hypervisor控制著服務(wù)器和運(yùn)行在物理服務(wù)器上的虛擬機(jī)。vSwitch是VMware提供的一種2層軟件交換機(jī)。每臺(tái)虛擬機(jī)都有一個(gè)虛擬網(wǎng)卡(vNIC)。vNIC使用的是來(lái)自虛擬化廠商的訪問(wèn)控制清單地址池,或者是企業(yè)建立和分配的訪問(wèn)控制清單地址。該圖的目的并不是顯示真實(shí)環(huán)境下所有可能的變化情況,它只是展示整個(gè)虛擬化流程是如何運(yùn)轉(zhuǎn)的。
步驟1是由服務(wù)器團(tuán)隊(duì)定義出虛擬機(jī)的所有網(wǎng)絡(luò)特性和協(xié)議。操作員會(huì)告訴vCenter在步驟2中啟動(dòng)虛擬機(jī)2。該過(guò)程中,vCenter和服務(wù)器上的Hypervisor之間會(huì)互相傳遞多條消息,例如,vCenter會(huì)將網(wǎng)絡(luò)協(xié)議信息推送給Hypervisor。在步驟3中,Hypervisor會(huì)為vSwitch配置正確的VLAN、QoS和協(xié)議信息。當(dāng)虛擬機(jī)2上的應(yīng)用開(kāi)始發(fā)送包時(shí),該協(xié)議會(huì)在vSwitch上實(shí)施。
這種方法解決了在vSwitch上實(shí)施協(xié)議的問(wèn)題,但并沒(méi)有解決網(wǎng)絡(luò)交換機(jī)中的VLAN配置問(wèn)題。虛擬化團(tuán)隊(duì)需要告訴網(wǎng)絡(luò)管理團(tuán)隊(duì),應(yīng)在虛擬機(jī)開(kāi)始發(fā)送流量之前,為VLAN配置交換機(jī)端口,這就要求進(jìn)行快速協(xié)調(diào)或者對(duì)交換機(jī)進(jìn)行預(yù)先配置。當(dāng)虛擬化團(tuán)隊(duì)需要對(duì)虛擬機(jī)進(jìn)行動(dòng)態(tài)遷移時(shí),協(xié)調(diào)問(wèn)題會(huì)變得更加復(fù)雜。在移動(dòng)服務(wù)器時(shí),虛擬化團(tuán)隊(duì)需要與網(wǎng)絡(luò)團(tuán)隊(duì)進(jìn)行協(xié)調(diào),而且網(wǎng)絡(luò)團(tuán)隊(duì)需要在成功遷移后完全清除老交換機(jī)上的配置。
使用該方法最大的問(wèn)題是,虛擬化和網(wǎng)絡(luò)團(tuán)隊(duì)之間進(jìn)行協(xié)調(diào)的工作量將很大。虛擬化團(tuán)隊(duì)必須對(duì)vCenter中的參數(shù)進(jìn)行配置,例如VLAN編號(hào)、QoS和ACL等,而這些參數(shù)又是由網(wǎng)絡(luò)團(tuán)隊(duì)控制的。這意味著服務(wù)器虛擬化團(tuán)隊(duì)和網(wǎng)絡(luò)團(tuán)隊(duì)之間需要不間斷的良好協(xié)調(diào)。VLAN或協(xié)議中的任何變化都必須立即反映到虛擬服務(wù)器配置中,而這其實(shí)意味著一個(gè)潛在的故障點(diǎn)。
另外一個(gè)值得擔(dān)憂的問(wèn)題是,網(wǎng)絡(luò)團(tuán)隊(duì)難以了解vSwitch內(nèi)部的工作情況。因?yàn)関Switch處在vCenter的控制下,而非傳統(tǒng)的網(wǎng)絡(luò)管理軟件。此外,對(duì)網(wǎng)絡(luò)團(tuán)隊(duì)而言,虛擬機(jī)的透明度也極低。一些網(wǎng)絡(luò)廠商已經(jīng)要求vCenter將變化或者對(duì)變化的抽樣調(diào)查通知給網(wǎng)絡(luò)團(tuán)隊(duì),并將其與傳統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)一同顯示出來(lái)。這些方法在一定程度上解決了可視性的問(wèn)題。
#p#
四大方案破解VLAN配置問(wèn)題
第一種方案是實(shí)現(xiàn)交換機(jī)與虛擬機(jī)管理軟件的同步。BladeNetworks目前提供了一種在其交換機(jī)上運(yùn)行的應(yīng)用,而Force10公司的下一版操作系統(tǒng)也可以解決VLAN的配置問(wèn)題。這兩家公司的交換機(jī)會(huì)對(duì)vCenter進(jìn)行查詢,監(jiān)測(cè)各種變化,也可以收到vCenter發(fā)出宣告變化的消息。如果交換機(jī)發(fā)現(xiàn)vCenter配置有變化,它會(huì)自動(dòng)執(zhí)行配置。虛擬化操作員不必與網(wǎng)絡(luò)運(yùn)營(yíng)部門進(jìn)行協(xié)調(diào),因此能夠使虛擬機(jī)的啟動(dòng)過(guò)程變得非常順利。交換機(jī)查詢間隔一定要小于一臺(tái)虛擬機(jī)啟動(dòng)的時(shí)間,從而確保交換機(jī)能夠以足夠快的速度看到變化。在Force10的第一個(gè)版本中,它惟一監(jiān)視的參數(shù)就是VLAN的參數(shù)。BladeNetwork則更進(jìn)一步,根據(jù)vNIC或VM的UUID(通用唯一識(shí)別碼)對(duì)網(wǎng)絡(luò)交換機(jī)實(shí)施了全系列的協(xié)議。該解決方案仍然需要在vSwitch中實(shí)施協(xié)議。
第二種解決VLAN配置問(wèn)題的方法是通過(guò)中間件協(xié)調(diào)控制虛擬機(jī)管理軟件和交換機(jī)。例如,使用惠普或Juniper等廠商提供的協(xié)調(diào)軟件,但這些軟件只能在其原廠的交換機(jī)上運(yùn)行。Scalent和CA等管理廠商也提供了自己的解決方案。在這種情況下,協(xié)調(diào)軟件會(huì)與網(wǎng)絡(luò)交換機(jī)和vCenter對(duì)話,并協(xié)調(diào)兩個(gè)環(huán)境之間的配置變化。這種方法有一定的潛在優(yōu)勢(shì),即能夠廣泛適用于眾多交換機(jī)和虛擬化廠商。
第三種方案來(lái)自于思科。思科提供了一種稱為"1000V"的軟件交換機(jī)解決方案,用于替代vSwitch。1000V由兩個(gè)組件組成:VSM(VirtualSwitchModule)是虛擬交換機(jī)模塊,用于替代運(yùn)行在Hypervisor內(nèi)的vSwitch軟件;VEM(VirtualElementManager)則用于配置和存儲(chǔ)VSM網(wǎng)絡(luò)協(xié)議。
首先根據(jù)虛擬機(jī)的UUID或vMAC地址,在VEM中對(duì)虛擬機(jī)的VLAN和協(xié)議進(jìn)行配置。在步驟2中,vCenter啟動(dòng)一臺(tái)新的虛擬機(jī)或移動(dòng)一臺(tái)虛擬機(jī)。在步驟3中,Hypervisor向VSM發(fā)出通知。接下來(lái),VSM在第四個(gè)步驟中從VEM中提取協(xié)議信息。如果網(wǎng)絡(luò)交換機(jī)屬于Nexus產(chǎn)品線,它也可以從VEM中提取必要的VLAN和協(xié)議信息。至此,Hypervisor中的交換機(jī)和Nexus交換機(jī)都獲得了處理虛擬機(jī)2的正確信息。當(dāng)虛擬機(jī)2開(kāi)始發(fā)送流量時(shí),所有正確的協(xié)議都會(huì)在Hypervisor中的1000V交換機(jī)上開(kāi)始實(shí)施。
思科方案的好處與第一種方法相同。如果將1000V與已經(jīng)為虛擬化做好準(zhǔn)備的Nexus交換機(jī)一同使用,那么就可以解決網(wǎng)絡(luò)交換機(jī)中的VLAN問(wèn)題。該方案的另一個(gè)好處在于,可以移動(dòng)在網(wǎng)絡(luò)管理軟件的控制下的Hypervisor中的交換機(jī),從而能夠清楚地劃分網(wǎng)絡(luò)團(tuán)隊(duì)?wèi)?yīng)擔(dān)負(fù)的責(zé)任。當(dāng)然,它也有不足的一面。目前,思科只能提供適用于VMware的解決方案,對(duì)于Xen和HyperV則無(wú)能為力。
第四種方法采用了一種以網(wǎng)絡(luò)設(shè)備為中心的視角來(lái)解決問(wèn)題。如附圖3所示,在步驟1中,按照虛擬網(wǎng)卡在網(wǎng)絡(luò)管理軟件中對(duì)虛擬機(jī)進(jìn)行了定義。在步驟2中,vCenter指導(dǎo)Hypervisor啟動(dòng)虛擬機(jī)。在第三個(gè)步驟中,Hypervisor會(huì)發(fā)送一個(gè)公告包,宣布它正在啟動(dòng)二號(hào)虛擬機(jī)。該公告中包含二號(hào)虛擬機(jī)的vNIC及其UUID。在步驟4中,交換機(jī)發(fā)現(xiàn)了該公告并發(fā)送其VLAN和其它協(xié)議信息的請(qǐng)求。接下來(lái),交換機(jī)會(huì)向進(jìn)入網(wǎng)絡(luò)的任何流量實(shí)施這些協(xié)議。
該方案的重點(diǎn)是交換機(jī)只在網(wǎng)絡(luò)交換機(jī)中實(shí)施協(xié)議,以藍(lán)點(diǎn)表示,而不會(huì)在vSwitch中實(shí)施。交換機(jī)還會(huì)監(jiān)視來(lái)自Hypervisor的消息,這些消息表明虛擬機(jī)是否移動(dòng)。如果發(fā)現(xiàn)此類消息,交換機(jī)便會(huì)清除與該vNIC相關(guān)的VLAN和協(xié)議信息。使用該解決方案的廠商包括AristaNetworks、BladeandEnterasys,另外惠普和Juniper也在通過(guò)其協(xié)調(diào)方法使用該解決方案。Brocade等其它廠商也在計(jì)劃提供該解決方案。ExtremeNetworks將該技術(shù)用于QoS和協(xié)議,但未用于VLAN。
這種方法努力想讓虛擬化團(tuán)隊(duì)不再被牽連到網(wǎng)絡(luò)協(xié)議的實(shí)施工作中來(lái)。然而,還有兩個(gè)問(wèn)題。首先是服務(wù)器虛擬化和聯(lián)網(wǎng)團(tuán)隊(duì)仍然必須就VLAN的編號(hào)進(jìn)行協(xié)調(diào)。目前,Enterasys可以向vSwitch自動(dòng)提供VLAN編號(hào),而Arista也計(jì)劃在近期加入該功能。
這種方法最大的問(wèn)題是,它沒(méi)有在vSwitch上實(shí)施協(xié)議,因而使得同一服務(wù)器上的虛機(jī)之間的交通流量繞過(guò)訪問(wèn)控制列表和其它安全協(xié)議。為解決這一問(wèn)題,Enterasys和Arista計(jì)劃添加在vSwitch上實(shí)施協(xié)議的能力。
在未來(lái),解決這一問(wèn)題的辦法之一是允許交換機(jī)做"180度急轉(zhuǎn)彎"。這樣,可對(duì)vSwitch進(jìn)行配置,規(guī)定其將所有的流量,甚至包括虛擬機(jī)1至虛擬機(jī)2的流量,都直接發(fā)送給網(wǎng)絡(luò)交換機(jī)。網(wǎng)絡(luò)交換機(jī)接下來(lái)會(huì)實(shí)施協(xié)議并指定QoS。虛擬機(jī)1至虛擬機(jī)2的流量可以回傳至vSwitch,由它將其發(fā)送至虛擬機(jī)2。
#p#
這將使vSwitch變成一個(gè)只擔(dān)負(fù)轉(zhuǎn)發(fā)職責(zé)的"啞巴"交換機(jī)。問(wèn)題是,所有2層交換機(jī)對(duì)應(yīng)的802.1D標(biāo)準(zhǔn)不允許從一個(gè)端口發(fā)出的流量沿原路返回到該端口。因此,在現(xiàn)行的規(guī)則下,網(wǎng)絡(luò)交換機(jī)無(wú)法將從虛擬機(jī)1發(fā)往虛擬機(jī)2的包沿原路返回,因?yàn)檫@樣是違反規(guī)則的。該規(guī)則的目的是防止出現(xiàn)回路。IEEE目前正在對(duì)802.1D進(jìn)行修訂,允許交換機(jī)執(zhí)行"180度急轉(zhuǎn)彎",并且正在開(kāi)展其它一些工作,實(shí)現(xiàn)"啞"交換機(jī)在Hypervisor中的標(biāo)準(zhǔn)化。當(dāng)這種方式普及后,它將能夠解決這一問(wèn)題,并且可以免去網(wǎng)絡(luò)和服務(wù)器團(tuán)隊(duì)之間絕大多數(shù)的協(xié)調(diào)工作。
Enterasys目前還有一種變通辦法,可以指導(dǎo)vSwitch將每臺(tái)虛擬機(jī)安置在獨(dú)立的VLAN中。即選擇目前沒(méi)有使用的VLAN編號(hào),來(lái)預(yù)防任何潛在的問(wèn)題。由于虛擬機(jī)處于不同的VLAN中,它們無(wú)法相互通信。當(dāng)數(shù)據(jù)包到達(dá)網(wǎng)絡(luò)交換機(jī)時(shí),交換機(jī)會(huì)使用真正分配給虛擬機(jī)的編號(hào)來(lái)替換VLAN編號(hào),讓網(wǎng)絡(luò)及其目的地以為虛擬機(jī)一直處于正確的VLAN中。
問(wèn)題仍未徹底解決
另外,還有一個(gè)VLAN配置問(wèn)題是上述技術(shù)仍然沒(méi)有解決的。當(dāng)向某個(gè)端口分配一個(gè)新的VLAN編號(hào)時(shí),需要使用該VLAN編號(hào)連接所有其它的端口。這就要求聚集在這條在路徑上的所有交換機(jī)都要對(duì)VLAN進(jìn)行定義。
例如,如果VLAN5支持某項(xiàng)應(yīng)付賬應(yīng)用。所有支持該應(yīng)用的虛擬機(jī)都位于一臺(tái)機(jī)架式交換機(jī)上,且該交換機(jī)已經(jīng)針對(duì)VLAN5進(jìn)行了配置。由于負(fù)載的原因,一臺(tái)運(yùn)行應(yīng)付賬應(yīng)用的虛擬機(jī)需要被遷移到數(shù)據(jù)中心另外一個(gè)帶有自己交換機(jī)的機(jī)架服務(wù)器上。
保留VLAN意味著所有的中間交換機(jī)都需要針對(duì)VLAN5進(jìn)行配置;如果未對(duì)其進(jìn)行配置,則等于破壞了VLAN。目前沒(méi)有那個(gè)解決方案說(shuō)清楚如何自動(dòng)分配交換機(jī)中的虛擬局域網(wǎng)。這就意味著如果虛擬機(jī)可以在數(shù)據(jù)中心內(nèi)部遷移,虛擬局域網(wǎng)數(shù)量必須在所有的核心交換機(jī)和集合交換機(jī)上事先進(jìn)行配置。。此外,這個(gè)問(wèn)題在近期內(nèi)不太可能得到解決。
業(yè)界已經(jīng)開(kāi)發(fā)出一系列解決端口VLAN和協(xié)議問(wèn)題的解決方案。但是,短期內(nèi),網(wǎng)絡(luò)和虛擬化團(tuán)隊(duì)需要進(jìn)行大量的協(xié)調(diào)工作,以保障工作的順利運(yùn)行。"180度急轉(zhuǎn)"是最好的長(zhǎng)期性解決方案,而且業(yè)界正在朝這個(gè)方向努力。由于目前市場(chǎng)上還沒(méi)有出現(xiàn)能夠適用于所有虛擬化解決方案的全系列解決方案,因此網(wǎng)絡(luò)管理者們應(yīng)當(dāng)充分了解各種解決方案。
【編輯推薦】