?

云計算系統可用性分析方法初探

2015-05-13 23:30陸偉宙蔡向峰
信息通信技術 2015年2期
關鍵詞:雙機計算資源可用性

陸偉宙 蔡向峰 王 暉

廣東省電信規劃設計院有限公司 廣州 510630

概述

近年來,云計算一直是商業和科研機構關注的熱點,同時,也在IT界得到廣泛的應用,云計算成為業務系統部署的主要方式之一。云計算通過虛擬化等技術,構建統一的資源池,屏蔽底層資源細節,向用戶提供服務,從而達到提高設備利用率、節能減排、快速部署業務等目的。由于云計算引入了虛擬化、多租戶等技術,對底層的物理資源進行了屏蔽,因此,無法采用傳統的可用性分析方法分析云計算系統的可用性,從而造成了云服務使用者的困惑,也給云服務的服務等級協議(Service-Level Agreement, SLA)制定帶來了困擾。本文對云計算系統,主要是IaaS(Infrastructure as a Service,基礎設施即服務)云計算系統進行分析,探討其可用性的計算方法。

1 可用性分析

系統的可用性[1-3]是指假設系統在所需的外部資源都已提供的情況下,準備好以一個狀態及時在給定時間段內或給定時間間隔內的任何時間段提供所需要的功能。在實際的環境中,往往使用正常使用時間和總運行時間的比值來刻畫。即

而IT基礎設施庫(ITIL)[2]提出使用協議服務時間取代總運行時間,強調系統可以停機進行維護,協議服務時間不包括計劃內停機時間,停機時間僅包括故障停機,因此,上面的公式可以改寫如下:

如果用平均故障間隔時間(Mean Time Before Fail,MTBF)和平均修復時間(Mean Time To Repair,MTTR)對可用性A進行估算,則有公式(1):

一般而言,單個系統組件,例如物理服務器等的平均故障間隔時間可以通過現網測試、壓力測試等方式進行評估,平均修復時間則可根據運維能力進行估算。整個系統的可用性與系統的構成方式有關,并不等于組件的可用性簡單疊加。

服務可靠性與服務可用性在概念上有一定的重疊。廣義的服務可靠性包括了服務可用性,例如微軟對可靠性的定義是在成本效益方面,確保服務能力、服務可用性、服務連續性、數據完整性和保密性等復合業務需求[4]。而狹義的可靠性的定義是指一個項目在規定條件和時間內完成規定功能的能力[2-3]。狹義的服務可靠性以最大可接受的服務時延內得到成功響應的數量與總請求數的比例進行計算。例如一個Web系統,由于服務器故障或者擁塞導致響應時間大于可接受服務時延都會產生不成功的響應,都可以視作服務可靠性降低。當多個服務器持續故障則可導致整個系統不可用。本文主要關注系統可用性。

常見的系統可用性評估方法可以分為基于組合的方法和基于狀態的方法兩大類[3-4]?;诮M合的方法是針對系統和組件之間的邏輯關系的一種分析方法,主要的方法有可靠性框圖法(Reliability Block Diagram,RBD)[1-2,5]、可靠圖法(Reliability Graph,RG)[1-2,5]和故障數樹分析(Fault Tree,FT)[1,5]等??煽啃钥驁D法[1-2,5]是典型的基于組合的方法,它利用串并聯的方式表示組件與系統的邏輯關系,串聯的組件中只要有一個組件失效系統就會發生故障,并聯組件中只要還有一個組件可以正常工作系統就正常,如圖1(a)、圖1(b)所示。

圖1 串聯結構與并聯結構

假設一個n組件的系統可用性為A,各組件的可用性為Ai,串聯結構和并聯結構的可用性可用公式(2)表示:

基于狀態的可用性評估方法[1-2,5]根據狀態與狀態之間的變化關系確定系統的可用性,一般利用隨機理論分析,主要方法包括基于Markov過程的方法[1-2]和基于Perti網的方法[1]。典型方法基于Markov過程的方法定義了狀態和狀態跳轉兩類要素,并使用這兩類要素描述系統所處的狀態和動態行為。圖2顯示了一個三組件串聯的系統對應的Markov模型,其中狀態0表示正常,狀態1表示異常,λ和μ分別表示組件的失效率和維修率,從圖中可以看出僅有狀態000是正常的狀態,其余狀態系統都不可用?;贛arkov模型的可用性分析通過計算穩態下正常狀態的概率,確定系統的可用性?;贛arkov模型的可用性分析隱含假設是系統在每個狀態的時間都服從指數分布,而在實際器件或產品在它的正常生命期內的可靠性函數是服從指數分布的,因此,基于Markov模型的可用性分析得到廣泛的應用。近年來,Kwon和Chuob等人[6-7]在離散Markov模型基礎上,引入了得分值的概念,即對正常工作狀態賦值為1,異常工作狀態賦值為0,通過計算穩態過程的對應狀態分布概率,再計算總得分得到可用性。這類模型稱為Markov Reward Model,并已應用到軟件可用性評估中。

