云計算技術(shù)及其應用
云計算由Google提出,隨后在互聯(lián)網(wǎng)界風起“云”涌,隨之而來的云計算服務(wù)和技術(shù)平臺成功案例層出不窮,如Google的GFS、 MapReduce、Bigtable、Chubby和App Engine,亞馬遜的Dynamo、EC2、S3、SQS、SimpleDB和CloudFront,微軟的Azure、SQL、“.Net”和 Live服務(wù),開源云計算平臺的HDFS、HBase和Eucalyptus,VMware的虛擬化平臺等。
本文引用地址:http://m.butianyuan.cn/article/201609/304025.htm1 云計算的核心技術(shù)
云計算主要基于資源虛擬和分布式并行架構(gòu)兩大核心技術(shù),同時互聯(lián)網(wǎng)上有大量的開源軟件為用戶提供支撐,如Xen、KVM、Lighttpd、 Memcached、Nginx、Hadoop、Eucalytus等。云計算技術(shù)有效地節(jié)約了云服務(wù)商的硬件投入、軟件開發(fā)成本和維護成本。
虛擬化技術(shù)最早由VMware公司引入并在X86 CPU上實現(xiàn)。虛擬化平臺將服務(wù)器虛擬為多個性能可配的虛擬機(VM),對整個集群系統(tǒng)中所有VM進行監(jiān)控和管理,并根據(jù)實際資源使用情況對資源池靈活分配和調(diào)度。
分布式并行架構(gòu)是云計算的另一個核心技術(shù),用于將大量的機器整合為一臺超級計算機,提供海量的數(shù)據(jù)存儲和處理服務(wù)。整合后的超級計算機通過分布式文件系統(tǒng)、分布式數(shù)據(jù)庫和MapReduce技術(shù),提供海量文件存儲、海量結(jié)構(gòu)化數(shù)據(jù)存儲和統(tǒng)一的海量數(shù)據(jù)處理編程方法和運行環(huán)境[1-3]。
2 虛擬化技術(shù)
虛擬化技術(shù)主要分為兩個層面:物理資源池化和資源池管理。其中物理資源池化是把物理設(shè)備由大化小,將一個物理設(shè)備虛擬為多個性能可配的最小資源單位;資源池管理是對集群中虛擬化后的最小資源單位進行管理,根據(jù)資源的使用情況和用戶對資源的申請情況,按照一定的策略對資源進行靈活分配和調(diào)度,實現(xiàn)按需分配資源[4-7]。
2.1 物理資源的池化
云計算平臺如圖1所示。物理硬件設(shè)備的虛擬化對象包括服務(wù)器、存儲、網(wǎng)絡(luò)、安全等多個方面,不同的虛擬化技術(shù)從不同角度解決系統(tǒng)的各種問題。
(1)服務(wù)器虛擬化
服務(wù)器虛擬化對服務(wù)器進行資源虛擬和池化,將一臺服務(wù)器虛擬為多個同構(gòu)的虛擬服務(wù)器,同時對集群中的虛擬服務(wù)器資源池進行管理。
(2)存儲虛擬化
存儲虛擬化主要是對傳統(tǒng)的存儲區(qū)域網(wǎng)絡(luò)(SAN)、網(wǎng)絡(luò)附加存儲(NAS)設(shè)備進行異構(gòu),將存儲資源按類型統(tǒng)一集中為一個大容量的存儲資源,并將統(tǒng)一的存儲資源通過分卷、分目錄的權(quán)限和資源管理方法進行池化,然后將虛擬存儲資源分配給各個應用使用,或者是直接分配給最終用戶使用。
(3)網(wǎng)絡(luò)虛擬化
網(wǎng)絡(luò)虛擬化將一個物理網(wǎng)絡(luò)節(jié)點虛擬成多個虛擬的網(wǎng)絡(luò)設(shè)備(交換機、負載均衡器等),并進行資源管理,配合虛擬機和虛擬存儲空間為應用提供云服務(wù)。
2.2 資源池的管理和使用
資源池由云管理平臺實現(xiàn)統(tǒng)一的管理、調(diào)度和監(jiān)控,涉及云平臺的合理使用和維護管理。云管理平臺共分為4個管理層面,分別為:設(shè)備的管理、虛擬資源的管理、服務(wù)的管理和租戶管理。
(1)設(shè)備管理
設(shè)備管理為云計算平臺的硬件設(shè)備提供管理和告警功能,主要包括系統(tǒng)管理員在日常的維護工作中查詢各物理設(shè)備性能情況,并對如應用服務(wù)器的CPU使用率、內(nèi)存使用率、硬盤使用率、網(wǎng)絡(luò)接口使用率、存儲設(shè)備的空間使用率、IO情況等關(guān)鍵指標進行監(jiān)控。用戶可以根據(jù)應用物理設(shè)備的實際配置,設(shè)置相應的監(jiān)控閾值,系統(tǒng)會自動啟動對相應指標的監(jiān)控并報警。
(2)虛擬資源管理
虛擬資源管理為各種應用提供虛擬資源的統(tǒng)一管理、資源分配和靈活調(diào)度,同時還包括系統(tǒng)管理員在日常的維護工作中查詢各個最小虛擬資源的性能情況,并對應用虛擬機的CPU使用率、內(nèi)存使用率、硬盤使用率、網(wǎng)絡(luò)接口使用率,虛擬存儲(如亞馬遜的EBS)的空間使用率、IO情況等關(guān)鍵指標進行監(jiān)控。用戶可以根據(jù)虛擬資源的實際配置,設(shè)置相應的監(jiān)控閾值,系統(tǒng)會自動啟動對相應指標的監(jiān)控并報警。
(3)服務(wù)管理
服務(wù)管理包括服務(wù)模板、服務(wù)實例、服務(wù)目錄等管理。服務(wù)管理在虛擬資源的基礎(chǔ)上,快速向租戶提供用戶指定的操作系統(tǒng)、應用軟件等軟件資源。
(4)租戶管理
租戶管理對每一個租戶對應的資源群進行管理,內(nèi)容包括資源的種類、數(shù)量、分布情況等,同時對租戶生命周期進行管理,包括租戶的申請、審核、正常、暫停、注銷等。
2.3 集群的故障定位與維護
Google的集群維護方式給我們留下了深刻的印象,維護人員推著小推車對損壞的機器進行更換,故障定位通過定制PC的故障燈進行判斷(在通用的因特網(wǎng)數(shù)據(jù)中心(IDC)應用中,計算資源通常使用通用PC機)。目前所有的云平臺對物理機和虛擬機的監(jiān)控、告警,都是按照機器的IP地址作為機器的編號進行管理。對于承載著虛擬機的物理機而言,其Host OS模塊的IP地址對應和代表著物理機器在集群中的唯一標志。IP地址的分配一般采用兩種方式:采用動態(tài)主機配置協(xié)議(DHCP)方式自動獲取;通過手工指定方式確定。由于集群中機器很多,手工指定工作量非常巨大,因此通常采用DHCP的方式對IP地址進行分配。
但是維護人員在云管理平臺上發(fā)現(xiàn)物理設(shè)備出了故障,維護人員無法通過IP地址對應到故障機器的具體物理位置,通用的PC機又沒有故障燈等輔助定位手段。定位故障機器的物理位置并更換或維護它成為一個復雜和繁瑣的過程。
在的虛擬化集群中,可以采用簡單而有效的方法解決此問題。對于每一臺物理機器,配置一個USB接口的KEY,KEY中保存了物理機器的位置信息,同時 USB KEY與物理位置直接綁定(如綁在機架上)。機器在啟動時,會到USB KEY中讀取物理位置信息,根據(jù)讀取的物理位置信息,依據(jù)固定的算法和物理信息算出機器的IP地址,并在管理平臺中體現(xiàn)。這樣,每個物理機器的IP地址就與物理位置綁定,在物理機器故障時,維護人員在云管理平臺可以準確獲取故障機器的IP地址和物理位置。
2.4 資源池的分組與異構(gòu)
對于服務(wù)器的虛擬化,由于架構(gòu)不同,SUN、IBM等廠家的小型機虛擬化都采用相互獨立的架構(gòu),與基于X86架構(gòu)的虛擬化系統(tǒng)(如XEN、KVM等)無法兼容,因此造成了資源浪費。
評論