国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

國內(nèi)外高端服務(wù)器可用性測試方法研究

2011-03-14 06:44黃守鵬潘清莊澤南王霄軍
關(guān)鍵詞:宕機故障率可用性

黃守鵬 潘清 莊澤南 王霄軍

裝備指揮技術(shù)學(xué)院 北京 101416

0 引言

作為信息化建設(shè)中硬件架構(gòu)不可或缺的海量存儲陣列一直以來都備受關(guān)注,同時海量存儲陣列的更新?lián)Q代也在見證著世界領(lǐng)先科技的發(fā)展歷程。在海量存儲陣列發(fā)展初期,人們一般關(guān)注的是服務(wù)器的性能方面的提高,隨著海量存儲陣列的廣泛使用,人們對其可用性的要求也越來越高。但是目前國際上在高性能服務(wù)器的可用性測試的研究還是剛剛起步,沒有成熟的測試方案和統(tǒng)一的測試標準。

高端服務(wù)器的數(shù)據(jù)容量非常大,有的達到PB級,這樣無法對其可用性進行直接測試。現(xiàn)階段對單個部件的測試已經(jīng)有較成熟的方法,如磁盤可以在加溫、加濕的環(huán)境下測試其可用性。對系統(tǒng)可用性測試的一般方法是先對部件可用性進行測試,再通過馬爾科夫(Markov)轉(zhuǎn)移矩陣計算出整個系統(tǒng)的可用性,或是通過蒙特卡諾(Monte Carlo)仿真模擬出系統(tǒng)的可用性。

Sun公司提出了一種計算機系統(tǒng)可用性基準測試的框架R-Cubed。他們的目標是定義一個可以用來在多數(shù)系統(tǒng)上執(zhí)行的可用性基準測試框架。Software Raid是RAID磁盤的軟件實現(xiàn),已經(jīng)成為操作系統(tǒng)的重要組成部分,在 Linux、Windows、Mac OS中都有所實現(xiàn)。Berkeley大學(xué)在Software Raid的可用性測試中,使用了一種故障插入(Fault Injection)技術(shù),提出了可用性基準和可維護性基準的概念。

1 R-Cubed可用性基準框架

1.1 可用性基準框架

可用性基準(Benchmarking Availability)采用量化的方式來度量系統(tǒng)的可用性,使之具有可比較性??捎眯砸蕾囉谌齻€系統(tǒng)屬性:

(1)故障/維護率(Fault/Maintenance Rate):給定時間內(nèi)系統(tǒng)發(fā)生故障/維護事件的次數(shù)。

(2)健壯性(Robustness):系統(tǒng)檢測和處理故障、維護、外部事件、故障程度等,使系統(tǒng)仍能正常運行的能力。

(3)可恢復(fù)性(Recovery):系統(tǒng)從中斷狀態(tài)恢復(fù)到工作狀態(tài)的速度。

Sun公司通過這三個屬性的關(guān)系建立了一個分層的可用性基準框架,如圖1。可用性位于最頂層,分解成故障/維護率、健壯性、可恢復(fù)性三個屬性。故障/維護率可以分為故障率和維護率,采用中斷源指標(Outage Source Index)來衡量。健壯性分為故障類和維護類,采用中斷恢復(fù)能力指標來衡量(Outage Resilience Index)??苫謴?fù)性分為1類故障&維護和2類故障&維護,采用中斷期限指標(Outage Duration Index)來衡量。這些指標都可以通過測試得到。

圖1 Sun R-Cubed多層模型

1.2 Fault/Maintenance Rate

從健壯性角度,故障可以分為三類:不可恢復(fù)故障(Non-recoverable Fault),發(fā)生了不可恢復(fù)的故障,系統(tǒng)將一直不可用,直到被修復(fù)。可恢復(fù)故障(Recoverable Fault),發(fā)生了可恢復(fù)的故障,系統(tǒng)將有一定的中斷,但是系統(tǒng)仍然可以服務(wù)。透明故障(Transparent Fault),此種故障對系統(tǒng)不會產(chǎn)生中斷。

同樣地維護也分為三類:不可恢復(fù)維護(Non-recoverable Maintenance),此種維護需要系統(tǒng)完全停止服務(wù),例如更換主要硬件??苫謴?fù)維護(Recoverable Maintenance),此種維護需要系統(tǒng)停止一部分服務(wù)能力,系統(tǒng)有一定的中斷。透明維護(Transparent Maintenance):此種維護對系統(tǒng)不會產(chǎn)生中斷,例如熱插拔硬件的更換。

