武警工程大學 馮 昊 鄒 濤 張龍軍
陜西省警衛(wèi)局 王 偉
云計算基礎架構綜述
武警工程大學 馮 昊 鄒 濤 張龍軍
陜西省警衛(wèi)局 王 偉
云計算基礎架構是云計算系統(tǒng)的重要組成部分。它通過資源虛擬化、分布式計算等技術為云計算系統(tǒng)搭建基礎運營環(huán)境并為上層云計算應用提供存儲和計算能力。本文通過歸納分析對當前國內外相關研究成果進行了綜述。定義了云計算基礎架構,指出了云基礎架構的特點,重點對云基礎架構進行了理論抽象,得到了云基礎架構結構模型,并對云計算基礎架構的主要實現技術進行了研究和分析,指出了其優(yōu)點及不足。最后對現云計算基礎架構的未來發(fā)展趨勢進行了展望。
云計算;云基礎架構;虛擬化技術;分布式存儲系統(tǒng);并行編程模型
自新千年IT業(yè)引入云計算概念以來,通過廣大的市場需求及雄厚的技術支持,大規(guī)模云計算系統(tǒng)已成為當今IT業(yè)發(fā)展的主流。實現云計算的基礎是實現云計算系統(tǒng)基礎架構。一個云計算系統(tǒng)的優(yōu)秀與否,關鍵在于其基礎架構是否能夠穩(wěn)定、高效地完成各項任務。本文試圖結合相關資料,對云基礎架構及其效能進行分析、定義及具體闡述,為下一步研究提供有力參考。
云計算的迅猛發(fā)展與廣大的市場需求和強大的技術支撐密切相關。首先,隨著IT業(yè)的迅猛發(fā)展,各IT運營商都形成了各自龐大的服務器集群。如何實現現有集群的重新整合以降低運維成本,提高效率成為運營商考慮的首要問題;另外,IT市場的迅猛發(fā)展也要求各運營商提供更加穩(wěn)定、快捷的服務。其次,分布式系統(tǒng)、虛擬化技術的不斷發(fā)展完善,使得服務集群性能的快速提升成為可能。所以,在上述兩方面原因的相互作用下,云計算得到了前所未有的發(fā)展。
目前,不同公司對云計算有著不同的理解和實現方式。通過對現有云計算系統(tǒng)的分析及對相關資料的研究[1-5],本文認為云計算是以商業(yè)需要為出發(fā)點,將數量龐大的服務器集群整合成為分布式的資源池,通過虛擬化技術、Web2.0技術將資源池強大的計算能力、存儲能力和構建在其基礎之上的各類應用以按需計費的形式從不同的層次(Infrastructure、Platform、Application)租賃給用戶的一種新型網絡運營模式。
由上述定義可得到云計算體系結構如圖1。
由圖可知,云計算基礎架構位于云計算系統(tǒng)的底層,它為云計算系統(tǒng)的出色運營提供了有力的支持。
目前,業(yè)界及學術界對云計算基礎架構還沒有一個統(tǒng)一的定義利標準。各IT運營商均根據自身的實際情況,以各自的理解定義和實現云計算基礎架構的部署。解放軍理工大學教授劉鵬在其著作《云計算》中提出:云基礎架構及管理層由數據中心與云基礎架構、安全產品、基礎架構和運營管理三大部分組成[3]。作為虛擬化技術的龍頭,Vmware公司在談到其云基礎架構層產品時說道:云計算基礎架構是指通過虛擬化技術將傳統(tǒng)數據中心轉變?yōu)樵苹A架構并在其之上創(chuàng)建云,將IT基礎架構作為服務交付給客戶使用[6]。Lenk等人在其文章談及云計算基礎設施層時也指出:云基礎架構可劃分為基礎設施服務和資源集兩大部分,其中資源集可分為虛擬資源集和物力資源集;而基礎設施服務又分為高級基礎設施服務、基本基礎設施服務、計算服務、存儲服務和網絡服務[7]。
通過對現有云基礎架構以及對相關文獻資料的研究,本文認為云計算基礎架構是指由硬件資源(PC服務器、磁盤陣列、路由器、交換機及相關配套設備)組成,通過虛擬化技術、分布式并行技術整合形成的用以直接對外提供存儲、計算服務或作為基礎設施為上層云計算應用提供存儲、計算能力支撐的一種高效、可靠并且具有良好擴展性的底層分布式系統(tǒng)。
通過分析研究現有云計算系統(tǒng)及相關[8-12],本文認為云基礎架構按照服務的對象可分為基礎型云基礎架構和外向型云基礎架構:基礎型云基礎架構指主要向運系統(tǒng)上層提供計算、存儲資源服務的云基礎架構,基礎型云基礎架構的代表系統(tǒng)有:TFS、GFS、Cassandra、KIDC;外向型云基礎架構指直接向用戶提供計算、存儲資源服務的云基礎架構,外向型云基礎架構的代表系統(tǒng)有:IBM Ensembles、Amazon EC2、Amazon S3、HyperCloud、Megastore。
通過對當前業(yè)界主流云基礎架構系統(tǒng)的分析和對相關學術成果的研究,可以看出云基礎架構的作用是通過將物理資源轉化為虛擬資源池,實現對資源的監(jiān)控、調度和管理以達到為上層應用和用戶提供彈性的計算和存儲資源的目的。云基礎架構結構框架如圖2。
由此本文將云基礎架構分為以下五個層次:
1)物理層是指搭建、部署云基礎架構所需的物理設備和配套環(huán)境。起作用時為云基礎架構提供基本的物力資源,并保持物理設備的可靠性。
2)虛擬層是指通過虛擬化技術解除實現方式、地理位置或底層物理配置對計算機資源的限制,打破上層與物力資源之間的耦合關系,形成統(tǒng)一的虛擬資源。虛擬層的作用是為上層提供可靠且能夠靈活按需分配的虛擬資源。虛擬層由虛擬計算資源、虛擬存儲資源和虛擬網絡資源組成。
3)數據層是指對云基礎架構內運行的客戶數據進行基本操作和管理的層次。數據層主要包含兩個部分,既數據處理與數據管理。
4)管理層是整個云基礎架構中的一個抽象層次。它對云基礎架構的各類資源進行監(jiān)控,根據實際負載狀況對資源進行管理和調度并且根據上層需求對資源進行快速部署,以保證云基礎架構高效運行。云基礎架構管理層主要由資源監(jiān)控、負載管理、資源部署和安全管理四個部分組成。
5)服務層是指為上層云計算應用調用云基礎架構計算、存儲資源預留的接口和對用戶使用云基礎架構計算、存儲資源提供的交互界面。服務層對云基礎架構效能的影響體現在服務層各類接口的通用性上。因為服務層接口與上層的松耦合性能夠減小底層云基礎架構對上層應用的限制,從而提高云基礎架構自身的可用性。
到了小學階段,除了孩子的安全問題,家長們開始關注孩子的學習情況,而老師更注重孩子學習習慣的養(yǎng)成。老師可以在班級群發(fā)布學習信息,分享教育方法等。但個別老師會在班級群里給家長發(fā)布一些模糊教師職責與家長職責的任務,如監(jiān)督孩子寫作業(yè),幫孩子批改、訂正作業(yè)等。這也是目前小學班級群易受抨擊的原因之一。
3.4.1 虛擬化技術
虛擬化是表示計算機資源的一種抽象方法。通過虛擬化,可以簡化基礎設施、系統(tǒng)和軟件等計算機資源的表示、訪問和管理,并為這些資源提供標準的接口來接受輸入和提供輸出[2]。通過虛擬化技術,可以實現在一臺服務器上運行多個虛擬機,從而提供服務器的效率。由于絕大部分PC產品均屬于X86架構,所以本文論述的虛擬化技術主要指X86架構的虛擬化技術。當前X86虛擬化技術的主流產品是VMware的VMware vSphere。
vSphere主要用于服務器的虛擬化,即在一臺物理服務器上運行多臺虛擬機,以次達到服務器整合和優(yōu)化的目的。vSphere的核心是ESX架構,它可分為兩部分:Service Console和VMKernel。其中前者提供管理服務,后者提供虛擬化能力。
隨著虛擬化技術在云計算中發(fā)展中的作用越來越重要,對虛擬化技術的研究也成為熱點。對虛擬資源的管理便是熱點之一,[13]提出將VM模型集成到資源管理框架里,利用兩極調度將VM的管理集成至批調度器里,以次為用戶提供調度服務。
當前如Amazon EC2等云計算產品大多是以虛擬機的形式為用戶提供計算能力,但對于虛擬機的具體配置,需要用戶手動完成,因此虛擬化技術在自適應方面還需要進一步研究。
3.4.2 分布式存儲系統(tǒng)
隨著IT業(yè)的發(fā)展,網上交易、網上檢索等系統(tǒng)所要處理的數據量越來越大。如何利用最低的資源成本創(chuàng)造最高的運行效率成為各大運營商考慮的首要問題。因此研發(fā)人員開發(fā)完成了一系列分布式存儲系統(tǒng),為云計算提供了強有力的后盾。
分布式存儲系統(tǒng)研發(fā)目的是為云基礎架構提供高效、海量的數據存儲能力。各大運營商在搭建自己的云基礎架構前都會開發(fā)自己的分布式存儲系統(tǒng)如Google的GFS分布式文件系統(tǒng)。Google的GFS(Google File System)[14]是Google研發(fā)完成的作用于底層的分布式文件系統(tǒng)。GFS的作用是為大規(guī)模分布式應用系統(tǒng)提供強大的數據存儲服務。GFS的核心設計思路是將系統(tǒng)故障當作一種常態(tài)來處理,實現這一思路的技術主要是提供多個副本進行操作。在接口方面GFS除提供基本的Creat、Delete、Open、Close、Read、Write外還提供Snapshot和記錄追加兩項操作。Snapshot以最低的開銷創(chuàng)建一個文件或目錄副本,記錄追加則保證多客戶同時對文件進行數據追加時的原子性和正確性。
GFS含有一個主控服務器(Master)和多個塊服務器(Chunk Server)。一份文件由外圍設備經接口,會被分為有限個數據塊(每個數據塊64MB)。此外,每個數據塊都會產生一個元數據(<64MB),元數據包含文件和塊的命名空間、文件到塊的映射信息、塊副本的位置信息[1]。主控服務器主要負責存儲、管理和維護各數據塊的元數據,并負責管理、調度個塊服務器。塊服務器(Chunk Server)存儲數據塊并且負責數據塊的維護、管理及更新。此外每個數據塊擁有3個副本(任意一個由契約[16]自動設置為主副本,主副本負責帶領剩余兩個副本快速完成數據修改。)分別存儲在不同的節(jié)點以應付突發(fā)事件。當外圍設備調用文件時可將文件名及文件所屬數據塊傳發(fā)給主控服務器進行檢索,主控服務器根據元數據檢索找到數據塊的地址,而后將塊控制權限和塊地址發(fā)給外圍設備。外圍設備收到信息后直接與塊所屬的塊服務器進行交互完成數據的讀取。
當前分布式存儲系統(tǒng)已成為云基礎架構重要組成之一。在學術界,對分布式存儲系統(tǒng)的研究逐漸成為熱點。[11]提出并實現了一種對等結構分布式存儲系統(tǒng)NDSS,該系統(tǒng)取消了類似GFS中主控服務器的中心節(jié)點,而是利用分布式共享內存(DSM,Distributed Shared Memory)實現了數據一致性模塊,利用分布式共享位圖(DSB,Distributed Shared Bitmap)限制了多個節(jié)點對信息的同時訪問,解決了同步訪問控制問題。以此在對等節(jié)點中完成了中心節(jié)點的主要功能。從測試結果看,NDSS系統(tǒng)的整體性能優(yōu)于有中心節(jié)點的YNS系統(tǒng)[10]。
圖1 云計算體系結構
圖2 云基礎架構結構框架
目前,云基礎架構中著名的分布式存儲系統(tǒng)還有Google的Bigtable分布式存儲系統(tǒng)和Amazon的Dynamo分布式數據存儲中心[11]等。它們雖然為云基礎架構提供了強大的動力,但仍有改進之處。
3.4.3 并行編程模型
并行編程模型是云計算中的一個重要概念。它是指系統(tǒng)為高效并行處理海量數據而設定的一組數據處理規(guī)則。研發(fā)人員為了解決輸入數據的并行計算、分發(fā)數據等問題提出了并行編程模型的概念。
MapReduce是Google公司開發(fā)的一種新的抽象模型,也是當前起主導作用的編程模型。它的設計思路來源于函數式編程語言的映射和簡化操作[1]。MapReduce的核心思想是將數據邏輯列表通過Map函數處理成為鍵值對集(
當前對并行編程模型的研究大多以在MapReduce的基礎上提出改進方案為主。在文獻[15]中。Zaharia等人根據MapReduce建立在系統(tǒng)同構的假設基礎上,提出了LATE(Longest Approximate Time to End)調度算法。通過新型調度算法的改進使得MapReduce在異構環(huán)境下運行。
雖然現行并行編程模型為云計算提供了強大的技術支持,在某些具體情況的適用性上還需進一步的完善。
當前對云基礎架構的研究主要集中在業(yè)界IT運營商,在學術界對云計算基礎架構的研究主要集中在單個技術性能的改進與提高上,明確提出云計算基礎架構概念,并進行整體性理論分析研究相對較少。本文通過分析研究現有云計算基礎架構實例及相關文獻資料,提出了云計算基礎架構定義,指出:云計算基礎架構是指由硬件資源(PC服務器、磁盤陣列、路由器、交換機及相關配套設備)組成,通過虛擬化技術、分布式并行技術整合形成的用以直接對外提供存儲、計算服務或作為基礎設施為上層云計算應用提供存儲、計算能力支撐的一種高效、可靠并且具有良好擴展性的底層分布式系統(tǒng)。根據云計算基礎架構定義,預計在今后的一段時間內,對云計算基礎架構的研究會朝著以下幾個方面進行:
1)更加高效的數據交互體驗。云計算基礎架構為上層應用提供存儲與計算能力,在此過程中必然會存在基于請求的數據交互過程。而數據交互的速度會直接影響用戶對云計算應用的操作體驗。所以對高效的數據交互地研究會成為未來云計算基礎架構的研究重點。
2)更穩(wěn)定的系統(tǒng)運行過程。云計算基礎架構位于云計算系統(tǒng)的底層,其運行的穩(wěn)定與否直接關系到整個云計算系統(tǒng)的運作。盡管當前已有多種技術手段(資源監(jiān)控技術、同步復制技術,心跳檢測技術等)來確保云計算基礎架構的穩(wěn)定性。但是這些技術手段任然存在自身消耗資源過大、檢測周期與負載變化不適應等問題。而這些問題也會在今后的云計算基礎架構的研究中得到解決。所以系統(tǒng)的穩(wěn)定性也將是云計算基礎架構研究的重點之一。
3)更靈活的系統(tǒng)擴展。隨著數據量的增加,云計算基礎架構不得不面臨系統(tǒng)擴展的問題。而實時變化的數據交互量,使得云計算基礎架構在擴展的同時更加注重擴展的靈活性。系統(tǒng)的擴展意味著資源的擴充,而系統(tǒng)擴展后的資源合理分配是體現靈活系統(tǒng)擴展的重要部分。當前盡管各類云基礎架構都在努力統(tǒng)一和規(guī)范各自系統(tǒng)擴展接口并改進資源分配方式,但資源分配是否能夠與負載變化同步依然是問題的實質和仍未解決的問題。而這也是云計算發(fā)展的基本出發(fā)點和立足點。所以,靈活的系統(tǒng)擴展能力是云計算基礎架構未來的重要研究方向。
綜上所述,云計算基礎架構是一個具有現實意義并充滿挑戰(zhàn)的新興領域,它的發(fā)展將對云計算發(fā)展產生巨大的推進作用,而云計算基礎架構也會在未來的發(fā)展中扮演越來越重要的角色。
[1]陸嘉恒等.分布式系統(tǒng)與云計算[M].北京:清華大學出版社,2011.5.
[2]吳朱華.云計算核心技術剖析[M].北京:人民郵電出版社,2011.5.
[3]劉鵬.云計算[M].北京:電子工業(yè)出版社,2011.7.
[4]Tim Mather,Subra Kumaraswamy,Shahed Latif著.云計算安全與隱私[M].北京:機械工業(yè)出版社,2011.5.
[5]朱近之.智慧的云計算[M].北京:電子工業(yè)出版社,2011.4.
[6]VMware and Cloud Computing:An Evolutionary Approach to an IT Revolution.
[7]A.Lenk,M.Klems,J.Nimis,S.Tai.What is Inside the Cloud?An Architectural Map of the Cloud Landscape.http://www2.computer.org/portal/web/csdl/doi/10.1109/CLOUD.2009.5071519.
[8]房晶,吳昊,白松林.云計算安全研究綜述[J].電信科學,2011,27(4):37-42.
[9]陳丹偉,黃秀麗,任勛益.云計算及安全分析[A].計算機技術與發(fā)展,2010,20(2):99-102.
[10]張建勛,古志民,鄧超.云計算研究進展綜述[A].計算機應用研究,2010,27(2):429-433.
[11]吳英,謝廣軍,劉景.對等結構的分布式存儲系統(tǒng)設計與研究[A].計算機工程與應用,2006,42(4):135-139.
[12]王剛,劉曉光,劉景.網絡軟RAID的設計與實現[J].計算機研究與發(fā)展,2000,37(增刊):81-83.
[13]FREEMANT T,KEAHEY K.Flying low:simple lease with workspace pilot [C].//Proc of the 14th International Conference on Parallel Processing.
[14]GHEMAWAT S,GOBIOFF H,LEUNG S.The Google fi le system[C].//The Proceedings of the 19th Symposium on Operating Systems Principles,Lake Georage,New York,2003.
[15]JONES M T.Cloud computing with Linux cloud computing platforms and applications[EB/OL].(2008-09-1)[2008-10-15].http://www.ibm.com.
[16]GHEMAWAT S,GOBIOFF H,LEUNG S.The Google fi le system[C].//The Proceedings of the 19th Symposium on Operating Systems Principles,Lake Georage,New York,2003.
武警工程大學基礎研究基金(wjy201111);研究生創(chuàng)新科研工程課題(2012S023)。
馮昊(1987—),男,仡佬族,貴州貴陽人,武警工程大學碩士研究生在讀,主要研究方向:通信安全、計算機網絡、云計算。
鄒濤(1961—),男,陜西西安人,副教授,碩士生導師,主要研究方向:軍事通信。
張龍軍(1961—),男,陜西西安人,博士后,教授,碩士生導師,主要研究方向:信息安全。
王偉(1967—),男,陜西西安人,大學本科,現供職于陜西省警衛(wèi)局,主要研究方向:通信安全。