近日,騰訊云關于“靜默錯誤”的一則事故,在IT領域和創業圈掀起波瀾。
事件回放
8月6日,騰訊官方公告:近日,騰訊云用戶“前沿數控”平臺一塊操作系統云盤,因受所在物理硬盤固件版本Bug導致的靜默錯誤(寫入數據和讀取出來的不一致)影響,文件系統元數據損壞。
騰訊云表示,監控到異常后,第一時間向用戶告知故障狀態,并立即組織文件系統專家并聯合廠商技術專家嘗試修復數據。雖經多方努力,最終仍有部分數據完整性校驗失敗。經過分析,該硬盤靜默錯誤是在極小概率下被觸發,騰訊云隨即對固件版本有Bug的硬盤全部進行下線處理。
之后,騰訊方提出13萬余元的補償方案,但前沿數控由于“精準用戶數據全部丟失、數十萬條用戶帖子全部丟失、行業品牌庫數據及所有錄入的資訊全都丟失”,索賠1100萬余元。雙方僵持不下。
事件發布后,有人找到騰訊云的官方宣傳數據:
騰訊云號稱提供9個9的數據可靠性,那是“前沿數控”運氣如此之差,以致撞上這個0.0000001%的概率嗎?
且聽我們為您剖析。
何謂“靜默錯誤”
靜默錯誤譯自英文:Silent Data Corruption。對硬盤來說,核心使命是正確地存入數據、正確的讀出數據,在出錯時及時進行異常告警。磁盤可以正常捕獲和告警的異常情形包括硬件錯誤、固件 BUG 或者軟件 BUG、供電問題、介質損壞等。但還有些錯誤未被發現,直到使用的時候才發現數據是錯誤的、損壞的,這就是靜默錯誤。簡而言之,就如騰訊聲明中所提:寫入數據和讀取出來的不一致。
“靜默錯誤”的真實概率
NetAPP曾花一年多時間跟蹤了150萬塊硬盤,發現了400,000多次靜默錯誤,而30,000無法通過硬件RAID來檢測或恢復;另一項CERN(歐洲原子能研究中心)的報告顯示,CERN檢查了97PB數據,發現其中128MB數據無法恢復。
如上,每塊硬盤一年內發生靜默錯誤的概率高達2%,遠超過0.0000001%,最致命的是,這個錯誤一旦發生在元數據中,將導致“前沿數控”事件一樣無法挽回的損失。
靜默錯誤有哪些種類
誤碼率
我們的計算機硬件并不完美,在數據傳輸過程中,每十億或萬億比特中就會出現錯誤比特。就磁盤來說,正如每塊硬盤出廠時所標記的,企業級磁盤的誤碼率為1:1015 ,相當于平均每120TB數據出現一次非可糾錯誤,桌面級磁盤的誤碼率則更高,為1:1014。從這一點上來說,0.466%大容量企業級磁盤平均每年遭遇一次靜默錯誤。
磁記錄磨損
機械硬盤的讀寫原理是:磁盤驅動器向磁盤的非常小的區域提供非常精確的電流,改變其存儲的電荷以表示存儲的數據。當磁盤上的某個區域自發地丟失或改變電荷時,其中包含的數據將被刪除,損壞或呈現為不可讀,這稱之為Bit Rot。這也是大部分存儲廠商努力應對的靜默錯誤之一。
另外還有以下情況可以導致靜默錯誤:
磁盤幻象寫(Phantom writes)
控制器進行了寫操作,而實際硬盤中沒有數據寫入。
磁盤指向錯誤 (Misdirected reads/writes)
讀取數據時,磁盤指向錯誤的位置
磁盤DMA 非一致性錯誤
陣列和服務器內存之間或驅動程序之間的DMA奇偶校驗錯誤
其他硬件導致的靜默錯誤
如第一項所說,由于計算機硬件的不完美或松動或故障,比如:主板老化、內存條失效、電源電壓波動、突然掉電、HBA卡/SAS背板/數據連接線故障等等,也會導致靜默錯誤的產生。
微信圖片_20180813112412
靜默錯誤影響深遠
靜默錯誤作為數據安全的致命隱患,一直以來是存儲廠商秘而不宣的話題,因為頻次較低也一直隱而不發。但隨著大數據時代的到來,低概率將會因為硬盤基數的指數級增長而成為常態,靜默錯誤將會越來越多地被遭遇,“前沿數控”不是第一個,更不會是最后一個。
另一方面,存儲行業發生重大變化,井噴式的數據增長使得幾十年發展歷史的磁盤陣列架構受到挑戰,分布式存儲架構從互聯網領域開始向企業數據中心滲透。而后者對于硬件架構的了解和故障的解決能力非常薄弱,大多數的分布式存儲技術僅僅能夠應對硬盤完全損壞這個單一的故障來源,而對于以上種種靜默錯誤束手無策。
首當其沖的是,云計算領域頻頻出錯。從2014年至今,騰訊云、阿里云、亞馬遜AWS、青云等公有云不斷涌現數據丟失、服務宕機的消息。