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