Tech Talk · 云技術(shù)有話聊 | 關(guān)鍵基礎(chǔ)部件如何保障高可靠?

  4月14日,信服云可靠性技術(shù)專家Marshall在信服云《Tech Talk · 云技術(shù)有話聊》系列直播課上進(jìn)行了《關(guān)鍵基礎(chǔ)部件可靠性技術(shù)解析》的分享,詳細(xì)介紹了 IT系統(tǒng)常見(jiàn)的物理故障對(duì)業(yè)務(wù)的可靠性的影響、如何運(yùn)用軟件定義解決硬件故障等內(nèi)容。以下是他分享的內(nèi)容摘要,想要了解更多可以點(diǎn)擊閱讀原文觀看直播回放。

  一、可靠性的定義和目標(biāo)

  可靠性是指系統(tǒng)不會(huì)意外地崩潰、重啟甚至發(fā)生數(shù)據(jù)丟失,這意味著一個(gè)可靠的系統(tǒng)必須能夠做到故障自修復(fù),對(duì)于無(wú)法自修復(fù)的故障也盡可能進(jìn)行隔離,保障系統(tǒng)其余部分正常運(yùn)轉(zhuǎn)。簡(jiǎn)而言之,可靠性的目標(biāo)是縮短因故障(產(chǎn)品質(zhì)量、外部部件、環(huán)境、人因等)造成的業(yè)務(wù)中斷時(shí)間。

  高可靠可以從三個(gè)層面理解:一,不出故障,系統(tǒng)可以一直正常運(yùn)行,這種情況就需要提高硬件的研發(fā)質(zhì)量。二,故障不影響業(yè)務(wù)。三,影響業(yè)務(wù)但能快速恢復(fù)。后兩個(gè)層面可以通過(guò)“軟件定義”的方式去規(guī)避硬件故障產(chǎn)生的業(yè)務(wù)中斷。

  談到可靠性,首先要了解服務(wù)器的關(guān)鍵基礎(chǔ)部件。從業(yè)界的服務(wù)器統(tǒng)計(jì)數(shù)據(jù)看,硬件部件的問(wèn)題集中在內(nèi)存、硬盤、CPU、主板、電源、網(wǎng)卡上。在云的環(huán)境當(dāng)中,同一臺(tái)服務(wù)器上可能運(yùn)行了若干不同業(yè)務(wù)、不同場(chǎng)景的虛擬機(jī),一旦物理設(shè)備崩潰,將會(huì)波及眾多用戶,同時(shí)也會(huì)對(duì)運(yùn)營(yíng)商自身造成巨大損失。而在現(xiàn)有的故障模式中,內(nèi)存、硬盤故障是最高發(fā)和最嚴(yán)重故障。

  關(guān)于內(nèi)存和硬盤的故障,可以通過(guò)這兩個(gè)案例來(lái)進(jìn)一步了解。

  案例一,內(nèi)存UCE錯(cuò)誤導(dǎo)致服務(wù)器系統(tǒng)反復(fù)宕機(jī)重啟。服務(wù)器發(fā)生宕機(jī)重啟,登錄服務(wù)器的BMC管理界面,查詢服務(wù)器的告警信息,出現(xiàn)如下告警:“2019-07-25 08:03:06 memory has a uncorrectable error.”后來(lái),進(jìn)一步查詢硬件錯(cuò)誤日志文件,發(fā)現(xiàn)DIMM020有大量?jī)?nèi)存CE錯(cuò)誤和部分內(nèi)存UCE錯(cuò)誤,可知是因?yàn)镈IMM020內(nèi)存條發(fā)生UCE錯(cuò)誤導(dǎo)致服務(wù)器宕機(jī)重啟。

  案例二,磁盤卡慢導(dǎo)致大數(shù)據(jù)集群故障。某大數(shù)據(jù)平臺(tái)集群節(jié)點(diǎn)出現(xiàn)慢盤故障(系統(tǒng)每一秒執(zhí)行一次iostat命令,監(jiān)控磁盤I/O的系統(tǒng)指標(biāo),如果在60s內(nèi),svctm大于100ms的周期數(shù)大于30次則認(rèn)為磁盤有問(wèn)題,產(chǎn)生該告警)。先是ZOOKEEPER出現(xiàn)故障,后出現(xiàn)集群平衡狀態(tài)異常。然后同一節(jié)點(diǎn)的其他服務(wù)也出現(xiàn)故障,最后整個(gè)節(jié)點(diǎn)所有服務(wù)全部故障,隨后重啟自動(dòng)恢復(fù)。但是在3-10分鐘之后該節(jié)點(diǎn)就會(huì)重復(fù)出現(xiàn)此情況。在未發(fā)現(xiàn)其他問(wèn)題的情況下選擇重啟系統(tǒng),業(yè)務(wù)中斷時(shí)間十幾分鐘。

  二、內(nèi)存的可靠性技術(shù)

  內(nèi)存從外部結(jié)構(gòu)看有PCB板、金手指、內(nèi)存芯片、內(nèi)存條固定卡缺口等。從內(nèi)部結(jié)構(gòu)看,包括存儲(chǔ)體、存儲(chǔ)單元Cell、存儲(chǔ)陣列Bank、Chip(device)、Rank、DIMM、Channel等。

  基于內(nèi)存的結(jié)構(gòu),內(nèi)存技術(shù)的提升(制程縮小和頻率)容易帶來(lái)更高的故障率。

  (一)制程縮小帶來(lái)的挑戰(zhàn)

  (1)光刻更容易受到衍射,聚焦等影響質(zhì)量。

  (2)外延生長(zhǎng)(EPI)容易出現(xiàn)漏生長(zhǎng)和外延生長(zhǎng)間的短路等。

  (3)蝕刻清洗等工藝的particle造成的影響加重。

  (4)單die尺寸變小,單wafer die數(shù)量增加。

  (5)未來(lái)TSV封裝多die后段封裝難度加大,失效率增加。

  (二)頻率提升帶來(lái)的挑戰(zhàn)

  (1)高速信號(hào)時(shí)序margin更小,兼容性問(wèn)題更突出。

  (2)信號(hào)衰減更嚴(yán)重,DDR5增加DFE電路,設(shè)計(jì)更復(fù)雜。

  (3)更高頻率帶來(lái)更高功耗,對(duì)PI的要求更高。

  內(nèi)存故障按照“故障能不能糾正”可以分為兩類:CE(Correctable Error):可以糾正任意單比特錯(cuò)誤、部分單顆粒多比特錯(cuò)誤的統(tǒng)稱;UE(Uncorrectable Error):不能糾正的錯(cuò)誤統(tǒng)稱。有一部分UE錯(cuò)誤由于操作系統(tǒng)無(wú)法處理會(huì)導(dǎo)致系統(tǒng)宕機(jī)。

  內(nèi)存發(fā)生故障的原因有:內(nèi)存單元能量泄漏 leakage、內(nèi)存數(shù)據(jù)傳輸路徑存在高阻抗、內(nèi)存電壓工作異常、內(nèi)部時(shí)序異常、內(nèi)部操作異常(如自刷新)、bit line/word line線路異常、地址解碼線路異常、內(nèi)存存在弱單元(可正常使用)、宇宙射線或放射性(沒(méi)有造成永久損傷)導(dǎo)致的軟失效(多次檢測(cè)故障不復(fù)現(xiàn))。

  在處理故障時(shí),會(huì)進(jìn)行分層處理,業(yè)內(nèi)有軟件主導(dǎo)和和硬件主導(dǎo)兩種思想?;谟布鲗?dǎo)的觀點(diǎn),會(huì)在器件選型的時(shí)候,選擇一些質(zhì)量比較高的硬件,另外,硬件本身具備一些“可靠性”,比如會(huì)自動(dòng)地糾正一些比較簡(jiǎn)單的錯(cuò)誤。

  但硬件是沒(méi)有辦法做得非??煽康?就需要軟件去做一些工作。軟件定義的方式會(huì)把有故障的內(nèi)存區(qū)域隔離出來(lái),讓它不再使用,從而不會(huì)對(duì)業(yè)務(wù)產(chǎn)生影響。

  CE(可以糾正的錯(cuò)誤)發(fā)生后,如果不去處理它,會(huì)有可能變成不可糾正的UE錯(cuò)誤。所以要防微杜漸,發(fā)生CE(可以糾正的錯(cuò)誤)時(shí),要進(jìn)一步處理,隔離出可疑的故障。

  信服云針對(duì)內(nèi)存CE故障隔離方案設(shè)計(jì)思路

  當(dāng)內(nèi)存硬件發(fā)生CE觸發(fā)中斷,看這些內(nèi)存能否被隔離(不是被操作系統(tǒng)內(nèi)核或外設(shè)使用),如果可以被隔離就加入白名單,對(duì)這些內(nèi)存進(jìn)行隔離。當(dāng)使用內(nèi)存隔離功能把發(fā)生故障的內(nèi)存頁(yè)切換到正常的內(nèi)存頁(yè)后,就把這個(gè)故障內(nèi)存頁(yè)隔離出來(lái)不再使用。

  同時(shí),這些故障發(fā)生的位置和次數(shù)等詳細(xì)信息會(huì)進(jìn)行告警,幫助運(yùn)維人員對(duì)故障內(nèi)存條進(jìn)行更換。針對(duì)沒(méi)有辦法隔離的內(nèi)存,在系統(tǒng)下次重啟時(shí)根據(jù)重啟之前記錄的內(nèi)存錯(cuò)誤區(qū)域的信息,在系統(tǒng)沒(méi)有使用這些內(nèi)存時(shí)就把有問(wèn)題的內(nèi)存部分隔離出來(lái),這樣就保證系統(tǒng)使用的內(nèi)存是沒(méi)有問(wèn)題的部分。

↑ 內(nèi)存CE故障隔離方案總體架構(gòu)

  信服云實(shí)施這個(gè)方案之后,通過(guò)收集現(xiàn)網(wǎng)運(yùn)營(yíng)數(shù)據(jù)統(tǒng)計(jì),平均隔離成功成功率為96.93%。相較于業(yè)界一般的方案的CE屏蔽,不能及時(shí)隔離CE以及出錯(cuò)后定位內(nèi)存條的問(wèn)題,信服云在方案上具有領(lǐng)先優(yōu)勢(shì),并且在這個(gè)領(lǐng)域申請(qǐng)了5項(xiàng)專利。隔離方案在使用過(guò)程中針對(duì)CPU和內(nèi)存資源開(kāi)銷小,并且效果明顯。

  針對(duì)內(nèi)存UE故障,信服云的方案設(shè)計(jì)思路是解決內(nèi)存UE的可恢復(fù)和提前預(yù)警問(wèn)題,把一部分UE宕機(jī)降級(jí)為殺死對(duì)應(yīng)應(yīng)用程序,甚至只需隔離壞頁(yè),避免宕機(jī)來(lái)提升系統(tǒng)穩(wěn)定性和可靠性。至少提升30%以上內(nèi)存故障恢復(fù)能力,信服云的解決方案能夠達(dá)到60% 內(nèi)存UE故障恢復(fù)率,效果優(yōu)于業(yè)界公開(kāi)數(shù)據(jù)(業(yè)界普遍是UE故障恢復(fù)能覆蓋50%),在實(shí)際POC測(cè)試場(chǎng)景中,優(yōu)于業(yè)界的一般方案(如一般方案會(huì)宕機(jī),無(wú)內(nèi)存故障告警日志,無(wú)法定位故障內(nèi)存所在的插槽位置)。

