網(wǎng)絡(luò)虛擬化——正在進(jìn)行的網(wǎng)絡(luò)變革 |
發(fā)布時(shí)間: 2012/8/25 18:50:45 |
接觸網(wǎng)絡(luò)虛擬化純屬偶然。作為研究院微博五毛小分隊(duì)的成員,撰出一條微博是每天的任務(wù)。那天無(wú)意中抓取了一條新聞:Xsigo公司推出了業(yè)界第一個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)全虛擬化解決方案。巧的是Xsigo公司的方案是基于Infiniband技術(shù)的,而我最近的項(xiàng)目使我對(duì)Infiniband略懂,所以就重點(diǎn)關(guān)注了一下。這一關(guān)注不要緊,才發(fā)現(xiàn)里面水很深。不管是傳統(tǒng)IT豪強(qiáng)還是網(wǎng)絡(luò)巨人都對(duì)這一領(lǐng)域虎視眈眈,謀篇定局,更有無(wú)數(shù)的創(chuàng)業(yè)者們?cè)诖苏归_(kāi)深耕。 抱著對(duì)技術(shù)要略懂的心態(tài),我入水一探究竟。這篇博文算是對(duì)我這次涉水的總結(jié),網(wǎng)絡(luò)虛擬化發(fā)展到現(xiàn)在牽涉的技術(shù)非常多,每種技術(shù)都可以單獨(dú)寫一篇文章來(lái)介紹,限于我的精力和知識(shí)水平只能給大家做個(gè)整體的簡(jiǎn)單介紹,不足之處還請(qǐng)各位批評(píng)指正。如果讀者對(duì)某種技術(shù)感興趣可以搜索相關(guān)資料做更詳細(xì)的了解。 什么是網(wǎng)絡(luò)虛擬化 首先我們需要明確一個(gè)問(wèn)題,什么是網(wǎng)絡(luò)虛擬化,網(wǎng)絡(luò)虛擬化簡(jiǎn)單來(lái)講是指把邏輯網(wǎng)絡(luò)從底層的物理網(wǎng)絡(luò)分離開(kāi)來(lái)。這個(gè)概念產(chǎn)生的比較久了,VLAN,VPN, VPLS等 都可以歸為網(wǎng)絡(luò)虛擬化的技術(shù)。近年來(lái),云計(jì)算的浪潮席卷IT界。幾乎所有的IT基礎(chǔ)構(gòu)架都在朝著云的方向發(fā)展。在云計(jì)算的發(fā)展中,虛擬化技術(shù)一直是重要的推動(dòng)因素。作為基礎(chǔ)構(gòu)架,服務(wù)器和存儲(chǔ)的虛擬化已經(jīng)發(fā)展的有聲有色,而同作為基礎(chǔ)構(gòu)架的網(wǎng)絡(luò)卻還是一直沿用老的套路。在這種環(huán)境下,網(wǎng)絡(luò)確實(shí)期待一次變革,使之更加符合云計(jì)算和互聯(lián)網(wǎng)發(fā)展的需求。云計(jì)算的大環(huán)境下,網(wǎng)絡(luò)虛擬化的定義沒(méi)有變,但是其包含的內(nèi)容卻大大增加了。 云計(jì)算環(huán)境下的網(wǎng)絡(luò)虛擬化需要解決端到端的問(wèn)題,筆者將其歸納為三個(gè)部分: (一)第一部分是服務(wù)器內(nèi)部。隨著越來(lái)越多的服務(wù)器被虛擬化,網(wǎng)絡(luò)已經(jīng)延伸到Hypervisor內(nèi)部,網(wǎng)絡(luò)通信的端已經(jīng)從以前的服務(wù)器變成了運(yùn)行在服務(wù)器中的虛擬機(jī),數(shù)據(jù)包從虛擬機(jī)的虛擬網(wǎng)卡流出,通過(guò)Hypervisor內(nèi)部的虛擬交換機(jī),在經(jīng)過(guò)服務(wù)器的物理網(wǎng)卡流出到上聯(lián)交換機(jī)。在整個(gè)過(guò)程中,虛擬交換機(jī),網(wǎng)卡的I/O問(wèn)題以及虛擬機(jī)的網(wǎng)絡(luò)接入都是研究的重點(diǎn)。 (二)第二部分是服務(wù)器到網(wǎng)絡(luò)的連接。10Gb以太網(wǎng) 和Infiniband等技術(shù)的發(fā)展使一根連接線上承載的帶寬越來(lái)越高。為了簡(jiǎn)化,通過(guò)一種連接技術(shù)聚合互聯(lián)網(wǎng)絡(luò)和存儲(chǔ)網(wǎng)絡(luò)成為了一個(gè)趨勢(shì)。 (三)第三部分是網(wǎng)絡(luò)交換,需要將物理網(wǎng)絡(luò)和邏輯網(wǎng)絡(luò)有效的分離,滿足云計(jì)算多租戶,按需服務(wù)的特性,同時(shí)具有高度的擴(kuò)展性。 下面我就圍繞這三個(gè)方面來(lái)講述網(wǎng)絡(luò)虛擬化中的一些主要技術(shù)和標(biāo)準(zhǔn)。 服務(wù)器內(nèi)部 I/O虛擬化 多個(gè)虛擬機(jī)共享服務(wù)器中的物理網(wǎng)卡,需要一種機(jī)制既能保證I/O的效率,又要保證多個(gè)虛擬機(jī)對(duì)用物理網(wǎng)卡共享使用。I/O虛擬化的出現(xiàn)就是為了解決這類問(wèn)題。I/O虛擬化包括了從CPU到設(shè)備的一攬子解決方案。 從CPU的角度看,要解決虛擬機(jī)訪問(wèn)物理網(wǎng)卡等I/O設(shè)備的性能問(wèn)題,能做的就是直接支持虛擬機(jī)內(nèi)存到物理網(wǎng)卡的DMA操作。Intel的 VT-d技術(shù)及 AMD 的IOMMU技術(shù)通過(guò)DMARemapping 機(jī)制來(lái)解決這個(gè)問(wèn)題。DMARemapping機(jī)制主要解決了兩個(gè)問(wèn)題,一方面為每個(gè)VM創(chuàng)建了一個(gè)DMA保護(hù)域并實(shí)現(xiàn)了安全的隔離,另一方面提供一種機(jī)制是將虛擬機(jī)的GuestPhysical Address翻譯為物理機(jī)的HostPhysical Address。 從虛擬機(jī)對(duì)網(wǎng)卡等設(shè)備訪問(wèn)角度看,傳統(tǒng)虛擬化的方案是虛擬機(jī)通過(guò)Hypervisor來(lái)共享的訪問(wèn)一個(gè)物理網(wǎng)卡,Hypervisor需要處理多虛擬機(jī)對(duì)設(shè)備的并發(fā)訪問(wèn)和隔離等。這樣Hypervisor容易行成一個(gè)性能瓶頸。為了提高性能,一種 做法是虛擬機(jī)繞過(guò)Hypervisor直接操作物理網(wǎng)卡,這種做法通常稱作PCIpass through,VMware,Xen和KVM都支持這種技術(shù)。但這種做法的問(wèn)題是虛擬機(jī)通常需要獨(dú)占一個(gè)PCI插槽,不是一個(gè)完整的解決方案,成本較高且擴(kuò)展性不足。 另一種做法是設(shè)備如網(wǎng)卡直接對(duì)上層操作系統(tǒng)或Hypervisor提供虛擬化的功能,一個(gè)以太網(wǎng)卡可以對(duì)上層軟件提供多個(gè)獨(dú)立的虛擬的PCIe設(shè)備并提供虛擬通道來(lái)實(shí)現(xiàn)并發(fā)的訪問(wèn)。這種方法也是業(yè)界主流的做法和發(fā)展方向,目前已經(jīng)形成了標(biāo)準(zhǔn),主要包括SR-IOV(SingleRoot IO Virtualization)和MR-IOV(Multi-RootIO Virtualization)。這方面的技術(shù)在網(wǎng)上已有很好的文章來(lái)做介紹,推薦想進(jìn)一步了解的同學(xué)讀一讀:http://t.cn/aK72XS 虛擬接入 在傳統(tǒng)的服務(wù)器虛擬化方案中,從虛擬機(jī)的虛擬網(wǎng)卡發(fā)出的數(shù)據(jù)包在經(jīng)過(guò)服務(wù)器的物理網(wǎng)卡傳送到外部網(wǎng)絡(luò)的上聯(lián)交換機(jī)后,虛擬機(jī)的標(biāo)識(shí)信息被屏蔽掉了,上聯(lián)交換機(jī)只能感知從某個(gè)服務(wù)器的物理網(wǎng)卡流出的所有流量而無(wú)法感知服務(wù)器內(nèi)某個(gè)虛擬機(jī)的流量,這樣就不能從傳統(tǒng)網(wǎng)絡(luò)設(shè)備層面來(lái)保證QoS和安全隔離。虛擬接入要解決的問(wèn)題是要把虛擬機(jī)的網(wǎng)絡(luò)流量納入傳統(tǒng)網(wǎng)絡(luò)交換設(shè)備的管理之中,需要對(duì)虛擬機(jī)的流量做標(biāo)識(shí)。在解決虛擬接入的問(wèn)題時(shí),思科和惠普分別提出了自己的解決方案。思科的是VN-Tag, 惠普的方案是VEPA(VirtualEthernet Port Aggregator)。為了制定下一代網(wǎng)絡(luò)接入的話語(yǔ)權(quán),思科和惠普這兩個(gè)巨頭在各自的方案上都毫不讓步,紛紛將自己的方案提交為標(biāo)準(zhǔn),分別為802.1Qbh和802.1Qbg。關(guān)于虛擬接入也有一篇很好的文章來(lái)介紹,想深入了解的可以看看:http://t.cn/hGWnOQ 網(wǎng)絡(luò)連接 網(wǎng)絡(luò)連接技術(shù)一直都在追求更高的帶寬中發(fā)展。比如Infiniband和10Gb以太網(wǎng)。在傳統(tǒng)的企業(yè)級(jí)數(shù)據(jù)中心IT構(gòu)架中,服務(wù)器到存儲(chǔ)網(wǎng)絡(luò)和互聯(lián)網(wǎng)絡(luò)的連接是異構(gòu)和分開(kāi)的。存儲(chǔ)網(wǎng)絡(luò)用光纖,互聯(lián)網(wǎng)用以太網(wǎng)線(ISCSI雖然能夠在IP層上跑SCSI,但是性能與光纖比還是差的很遠(yuǎn))。數(shù)據(jù)中心連接技術(shù)的發(fā)展趨勢(shì)是用一種連接線將數(shù)據(jù)中心存儲(chǔ)網(wǎng)絡(luò)和互聯(lián)網(wǎng)絡(luò)聚合起來(lái),使服務(wù)器可以靈活的配置網(wǎng)絡(luò)端口,簡(jiǎn)化IT部署。以太網(wǎng)上的FCOE技術(shù)和Infiniband技術(shù)本身都使這種趨勢(shì)成為可能。 Infiniband Infiniband 技術(shù)產(chǎn)生于上個(gè)世紀(jì)末,是由Compaq、惠普、IBM、戴爾、英特爾、微軟和Sun七家公司共同研究發(fā)展的高速先進(jìn)的I/O標(biāo)準(zhǔn)。最初的命名為SystemI/O,1999年10月,正式改名為InfiniBand。InfiniBand是一種長(zhǎng)纜線的連接方式,具有高速、低延遲的傳輸特性;贗nfiniBand技術(shù)的網(wǎng)卡的單端口帶寬可達(dá)20Gbps,最初主要用在高性能計(jì)算系統(tǒng)中,近年來(lái)隨著設(shè)備成本的下降,Infiniband也逐漸被用到企業(yè)數(shù)據(jù)中心。為了發(fā)揮Infiniband設(shè)備的性能,需要一整套的軟件棧來(lái)驅(qū)動(dòng)和使用,這其中最著名的就是OFED(OpenFabrics Enterprise Distribution) ,它基于Infiniband設(shè)備實(shí)現(xiàn)了RDMA(remote direct memoryaccess). RDMA的最主要的特點(diǎn)就是零拷貝和旁路操作系統(tǒng),數(shù)據(jù)直接在設(shè)備和應(yīng)用程序內(nèi)存之間傳遞,這種傳遞不需要CPU的干預(yù)和上下文切換。OFED還實(shí)現(xiàn)了一系列的其它軟件棧:IPoIB(IP over Infiniband), SRP(SCSI RDMA Protocol)等,這就為Infiniband聚合存儲(chǔ)網(wǎng)絡(luò)和互聯(lián)網(wǎng)絡(luò)提供了基礎(chǔ)。OFED由OpenFabrics聯(lián)盟負(fù)責(zé)開(kāi)發(fā)。OpenFabrics最初叫做OpenIB,從2006年開(kāi)始OpenIB在Infiniband之外也開(kāi)始支持以太網(wǎng),業(yè)務(wù)做的大了名字也從OpenIB改為OpenFabrics。OFED現(xiàn)已經(jīng)被主流的Linux發(fā)行版本支持,并被整合到微軟的windowsserver中。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |