云計(jì)算就是計(jì)算虛擬化,而存儲(chǔ)虛擬化已經(jīng)在SAN上實(shí)現(xiàn)得很好了,那么為什么還要網(wǎng)絡(luò)虛擬化呢,云計(jì)算多虛一時(shí),所有的服務(wù)資源都成為了一個(gè)對(duì)外的虛擬資源,那么網(wǎng)絡(luò)不管是從路徑提供還是管理維護(hù)的角度來(lái)說(shuō),都得跟著把一些機(jī)框盒進(jìn)行多虛一統(tǒng)一規(guī)劃。而云計(jì)算一虛多的時(shí)候,物理服務(wù)器都變成了一些VM,
網(wǎng)絡(luò)多虛一技術(shù)
網(wǎng)絡(luò)多虛一技術(shù):最早的網(wǎng)絡(luò)多虛一技術(shù)代表是交換機(jī)集群Cluster技術(shù),多以盒式小交換機(jī)為主,較為古老,當(dāng)前數(shù)據(jù)中心里面已經(jīng)很少見(jiàn)了。而新的技術(shù)則主要分為兩個(gè)方向,控制平面虛擬化與數(shù)據(jù)平面虛擬化。
控制平面虛擬化
顧名思義,控制平面虛擬化是將所有設(shè)備的控制平面合而為一,只有一個(gè)主體去處理整個(gè)虛擬交換機(jī)的協(xié)議處理,表項(xiàng)同步等工作。從結(jié)構(gòu)上來(lái)說(shuō),控制平面虛擬化又可以分為縱向與橫向虛擬化兩種方向。
縱向虛擬化指不同層次設(shè)備之間通過(guò)虛擬化合多為一,代表技術(shù)就是Cisco的Fabric Extender,相當(dāng)于將下游交換機(jī)設(shè)備作為上游設(shè)備的接口擴(kuò)展而存在,虛擬化后的交換機(jī)控制平面和轉(zhuǎn)發(fā)平面都在上游設(shè)備上,下游設(shè)備只有一些簡(jiǎn)單的同步處理特性,報(bào)文轉(zhuǎn)發(fā)也都需要上送到上游設(shè)備進(jìn)行?梢岳斫鉃榧惺睫D(zhuǎn)發(fā)的虛擬交換機(jī)。
橫向虛擬化多是將同一層次上的同類型交換機(jī)設(shè)備虛擬合一, Cisco的VSS/vPC和H3C的IRF都是比較成熟的技術(shù)代表,控制平面工作如縱向一般,都由一個(gè)主體去完成,但轉(zhuǎn)發(fā)平面上所有的機(jī)框和盒子都可以對(duì)流量進(jìn)行本地轉(zhuǎn)發(fā)和處理,是典型分布式轉(zhuǎn)發(fā)結(jié)構(gòu)的虛擬交換機(jī)。Juniper的QFabric也屬于此列,區(qū)別是單獨(dú)弄了個(gè)Director盒子只作為控制平面存在,而所有的Node QFX3500交換機(jī)同樣都有自己的轉(zhuǎn)發(fā)平面可以處理報(bào)文進(jìn)行本地轉(zhuǎn)發(fā)。
控制平面虛擬化從一定意義上來(lái)說(shuō)是真正的虛擬交換機(jī),能夠同時(shí)解決統(tǒng)一管理與接口擴(kuò)展的需求。但是有一個(gè)很嚴(yán)重的問(wèn)題制約了其技術(shù)的發(fā)展。在前面的云計(jì)算多虛一的時(shí)候也提到過(guò),服務(wù)器多虛一技術(shù)目前無(wú)法做到所有資源的靈活虛擬調(diào)配,而只能基于主機(jī)級(jí)別,當(dāng)多機(jī)運(yùn)行時(shí),協(xié)調(diào)者的角色(等同于框式交換機(jī)的主控板控制平面)對(duì)同一應(yīng)用來(lái)說(shuō),只能主備,無(wú)法做到負(fù)載均衡。網(wǎng)絡(luò)設(shè)備虛擬化也同樣如此,以框式設(shè)備舉例,不管以后能夠支持多少臺(tái)設(shè)備虛擬合一,只要不能解決上述問(wèn)題,從控制平面處理整個(gè)虛擬交換機(jī)運(yùn)行的物理控制節(jié)點(diǎn)主控板都只能有一塊為主,其他都是備份角色(類似于服務(wù)器多虛一中的HA Cluster結(jié)構(gòu))?偠灾,虛擬交換機(jī)支持的物理節(jié)點(diǎn)規(guī)模永遠(yuǎn)會(huì)受限于此控制節(jié)點(diǎn)的處理能力。這也是Cisco在6500系列交換機(jī)的VSS技術(shù)在更新?lián)Q代到Nexus7000后被砍掉,只基于鏈路聚合做了個(gè)vPC的主要原因。三層IP網(wǎng)絡(luò)多路徑已經(jīng)有等價(jià)路由可以用了,二層Ethernet網(wǎng)絡(luò)的多路徑技術(shù)在TRILL/SPB實(shí)用之前只有一個(gè)鏈路聚合,所以只做個(gè)vPC就足矣了。另外從Cisco的FEX技術(shù)只應(yīng)用于數(shù)據(jù)中心接入層的產(chǎn)品設(shè)計(jì),也能看出其對(duì)這種控制平面虛擬化后帶來(lái)的規(guī)模限制以及技術(shù)應(yīng)用位置是非常清晰的。
數(shù)據(jù)平面虛擬化
前面說(shuō)了控制平面虛擬化帶來(lái)的規(guī)模限制問(wèn)題,而且短時(shí)間內(nèi)也沒(méi)有辦法解決,那么就想個(gè)法子躲過(guò)去。能不能只做數(shù)據(jù)平面的虛擬化呢,于是有了TRILL和SPB。關(guān)于兩個(gè)協(xié)議的具體細(xì)節(jié)下文會(huì)進(jìn)行展開(kāi),這里先簡(jiǎn)單說(shuō)一下,他們都是用L2 ISIS作為控制協(xié)議在所有設(shè)備上進(jìn)行拓?fù)渎窂接?jì)算,轉(zhuǎn)發(fā)的時(shí)候會(huì)對(duì)原始報(bào)文進(jìn)行外層封裝,以不同的目的Tag在TRILL/SPB區(qū)域內(nèi)部進(jìn)行轉(zhuǎn)發(fā)。對(duì)外界來(lái)說(shuō),可以認(rèn)為TRILL/SPB區(qū)域網(wǎng)絡(luò)就是一個(gè)大的虛擬交換機(jī),Ethernet報(bào)文從入口進(jìn)去后,完整的從出口吐出來(lái),內(nèi)部的轉(zhuǎn)發(fā)過(guò)程對(duì)外是不可見(jiàn)且無(wú)意義的。
這種數(shù)據(jù)平面虛擬化多合一已經(jīng)是廣泛意義上的多虛一了,相信看了下文技術(shù)理解一節(jié)會(huì)對(duì)此種技術(shù)思路有更深入的了解。此方式在二層Ethernet轉(zhuǎn)發(fā)時(shí)可以有效的擴(kuò)展規(guī)模范圍,作為網(wǎng)絡(luò)節(jié)點(diǎn)的N虛一來(lái)說(shuō),控制平面虛擬化目前N還在個(gè)位到十位數(shù)上晃悠,數(shù)據(jù)平面虛擬化的N已經(jīng)可以輕松達(dá)到百位的范疇。但其缺點(diǎn)也很明顯,引入了控制協(xié)議報(bào)文處理,增加了網(wǎng)絡(luò)的復(fù)雜度,同時(shí)由于轉(zhuǎn)發(fā)時(shí)對(duì)數(shù)據(jù)報(bào)文多了外層頭的封包解包動(dòng)作,降低了Ethernet的轉(zhuǎn)發(fā)效率。
從數(shù)據(jù)中心當(dāng)前發(fā)展來(lái)看,規(guī)模擴(kuò)充是首位的,帶寬增長(zhǎng)也是不可動(dòng)搖的,因此在網(wǎng)絡(luò)多虛一方面,控制平面多虛一的各種技術(shù)除非能夠突破控制層多機(jī)協(xié)調(diào)工作的技術(shù)枷鎖,否則只有在中小型數(shù)據(jù)中心里面刨食的份兒了,后期真正的大型云計(jì)算數(shù)據(jù)中心勢(shì)必是屬于TRILL/SPB此類數(shù)據(jù)平面多虛一技術(shù)的天地。當(dāng)然Cisco的FEX這類定位于接入層以下的技術(shù)還是可以與部署在接入到核心層的TRILL/SPB相結(jié)合,擁有一定的生存空間。估計(jì)Cisco的云計(jì)算數(shù)據(jù)中心內(nèi)部網(wǎng)絡(luò)技術(shù)野望如下圖所示:(Fabric Path是Cisco對(duì)其TRILL擴(kuò)展后技術(shù)的最新稱呼)
網(wǎng)絡(luò)一虛多技術(shù)
網(wǎng)絡(luò)一虛多,這個(gè)可是根源久遠(yuǎn),從Ethernet的VLAN到IP的VPN都是大家耳熟能詳?shù)某墒旒夹g(shù),F(xiàn)C里面也有對(duì)應(yīng)的VSAN技術(shù)。此類技術(shù)特點(diǎn)就是給轉(zhuǎn)發(fā)報(bào)文里面多插入一個(gè)Tag,供不同設(shè)備統(tǒng)一進(jìn)行識(shí)別,然后對(duì)報(bào)文進(jìn)行分類轉(zhuǎn)發(fā)。代表如只能手工配置的VLAN ID和可以自協(xié)商的MPLS Label。傳統(tǒng)技術(shù)都是基于轉(zhuǎn)發(fā)層面的,雖然在管理上也可以根據(jù)VPN進(jìn)行區(qū)分,但是CPU/轉(zhuǎn)發(fā)芯片/內(nèi)存這些基礎(chǔ)部件都是只能共享的。目前最新的一虛多技術(shù)就是Cisco在X86架構(gòu)的Nexus7000上實(shí)現(xiàn)的VDC,和VM一樣可以建立多個(gè)VDC并將物理資源獨(dú)立分配,目前的實(shí)現(xiàn)是最多可建立4個(gè)VDC,其中還有一個(gè)是做管理的,推測(cè)有可能是通過(guò)前面講到過(guò)的OS-Level虛擬化實(shí)現(xiàn)的。
從現(xiàn)有階段來(lái)看,VDC應(yīng)該是Cisco推出的一項(xiàng)實(shí)驗(yàn)性技術(shù),因?yàn)槟壳翱床坏酱笠?guī)模應(yīng)用的場(chǎng)景需求。首先轉(zhuǎn)發(fā)層面的流量隔離(VLAN/VPN等)已經(jīng)做得很好了,沒(méi)有必要搞個(gè)VDC專門做業(yè)務(wù)隔離,況且從當(dāng)前VDC的實(shí)現(xiàn)數(shù)量(4個(gè))上也肯定不是打算向這個(gè)方向使勁。如果不搞隔離的話,一機(jī)多用也沒(méi)有看出什么實(shí)用性,虛擬成多個(gè)數(shù)據(jù)中心核心設(shè)備后,一個(gè)物理節(jié)點(diǎn)故障導(dǎo)致多個(gè)邏輯節(jié)點(diǎn)歇菜,整體網(wǎng)絡(luò)可靠性明顯降低。另外服務(wù)器建VM是為了把物理服務(wù)器空余的計(jì)算能力都用上,而在云計(jì)算數(shù)據(jù)中心里面網(wǎng)絡(luò)設(shè)備的接口數(shù)應(yīng)該始終是供不應(yīng)求的,哪里有多少富裕的還給你搞什么虛擬化呢。作者個(gè)人對(duì)類似VDC技術(shù)在云計(jì)算數(shù)據(jù)中心里面的發(fā)展前景是存疑的。
SR-IOV
對(duì)網(wǎng)絡(luò)一虛多這里還有個(gè)東西要補(bǔ)充一下,就是服務(wù)器網(wǎng)卡的IO虛擬化技術(shù)。單根虛擬化SR-IOV是由PCI SIG Work Group提出的標(biāo)準(zhǔn),Intel已經(jīng)在多款網(wǎng)卡上提供了對(duì)此技術(shù)的支持,Cisco也推出了支持IO虛擬化的網(wǎng)卡硬件Palo。Palo網(wǎng)卡同時(shí)能夠封裝VN-Tag(VN的意思都是Virtual Network),用于支撐其FEX+VN-Link技術(shù)體系,F(xiàn)階段Cisco還是以UCS系列刀片服務(wù)器集成網(wǎng)卡為主,后續(xù)計(jì)劃向盒式服務(wù)器網(wǎng)卡推進(jìn),但估計(jì)會(huì)受到傳統(tǒng)服務(wù)器和網(wǎng)卡廠商們的聯(lián)手狙擊。
SR-IOV就是要在物理網(wǎng)卡上建立多個(gè)虛擬IO通道,并使其能夠直接一一對(duì)應(yīng)到多個(gè)VM的虛擬網(wǎng)卡上,用以提高虛擬服務(wù)器的轉(zhuǎn)發(fā)效率。具體說(shuō)是對(duì)進(jìn)入服務(wù)器的報(bào)文,通過(guò)網(wǎng)卡的硬件查表取代服務(wù)器中間Hypervisor層的VSwitch軟件查表進(jìn)行轉(zhuǎn)發(fā)。另外SR-IOV物理網(wǎng)卡理論上加塊轉(zhuǎn)發(fā)芯片,應(yīng)該可以支持VM本地交換(其實(shí)就是個(gè)小交換機(jī)啦),但個(gè)人目前還沒(méi)有看到實(shí)際產(chǎn)品。SR(Single Root)里面的Root是指服務(wù)器中間的Hypervisor,單根就是說(shuō)目前一塊硬件網(wǎng)卡只能支持一個(gè)Hypervisor。有單根就有多根,多根指可以支持多個(gè)Hypervisor,但貌似目前單物理服務(wù)器里面跑多個(gè)Hypervisor還很遙遠(yuǎn),所以多根IO虛擬化MR-IOV也是個(gè)未來(lái)未來(lái)時(shí)。摘錄Cisco膠片對(duì)MR-IOV描述如下:(HW為Hardware,PF為Physical Function,VF為Virtual Functions)
SR-IOV只定義了物理網(wǎng)卡到VM之間的聯(lián)系,而對(duì)外層網(wǎng)絡(luò)設(shè)備來(lái)說(shuō),如果想識(shí)別具體的VM上面的虛擬網(wǎng)卡vNIC,則還要定義一個(gè)Tag在物理網(wǎng)卡到接入層交換機(jī)之間區(qū)分不同vNIC。此時(shí)物理網(wǎng)卡提供的就是一個(gè)通道作用,可以幫助交換機(jī)將虛擬網(wǎng)絡(luò)接口延伸至服務(wù)器內(nèi)部對(duì)應(yīng)到每個(gè)vNIC。Cisco UCS服務(wù)器中的VIC(Virtual Interface Card)M81-KR網(wǎng)卡(Palo),就是通過(guò)封裝VN-Tag使接入交換機(jī)(UCS6100)識(shí)別vNIC的對(duì)應(yīng)虛擬網(wǎng)絡(luò)接口。
網(wǎng)絡(luò)虛擬化技術(shù)在下一個(gè)十年中必定會(huì)成為網(wǎng)絡(luò)技術(shù)發(fā)展的重中之重,誰(shuí)能占領(lǐng)制高點(diǎn)誰(shuí)就能引領(lǐng)數(shù)據(jù)中心網(wǎng)絡(luò)的前進(jìn)。從現(xiàn)在能看到的技術(shù)信息分析,Cisco在下個(gè)十年中的地位仍然不可動(dòng)搖。