↑ 內(nèi)存UE故障隔離方案總體架構(gòu)

  三、硬盤的可靠性技術(shù)

  硬盤主要包括系統(tǒng)盤、緩存盤、數(shù)據(jù)盤。系統(tǒng)盤一般使用固態(tài)硬盤SSD,存放云平臺(tái)系統(tǒng)軟件和主機(jī)OS,以及相關(guān)的日志和配置。緩存盤一般使用固態(tài)硬盤SSD,利用SSD速度快的特性作為緩存盤作為IO讀寫提速的緩存層,用于存放用戶業(yè)務(wù)經(jīng)常被訪問(wèn)的數(shù)據(jù),稱之為熱數(shù)據(jù)。數(shù)據(jù)盤一般使用機(jī)械硬盤HDD,容量高適合做數(shù)據(jù)盤則作為數(shù)據(jù)(如虛擬機(jī)的虛擬磁盤)最終存放的位置。

  (1)硬盤TOP故障模式/分類:

  卡死:硬盤IO暫時(shí)或者一直不響應(yīng);

  卡慢:硬盤IO明顯變慢或者卡頓;

  壞道:硬盤邏輯單元(sector)損壞;

  壞塊:硬盤物理單元(block)損壞;

  壽命不足:機(jī)械硬盤物理磨損,或者固態(tài)硬盤的閃存顆粒積極達(dá)到擦寫次數(shù)。

  當(dāng)硬盤出現(xiàn)輸入輸出(Input Output,I/O)響應(yīng)時(shí)間變長(zhǎng),或者卡住不返回的情況,會(huì)導(dǎo)致用戶業(yè)務(wù)持續(xù)出現(xiàn)卡慢,甚至掛起,一塊硬盤卡住甚至?xí)?dǎo)致系統(tǒng)的全部業(yè)務(wù)中斷。

  隨著使用年限的增加,硬盤出現(xiàn)壞道、磁頭退化或者其他問(wèn)題的概率也在增加;從歷史問(wèn)題分布、以及業(yè)界硬盤可靠性故障曲線,都可以看到硬盤卡盤問(wèn)題正成為影響系統(tǒng)穩(wěn)定運(yùn)行的最嚴(yán)重問(wèn)題之一。

