• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    國內外高端服務器可用性測試方法研究

    2011-03-14 06:44:40黃守鵬潘清莊澤南王霄軍
    網(wǎng)絡安全技術與應用 2011年3期
    關鍵詞:宕機故障率可用性

    黃守鵬 潘清 莊澤南 王霄軍

    裝備指揮技術學院 北京 101416

    0 引言

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

    高端服務器的數(shù)據(jù)容量非常大,有的達到PB級,這樣無法對其可用性進行直接測試?,F(xiàn)階段對單個部件的測試已經(jīng)有較成熟的方法,如磁盤可以在加溫、加濕的環(huán)境下測試其可用性。對系統(tǒng)可用性測試的一般方法是先對部件可用性進行測試,再通過馬爾科夫(Markov)轉移矩陣計算出整個系統(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大學在Software Raid的可用性測試中,使用了一種故障插入(Fault Injection)技術,提出了可用性基準和可維護性基準的概念。

    1 R-Cubed可用性基準框架

    1.1 可用性基準框架

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

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

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

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

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

    圖1 Sun R-Cubed多層模型

    1.2 Fault/Maintenance Rate

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

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

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

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

    F/M Rate的計算公式為:

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

    1.3 健壯性

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

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

    1.4 可恢復性

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

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

    2 Software RAID可用性測試

    2.1 測試環(huán)境

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

    2.2 可用性測試

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

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

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

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

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

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

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

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

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

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

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

    3.1 單冗余的可用性計算

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

    假設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ù)概率論的相關知識,可得出系統(tǒng)宕機的方式:

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

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

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

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

    4 總結

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

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

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

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

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

    猜你喜歡
    宕機故障率可用性
    基于文獻計量學的界面設計可用性中外對比研究
    包裝工程(2023年24期)2023-12-27 09:18:26
    基于輻射傳輸模型的GOCI晨昏時段數(shù)據(jù)的可用性分析
    島內人口普查剛啟動就遇“宕機”
    基于集中采購的分布式系統(tǒng)的設計與實現(xiàn)
    探索零故障率的LED智能顯示終端
    一起民航氣象數(shù)據(jù)庫系統(tǒng)進程頻繁宕機故障分析及處理方法
    科技視界(2017年2期)2017-04-18 18:19:54
    艾默生網(wǎng)絡能源發(fā)布《2016年數(shù)據(jù)中心宕機成本》
    基于故障率研究的數(shù)字保護最優(yōu)檢修周期
    空客A320模擬機FD1+2可用性的討論
    河南科技(2015年7期)2015-03-11 16:23:13
    降低空氣開關跳閘故障率的措施研究
    機電信息(2015年3期)2015-02-27 15:54:43
    宜黄县| 潮安县| 景谷| 任丘市| 琼结县| 永德县| 嘉善县| 贞丰县| 边坝县| 镇平县| 高唐县| 许昌县| 山阳县| 襄汾县| 手游| 孙吴县| 定西市| 寿宁县| 林芝县| 公主岭市| 聂拉木县| 依兰县| 曲靖市| 平乡县| 武宁县| 扶绥县| 萝北县| 怀宁县| 新乐市| 蓬莱市| 磴口县| 隆昌县| 扎鲁特旗| 扶风县| 通城县| 南江县| 石林| 漯河市| 祁阳县| 葫芦岛市| 巴东县|