從技術角度看騰訊雲“資料丟失”事件!

danny_2018發表於2018-08-07

近日,騰訊雲“資料丟失”事件在業界引起廣泛關注。騰訊雲透過微信公眾號發出公告,解釋了資料丟失原因,並提出了補償措施。

大概內容是,北京清博數控科技有限公司所屬“前沿數控”平臺一塊作業系統雲盤,因受所在物理硬碟韌體版本bug導致的靜默錯誤(寫入資料和讀取出來的不一致)影響,檔案系統後設資料損壞。為此,騰訊雲將提供132900元現金或雲資源的額外補償。但是,北京清博數控科技有限公司對結果並不滿意,聲稱所丟失資料價值千萬,提出了1101.6萬元的補償額。並質疑騰訊雲的的可靠性是否達到了99.9999999%,搭載了雲硬碟三副本儲存策略,是否真實存在。

事件發生後,輿論界一方面抨擊使用者自己沒做備份;另一方面對於雲的安全性表示擔憂,尤其是公有云,還不夠靠譜。對於使用者自己不做備份的說法,前沿數控表示自己很委屈。一家創業公司,原本就是為節約成本,才選擇了雲,我總不至於買了一個騰訊雲,再買個阿里雲來備份。但對於騰訊雲來說,雲本身就沒有100%的可靠性,硬體損毀導致資料丟失,並不是騰訊獨有,你支付了1000多塊錢,我總不至於付給你上千萬的賠償,這是敲詐!


到現在為止,整個事件還沒有結束。到底誰對誰錯,賠償多少,都不是重點。重點是,不管對於騰訊雲,還是對於前沿數控來說,“資料丟失”都是一次慘痛教訓。為了避免這類惡性事件再次發生,我們有必要從技術角度分析出問題出現的各種可能。
1、硬碟靜默錯誤
資料靜默錯誤分幾類,包括parity error、 paritial write、 write lose和mis-redirect write等。大概是資料寫入時,硬碟時發生錯誤,或者是寫了一部分扇形區資料,而另一部分沒寫。或者沒寫完,中途斷電了。再或者,目標扇區資料是老資料,導致讀取資料時出現亂碼。更離譜一點,寫入目標扇區的資料,寫錯了地方,不但本次I/O對應的扇區沒更新,而且還破壞了其他扇區。

但是,騰訊雲丟資料不太像是硬碟的問題,使用者的資料一點都沒找回來,說明叢集資料有大量丟失。除非是大量盤同時集體損壞,不然不可能發生這樣嚴重的事件。但是,大量盤同時壞的機率,幾乎等於零。所以筆者猜測,可能是軟體bug導致大量資料被寫壞。

2、EBS出現故障
一般情況下,如果EBS出現故障,應該以資料可靠性為主,先恢復資料再恢復服務,相對資料丟失,停機時長的損失的損失更可控,騰訊雲可能是反其道而行了。

3、使用了虛擬機器
從目前提供的資訊來看,騰訊雲好像使用了虛機,結果虛機掛了。但是,一般情況下,雲產品對這種虛機都提供了快照功能,以防止意外發生。但是,這種快照一般需要手動開啟。

4、雲產品bug
別說是雲端計算,即使是物理機,也能透過raid的方式保證資料冗餘,不可能導致資料完全丟失。雲服務本身處於分散式儲存中,雲盤損壞,應該屬於邏輯上損壞,無外乎雲產品bug和人為誤操作。而邏輯上的資料損壞,可以透過技術手段恢復,只不過技術不在中國。這種災難性問題雖然偶發,但目前Open Stack版本還在不斷迭代,各種模組處於合併變更、消除的過程,這中間很可能會給使用者帶來未知的安全風險。

5、人為的誤操作
資料丟,除了後設資料損壞,很可能是被哪個管理員一鍵刪除了。後設資料基本不會損壞,因為資料至少是3副本的。大機率是平臺有誤操作,或者設計缺陷,導致被刪除。

當然,這些都是我們的猜測,騰訊雲資料丟失到底是什麼原因,ITPUB將持續關注。總之,資料安全無小事,備份一定是企業上雲的必選項。

對於廣大雲使用者來說,此事也再次為我們敲響了警鐘。建議:一、對於公有云,建議放置非關鍵業務,企業內部的關鍵業務要搭建容器雲平臺,核心資料存放在儲存和磁帶庫中。二、一定要做異地備份。備份可以是儲存,也可以是磁帶庫;備份資料分應用資料和資料庫資料。關鍵資料要永久增量儲存, 這樣才能防患未然。三、要建立容災備份機制。資料備份,可以備份到其他雲,按小時,天,周,月計算,所能容忍丟失的資料;資料備份也可以備份到本地,按月、季度、年進行容災。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2199303/,如需轉載,請註明出處,否則將追究法律責任。

相關文章