當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]越是基本而關(guān)鍵的概念,越容易誤解滿天飛。像“可靠性”這種被不斷提及的名詞,如果仔細(xì)分辨就會(huì)發(fā)現(xiàn)里面充斥著各種似是而非的誤解和誤用。

越是基本而關(guān)鍵的概念,越容易誤解滿天飛。像“可靠性”這種被不斷提及的名詞,如果仔細(xì)分辨就會(huì)發(fā)現(xiàn)里面充斥著各種似是而非的誤解和誤用。

一、持久性、可用性,傻傻分不清

我們一般所說的“可靠性”,其實(shí)是個(gè)比較模糊的概念,里面包含持久性和可用性兩個(gè)層面的意思。

打開AWS S3的介紹頁(yè)面(https://aws.amazon.com/cn/s3/details/),會(huì)看到這樣一句話:

“設(shè)計(jì)目的是在指定年度內(nèi)為對(duì)象提供99.999999999% 的持久性和 99.99% 的可用性。”

這是一句很嚴(yán)謹(jǐn)?shù)谋硎觯绻阋呀?jīng)完全理解這句話的意思,就可以直接跳過本節(jié)往下看了。

但如果你似懂非懂還看著“持久性”這個(gè)詞不懷好意的怪笑,說明你不僅歪腦筋太多,而且當(dāng)初數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)沒學(xué)好,這里的持久性概念,就是從數(shù)據(jù)庫(kù)的持久性概念借鑒來的。

持久性和可用性的含義,可以用下面這個(gè)圖來理解。

這個(gè)圖只是簡(jiǎn)要的說明含義,實(shí)際系統(tǒng)中還有集群、容災(zāi)等等各種環(huán)節(jié),為了不分散焦點(diǎn),無關(guān)本質(zhì)的部分都略去不提。

簡(jiǎn)單的說,數(shù)據(jù)可訪問就叫available——可用(這個(gè)翻譯很靠譜)。而數(shù)據(jù)暫時(shí)不可訪問,但是過段時(shí)間費(fèi)些力氣能找回來,這樣的狀態(tài)已經(jīng)不能叫available,但仍然屬于durable——持久(這個(gè)翻譯實(shí)在讓人抓狂,可是既然從早年數(shù)據(jù)庫(kù)領(lǐng)域就一直這么翻譯,現(xiàn)在已經(jīng)成了固定用法,手動(dòng)無奈)。只有數(shù)據(jù)徹底丟失,永遠(yuǎn)找不回來的狀態(tài),才超出durable的范圍。

可見,持久性比可用性更基礎(chǔ),前者是后者的必要非充分條件。從數(shù)值描述上,持久性≥可用性。

另外,討論持久性和可用性時(shí),需要限定邊界條件。孤立系統(tǒng)給出的量化指標(biāo),僅指裸奔時(shí)的表現(xiàn),實(shí)際使用中還要看外面披著什么樣的使用方式。

比如AWS S3給出的那個(gè)承諾,持久性99.999999999%的含義,就是每年100000000000個(gè)對(duì)象中,可能會(huì)有1個(gè)對(duì)象丟失。這當(dāng)然是個(gè)貌似很可靠的系統(tǒng),假設(shè)你租來1百億個(gè)對(duì)象,想等著看到其中一個(gè)崩潰的話,可能要等10年。

可是且慢,Stack Overflow上曾有個(gè)頑皮的提問者,他說如果往AWS S3上存1百億個(gè)文件,是不是10年之內(nèi)就可能出現(xiàn)文件丟失?

鑒于S3主要用于長(zhǎng)期數(shù)據(jù)歸檔,且在全球范圍用量之大,這個(gè)提問并不算抬杠。也就是說,霸道如AWS的11個(gè)9持久性,也未必足以支撐浩瀚的數(shù)據(jù)海洋直到地老天荒。

當(dāng)然這個(gè)提問者并不是真的發(fā)現(xiàn)了什么死結(jié),后面的應(yīng)答者很快就告訴他,只要在存文件的時(shí)候,增加一些校驗(yàn)容錯(cuò)機(jī)制,就能在S3對(duì)象崩掉幾個(gè)的時(shí)候仍然保持文件的完好無損。

