周福斌,楊 巍,何 沅
(中國人民解放軍66389部隊,河南 鄭州 450000)
隨著云計算技術的不斷發(fā)展和應用,以云計算和虛擬化技術為核心的新一代數(shù)據(jù)中心已成為建設發(fā)展的趨勢。云數(shù)據(jù)中心能夠滿足各行各業(yè)應用高性能、高可靠、高安全以及高可用性的要求,實現(xiàn)資源動態(tài)調整、按需分配、靈活擴展,大大提高資源利用率和智能化管理水平,降低運維成本。云數(shù)據(jù)中心建設過程中,云平臺的規(guī)劃設計是重點內容,而計算資源的規(guī)劃設計又是重中之重,直接關系數(shù)據(jù)中心效能發(fā)揮[1,2]。
與云數(shù)據(jù)中心對比,傳統(tǒng)數(shù)據(jù)中心主要存在以下幾點不足。
當前部分用戶存在孤島式和煙囪式建設情況,各個平臺無法直接相互通聯(lián),導致資源不能重用。部分用戶存在一臺服務器部署一套業(yè)務系統(tǒng)的現(xiàn)象,服務器空余的大量資源處于空閑狀態(tài),經一些機構評測,大部分企業(yè)數(shù)據(jù)中心資源利用率甚至不到20%。還有些用戶部署一些階段性的應用,在較長的一段時間不再使用或者永久停用,但是相關的計算、存儲以及網絡等資源不能及時、便捷地釋放回收,造成一定程度的資源浪費,導致資源利用率低[3]。
傳統(tǒng)數(shù)據(jù)中心業(yè)務系統(tǒng)部署在物理服務器中,隨著業(yè)務的不斷擴展,應用系統(tǒng)不斷增加,需要不斷增加物理服務器的數(shù)量,還要增大機房面積,增加配套的制冷和消防設施,導致建設和運維成本不斷上升。另外,非云化部署存在設備選型和招標采購等問題,影響業(yè)務上線進度,增加時間成本[4]。
傳統(tǒng)數(shù)據(jù)中心依靠人力進行運行維護,效率低,出錯率高,難以精細掌握整體資源狀況,無法實現(xiàn)資源按需調配,無法隨進程任務自動調配資源保證性能最優(yōu),智能化運維水平較低。
開放的架構主要包含兩個層面:一是源代碼開放,允許用戶自主掌控,可以根據(jù)自身需求進行功能的增加、刪除和修改;二是標準開放,用戶可以使用標準產品構建自己的云計算工程。二者相比,標準開放比源代碼開放更加重要,標準的開放可以避免受單個實體控制,帶來擴容迭代和升級換代的局限性,避免成本的提高。
資源彈性可變體現(xiàn)在3個層面:一是硬件層面,就是計算、存儲以及網絡等資源可以線性擴展,快速部署;二是云資源層面,主要體現(xiàn)在資源可以隨著應用系統(tǒng)業(yè)務量的增加而彈性增加,可以隨著應用系統(tǒng)業(yè)務量的減少而彈性收縮;三是應用層面,主要體現(xiàn)在靈活的上線部署和下線釋放資源,同時可以根據(jù)進程任務對計算資源進行智能優(yōu)化和動態(tài)調整,使進程任務在各階段均獲得更好的性能。
高可用性體現(xiàn)在基礎框架、物理網絡、計算和存儲資源、云平臺以及業(yè)務的高可用性,同時也包含數(shù)據(jù)的可靠性,各類資源冗余設計,業(yè)務邏輯關系松耦合,保證不會因為某個環(huán)節(jié)出現(xiàn)問題而影響業(yè)務的開展[5]。
可管理性主要體現(xiàn)在層次分明且結構簡捷,具備清晰智能的可視管理界面,可以實時進行運維管理,滿足日常監(jiān)管和運維需求,及時發(fā)現(xiàn)和處理運行中出現(xiàn)的各類故障。
計算資源總體規(guī)劃主要是建立兼容異構虛擬化、容器、裸金屬以及高性能計算的統(tǒng)一資源池,通過統(tǒng)一的云平臺實現(xiàn)各種資源的統(tǒng)一科學管理,同時根據(jù)不同業(yè)務的具體需求實現(xiàn)資源的智能調度。通過優(yōu)化的可視界面,實現(xiàn)對資源的精準把控,使資源合理高效利用,同時也便于資源動態(tài)調整滿足后期業(yè)務擴展需求[6]。計算資源池總體規(guī)劃如圖1所示。
圖1 計算資源總體規(guī)劃圖
虛擬化技術是云計算底層核心技術之一,它是實現(xiàn)計算、存儲以及網絡資源充分整合利用的關鍵技術。利用虛擬化技術構建的資源池具有低成本、高可靠、高可用、高安全、高擴展性以及彈性可變等優(yōu)勢。鑒于國內云計算的底層基本都是基于Openstack,同時對比KVM和XEN內核架構,考慮到KVM是Linux內核的一部分,兼容性好,性能和安全性均高于XEN,且KVM具備強大的生態(tài)圈(主流廠商基本全部支持KVM),因此云計算平臺虛擬化技術優(yōu)先選擇基于Openstack并選擇KVM內核架構[7]。
在進行計算資源池功能設計之前,首先應對現(xiàn)有和將來要承載的業(yè)務系統(tǒng)進行分類,主要分為適合虛擬化平臺部署的業(yè)務和不適合虛擬化平臺部署的業(yè)務兩類。其中前者是指環(huán)境有標準化(X86)和快速部署需求、資源利用率相對較低、業(yè)務增長快,需要頻繁擴容、可以通過虛擬化技術提高系統(tǒng)可用性和可靠性以及可以利用資源池化共享來實現(xiàn)收縮擴展的業(yè)務。后者是指廠商明確不支持虛擬化、非X86平臺系統(tǒng)、本地I/O或網絡吞吐繁忙,將導致整個集群資源產生瓶頸以及業(yè)務系統(tǒng)CPU或內存資源需求量達到單臺云節(jié)點(物理服務器)資源80%以上的業(yè)務。
一般來說,用戶大部分的業(yè)務系統(tǒng)是適合虛擬化的,只有少部分高性能、高I/O需求的業(yè)務系統(tǒng)以及需要進行大數(shù)據(jù)計算和存儲的業(yè)務系統(tǒng)不適合虛擬化。因此,在計算資源功能設計時,將計算資源池分為以下3類。一是分布式虛擬化服務器資源池,用來針對資源需求較小但資源規(guī)格類型較多的情況,利用虛擬化技術進行資源的按需分配和智能調度,便于資源合理充分利用。二是物理機資源池,主要適用于資源開銷需求大,高性能和高I/O業(yè)務系統(tǒng)的場景,可以避免資源爭用導致虛擬資源池整體效能發(fā)揮的現(xiàn)象[8]。三是大數(shù)據(jù)資源池,主要針對海量的非結構化數(shù)據(jù)且需要分布式存儲和分布式計算的場景。
計算資源池容量設計主要包括CPU數(shù)量和內存容量計算兩部分內容。
資源池CPU數(shù)量=業(yè)務系統(tǒng)所需服務器CPU數(shù)量×CPU平均使用率/(1-CPU預留率)。平均使用率一般取40%,預留率一般取20%[9]。資源池內存容量=業(yè)務系統(tǒng)所需服務器內存容量×內存平均使用率/(1-內存預留率)。平均使用率一般取40%,預留率一般取20%。
數(shù)據(jù)中心云化的主要目的是提升數(shù)據(jù)中心的服務質量和效益,避免和減少業(yè)務中斷情況,因此計算資源的可靠性設計至關重要,重點應做好以下4個方面的設計。
3.5.1 虛擬化平臺的設計
虛擬化平臺要采用分布式集群部署,不能存在可能導致服務中斷的單點故障。另外虛擬化平臺要使用分層結構,管理、計算、存儲以及網絡等各個部分要達到低耦合,做到相互獨立。
3.5.2 HA集群設計
HA是指一種以減少服務中斷時間為目的的服務器集群技術,將多臺物理機合并為一個共享資源的集群,從而提高業(yè)務系統(tǒng)可靠性。HA集群設計主要是在以下3個方面保證可靠性。一是監(jiān)控集群下的所有虛擬機,當某一臺虛擬機發(fā)生故障時,HA能夠保證在該物理機內重啟虛擬機并恢復中斷的業(yè)務。二是監(jiān)控集群下所有的物理機,當某臺物理機發(fā)生故障時,HA能夠保證在集群內的其他物理機上重啟受影響的虛擬機。三是當某一臺虛擬機出現(xiàn)通信故障時,DC會按照策略算法,在空閑的服務器節(jié)點上重啟該故障虛擬機,從而保證業(yè)務的連續(xù)性。
3.5.3 虛擬機遷移設計
虛擬機遷移設計應重點從4個方面的保證可靠性。一是保證在用戶無感知的情況下完成遷移,二是遷移過程中能夠持續(xù)智能優(yōu)化虛擬機資源,三是保證虛擬機運行效率,比如及時將虛擬機從故障或者性能不佳的物理服務器智能遷移至性能較好的物理服務器中運行,四是可以定制化策略遷移,如定時遷移。
3.5.4 虛擬機備份設計
在實踐應用中,業(yè)務系統(tǒng)備份必不可少,對計算資源池中的虛擬機的備份也非常關鍵。虛擬機備份設計應重點做好3個方面的設計,一是可以進行單個虛擬機備份,也可以進行集群和資源池備份,二是備份時要保證應用數(shù)據(jù)的一致性,三是要有基于磁盤的備份功能,以提供快速、簡單的數(shù)據(jù)保護。
擴展性設計主要包括虛擬機規(guī)格動態(tài)調整和自動化資源彈性調度設計。虛擬機規(guī)格動態(tài)調整主要是虛擬機能根據(jù)應用系統(tǒng)的性能需求,靈活調整虛擬機的配置規(guī)格,如vCPU數(shù)量、內存大小、磁盤卷個數(shù)以及網卡數(shù)量等。自動化資源彈性調度主要是可以根據(jù)單個應用系統(tǒng)的負載情況動態(tài)調整實際使用的資源。擴展性設計還應該在系統(tǒng)資源不足時,保證具有較高優(yōu)先級的應用系統(tǒng)優(yōu)先使用資源[10]。
數(shù)據(jù)中心通過云計算虛擬化技術對計算資源的合理規(guī)劃設計,能夠實現(xiàn)計算資源的彈性可變和智能高效,具備高可用性、高可靠性以及高擴展性,可以為用戶構建并提供一個可靠、安全、高效、靈活且動態(tài)的計算資源池,滿足用戶應用快速部署和可靠運行的目的。計算資源池已成為云數(shù)據(jù)中心的基礎,將會有極為廣闊的發(fā)展空間。