如果說提供云計(jì)算這種巨型計(jì)算服務(wù)的IT架構(gòu)必然是集結(jié)了大規(guī)模基礎(chǔ)資源的數(shù)據(jù)中心“超級(jí)航母”,它也必然要求大規(guī)模計(jì)算網(wǎng)絡(luò)與其相適應(yīng)。
云計(jì)算IT資源供應(yīng)模型
云計(jì)算既然擁有近乎無限的計(jì)算、存儲(chǔ)、數(shù)據(jù)通信能力,那么提供云計(jì)算服務(wù)的IT架構(gòu)必然是集結(jié)了大規(guī)模基礎(chǔ)資源的數(shù)據(jù)中心“超級(jí)航母”。
云計(jì)算IT資源的大規(guī)模集中運(yùn)營(yíng),可極大優(yōu)化基礎(chǔ)資源的分布與調(diào)度,圖1所示為理想的業(yè)務(wù)模型。對(duì)于使用云計(jì)算服務(wù)的企業(yè)或個(gè)人而言,能夠滿足IT業(yè)務(wù)的最佳方式為計(jì)算能力按需增長(zhǎng)、應(yīng)用部署快速實(shí)現(xiàn)、工作負(fù)載可動(dòng)態(tài)調(diào)整、投入成本規(guī)劃可控;對(duì)于云計(jì)算服務(wù)供應(yīng)商而言,為滿足大量客戶(個(gè)人或企業(yè))的IT資源需求,其運(yùn)營(yíng)的IT基礎(chǔ)架構(gòu)需要有一個(gè)大規(guī)模的資源池,可基于服務(wù)客戶數(shù)量的增長(zhǎng)、客戶業(yè)務(wù)負(fù)載增長(zhǎng)的需求變化情況提供匹配的IT資源支持能力。
圖1云計(jì)算IT資源供應(yīng)模型
大規(guī)模云計(jì)算服務(wù)運(yùn)營(yíng)趨勢(shì)
大規(guī)模的IT集中建設(shè)與運(yùn)營(yíng)帶來將是大幅度的成本節(jié)約效應(yīng)。據(jù)國(guó)外一份統(tǒng)計(jì)數(shù)據(jù)顯示(如圖2所示),在大規(guī)模IT服務(wù)環(huán)境下,網(wǎng)絡(luò)、存儲(chǔ)、服務(wù)器/管理等各方面的投入都會(huì)在單位資源尺度內(nèi)極大降低,從而在大規(guī)模經(jīng)營(yíng)條件下使得單位資源帶來更大的產(chǎn)出。
圖2大規(guī)模IT運(yùn)營(yíng)的成本優(yōu)勢(shì)
(正文從這里開始)
在大規(guī)模云計(jì)算運(yùn)營(yíng)趨勢(shì)下,IT基礎(chǔ)組件必然走向全面標(biāo)準(zhǔn)化,以使得云所支撐各部分可以在保持發(fā)展的同時(shí)相互兼容。當(dāng)前的虛擬化標(biāo)準(zhǔn)組織、云計(jì)算標(biāo)準(zhǔn)化組織已經(jīng)基本形成,它們的工作目的就是制定云計(jì)算不同組件、不同技術(shù)之間的公共接口,這樣眾多的軟硬件供應(yīng)商能夠在云計(jì)算環(huán)境下提供互通、協(xié)作的標(biāo)準(zhǔn)化產(chǎn)品,從而可期望在遠(yuǎn)期目標(biāo)上使得云計(jì)算的大規(guī)模IT運(yùn)營(yíng)架構(gòu)逐步擺脫隔離性、壟斷性,使公共服務(wù)得以構(gòu)建在開放的公共化標(biāo)準(zhǔn)技術(shù)基礎(chǔ)上,并隨著技術(shù)發(fā)展而持續(xù)性降低成本。
對(duì)于大規(guī)模的計(jì)算網(wǎng)絡(luò),在基礎(chǔ)形態(tài)上主要有兩種模式:虛擬化計(jì)算與集群計(jì)算。其實(shí)這兩種方式并無完全的割離,即可能分別部署,也可能相互結(jié)合。
一、大規(guī)模虛擬化計(jì)算與網(wǎng)絡(luò)架構(gòu)
虛擬化計(jì)算技術(shù)已經(jīng)逐步成為云計(jì)算服務(wù)的主要支撐技術(shù),特別是在計(jì)算能力租賃、調(diào)度的云計(jì)算服務(wù)領(lǐng)域起著非常關(guān)鍵的作用。
在大規(guī)模計(jì)算資源集中的云計(jì)算數(shù)據(jù)中心,以X86架構(gòu)為基準(zhǔn)的不同服務(wù)器資源,通過虛擬化技術(shù)將整個(gè)數(shù)據(jù)中心的計(jì)算資源統(tǒng)一抽象出來,形成可以按一定粒度分配的計(jì)算資源池,如圖3所示。虛擬化后的資源池屏蔽了各種物理服務(wù)器的差異,形成了統(tǒng)一的、云內(nèi)部標(biāo)準(zhǔn)化的邏輯CPU、邏輯內(nèi)存、邏輯存儲(chǔ)空間、邏輯網(wǎng)絡(luò)接口,任何用戶使用的虛擬化資源在調(diào)度、供應(yīng)、度量上都具有一致性。
圖3大規(guī)模虛擬化云計(jì)算
虛擬化技術(shù)不僅消除大規(guī)模異構(gòu)服務(wù)器的差異化,其形成的計(jì)算池可以具有超級(jí)的計(jì)算能力(如圖4所示),一個(gè)云計(jì)算中心物理服務(wù)器達(dá)到數(shù)萬臺(tái)是一個(gè)很正常的規(guī)模。一臺(tái)物理服務(wù)器上運(yùn)行的虛擬機(jī)數(shù)量是動(dòng)態(tài)變化的,當(dāng)前一般是4到20,某些高密度的虛擬機(jī)可以達(dá)到100:1的虛擬比(即一臺(tái)物理服務(wù)器上運(yùn)行100個(gè)虛擬機(jī)),在CPU性能不斷增強(qiáng)(主頻提升、多核多路)、當(dāng)前各種硬件虛擬化(CPU指令級(jí)虛擬化、內(nèi)存虛擬化、橋片虛擬化、網(wǎng)卡虛擬化)的輔助下,物理服務(wù)器上運(yùn)行的虛擬機(jī)數(shù)量會(huì)迅猛增加。一個(gè)大型IDC中運(yùn)行數(shù)十萬個(gè)虛擬機(jī)是可預(yù)見的,當(dāng)前的云服務(wù)IDC在業(yè)務(wù)規(guī)劃時(shí),已經(jīng)在考慮這些因素。
圖4密集的虛擬機(jī)群
在虛擬化云計(jì)算網(wǎng)絡(luò)環(huán)境,超高密度的虛擬機(jī)數(shù)量引入了有別于任何以往傳統(tǒng)意義上數(shù)據(jù)中心的業(yè)務(wù)承載問題,在表象相似的網(wǎng)絡(luò)平臺(tái)上,“服務(wù)器/虛擬機(jī)”的數(shù)量在單位空間和單位網(wǎng)絡(luò)接口劇增,如圖5所示,對(duì)基礎(chǔ)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)表項(xiàng)、吞吐能力、突發(fā)流量吸收提出了苛刻的要求。
圖5密集的應(yīng)用與性能要求
虛擬化的云中,計(jì)算資源能夠按需擴(kuò)展、靈活調(diào)度部署,這由虛擬機(jī)的遷移功能實(shí)現(xiàn),虛擬化環(huán)境的計(jì)算資源必須在二層網(wǎng)絡(luò)范圍內(nèi)實(shí)現(xiàn)透明化遷移(如圖6所示)。
圖6透明網(wǎng)絡(luò)支持虛擬資源的調(diào)度遷移
透明環(huán)境不僅限于數(shù)據(jù)中心內(nèi)部,對(duì)于多個(gè)數(shù)據(jù)中心共同提供的云計(jì)算服務(wù),要求云計(jì)算的網(wǎng)絡(luò)對(duì)數(shù)據(jù)中心內(nèi)部、數(shù)據(jù)中心之間均實(shí)現(xiàn)透明化交換(如圖7所示),這種服務(wù)能力可以使客戶分布在云中的資源邏輯上相對(duì)集中(如在相同的一個(gè)或數(shù)個(gè)VLAN內(nèi)),而不必關(guān)心具體物理位置;對(duì)云服務(wù)供應(yīng)商而言,透明化網(wǎng)絡(luò)可以在更大的范圍內(nèi)優(yōu)化計(jì)算資源的供應(yīng),提升云計(jì)算服務(wù)的運(yùn)行效率、有效節(jié)省資源和成本。
圖7大規(guī)模虛擬化云計(jì)算的透明化網(wǎng)絡(luò)承載
二、大規(guī)模集群計(jì)算與網(wǎng)絡(luò)架構(gòu)
集群計(jì)算很早就廣泛應(yīng)用了,只是在不同的領(lǐng)域有著不同的表現(xiàn)形式,或者說有不同的術(shù)語,如在科學(xué)計(jì)算領(lǐng)域的并行計(jì)算或高性能計(jì)算當(dāng)前主要以集群計(jì)算的方式實(shí)現(xiàn)。集群通過一組松散集成的計(jì)算機(jī)軟件和/或硬件連接起來高度緊密地協(xié)作完成計(jì)算工作,在某種意義上,集群可以被看作是一臺(tái)計(jì)算機(jī)。
人們使用集群的目的是為了獲得強(qiáng)大的計(jì)算能力,雖然這可以通過購買具備超級(jí)計(jì)算能力的大型機(jī)來實(shí)現(xiàn),但是在成本投入上是巨大的。對(duì)于一般計(jì)算機(jī),計(jì)算能力是有限的,雖然摩爾定律說計(jì)算能力每18個(gè)月可以翻一番,但要達(dá)到大型機(jī)的性能,很長(zhǎng)一段時(shí)間內(nèi)是難以實(shí)現(xiàn)的(摩爾定律被普遍認(rèn)為在過去30年相當(dāng)有效,未來10~15年應(yīng)依然適用)。因此,為突破摩爾定律的限制,將多臺(tái)低成本計(jì)算機(jī)通過集群方式,以并行計(jì)算來獲取更大的計(jì)算能力,成為各種追求高性能計(jì)算領(lǐng)域的主流方向(如圖8所示)。
圖8以集群架構(gòu)超越摩爾定律
以互聯(lián)網(wǎng)應(yīng)用為例,有的計(jì)算服務(wù)要求提供超級(jí)計(jì)算能力,如大型搜索引擎的構(gòu)建,就是大量服務(wù)器群共同協(xié)作實(shí)現(xiàn)的巨量計(jì)算。
科研領(lǐng)域并行計(jì)算的主流技術(shù)是MPI(MessagePassingInterface),但以支持Fortran、C語言的科學(xué)計(jì)算為優(yōu)勢(shì)。云計(jì)算領(lǐng)域的代表性技術(shù)是Hadoop(還有其它類似的分布式計(jì)算技術(shù)),突出商用的擴(kuò)展性架構(gòu)、大數(shù)據(jù)量處理,大大簡(jiǎn)化開發(fā)難度,屏蔽系統(tǒng)底層的復(fù)雜性。
Hdoop是目前在互聯(lián)網(wǎng)使用廣泛的一種云計(jì)算支撐架構(gòu),借助于Hadoop,程序員可以輕松地編寫分布式并行程序,將其運(yùn)行于大型計(jì)算機(jī)集群上,完成海量數(shù)據(jù)的計(jì)算。圖9是當(dāng)前廣為流傳的Hadoop分布式文件系統(tǒng)體系架構(gòu)模型,這一類的集群架構(gòu)將服務(wù)器按群分置不同角色群,角色協(xié)同完成大規(guī)模計(jì)算任務(wù)。
圖9Hadoop分布式文件系統(tǒng)體系架構(gòu)
這些角色包括NameNode,它在HDFS內(nèi)部提供元數(shù)據(jù)服務(wù);DataNode,它為HDFS提供存儲(chǔ)塊。NameNode是一個(gè)通常在HDFS實(shí)例中的單獨(dú)機(jī)器上運(yùn)行的軟件。它負(fù)責(zé)管理文件系統(tǒng)名稱空間和控制外部客戶機(jī)的訪問。DataNode響應(yīng)來自HDFS客戶機(jī)的讀寫請(qǐng)求。NameNode與每個(gè)DataNode有定期心跳(heartbeat)消息檢查健康性。
分布式文件系統(tǒng)的設(shè)計(jì)需求對(duì)應(yīng)到網(wǎng)絡(luò)的架構(gòu)上主要有:并發(fā)吞吐性能、可伸縮性、容錯(cuò)需求等。
HDFS的目標(biāo)就是構(gòu)建在大規(guī)模廉價(jià)機(jī)器上的分布式文件系統(tǒng)集群,一個(gè)文件可以表示為其內(nèi)容在不同位置的多個(gè)拷貝。這樣做帶來了兩個(gè)好處:訪問同個(gè)文件時(shí)可以從多個(gè)服務(wù)
1 2 下一頁 |
傳統(tǒng)HDFS采用一種稱為rack-aware的策略來改進(jìn)數(shù)據(jù)的可靠性、有效性和網(wǎng)絡(luò)帶寬的利用,典型的組網(wǎng)邏輯如圖10所示(也是流傳比較廣泛的一張圖,筆者未加修改)。
圖10經(jīng)典的Hadoop組網(wǎng)結(jié)構(gòu)
圖10中每個(gè)交換及所接服務(wù)器被安裝在數(shù)據(jù)中心的同一個(gè)機(jī)架(rack)內(nèi),該交換機(jī)稱為Topofrackswitch,典型情況下每個(gè)機(jī)架內(nèi)部署40臺(tái)服務(wù)器(國(guó)外比較流行,國(guó)內(nèi)當(dāng)前達(dá)到這樣密度的IDC很少),一般采用48千兆端口的交換機(jī),傳統(tǒng)設(shè)計(jì)中會(huì)采用4個(gè)到8個(gè)千兆上行,因此每個(gè)機(jī)架上行的帶寬收斂比一般在5:1~10:1。
不同機(jī)架間的兩臺(tái)機(jī)器的通訊需要通過交換機(jī),顯然通常情況下,同一個(gè)機(jī)架內(nèi)的兩個(gè)節(jié)點(diǎn)間的帶寬會(huì)比不同機(jī)架間的兩臺(tái)機(jī)器的帶寬大。因此Hadoop的一個(gè)假設(shè)是:機(jī)架內(nèi)部節(jié)點(diǎn)之間的傳輸速度快于機(jī)架間節(jié)點(diǎn)的傳輸速度。
通過一個(gè)稱為RackAwareness的過程,Namenode決定了每個(gè)Datanode所屬的rackid。一個(gè)簡(jiǎn)單但沒有優(yōu)化的策略就是將副本存放在單獨(dú)的機(jī)架上。這樣可以防止整個(gè)機(jī)架(非副本存放)失效的情況,并且允許讀數(shù)據(jù)的時(shí)候可以從多個(gè)機(jī)架讀取。這個(gè)簡(jiǎn)單策略設(shè)置可以將副本分布在集群中,有利于組件失敗情況下的負(fù)載均衡。但是,這個(gè)簡(jiǎn)單策略加大了寫的代價(jià),因?yàn)橐粋€(gè)寫操作需要傳輸block到多個(gè)機(jī)架。
為了降低整體的帶寬消耗和讀延時(shí),HDFS會(huì)盡量讓reader讀最近的副本。如果在reader的同一個(gè)機(jī)架上有一個(gè)副本,那么就讀該副本。如果一個(gè)HDFS集群跨越多個(gè)數(shù)據(jù)中心,那么reader也將首先嘗試讀本地?cái)?shù)據(jù)中心的副本。
HDFS支持?jǐn)?shù)據(jù)的均衡分布處理,如果某個(gè)Datanode節(jié)點(diǎn)上的空閑空間低于特定的臨界點(diǎn),那么就會(huì)啟動(dòng)一個(gè)計(jì)劃自動(dòng)地將數(shù)據(jù)從一個(gè)Datanode搬移到空閑的Datanode。當(dāng)對(duì)某個(gè)文件的請(qǐng)求突然增加,那么也可能啟動(dòng)一個(gè)計(jì)劃創(chuàng)建該文件新的副本,并分布到集群中以滿足應(yīng)用的要求。
我們可以看到,Hadoop系統(tǒng)在開發(fā)過程中關(guān)注了數(shù)據(jù)交換對(duì)象(計(jì)算節(jié)點(diǎn))之間的距離,實(shí)際上是考慮了網(wǎng)絡(luò)構(gòu)建模型中帶寬不匹配因素。這種因素的引入,不僅編程人員需要關(guān)心,業(yè)務(wù)部署人員、網(wǎng)絡(luò)維護(hù)人員也都要關(guān)心,在小規(guī)模環(huán)境下還能夠勉強(qiáng)運(yùn)行,但是如果要支持全互聯(lián)網(wǎng)級(jí)的大規(guī)模應(yīng)用,集群可能達(dá)到數(shù)千臺(tái)、數(shù)萬臺(tái),業(yè)務(wù)的部署、擴(kuò)展、運(yùn)行、支撐都會(huì)存在很多問題。如圖11是一種高擴(kuò)展要求的集群模型,這類集群應(yīng)用自身是分層架構(gòu),每一層應(yīng)用都是一個(gè)大規(guī)模集群,采用傳統(tǒng)方式構(gòu)建交換網(wǎng)絡(luò),必將存在諸多限制,無法發(fā)揮云計(jì)算巨型計(jì)算的服務(wù)能力。
圖11大規(guī)模集群架構(gòu)
隨著網(wǎng)絡(luò)交換萬兆技術(shù)的發(fā)展和設(shè)備成本的不斷降低,目前大規(guī)模集群的構(gòu)建也發(fā)展到新的階段,需要新的網(wǎng)絡(luò)結(jié)構(gòu)來支持和運(yùn)行:
無阻塞網(wǎng)絡(luò)架構(gòu):滿足集群環(huán)境中所有服務(wù)器的對(duì)等通信要求,任意節(jié)點(diǎn)之間可以達(dá)到相等帶寬(當(dāng)前是以千兆為主),服務(wù)器應(yīng)用程序不再關(guān)注數(shù)據(jù)交互節(jié)點(diǎn)是在一個(gè)機(jī)架內(nèi)還是在其它機(jī)架。
大規(guī)模集群能力:當(dāng)前2千臺(tái)規(guī)模的服務(wù)器集群已經(jīng)在互聯(lián)網(wǎng)行業(yè)廣泛部署,隨著云計(jì)算業(yè)務(wù)的開發(fā)提供,更大規(guī)模的集群(5000-1萬臺(tái))將成為支持云計(jì)算的主流網(wǎng)絡(luò)結(jié)構(gòu),無阻塞架構(gòu)是這種網(wǎng)絡(luò)的基本要求。
足夠扁平化的架構(gòu):所謂扁平化就是極大減少組網(wǎng)結(jié)構(gòu)層次,目前數(shù)據(jù)中心扁平化結(jié)構(gòu)以兩層物理網(wǎng)絡(luò)為主流。在還是千兆為主的服務(wù)器端口條件下,接入交換機(jī)的用戶端口數(shù)一般為48個(gè)千兆,要滿足無阻塞的跨機(jī)架帶寬,則上行帶寬需要5個(gè)萬兆(當(dāng)然也可以只使用40個(gè)千兆接入,4個(gè)萬兆上行),而核心交換則需要高密的萬兆(>120)全線速能力。
圖12是一種新的無阻塞網(wǎng)絡(luò)模型,也被稱為CLOS組網(wǎng)結(jié)構(gòu)。在接入層交換機(jī)當(dāng)前可達(dá)到50個(gè)千兆端口(常規(guī)是48,可用兩個(gè)萬兆自適應(yīng)千兆),無阻塞上行5個(gè)萬兆到5臺(tái)高密萬兆核心設(shè)備,當(dāng)核心萬兆密度超過140端口,則整個(gè)集群規(guī)模可達(dá)到7000臺(tái)服務(wù)器。網(wǎng)絡(luò)規(guī)劃上將二層終結(jié)在接入層,使用等價(jià)路由將接入交換機(jī)的上行鏈路帶寬進(jìn)行負(fù)載分擔(dān),從而可以實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)的無阻塞交換,任意服務(wù)器端口之間可以具有千兆線速的能力,完全消除了云計(jì)算集群內(nèi)部的帶寬限制因素。
圖12大規(guī)模無阻塞集群網(wǎng)絡(luò)
消除了帶寬限制的無阻塞集群,應(yīng)用內(nèi)部交換數(shù)據(jù)變得足夠靈活,數(shù)據(jù)訪問不再受限于服務(wù)器的物理位置,將使得數(shù)據(jù)中心的流量在大范圍內(nèi)流動(dòng)(如圖13所示)。以無阻塞網(wǎng)絡(luò)構(gòu)建的大規(guī)模計(jì)算群,更有利于云計(jì)算性能的充分發(fā)揮。
圖13大規(guī)模集群的大范圍流量交換
三、結(jié)束語
云計(jì)算的大規(guī)模運(yùn)營(yíng),給傳統(tǒng)網(wǎng)絡(luò)架構(gòu)和傳用應(yīng)用部署經(jīng)驗(yàn)都帶來了挑戰(zhàn),新一代網(wǎng)絡(luò)支撐這種巨型的計(jì)算服務(wù),不論是技術(shù)革新還是架構(gòu)變化,都需要服務(wù)于云計(jì)算的核心要求,動(dòng)態(tài)、彈性、靈活,并實(shí)現(xiàn)網(wǎng)絡(luò)部署的簡(jiǎn)捷化。
上一頁 1 2 |