GitLab工程師熬夜工作誤刪300GB資料,5種備份機制全失效、只剩「透明度」值得嘉許

2017.02.02 by
張庭瑜
截圖自GitLab
開源程式碼管理工具GitLab發生誤刪正式資料庫事件,且5種備份機制都失效。所幸資料庫已回復完成,但仍有6小時左右的資料遺失,包含議題、 合併請求等資料;儲存庫和維基等主要資料則未受影響。

廣受軟體工程師歡迎的開源程式碼管理工具GitLab,於UTC時間1月31日發生員工誤刪主要資料庫的大型事故、且所有備份機制都失效。所幸,目前資料庫已回復完成,但仍有6小時左右、超過700名用戶的資料遺失。

員工誤刪資料庫目錄、5種備份機制都失效

據《The Register》報導,事情發生在UTC時間1月31日,一名位於荷蘭、徹夜加班且疲憊不堪的系統管理員,在維護資料庫時,誤刪了正式環境資料,而當他回過神來、取消「rm -rf」刪除指令時,原有300GB的資料被刪到只剩4.5GB。

不過最令人意外的是,GitLab的5個備份機制都出問題,包含每24小時執行一次的LVM快照和常規備份、S3、Azure中的磁碟快照(只能用於NFS伺服器、而非資料庫伺服器)和同步備份。幸運的是,他們在臨時伺服器發現一份事件發生前6小時前的備份,好讓他們得以回復資料。

意外發生後,主動即時公布狀況和搶修過程

整起事件唯一值得稱讚的或許只有GitLab的透明度,他們在官方Twitter、Google Doc官網上即時更新事件說明,甚至在YouTube直播工程師搶修過程,還開放網友提問。其中,有網友問到肇事工程師是否會因此被裁員,GitLab回答它們僅是一次工作失誤,不會因此裁掉他們。

此外,他們也不隱瞞事故發生原因,將原因推託給硬體故障、或是外部入侵等,直接公布就是人為操作失誤。

GitLab在資料回復完成後發出聲明表示,這次的意外並未影響到企業客戶和多數用戶,並稱約只有1%的用戶受到影響,且遺失的資料多為次要的中繼資料(Metadata)。而根據事件紀錄,受到影響的用戶約有707名。

根據GitLab的事件紀錄,這些遺失的數據包含在事件發生前6小時新增的議題(issue)、 合併請求(merge request)、用戶、評論、片段(snippet)等資料;至於儲存庫(repositories)和維基(wiki)等主要資料則未受影響。

根據紀錄,本次事件遺失的數據包含:

  1. 6小時期間的數據遺失。
  2. 4613份經常性專案、75個fork、350個import遺失,共計影響到5037份專案。
  3. 4979份評論遺失。
  4. 707名用戶數據遺失。
  5. 在1月31日17:20後新增的Webhooks遺失。

GitLab回應,遺失運作中的資料是不可接受的,將於未來幾天公布事件發生原因,以及他們將採取何種措施因應。

資料來源:The Register1,2The Next Web

每日精選科技圈重要消息