揭開騰訊雲數據遺失事件真相,官方還原人為失誤全過程!

評論
評論
騰訊雲網站截圖

本篇來自合作媒體  雷鋒網  ,INSIDE 經授權轉載。

騰訊雲官方微信公眾號發了《關於客戶「前沿數控」數據完整性受損的技術復盤》,對「數據遺失事件」全過程進行了還原。

「數據遺失事件」 指的是北京清博數控科技有限公司所屬「前沿數控」平台一塊作業系統雲端硬碟發生故障,導致檔案系統中介資料損壞此事件,而該公司購買的正是騰訊雲的服務。

據了解,這是騰訊雲繼  月  日上午《關於用戶「前沿數控」數據完整性受損及騰訊雲補償措施的說明》之後的第二次官方回應。此前聲明見文章: 騰訊雲回應「數據丟失事件

據觀察,此次騰訊雲發布的「復盤通知」主要有 點:

1、還原了故障過程

2、解釋了故障原因

3、公佈了改進措施

4、提出了客戶建議

騰訊雲指出,「前沿數控」平台數據遺失除了物理因素外,人為失誤是重要原因,騰訊雲為此做了深刻檢討:

復盤發現,該故障緣起於因磁盤 Silent error 導致的單備份數據錯誤,再加上數據遷移過程中的兩次不規範的操作,導致雲端硬碟的三備份安全機制失效,並最終導致客戶數據完整性受損。

「前沿數控」平台數據丟失,發生在 2018 年  月  20 日,當天騰訊雲維運人員是如何發現,又是如何嘗試組織技術專家修復的呢?

還原故障過程及故障原因

且看騰訊雲還原的全過程:
當天( 月  20 日)上午 11:57,我們的維運人員收到倉庫 空間使用率過高告警,準備發起搬遷擴容;

14:05 時,維運人員從倉庫 選擇了一批雲端硬碟搬遷至新數據庫 ,為了加速搬遷,手動關閉了遷移過程中的數據校驗;

20:27 搬遷完成之後,維運人員將客戶的雲端硬碟訪問切至數據庫  ,同時為了釋放空間,對倉庫 Ⅰ 中的原始 啟動回收步驟;

到  20:30 監控發現倉庫  Ⅱ 部分雲端硬碟出現 IO 異常。

這個過程中涉及多次人為操作步驟,但「磁碟 Silent error 導致的單副本數據錯誤」此物理過程,維運人員是無法控制的,只有當中兩次操作是出了「大問題」的:

第一是正常數據搬遷流程默認開啟數據校驗,開啟之後可以有效發現並規避數據異常,保障搬遷數據正確性,但是維運人員為了加速完成搬遷任務, 違規關閉了數據校驗。

第二是正常數據搬遷完成之後,源碼數據庫應保留  24 小時,用於搬遷異常情況下的數據恢復,但是運維人員為了盡快降低倉庫使用率, 違規對源倉庫進行了數據回收

騰訊雲後續如何改進?降低人工干預、優化巡檢機制

實際上,這件事給騰訊雲帶來了不小的公關負擔,市場形象頗受影響。在復盤通知裡,騰訊雲誠懇地給出了一些加強和改進措施:

首先,我們將全面審視所有的數據流程,涉及數據安全的流程自動化閉環,進一步提升我們常規運維自動化和流程化,降低人工干預。同時把全流程的數據安全校驗作為系統的常開功能,不允許被關閉。

其次,針對物理硬碟靜態數據錯誤,在當前用戶訪問路徑數據校驗自癒的基礎上,我們優化現有巡檢機制,透過優先巡檢主備份資料段、跳過近期用戶訪問過的正確資料段等方法,加速發現該類錯誤,進行數據修復。

公告最後,騰訊雲提醒客戶,實際上,騰訊雲自  2016 年  月以來一直在提供免費的快照功能,可以對重要數據進行定期備份。同時出於對客戶數據隱私性和安全性的考慮,客戶可以自由選擇開啟或者不開啟此免費功能。騰訊雲呼籲客戶開啟此功能,進一步提升自身數據的安全性。

雙方商量恢復營運方案:和解金額未透露,未公佈責任員工名單

此前,「前沿數控」平台基於自身評估就此次故障對騰訊雲提出了高達 11,016,000 元人民幣的索賠要求,騰訊雲認為這明顯高於他們能夠提供的方案,這也是此次雙方此前未能達成一致的主要原因之一。

眼下,據騰訊雲方面透露,他們正在「積極與前沿數控方商量恢復營運的方案」。

現在看來,關鍵的一點是,他們最終會達成多少金額的賠償方案,先前騰訊雲 14 萬人民幣的賠償 +補償方案遭拒(客戶消費金額的  37 倍),這次會是多少?

因為,這不是個案,後期其他雲端廠商也會遇到類似的問題,市場都會關注騰訊雲的處理方式。

值得注意的是,對於這次事件中誤操作的工作人員,騰訊雲沒有點名,也沒有公佈處罰方式,預計已做內部處理。

何為磁盤 Silent Error?騰訊雲兩次公告都提及

騰訊雲兩次公告都提及一個原因:磁碟 Silent error。究竟這是什麼類型的錯誤?元兇是什麼?

Martin Petersen Sonny Singh 在書中曾指出,數據損壞經常發生在寫入磁碟驅動器的時候。磁碟驅動器損壞有兩種基本類型:

第一種是潛在扇區錯誤,通常由物理磁碟驅動器故障導致。例如,磁碟陣列報告的檔案系統讀取錯誤。這種類型的損壞通常由 I/O 路徑中的錯誤更正碼  (ECC) 或循環冗餘校驗 (CRC) 檢測到,常常會自動糾正。

第二種是靜態數據損壞,可在沒有警告的情況下發生,可以定義為組件故障或管理操作疏忽所導致的非惡意數據遺失。靜態數據損壞發生在讀取或寫入無效數據時,不會導致 I/O 操作失敗。這種類型的損壞是最具災難性的,如果沒有端到端的數據完整性檢查,是沒有有效的方法來檢測它的。

使用虛擬伺服器和多核處理器,會增大故障儲存單元導致錯誤的可能。如果在應用程序或數據中心工作人員不知情的情況下發生這樣的錯誤,就稱為靜態數據損壞。儘管靜態數據損壞相對比較少見,但它可能長時間不被發現,從而導致代價高昂的關鍵業務功能無法使用的損失。

導致靜態數據損壞的常見元兇包括:

1、作業系統,包括核心操作系統和設備驅動程式

2、儲存硬體和韌體

3、管理錯誤

那麼「靜態數據損壞」發生的機率有多少呢?

Silent data corruption in SATA arrays: A solution -- Josh Eddy August 2008》一書曾對 silent error 進行了解釋。該文提供了一組數據:

一項針對 NetApp 數據庫中 150 萬個硬碟驅動器的學術研究在  32 個月內發現, 8.5%的 SATA 磁碟會產生靜態損壞。某些磁碟陣列運行後台進程,以驗證數據和 RAID奇偶校驗是否匹配,並且可以捕獲這些類型的錯誤。然而,該研究還發現,後台驗證過程中錯過了 13%的錯誤。

這意味著沒有被發現的那些錯誤,最終會讓企業為此承擔風險、付出代價。實際上,隨著網路安全越來 重要,關於「靜態數據損壞」這個領域,相當值得各大雲端廠商加以關注並投入研究。

相關文章

評論