價值1000萬的騰訊雲硬盤固件"BUG"

摘要: 阿門,願雲端沒有BUG!html

圖片描述

此次,我從純技術角度分析騰訊雲與前沿數控的磁盤數據丟失事件,不站隊。git

硬盤門

這裏說的硬盤門不是10年前陳老師的那一次,而聊的是最近「騰訊雲」用戶「前沿數控」的磁盤數據丟失。shell

關於此次事件,騰訊雲是這樣說的:數據庫

近日,騰訊雲用戶北京清博數控科技有限公司所屬「前沿數控」平臺一塊操做系統雲盤,因受所在物理硬盤固件版本bug致使的靜默錯誤(寫入數據和讀取出來的不一致)影響,文件系統元數據損壞。

騰訊雲多少有點打官腔,而前沿數控的說法更加直白:小程序

在使用騰訊雲服務器8個月後,咱們放在雲服務器上的數據所有丟失,騰訊雲所謂的三備份數據也所有離奇丟失!

套用一下《天下無賊》的經典臺詞:微信小程序

21世紀什麼最重要?數據!

一個產品的數據若是丟失或者破壞的話,所受的打擊是毀滅性的,由於老用戶的服務沒法恢復...騰訊雲提出了136469的賠償方案,而前沿數控索賠1000萬,雙方沒有達成一致,這個事件才得以曝光。也就是說,在前沿數控看來,騰訊雲的這個所謂的「物理硬盤固件版本bug」,價值1000萬!BUG原來這麼值錢啊,看來你們仍是少寫點BUG吧...服務器

咱們Fundebug同爲創業公司,也是騰訊雲和阿里雲等雲計算公司的用戶,而且從事BUG監控服務(此事也涉及到BUG),所以會持續關注這個事件。微信

騰訊雲真的是硬盤固件BUG嗎?

騰訊雲關於硬盤固件BUG的說明是這樣的:ide

近日,騰訊雲用戶北京清博數控科技有限公司所屬「前沿數控」平臺一塊操做系統雲盤,因受所在物理硬盤固件版本bug致使的靜默錯誤(寫入數據和讀取出來的不一致)影響,文件系統元數據損壞。

騰訊雲監控到異常後,第一時間向用戶告知故障狀態,並當即組織文件系統專家並聯合廠商技術專家嘗試修復數據。遺憾的是,雖經多方努力,最終仍有部分數據完整性校驗失敗。通過分析,該硬盤靜默錯誤是在極小機率下被觸發。咱們隨即對固件版本有bug的硬盤所有進行下線處理,確保相關隱患所有排除。gitlab

因爲騰訊雲沒有公佈「物理硬盤固件版本bug」的任何技術細節,對於這件事的真相我有所疑問:

  • 硬盤的什麼固件有BUG?
  • 硬盤固件的哪一個版本有BUG?
  • 所謂的極小機率觸發是BUG什麼意思?究竟什麼狀況下會出現這個BUG?
  • 硬盤固件應該升級到哪一個版本才能修復BUG?
  • 如何升級該硬盤固件?對固件版本有bug的硬盤所有進行下線處理是如何作到的?這個彷佛不可能不影響硬盤用戶吧?
  • 咱們Fundebug的BUG監控插件使用了騰訊雲的CDN進行分發,發現CDN服務並不穩定,北京、杭州和天津用戶訪問時都出現過加載失敗的狀況,是否與這個BUG有關?(此事咱們有向騰訊雲提交工單。)

2017年,國外的代碼託管站點Gitlab的數據庫被誤刪,他們在Youtube和Twitter上直播了整個修復過程,而且寫了兩篇博客詳細公開了全部技術細節。這樣作很是透明和公開,能夠贏得用戶的信任。

每一個公司都會出現各類各樣BUG或者故障,騰訊雲也不能例外。用戶對於雲計算平臺的要求很是高,由於涉及到可否正常提供服務,所以,做爲騰訊雲的用戶,咱們呼籲騰訊雲公佈此次事件的全部技術細節,這是釐清事件的最佳方式,也是對用戶負責的一種表現。

前沿數控難道沒有備份數據?

不難推測,前沿數控徹底沒有備份數據,它們徹底依賴於騰訊雲的承若的"99.9999999%的數據可靠性,搭載了雲硬盤提供三副本存儲策略"。我不清楚騰訊雲的這個99.9999999%的數據可靠性是怎麼計算出來的,也不知道騰訊雲的三副本存儲策略是怎麼回事,這一點須要騰訊雲提供詳細的說明。可是,對於每個產品來講,備份數據,至少備份一下核心數據,這是最基本的常識。因此在這一點上,前沿數控顯然存在失誤。

全部的創業者和開發者都應該從這個事件吸收教訓,不要偷懶,嚴格備份數據,不然數據一旦出問題,後果很是嚴重。這裏簡單介紹一下Fundebug是如何備份數據的,給你們提供參考,之後我會詳細介紹咱們的數據備份方案:

備份方案 時間粒度 細節
MongoDB複製集 實時 搭建3個節點(1個Primary和2個Secondary)的MongoDB複製集,實時同步數據
阿里雲服務器磁盤快照 天天 設置天天凌晨自動快照全部磁盤,包括系統盤和數據盤
mongodump導出核心數據 天天 天天凌晨將MongoDB核心數據導出到複製集以外的服務器磁盤(該磁盤會天天進行快照)
阿里雲對象存儲 天天 天天凌晨將mongodup導出的數據使用gpg非對稱加密以後,上傳到阿里雲深圳數據中心的對象存儲,設置阿里雲自動同步到杭州數據中心,每份數據保留1個月

對數據對多個粒度的備份,是很是必要的,不管你使用哪一家雲計算平臺,不管該平臺給了你怎樣的承若。若是依賴雲計算平臺,大概是靠不住的,並且他們的應急處理速度顯然沒有本身來的快,由於只有開發者本身最瞭解應用數據,知道如何備份如何恢復才能儘可能下降損失。

參考

關於Fundebug

Fundebug專一於JavaScript、微信小程序、微信小遊戲,Node.js和Java實時BUG監控。自從2016年雙十一正式上線,Fundebug累計處理了5億+錯誤事件,獲得了衆多知名用戶的承認。歡迎免費試用!

相關文章
相關標籤/搜索