對(duì)搞存儲(chǔ)的人來說,這個(gè)道理實(shí)在太容易理解了,就是在S3對(duì)象上做RAID嘛。這個(gè)模式可以推而廣之,但凡你對(duì)某個(gè)系統(tǒng)裸奔的可靠性不夠放心,就想辦法在上面“做RAID”即可,只要小心別用RAID-0擴(kuò)大故障概率就行。

總之,理解了持久性、可用性這些概念,并知道哪些受限于設(shè)備,哪些掌握于自身,以后再看到那種一味強(qiáng)調(diào)幾個(gè)9的產(chǎn)品宣傳,就不至于被輕易忽悠。

二、時(shí)間邊界和故障規(guī)律

一般談?wù)摮志眯院涂捎眯裕夹枰螂[或顯的在百分?jǐn)?shù)前面加個(gè)“年度”的限定。比如99%可用性,是指每年宕機(jī)時(shí)間不超過3.65天,即87.6小時(shí)。而99.9%可用性,就意味著每年宕機(jī)時(shí)間不超過8.76小時(shí)。人們常提的5個(gè)9高可用,即99.999%可用性,折算下來每年宕機(jī)時(shí)間才僅有5.256分鐘。

那么一個(gè)霸氣側(cè)漏的每年5個(gè)9高可用系統(tǒng),在100年時(shí)間里可用性是多少呢?理論上似乎是仍然足夠威風(fēng)的99.9%可用性(精確計(jì)算結(jié)果應(yīng)該是略小于99.90005%一丟丟),可是這顯然不太合常理。再?gòu)?qiáng)壯的硅基物種,在機(jī)房里負(fù)重蹲上100年,肯定早就徹底散架了。

所以持久性和可用性的另外一個(gè)隱含限定——正常壽命之內(nèi)??上?duì)硅基物種正常壽命的界定,也是真假信息混雜。

以最常出故障的磁盤設(shè)備為例,每個(gè)磁盤型號(hào)都有一個(gè)MTBF指標(biāo)(Mean TIme Between Failure,平均無故障時(shí)間),來聲明其可靠性。具體的定義和解釋隨處可以查到,我就不廢話多說。

關(guān)于MTBF,我只有一句奉勸:

不要相信!不要相信!永遠(yuǎn)不要相信!重要的事情說三遍。

作為標(biāo)榜品質(zhì)的主要規(guī)格指標(biāo),磁盤的MTBF已經(jīng)徹底淪落純粹吹牛手段,數(shù)值從起初還算靠譜的幾萬小時(shí),一路漲到極度夸張的幾百萬小時(shí)。

100萬小時(shí)=114年!

你要是真相信有磁盤可以用這么久的話,本文后面的部分也就沒必要看下去了。

所幸早在2007年,谷歌的幾位大牛就氣不過這種不負(fù)責(zé)任的胡說,用一篇名為《Failure Trends in a Large Disk Drive PopulaTIon》的論文怒懟硬盤廠商。論文中統(tǒng)計(jì)了數(shù)萬顆磁盤的運(yùn)維數(shù)據(jù),發(fā)現(xiàn)實(shí)際環(huán)境中企業(yè)級(jí)磁盤和桌面級(jí)磁盤的故障概率非常接近,幾乎無差別。而廠商卻對(duì)兩種磁盤的MTBF標(biāo)注差別明顯,甚至相差數(shù)倍。無論哪種盤,實(shí)際統(tǒng)計(jì)的AFR(年故障率)都遠(yuǎn)高于MTBF的推算值若干數(shù)量級(jí)。

順便提一句,論文還指出磁盤實(shí)際AFR會(huì)高達(dá)3~8%,遠(yuǎn)高于磁盤廠商根據(jù)返廠報(bào)修統(tǒng)計(jì)的0.4~1.2%每年。這中間的差額部分去了哪里,大家自行腦補(bǔ)吧。人艱不拆。

谷歌論文的統(tǒng)計(jì)對(duì)象,都是使用5年以內(nèi)的磁盤。磁盤的原廠保修期一般也都是5年。這個(gè)壽命選擇來源于磁盤故障率的U型分布規(guī)律。

一般磁盤故障多發(fā)生在新上線3個(gè)月之內(nèi),或是臨近保修期結(jié)束前后,中間的階段相對(duì)比較消停。