故障率(Fault Rate)不是一個新概念,包括硬件故障率和軟件故障率。公司比較常用的可靠性驗證測試(Reliability Demonstration Test)中就有測量硬件故障率的方法,在給定時間給定環(huán)境下(如特定溫度、濕度)測試硬件故障次數(shù)。軟件故障率也可以用類似的方法測得。對于故障率的測試很多公司都有自己的標準,由于商業(yè)利益但都是不公開的,現(xiàn)在也沒有統(tǒng)一的基準。Sun 公司將故障率定義為給定時間內(nèi)發(fā)生故障事件的次數(shù),以此作為衡量。

維護率(Maintenance Rate)分為相應(yīng)的兩部分:故障產(chǎn)生的維護率(Fault Induced Maintenance Rate)和非故障產(chǎn)生的維護率(Non-fault induced Maintenance Rate)。

F/M Rate的計算公式為:

其中:OSI為中斷源指標,F(xiàn)r為故障率,Mr為維護率,F(xiàn)IMr為故障產(chǎn)生的維護率,NFMr為非故障產(chǎn)生的維護率。

1.3 健壯性

要計算系統(tǒng)的健壯性,先定義兩個指標:故障恢復(fù)能力指標(Fault Resilience Index)和維護恢復(fù)能力指標(Maintenance Resilience Index)。前者用于衡量系統(tǒng)對故障事件的健壯性,后者用于衡量系統(tǒng)對維護事件的健壯性。對每種故障類型賦予一個故障類型因子(Fault Class Factor),用于描述系統(tǒng)針對此種故障的健壯性,值越大表示系統(tǒng)越健壯。測試出每種故障類型所占的比例PFC。對每種維護類型賦予一個維護類型因子(Maintenance Class Factor),表示此種維護類型的權(quán)重。再測試出每種維護事件所占比例PMC。這樣可以得到健壯性計算公式:

wf、wm,故障和維護占的權(quán)值,和為1。 FCFi,第 i類故障的故障類型因子。 PFCi,第 i類故障所占比例,∑ PFCi為1。 MCFi,第i類維護的維護類型因子。 PMCi,第i類維護所占比例, ∑ PMCi為1。

1.4 可恢復(fù)性

在R-Cubed框架中,ODI描述了平均中斷事件時間間隔。根據(jù)定義,ODI是總中斷時間與中斷時間總數(shù)之商。如公式:

在分層框架中,可以在不同層次衡量恢復(fù)速度??梢允撬惺录a(chǎn)生系統(tǒng)平均停機時間,也可以是某一種類型時間產(chǎn)生的系統(tǒng)平均停機時間。有的中斷是可自動恢復(fù)的,而有的則需要人為干涉使系統(tǒng)重新工作。如果人為操作比較復(fù)雜,這會增加測量恢復(fù)時間的難度。

2 Software RAID可用性測試

2.1 測試環(huán)境

測試環(huán)境包含三個條件:模擬故障、實際的工作負載、數(shù)據(jù)收集。模擬故障可以使用一種稱為故障插入(Fault Injection)的技術(shù),如:模擬磁盤讀取錯誤、拔除內(nèi)存、殺死進程、斷電、斷網(wǎng)等。加上實際的工作負載后才能進行測試。首先要測試的是正常工作負載下系統(tǒng)的反應(yīng)。然后測試錯誤工作負載下系統(tǒng)的反應(yīng)。錯誤負載可以是:負載的急劇增大、負載中包含錯誤的輸入等。錯誤負載又分為單一錯誤負載和多錯誤負載。單一錯誤負載用于測試孤立系統(tǒng)片段中未考慮到的系統(tǒng)設(shè)計缺陷和錯誤。多錯誤負載用于評估新系統(tǒng),鑒別系統(tǒng)的弱點。

2.2 可用性測試

首先確定可用性的度量方法。最原始的可用性度量方法是二進制的,只有可用和不可用兩種狀態(tài)。延伸的可用性度量是系統(tǒng)平均無故障率,即系統(tǒng)正常運行時間所占的比率。在Berkeley大學(xué)針對Software Raid的可用性測試中,將可用性的衡量標準定義為服務(wù)質(zhì)量(QoS)隨時間的變化。服務(wù)質(zhì)量是根據(jù)不同的系統(tǒng)進行選擇,常用的服務(wù)質(zhì)量有性能和容錯度。如果一個系統(tǒng)在一定時間內(nèi)需要非常大的計算量,在退化模式(degraded mode)下將降低精確度,這樣可以選擇精確度作為服務(wù)質(zhì)量。