圖2 三組件串聯系統對應的Markov模型

基于組合的可用性分析方法相對簡單,模型表達清晰易于理解,但其描述能力較弱,且需要組件彼此獨立;基于狀態的分析方法比較復雜,模型表達能力強,沒有組件獨立的要求,但需要狀態持續時間服從指數分布。

2 云計算系統可用性

云計算系統的架構如圖3所示,通常包括管理節點、網絡資源、計算資源、存儲資源四個組件。其中,管理節點包括管理服務器,它對所有資源進行統一的管理;網絡資源包括核心交換機、接入交換機、防火墻、負載均衡器等網絡設備;計算資源由多臺服務器組成,若干臺服務器構成集群;存儲資源包括FC SAN存儲和IP SAN存儲等。由于云計算系統部署在機房物理環境中,電源、空調等機房基礎設施的故障會影響云計算系統的使用,因此,在考慮云計算系統可用性的時候除考慮上述四個組件的可用性外,還需要考慮機房基礎設施的可用性。

云計算系統由于引入了虛擬化層,虛擬化帶來資源調配的靈活性,提升了系統的可用性。在云管理平臺的調度下,云計算系統的一個組件失效后將被另一個組件迅速取代,對上層應用完全透明。例如,VMware的高可用功能(High availability, HA)使得承載虛擬機的物理主機出現故障后在HA集群中的另一臺物理主機上重新啟動對應的虛擬機,實際上提供了溫備的功能;容錯功能(Fault Tolerance)使得虛擬機1:1熱備等。溫備、熱備等功能的大量使用使得可用性評估更為復雜,傳統的可用性評估方法需要進行改進才能用于云計算系統的可用性測算。

圖3 云計算系統典型架構

近幾年,學術界和業界對云計算系統的可用性評估進行探討,主要基于RBD和Markov Model并結合云計算特點進行優化。Bauer和Adams探討了云計算系統和服務可靠性和可用性的設計、計算、評估和優化方法[2],認為云計算系統的可用性和可靠性風險來自于云計算系統的基本特征,如按需自助服務、網絡接入、資源池化等;在可用性評估方面,采用RBD方法對端到端的云服務進行了可用性評估。Wang[8]等人提出基于可用性和調度成本分析的資源調度方法,對虛擬機的可用性進行評估,其方法主要是計算虛擬機所在的主機的可用性,并沒有分析整個云系統的可用性。Dantas、Matos等針對Eucalyptus云計算平臺進行可用性分析[9],對Eucalyptus云計算平臺組件的不同組合方法進行可用性分析,其方法主要基于RBD。Chuob、Pokharel等人[7]提出分層的模型,在集群層面和節點層面采用改進的Markov模型對系統的可用性進行分析。陳懷臨[10]在更高層面提出一種定量分析云計算系統可用性的方法,提出采用單獨可用性(Standalone Availability,SA)和部署可用性(Deployment Availability,DA)的概念分別表示構成系統組件完全可用和非完全可用情況下系統的可用性,對不同層面的SA和DA的關系進行了分析,并具體分析了不同承接關系下的IaaS、PaaS、SaaS系統的可用性計算方法。

3 云計算系統可用性分析方法

從圖3可以看出,云計算系統邏輯架構上可以分為管理節點、網絡資源、計算資源和存儲資源四大部分。由于這四大部分資源由不同的硬件構成,如果單獨考慮機房基礎設施故障,可以認為云計算系統四大部分彼此獨立。采用可靠性框圖法RBD對云計算系統進行分解,如圖4所示。

圖4 云計算系統的RBD圖

云計算系統的可用性可以用公式(3)表示:

其中Acloud表示整個云計算系統的可用性,Ainfrastructure表示機房基礎環境的可用性,Amanagement表示云計算系統管理節點的可用性,Anetwork表示云計算系統網絡的可用性,Acompute表示云計算系統計算資源的可用性,Astorage表示云計算系統存儲資源的可用性。由于各個組件都能對整個系統的可用性造成影響,因此,整個系統的可用性是各組件可用性的乘積。對于每個組件,可采用RBD分解方法拆分成多個更細的資源模塊,可以拆分到能映射物理設備的模塊為止。例如計算資源拆分成集群,集群可以繼續拆分成服務器資源等(如圖5所示)。