新磁盤的故障,主要由制造過程的疏漏或錯(cuò)誤造成。比如盤體密封不嚴(yán),就會(huì)在上線工作后很快發(fā)生故障。這屬于硅基物種個(gè)體的先天缺陷導(dǎo)致的夭折。這類問題在經(jīng)過一段時(shí)間負(fù)載后,很快就會(huì)全部暴露。

接下來,系統(tǒng)中剩下一群健康的青壯年磁盤,故障率自然會(huì)明顯下降。然而磁盤這種每分鐘要旋轉(zhuǎn)成千上萬次的物種,在歡脫的旋轉(zhuǎn)了幾萬小時(shí)之后,還是會(huì)鐵杵磨成繡花針,最終迎來衰老期。于是故障率又開始上升。

需要注意,磁盤的損耗速度與工作環(huán)境和負(fù)載有密切的關(guān)系。在悠閑舒適的環(huán)境中可以順利撐到5年的磁盤,換到負(fù)載繁重殘酷壓榨的環(huán)境里肯定要折壽。

從谷歌那篇論文里可以窺見,谷歌的數(shù)據(jù)中心一定是個(gè)殘酷壓榨磁盤的血汗工廠,因?yàn)槔锩娴拇疟P在2年左右就已經(jīng)開始明顯衰老。

說了這么多,總結(jié)起來就是硅基物種跟我們這些碳基物種一樣,都有生老病死的全過程。討論硅基物種的可靠性,就如同討論我們碳基物種的健康度,不僅個(gè)體間有差異,而且每個(gè)個(gè)體的情況也隨時(shí)間和環(huán)境的變化而變化。

三、可靠性的量化計(jì)算

對(duì)可靠性的量化計(jì)算,絕對(duì)是各種錯(cuò)誤頻生的重災(zāi)區(qū)。如果在網(wǎng)上搜索這方面的計(jì)算方法,包括來自產(chǎn)品廠商、大學(xué)研究機(jī)構(gòu)、社區(qū)論壇自由人士等各方面給出的種種計(jì)算公式和計(jì)算邏輯,80%以上都存在錯(cuò)誤和漏洞。

有實(shí)際運(yùn)維經(jīng)驗(yàn)的機(jī)房背鍋俠們,見多了這種貌似有理實(shí)則計(jì)算結(jié)果很扯的各類公式之后,都會(huì)對(duì)系統(tǒng)可靠性心生迷之不可知,繼而拋棄多年的理工科信念,毅然走上迷信的道路。

為了挽救迷途的運(yùn)維工程師,重振數(shù)理化的威望,我們還是認(rèn)真看看可靠性到底怎么計(jì)算吧。

對(duì)于簡(jiǎn)單系統(tǒng),相信理工科畢業(yè)的同學(xué)們還不至于被搞暈。

比如串行系統(tǒng)(RAID-0就是典型)中,所有單元都健康時(shí)系統(tǒng)才健康,所以系統(tǒng)健康概率計(jì)算方法就是每個(gè)單元健康概率的相乘。類似的,并行系統(tǒng)(比如多副本)中,所有單元都故障時(shí)系統(tǒng)才故障,所以系統(tǒng)故障概率是所有單元故障概率的乘積,而健康概率就是1減去故障概率。

腦力熱身完成,我們現(xiàn)在考慮一個(gè)稍微復(fù)雜一些的系統(tǒng)。

假設(shè)一個(gè)n節(jié)點(diǎn)的分布式存儲(chǔ)系統(tǒng),每個(gè)節(jié)點(diǎn)中m顆磁盤,系統(tǒng)中采用k副本數(shù)據(jù)保護(hù),副本都是跨節(jié)點(diǎn)保存,每顆磁盤的健康概率是p,那么系統(tǒng)的總體健康概率是多少呢?

好吧,我承認(rèn),難度跳躍比較大,從熱身的基本概念直接跳到這里的確少了些鋪墊。那我們至少先琢磨一下,這些條件是否足夠推算出系統(tǒng)的可靠性,是否還需要增加哪些限定條件。

敲黑板!重點(diǎn)來了!

大部分網(wǎng)上的錯(cuò)誤計(jì)算邏輯,其實(shí)都忽視了同一個(gè)因素——時(shí)間。