RAID-5允許一個磁盤錯誤而無數(shù)據(jù)丟失。當發(fā)生一個錯誤時,系統(tǒng)將進入退化模式繼續(xù)提供服務(wù)。發(fā)生第二個錯誤時,系統(tǒng)將會產(chǎn)生數(shù)據(jù)丟失。對RAID盤硬件錯誤是主要的。測試中通過軟件模擬一個磁盤,這樣可以方便通過軟件插入磁盤故障。測試中使用了6類測試案例:

(1)可更正的介質(zhì)讀寫錯誤:模擬磁頭因磨損而變得不穩(wěn)定的情況。

(2)不可更正的介質(zhì)讀寫錯誤:模擬磁盤扇區(qū)產(chǎn)生了不可恢復(fù)的損壞。

(3)硬件SCSI命令錯誤:模擬系統(tǒng)固件或主板錯誤。

(4)SCSI命令級的奇偶校驗錯誤:模擬SCSI總線錯誤。

(5)電源故障:模擬在SCSI命令階段,磁盤停止工作。

(6)磁盤掛起:模擬SCSI命令階段的固件故障。

所有的錯誤可以是在瞬態(tài)植入,或是持續(xù)植入。在實際應(yīng)用中,RAID產(chǎn)生的錯誤都是瞬態(tài)的,沒有緩慢失效的過程,所以瞬態(tài)植入錯誤更有意義。

Berkeley大學(xué)對一臺Web服務(wù)器進行了測試。整個測試分別在Linux、Windows、Solaris下進行,測量的指標是每秒命中率。采用兩分鐘為作為測量間隔,測試每兩分鐘中內(nèi)的平均性能。使用的負載發(fā)生器是SPECWeb99。首先測試正常負載下系統(tǒng)性能,到系統(tǒng)穩(wěn)定后,再配置SPECWeb99使之生成各種錯誤類型的工作負載,再對系統(tǒng)性能進行測試。

3 不同冗余度的可用性計算

3.1 單冗余的可用性計算

用由 Sombers Associates公司出版發(fā)行的 Availability Digest雜志,四十年來一直致力于系統(tǒng)高可用性和可靠性的研究,曾發(fā)表過可用性 64條準則。在對我國自行研制的海量存儲服務(wù)器進行可用性測試時,進行系統(tǒng)分析的同時,可以先利用可用性的相關(guān)準則,對海量存儲服務(wù)器的可用性進行定量分析。按照系統(tǒng)的冗余度,可以定量對系統(tǒng)的可用性進行建模。

系統(tǒng)可用性可以用如下公式闡述:

A:系統(tǒng)的可用性。

F:系統(tǒng)的宕機率F=1-A。

f:在一個集群中,可能引起系統(tǒng)宕機的節(jié)點的組合方式數(shù)目。

n:系統(tǒng)的節(jié)點數(shù)。

a:單個節(jié)點的可用性。

s:系統(tǒng)的冗余節(jié)點(spare node)個數(shù)。

雙節(jié)點,含一個冗余節(jié)點。由于存在一個冗余節(jié)點,只有當兩個節(jié)點全部都失效的情況下,系統(tǒng)才停止工作。一個節(jié)點的宕機率為1-a,因此系統(tǒng)的宕機率為F=(1-a)2。即系統(tǒng)的可用性:

假設(shè)a=0.99,f=0.01。此情況下A=0.9999,即“四個9”。

多個節(jié)點,含一個冗余節(jié)點,與第一種情況類似,當?shù)谝粋€節(jié)點失效的時候,冗余節(jié)點進行替換工作,系統(tǒng)此時處于UP狀態(tài),只有當?shù)诙€節(jié)點接連失效的情況下,系統(tǒng)才會處于DOWN狀態(tài)。第一個節(jié)點失效的可能方式為n(即n個節(jié)點中選擇一個節(jié)點失效),第二個節(jié)點失效的可能方式則為 n-1,那么兩個節(jié)點同時失效的方式,即系統(tǒng)宕機的方式為(除于2是因為這是一個組合問題,而非排序問題):

因此系統(tǒng)的宕機率:

即系統(tǒng)的可用性:

3.2 多冗余的可用性計算

多個節(jié)點,含s個冗余節(jié)點。此種情況下,只有當系統(tǒng)的失效節(jié)點到達s+1個的情況下系統(tǒng)才能宕機,此問題即為從n個節(jié)點中選取s+1個節(jié)點,根據(jù)概率論的相關(guān)知識,可得出系統(tǒng)宕機的方式:

因此系統(tǒng)的宕機率:

即系統(tǒng)的可用性:

假設(shè)n=6,s=2,a=0.99(即在第二種情況下增加一個冗余節(jié)點),此情況下A=0.99998,接近于“五個9”,初步可以得出結(jié)論,增加冗余節(jié)點對系統(tǒng)的可用性的提高有顯著的作用。

系統(tǒng)的可用性評定準則中比較重要的方面就是討論在Active/active模式下的系統(tǒng)的節(jié)點個數(shù),以及這些節(jié)點的使用情況;系統(tǒng)中的后臺備份情況;還包括了整個系統(tǒng)的人員管理的方面,涉及的十分全面,在研究海量存儲系統(tǒng)可用性時,可以使用這些原則先進行定量的分析,以供在實地測試時提供一些數(shù)據(jù)和方案的依據(jù)。

4 總結(jié)

系統(tǒng)的可用性測試先要明確可用性的基準。最常見的是平均故障間隔時間MTBL和平均修復(fù)時間MTTR來計算,可用性為Sun公司的R-Cubed可用性基準框架采用分層結(jié)構(gòu)更具體的描述了系統(tǒng)的可用性(F/M Rate,健壯性,可恢復(fù)性)。以及在Software RAID的測試中使用服務(wù)質(zhì)量隨時間的變化來衡量可用性。在 Kevin M. Greenan的博士論文中提出平均時間是沒有意義的,提出應(yīng)使用規(guī)格化數(shù)據(jù)丟失量(NOrmalized Magnitude of Data Loss)。但一個好的標準必須滿足四點要求:

(1)具有可計算性,可以通過軟件模擬仿真或是運用數(shù)學(xué)公式計算;(2)計算結(jié)果具有實際意義,與可用性有直接關(guān)系;(3)結(jié)果或其單位必須是易懂的,這必須讓開發(fā)者、研究者、用戶都能明白;

(4)可跨系統(tǒng)比較,這樣的標準才具有通用性。

總之,以何種基準來衡量系統(tǒng)可用性還是個有待研究的課題。

在大容量服務(wù)器中,如PB級容量的服務(wù)器,可用性的直接測量是很困難的,時間和花費是不允許的。一般情況下,都采用分層模式,直接測量底層部件可用性,再通過Markov轉(zhuǎn)移矩陣計算或是蒙特卡諾(Monte Carlo)仿真間接求出上層系統(tǒng)的可用性。Markov鏈是無記憶的,狀態(tài)從錯誤切換正常后系統(tǒng)都被重置為全新。然而這與實際是不符合的,某個部件被替換后,這個部件是全新的,全部部件被替換后,系統(tǒng)才是全新的。蒙特卡諾仿真時需要建立概率模型,常見的用于可用性計算的概率模型有:指數(shù)分布、韋柏分布(Weilbull Distribution)、帕雷托分布(Pareto Distribution),它們都有各自的特點。在選取要根據(jù)經(jīng)驗和特點選取適合的概率模型。不過蒙特卡諾仿真在系統(tǒng)可用性測試應(yīng)用中的效果還是比較理想的。

[1]Linux Raid [EB/OL]. http://raid.wiki.kernel.org/.

[2]Ji Zhu.James Mauro.Ira Pramanick.R-Cubed (R3): Rate, Robustness,and Recovery - An Availability Benchmark Framework[J]. SMLI TR,July 2002.

[3]Aaron Brown.Towards Availability and Maintainability Benchmarks:A Case Study of Software RAID Systems [R]. Computer Science Division (EECS),January 2001.

[4]SPEC,Inc.SPECweb99 Benchmark [EB/OL].http://www.spec. org/osg/web99.

[5]Availability Digest [EB/OL].http://www.availabilitydigest. com/.

[6]Kevin M.Greenan.James S.Plank.Jay J.Wylie.Mean time to meaningless:MTTDL,Markov models,and storage system reliability [R].HotStorage '10,June 2010.

猜你喜歡
宕機故障率可用性
關(guān)于無錫地鐵梅園站計軸宕機的研究
基于輻射傳輸模型的GOCI晨昏時段數(shù)據(jù)的可用性分析
通過控制策略的改進降低廣五直線電機的故障率
島內(nèi)人口普查剛啟動就遇“宕機”
基于集中采購的分布式系統(tǒng)的設(shè)計與實現(xiàn)
探索零故障率的LED智能顯示終端
一起民航氣象數(shù)據(jù)庫系統(tǒng)進程頻繁宕機故障分析及處理方法
醫(yī)療器械的可用性工程淺析
可用性差距阻礙數(shù)字化轉(zhuǎn)型
基于故障率研究的數(shù)字保護最優(yōu)檢修周期