0
雷鋒網消息,8月7日晚,騰訊云官方微信公眾號發布了《關于客戶“前沿數控”數據完整性受損的技術復盤》,對“數據丟失事件”全過程進行了還原。
“數據丟失事件”指的是北京清博數控科技有限公司所屬“前沿數控”平臺一塊操作系統云盤發生故障,導致文件系統元數據損壞這一事件,而該公司購買的正是騰訊云的服務。
據了解,這是騰訊云繼8月6日上午《關于用戶“前沿數控”數據完整性受損及騰訊云補償措施的說明》之后的第二次官方回應。此前聲明見文章:騰訊云回應“數據丟失事件”
據雷鋒網觀察,此次騰訊云發布的“復盤通知”主要有4點信息:
1、還原了故障過程
2、解釋了故障原因
3、公布了改進措施
4、提出了客戶建議
騰訊云指出,“前沿數控”平臺數據丟失除了物理因素外,人為失誤是重要原因,騰訊云為此做了深刻檢討:
復盤發現,該故障緣起于因磁盤靜默錯誤導致的單副本數據錯誤,再加上數據遷移過程中的兩次不規范的操作,導致云盤的三副本安全機制失效,并最終導致客戶數據完整性受損。
“前沿數控”平臺數據丟失,發生在2018年7月20日,當天騰訊云運維人員是如何發現,又是如何嘗試組織技術專家修復的呢?
還原故障過程及故障原因
且看騰訊云還原的全過程:
當天(7月20日)上午11:57,我們的運維人員收到倉庫Ⅰ空間使用率過高告警,準備發起搬遷擴容;
在14:05時,運維人員從倉庫Ⅰ選擇了一批云盤搬遷至新倉庫Ⅱ,為了加速搬遷,手動關閉了遷移過程中的數據校驗;
在20:27 搬遷完成之后,運維人員將客戶的云盤訪問切至倉庫Ⅱ,同時為了釋放空間,對倉庫Ⅰ中的源數據發起了回收操作;
到20:30 監控發現倉庫Ⅱ部分云盤出現IO異常。
這個過程中涉及多次人為操作步驟,但“磁盤靜默錯誤導致的單副本數據錯誤”這一物理過程,運維人員是無法操控的,只有當中兩次操作是出了“大問題”的:
第一是正常數據搬遷流程默認開啟數據校驗,開啟之后可以有效發現并規避源端數據異常,保障搬遷數據正確性,但是運維人員為了加速完成搬遷任務,違規關閉了數據校驗;
第二是正常數據搬遷完成之后,源倉庫數據應保留24小時,用于搬遷異常情況下的數據恢復,但是運維人員為了盡快降低倉庫使用率,違規對源倉庫進行了數據回收。
騰訊云后續如何改進?降低人工干預、優化巡檢機制
實際上,這件事給騰訊云帶來了不小的公關負擔。在復盤通知里,騰訊云誠懇地給出了一些加強和改進措施:
首先,我們將全面審視所有的數據流程,涉及數據安全的流程自動化閉環,進一步提升我們常規運維自動化和流程化,降低人工干預。同時把全流程的數據安全校驗作為系統的常開功能,不允許被關閉。
其次,針對物理硬盤靜默數據錯誤,在當前用戶訪問路徑數據校驗自愈的基礎上,我們優化現有巡檢機制,通過優先巡檢主副本數據塊、跳過近期用戶訪問過的正確數據塊等方法,加速發現該類錯誤,進行數據修復。
公告最后,騰訊云提示客戶,實際上,騰訊云自2016年3月以來一直在提供免費的快照功能,可以對重要數據進行定期備份。同時出于對客戶數據隱私性和安全性的考慮,客戶可以自由選擇開啟或者不開啟這一免費功能。騰訊云呼吁客戶開啟這一功能,進一步提升自身數據的安全性。
雙方商量恢復運營方案:和解金額未透露,未公布責任員工名單
此前,“前沿數控”平臺基于自身評估就此次故障對騰訊云提出了高達11016000元的索賠要求,騰訊云認為這明顯高于他們能夠提供的方案——這也是此次雙方此前未能達成一致的主要原因之一。
眼下,據騰訊云方面透露,他們正在“積極與前沿數控方商量恢復運營的方案”。
雷鋒網看來,關鍵的一點是,他們最終會達成多少金額的賠償方案,此前騰訊云14萬的賠償+補償方案遭拒(客戶消費額的37倍),這次會是多少?
因為,這不是個例,后期其他云廠商也會遇到類似的問題,市場都會關注騰訊云的處理方式,畢竟,被“碰瓷”總不是件好事。
值得注意的是,對于這次事件中誤操作的工作人員,騰訊云沒有點名,也沒有公布處罰方式,預計已做內部處理。
何為磁盤靜默錯誤?騰訊云兩次公告都提及
雷鋒網認為,騰訊云兩次公告都提及一個原因:磁盤靜默錯誤。究竟這是什么類型的錯誤?元兇是什么?
Martin Petersen 和 Sonny Singh在《Emulex 和 Oracle 最佳實踐》一書中曾指出,數據損壞經常發生在寫入磁盤驅動器的時候。磁盤驅動器損壞有兩種基本類型:
第一種是潛在扇區錯誤,通常由物理磁盤驅動器故障導致。例如,磁盤陣列報告的文件系統讀取錯誤。這種類型的損壞通常由 I/O 路徑中的糾錯碼 (ECC) 或循環冗余校驗 (CRC) 檢測到,常常會自動糾正。
第二種是靜默數據損壞,可在沒有警告的情況下發生,可以定義為組件故障或管理操作疏忽所導致的非惡意數據丟失。靜默數據損壞發生在讀取或寫入無效數據時,不會導致 I/O 操作失敗。這種類型的損壞是最具災難性的,如果沒有端到端的數據完整性檢查,是沒有有效的方法來檢測它的。
使用虛擬化服務器和多核處理器,會增大故障存儲單元導致錯誤的可能。如果在應用程序或數據中心工作人員不知情的情況下發生這樣的錯誤,就稱為靜默數據損壞。盡管靜默數據損壞相對比較少見,但它可能長時間不被發現,從而導致代價高昂的關鍵業務功能無法使用的損失。
導致靜默數據損壞的常見元兇包括:
1、操作系統,包括核心操作系統和設備驅動程序
2、存儲硬件和固件
3、管理錯誤
那么“靜默數據損壞”發生的概率有多少呢?
《Silent data corruption in SATA arrays: A solution - Josh Eddy August 2008》一書曾對靜默錯誤進行了解釋。該文提供了一組數據:
一項針對NetApp數據庫中150萬個硬盤驅動器的學術研究在32個月內發現,8.5%的SATA磁盤會產生靜默損壞。某些磁盤陣列運行后臺進程,以驗證數據和RAID奇偶校驗是否匹配,并且可以捕獲這些類型的錯誤。然而,該研究還發現,后臺驗證過程中錯過了13%的錯誤。
這意味著——沒有被發現的那些錯誤,最終會讓企業為此承擔風險、付出代價。實際上,隨著網絡安全越發重要,關于“靜默數據損壞”這個領域,相當值得各大云廠商加以關注并投入研究。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。