我在前一節(jié)提到過,如果一個(gè)單元或系統(tǒng),在1年里的可靠性是99%,那么它在1天里的可靠性應(yīng)該是99.997%,在10年里的可靠性又變成了90.4%。不統(tǒng)一時(shí)間跨度之前,不能量化計(jì)算。就像各種理財(cái)產(chǎn)品一樣,有的3個(gè)月賺2%,有的5年賺20%,要想比較哪個(gè)收益率高,首先必須把收益換算為年化收益率??煽啃砸彩且粯?,在計(jì)算過程中,時(shí)刻需要注意“年化”處理。

我們?cè)倏磩倓傤}目中n、m、k、p幾個(gè)條件,除了p需要考慮年化之外,似乎其他幾個(gè)條件都跟時(shí)間沒有直接關(guān)系,我們應(yīng)該可以開始推算了。

先別急,我們還需要考慮另外一個(gè)問題——什么狀態(tài)是故障狀態(tài)?

一定會(huì)有人不假思索脫口而出,多盤同時(shí)故障,多到k副本全都?jí)牧?,就是故障狀態(tài)??墒?,哪里有嚴(yán)格意義的“同時(shí)”呢?所有磁盤在同一月或同一年里全都?jí)倪^一遍,算不算“同時(shí)”呢?

我相信大多數(shù)明白人嘴里這么說的時(shí)候,心里想的其實(shí)就是多盤故障的時(shí)間點(diǎn)過于密集,以至于k副本全壞光之前,都來不及修復(fù)出一份好數(shù)據(jù)。這才是我們常說的“多盤同時(shí)故障”實(shí)際所指的真實(shí)含義。

基于這樣的認(rèn)識(shí),我們知道在判定系統(tǒng)是否故障時(shí),其實(shí)隱含著一個(gè)時(shí)間因素——數(shù)據(jù)修復(fù)所需要的時(shí)間窗口,也稱為降級(jí)(Downgrade)時(shí)間窗口。

這個(gè)時(shí)間窗口是從健康狀態(tài)下第一顆磁盤故障算起,直到修復(fù)回健康狀態(tài)為止。其中一般包含備件更換時(shí)間t和數(shù)據(jù)重建時(shí)間τ,總降級(jí)窗口為t+τ。

現(xiàn)在的很多分布式存儲(chǔ)為了縮短這個(gè)降級(jí)窗口,可以不等更換壞盤,直接在現(xiàn)有空閑空間進(jìn)行重建。這種情況下t=0。數(shù)據(jù)修復(fù)重建無論如何都需要時(shí)間開銷,所以τ總不會(huì)為零。

我們現(xiàn)在知道剛才那個(gè)系統(tǒng)中,必須再附加t和τ兩個(gè)因素,才能進(jìn)行可靠性計(jì)算。

到此鋪墊結(jié)束,公式出場(chǎng)。系統(tǒng)年化健康概率H的計(jì)算公式如下:

公式中t和τ的單位為天。

我還得承認(rèn),推演這個(gè)公式的過程中,沒有考慮故障的U型分布,而是簡(jiǎn)單的用平均分布代替。至于原因嘛,我當(dāng)然不會(huì)承認(rèn)自己懶,也不會(huì)賣萌說等著大家來完善云云。我只是覺得未來的海量系統(tǒng)不會(huì)再像現(xiàn)在這樣分批次規(guī)劃建設(shè),而是滾動(dòng)式持續(xù)建設(shè)。那樣的話,系統(tǒng)中不同批次的設(shè)備混在一起,各年齡段都有,這個(gè)U型分布問題也就自然會(huì)被熨平。

暫時(shí)懶(kan)得(bu)看(dong)公式的同學(xué)也不要發(fā)飆,我列這個(gè)公式出來主要是想證明理工科信念還是要堅(jiān)持,不能因?yàn)榫W(wǎng)上哪些邏輯有漏洞的錯(cuò)誤就顛覆輕易放棄自己的信仰。只要考慮的因素周全一些,即便復(fù)雜系統(tǒng)里,也可以量化計(jì)算健康概率。

有興趣的同學(xué)可以試試用這個(gè)公式描畫一下H(n)、H(m)、H(t+τ)曲線,看看各個(gè)變量如何影響系統(tǒng)健康概率H的變化。相信你會(huì)有很多符合實(shí)際經(jīng)驗(yàn),又頗感新鮮意外的感受。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