閱讀759 返回首頁    go 財經資訊


歲末警示:當你手抖刪了線上數據庫..

編輯手記:這是一篇寫在2016年初的舊文,歲末再次與你共享,願你的係統安然無恙。本文轉載自高效運維社區。


作者簡介:

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

一樂,aka 梁宇鵬

現任環信首席架構師兼IM技術總監,負責即時通訊雲平台的整體研發和管理。曾任新浪微博通訊技術專家,負責微博通訊係統的設計與研發。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

2016年1月18日,新年剛過,距離噩夢的聖誕節已經過去三周。已經好多天沒有線上報警,群裏一片安靜,大家都在享受這份寧靜與安逸。唯一不一樣的是,有集群的遷移工作要做,相關人員幹勁十足,已經連續三天通宵。按照慣例,為了保險起見,線上操作都在夜裏進行。

如果說這幾天最懷念的時光,也許就是這一天了,因為在第二天,我們的一個線上數據庫出了問題。

19日上午10點,陸續有用戶抱怨,一個接口的數據丟失,而之前刪除的數據又出現了。這時候我們的運維同事貼出一個截圖,發現有一個數據同步的進程,從淩晨五點開始運行,把線上數據庫覆蓋,數據一夜回到了解放前!

好在運氣好,在這個覆蓋發生之前,有一個備份。

修複工作馬上展開,先把主從切斷,主庫利用備份數據重啟,從庫用來進行比對,恢複增量數據……(部分內容由於當地政策,未予顯示)

然而事情並沒有結束。這時候內部出現了一個聲音高喊,我們一定要懲罰!懲罰這個人,讓他知道服務穩定性的重要!

有沒有覺得似曾相識?類似的情況其實經常發生。而很多事情就是這樣,好像是日常中的一個插曲,卻對團隊和公司的發展產生著微妙又長遠的影響。

是的,我說的是懲罰。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


讓我們看看懲罰是做什麼的

以儆效尤?如果當事人玩忽職守,故意破壞,也許有一些作用。我這裏用了也許,因為真出現這種情況的話,可能不是懲罰就夠了的。但如果價值觀沒有問題,這點卻未必有效。因為事故已經可以對當事人造成足夠壓力,增加罰款並沒有什麼必要。

解氣麼?公司變大必然出現分工,而各個團隊之間的溝通也會變弱。每出現一個問題,其實都是整個公司的問題,用戶需要安撫,市場需要維護。這時候就很容易發出一種聲音,你看你總給我們添麻煩。這種指責和隨後的處罰除了讓發聲的人心裏痛快,該做的事情並沒有減少。

它們並沒有創造什麼價值,卻帶來了很多你不想要的東西。

更差的工作表現。因為懲罰帶來的畏首畏尾,以及隨之而來的挫敗感,都會讓一個人的工作效率大打折扣。

錯誤的工作態度。誰都知道疲勞作戰效率不高容易出錯,既然多做多錯,少做少錯,為什麼要去加班加點趕什麼進度呢?多一事肯定不如少一事。

隔閡的團隊。出了問題就開始指責,那出問題之前的加班加點為了誰呢?一個彼此間互相信任的團隊與一個互相防備的團隊,差距也是顯而易見。

最重要的是,它讓技術團隊偏離了對技術的追求,而把目光收回到內部關係上,這自然會放慢前進的步伐,這對創業公司將是致命的。

速度是小公司取勝競爭對手直至打敗大公司的關鍵。


不要懲罰不意味著拒絕進步

我們這麼做,是因為我們也相信,促使個人和團隊成長的,應該是團隊的榮譽感和為之努力的心,而不是對懲罰的恐懼。

但我們也不能停在這個地方。如果連自己的教訓都無法總結並長成經驗,也注定是悲劇的。所以還是回歸本初,看看真正想要的是什麼。

我們想要的,不過是避免類似事情的發生。

先看一則舊聞。

2015年10月20日,德意誌銀行外匯部門的一名初級交易員將一訂單中的「淨值」錯誤處理為「總額」,令德意誌銀行向一家美國的對衝基金客戶白白送出了60億美元。 https://wallstreetcn.com/node/224923

這種輸入上的低級錯誤,金融業裏叫胖手指,而避免的最重要的方法就是兩人法則,我也更喜歡它第二個名字,四眼原則(four eyes principle)。
https://en.wikipedia.org/wiki/Fat-finger_error

它提醒了我們,在關鍵業務上需要有人結對。鑒於現在工作的遠程狀態,我們使用了Tmux的會話共享模式,兩個人可以通過相同的會話來共享控製台以及鍵盤輸入。


技術可以做到更多

四眼原則用來做緊急措施是可以的,但畢竟有交互成本。而人在精確性上天生不如機器,因此要確保問題不再發生,還要用一些技術手段才行。

由於命令執行的是一個曆史命令,而出錯的運維人員進入了一個前人遺留的Tmux會話,或者是按了向上或者是進入時的回車直接執行了CTRL-R留下的命令。於是我們

修改了數據恢複的命令,強製進行二次確認;
對危險命令進行了別名處理;
禁止了Tmux的默認session,使用Tmux的人員強製使用別名。

所以你看,人的問題也可以用技術手段來解決。


技術驅動和技術導向

互聯網發展仍是日新月異,挑戰無處不在。要想變挑戰為機遇,隻有創新和技術才有可能。隻有重視技術的公司,才能充分發揮技術人員的能動性,也將更容易在技術的競爭中勝出。

我們經常開玩笑,很多公司,做不到技術驅動,因為他的每一步都是領導提出領導拍板,它隻能叫領導驅動。而如果一個公司在遇到事情之後就總是想到懲罰,不注意保護和發揮技術人員的能動性,技術導向也隻能是一個口號。

說到底不過一句話。一個團隊或公司,要變成什麼樣子,跟她邁出的每一步都有關係。

畢竟羅馬不是一天建成的。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


文章轉自數據和雲公眾號,原文鏈接

最後更新:2017-07-17 17:32:49

  上一篇:go  我明明 immediate 關庫的,怎麼就打不開了?!
  下一篇:go  光伏企業:再出海還需要上兩節課