在RBD分解后,每個模塊的可用性和設備可用性跟設備部署方式有關。設備可用性可以通過對設備進行測量或者通過生產商提供的參數獲得。設備的部署方式可以分為三大類。第一類是通過單機部署,或者可以看成單機部署的;第二類是采用雙機部署,包括熱備雙機、溫備雙機兩大類,云計算系統中很少使用冷備雙機;第三類是采用多節點部署,一般所有節點都可以對外提供服務。通過分析計算資源、存儲資源、網絡資源、管理節點和機房基礎設施中各模塊的設備部署方式,即可計算其可用性,進而分析整個云計算系統的可用性。

圖5 計算資源的RBD分解

第一類資源構建方式是單點部署。通過設備自身的冗余來提高可用性,典型的例子是作為共享存儲的磁盤陣列,通常是單點部署,通過設備的雙引擎、雙通道來提高其可用性,因此,其高可用性等同于設備自身的高可用性。另外一個可以看作單點部署的是機房基礎設施。機房基礎設施的可用性是指機房的電源、空調、機柜等基礎設施的可用性,這類基礎設施往往通過冗余來實現,比如電源的雙路接入、油機系統等,且與是否提供給云計算系統無關。從整體上看,其可用性可以認為等同于傳統環境下的機房基礎設施可用性,其測試和計算方法與傳統環境一致。

第二類資源構建方式是雙機部署。通常以熱備或溫備的方式部署,例如采用雙機形式部署的云管理節點、接入交換機、匯聚交換機等。在云計算系統中,資源部署基本上不采用冷備的方式。對于熱備雙機,實際上構成雙機的設備都對外提供服務,因此,對于外界來說熱備雙機等同一個并聯的兩組件系統,如果兩個組件的可用性分別為A1和A2,其可用性可通過下列公式計算:

對于溫備系統,即一個設備正常提供服務,另外一個設備處于待機狀態,當主設備發生故障,待機狀態的設備需要一定的激活時間才能接管主設備的工作。由于溫備雙機需要切換,存在一定的停機時間,但遠少于單機維護的時間;同時,備機日常處于待機狀態;因此,能節約一定的待機成本,也能有效縮減停機時間。對于溫備雙機,采用文獻[9]中的Markov Reward Model(MRM)方法計算其可用度?;趦膳_設備所處的狀態,可以分為正常-待機(Up-Wait,UW)、正常-故障(Up-Fail,UF)、故障-故障(Fail-Fail,FF)、故障-正常(Fail-Up,FU)和故障-等待(Fail-Wait,FW),如圖6所示。其中,λ_s1和λ_s2指兩臺設備工作狀態下的故障率,其數值等于這兩臺設備的MTBF(記為m)的倒數;μ_s1和μ_s2指兩臺設備的維修率,其數值等于這兩臺設備的MTTR(記為n)的倒數;λi_s2指備機在等待狀態下的故障率,文獻[5]認為其比λ_s2小20%,對應MTBF為mi;sa_s2為系統發現主機失效激活備機時間sa的倒數。對于MRM模型,指定正常工作狀態的UW、UF、FU的得分值為1,無法工作的狀態FF、FW的得分值為0,通過計算該Markov模型的穩定狀態,得到在穩定狀態下UW、UF、FU這三個狀態的概率,對應概率和得分值的乘積之和就是溫備雙機的可用性。

圖6 溫備雙機的MRM模型

根據上述假設,文獻[9]給出溫備雙機的可用性計算如下:

第三類資源構建方式是多機部署。主要采用這種方法部署的是服務器,多臺服務器構成一個集群,多個集群構成云計算系統。假設共有N×K臺服務器,分為N個集群,集群所有的服務器均為同一種服務器,其可用性一致。第i個集群的服務器數量為Ki,第i個集群的服務器的可用性為Ai,其中 。那么第i個集群的可用性可以計算如下:

第一種情況,假設所有服務器同構,其可用性均為A,整個計算資源的可用性可以計算如下:

從公式(7)可以看出,在服務器完全同構的情況下,計算資源的可用性僅與單服務器的可用性A和服務器總數N×K有關,與集群數目N和每個集群的服務器Ki無關,可見在服務器同構的情況下,集群構成對計算資源的總可用性無影響。

第二種情況,假設每個集群的服務器存在差異,由公式(6)可知,由于Ai在(0,1)區間,易知Ai和Ki越大,整個集群Aclusteri的可用性也越大。假設可用性最大的集群的可用性為Aclustermax,那么整個計算資源的可用性落在以下區間:

由公式(8)可以簡單地推算計算資源的可用性上下限,為服務等級協議SLA的指定提供參考。

綜上所述,在區分幾大組件之后,整個云計算系統的評估可以采用以下流程。

步驟1:對云計算系統進行邏輯拆分,將其分成彼此無關的組件;

步驟2:對各個組件進行RBD法拆分,直到每個資源模塊能映射到單機、雙機、多主機部署方式;

步驟3:根據模塊內部設備的部署方式,計算各模塊的高可用性。由此推算整個組件的可用性;

步驟4:根據公式(3)計算整個云計算系統的可用性。

4 應用場景

云計算系統的可用性評估方法主要有提高可用性設計和制定SLA兩類應用場景。

第一類應用場景是在云計算系統的構建過程中根據可用性要求對組件進行可用性分配和改進設計。根據系統的業務需求確定可用性的要求,根據總體可用性要求對計算資源、存儲資源、網絡資源和管理節點、機房基礎設施各個組件可用性要求進行分配。由于部分組件的可用性提升的幅度不大,例如機房的基礎設施,可靠性分配應有所側重。在分配各組件的可用性后,在滿足其他要求的前提下,結合單一設備的可用性、設備部署方式和RBD方法計算現有組件的可用性,若組件可用性不滿足要求,增加并行設備數量直到滿足要求為止。此外,在單節點無法滿足高可用性的SLA要求的情況下,可以考慮采用多節點的方式進一步提高可用性。

第二類應用場景是在云計算系統構建完畢,采用云計算系統各個組件的可用性評估方法,計算現有云計算系統的可用性。由于云計算系統的可用性是SLA的重要組成部分,因此,可用性評估方法有助于云計算系統對外服務前制定SLA。

5 小結

本文針對云計算系統的架構特點提出了一種云計算系統可用性評估方法。該方法分析了云計算系統組件的構成方式,給出了單機部署、雙機部署、多機部署三種不同形式的組件的可用性估算方法和可用性區間,進而提出了云計算系統的總體可用性的評估方法。該方法有助于構建高可用性的云計算系統及制定云計算系統SLA。

參考文獻

[1]李海泉,李剛.系統可靠性分析與設計[M].北京:科學出版社,2003

[2]BAUER E,ADAMS R.Reliability and availability of cloud computing[M].USA:John Wiley & Sons Ltd,2012

[3]Quality Excellence for Suppliers of Telecommunications Forum——Resource Handbook for Business Improvement[EB/OL].(2010-08-03)[2015-01-19].http://doc.mbalib.com/view/14f748b10727523acdc6bb6b32 8c4129.html

[4]Microsoft Reliability Overview[EB/OL].[2015-01-19].https://msdn.microsoft.com/en-us/library/aa292168(v=vs.71).aspx,2008

[5]蔣樂天.系統可靠性分析方法及軟件可靠性技術研究[D].上海交通大學博士學位論文,2003

[6]KWON Y,AGHA G.A Markov Reward Model for Software Reliability[C]//International Parallel and Distributed Processing Symposium,IEEE,2007

[7]CHUOB S,POKHAREL M,PARK J.Modeling and Analysis of Cloud Computing Availability based on Eucalyptus Platform for E-government Data Center[C]//2011 Fifth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing,2011

[8]WANG W,CHEN H,CHEN X. An Availability-aware Virtual Machine Placement Approach for Dynamic Scaling of Cloud Applications[C]//2012 9th International Conference on Ubiquitous Intelligence and Computing and 9th International Conference on Autonomic and Trusted Computing,2012

[9]DANTAS J,MATOS R,ARAUJO J,et al.Models for Dependability Analysis of Cloud Computing Architectures for Eucalyptus Platform[J].International Transactions on Systems Science and Applications,2012,8:13-25

[10]陳懷臨.關于云計算可用性的定性與定量研究[EB/OL].[2015-01-19].http://www.valleytalk.org/wp-content/uploads/2013/12/

猜你喜歡
雙機計算資源可用性
基于模糊規劃理論的云計算資源調度研究
基于輻射傳輸模型的GOCI晨昏時段數據的可用性分析
改進快速稀疏算法的云計算資源負載均衡
雙機、雙槳軸系下水前的安裝工藝
從可用性角度分析精密空調的配電形式
雙機牽引ZDJ9道岔不同步問題的處理
基于Wi-Fi與Web的云計算資源調度算法研究
耦合分布式系統多任務動態調度算法
Loader軸在雙機桁架機械手上的應用
醫療器械的可用性工程淺析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合