GitLab 工程師誤刪資料庫 5 個備份都失靈
2017 年 1 月 31 日晚上,GitLab 透過 Twitter 發帖承認 300GB 資料因為工程師的錯誤操作,已經被徹底刪除,同時需要把網站下線處理,引起業界一片嘩然。第二天,GitLab.com 恢復上線。通過使用出事前 6 小時的備份資料庫作還原,GitLab 表示 1 月 31 日下午17:20(UTC時間)至晚上 23:25(UTC時間)之間的資料已經被恢復並可以使用,包括項目、問題、合併請求、用戶、註釋等等。
在幾天後的總結,GitLab 表示有以下的問題:
。±6 小時的資料遺失了
。受到影響的有 4,613 個常規專案、74 個專案分叉(fork)和 350 個導入(import),總共 5,037 個項目。 由於 Git 儲存庫沒有遺失,可以重建這些專案在意外發生前所有的用戶/群組,但是無法恢復這些項目的任何 issue。
。±4979(±5000)註解遺失了。
。可能有 707 個用戶不見了,很難從 Kibana 日誌中確定。
。1 月 31 日下午 5 時 之前創建的 Webhook 被復原了,但在此時間後建立的則遺失了。
整件事令 GitLab 的用戶發現有很多需要關注的地方,而最重要的是在復原的過程中,發現其餘的 5 個備份竟也失效,以致只可以使用工作人員在出事前6小時的手動備份用來復原,而復原出來的資料也有明顯的不同。GitLab 公開了今次事故後,他們發現到的問題有不少,例如抄寫備份。GitLab 表示他們會繼續處理管理的安排。