↑ 信服云卡慢盤解決方案總體架構(gòu)

  (2)信服云針對(duì)卡慢盤解決方案的思路:

  1.針對(duì)磁盤卡慢故障模式復(fù)雜的問(wèn)題,多維度檢測(cè)確診。采用了Linux通用的工具和信息,不依賴特定硬件工具,包括內(nèi)核日志分析、smart信息分析、硬盤io監(jiān)控?cái)?shù)據(jù)分析等從多個(gè)維度精確定位故障硬盤。

  2.針對(duì)卡慢盤處置時(shí)業(yè)務(wù)還是數(shù)據(jù)的抉擇,制定了多級(jí)隔離算法。①輕度慢盤:不隔離,在頁(yè)面告警通知用戶;②嚴(yán)重慢盤:選擇業(yè)務(wù):對(duì)端異常時(shí)不隔離,頁(yè)面告警通知用戶;③卡盤:選擇業(yè)務(wù):第一次出現(xiàn)對(duì)端異常時(shí)不隔離,頁(yè)面告警通知用戶;④卡盤(頻繁):選擇數(shù)據(jù):一個(gè)小時(shí)內(nèi)出現(xiàn)3次異常,進(jìn)行永久隔離。

  3.在多級(jí)隔離算法的基礎(chǔ)上進(jìn)行閾值打磨。用大量真實(shí)卡慢盤進(jìn)行測(cè)試以及用戶側(cè)采集的數(shù)據(jù)制定更加精準(zhǔn)的卡慢檢測(cè)閾值;使用故障注入工具進(jìn)行閾值驗(yàn)證。

  開(kāi)啟卡慢盤功能后的效果,可保障1min內(nèi)觸發(fā)隔離,虛擬機(jī)未出現(xiàn)HA,隔離后業(yè)務(wù)IO恢復(fù)穩(wěn)定。

  以上就是本次直播的主要內(nèi)容。對(duì)云計(jì)算感興趣的IT朋友可以關(guān)注“深信服科技”公眾號(hào)回顧本期直播,了解更多云計(jì)算知識(shí)。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )