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

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

  一、可靠性的定義和目標

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  (1)高速信號時序margin更小,兼容性問題更突出。

  (2)信號衰減更嚴重,DDR5增加DFE電路,設(shè)計更復雜。

  (3)更高頻率帶來更高功耗,對PI的要求更高。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  卡死:硬盤IO暫時或者一直不響應;

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

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

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

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

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

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

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

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

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

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

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

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

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

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