GitLab 工程師錯誤執行 rm -rf,換來團隊 8 小時的資料庫搶修任務 (附 Youtube 直播)

GitLab 是國外著名的 Git 專案託管服務供應商,不少程式編寫員都會用它來存放程式源碼並與其他編寫員一同協作。GitLab 在 1月31日突然停止運作,原因是有工程師把 rm -rf 指令執行在錯誤的伺服器上。他本來是要在 db2.cluster.gitlab.com 上移除 pg_basebackup 資料夾,可是不慎把刪除指令執行於 db1.cluster.gitlab.com,事發一至兩秒後該工程師才發現自己闖下彌天大禍,馬上按 Ctrl+C 停止刪除檔案,可是為時已晚,資料庫由原來的 310GB 變成剩下 4.5GB。

GitLab 的工程師團隊馬上進行資料恢復工作,不幸的是,系統儲存的五個備份包括:LVM Snapshot、NFS 硬碟 Snapshot、S3 備份、日常備份等統統失效,迫不得已用事發前六小時的備份檔案來回復資料。

資料庫損毀可說是古典十大悲劇之一,GitLab 的一眾工程師卻苦中作樂,想到在 Youtube 直播修復資料庫的漫長過程,在大眾面前討論對策,又不時講解狀況,觀眾也紛紛留言鼓勵他們。結果一口氣就直播了 8 小時,吸引了數十萬人觀看重播。

GitLab 這次事故告訴我們兩個道理:1. 可用的備份十分重要 2. 工程師十分偉大 #hugops

Leave a Comment