閱讀961 返回首頁    go 阿裏雲 go 技術社區[雲棲]


運維DBA的4大紀律9項注意

朋友們調侃說,運維是個把腦袋別在褲腰帶上的活,更有人說,運維是個把腦袋別在他人褲腰帶上的活,苦勞沒人認,有鍋就有得背!

 

測試的同學說,“吃瓜群眾很難感知運維背後的付出,倒是出了事情更能體現我們的專業性。”小樣兒,你這是還沒有掉坑裏過。

 

所以,最好就是減少鍋的出現。

 

但是,鍋來了,大家就得背,甭管你是運維、產品、測試還是開發,總得有個人出來走一走,對吧?

 

今天我們就來談談運維DBA怎樣少背鍋。

 

運維DBA的形勢是很惡劣,但再惡劣也比不過當年紅軍過草地。紅軍當年靠三大紀律八項注意度過了難關,若運維DBA認真執行,也能度過背鍋難關。

 

運維DBA的四大紀律 

 

一、一切行動聽指揮

 

甭管你是團隊,還是團夥,要求都是一樣的,一切行動聽指揮!聽誰的指揮?聽運維經理、運維總監、CTO、CEO的指揮。

 

當年墨子當巨子的時候,手下180人,訓練有素,同心同德,“赴火蹈刃,死不還踵”。這樣的團隊來搞運維,就具備了基本要求。

 

運維團隊裏,最忌諱的是具有三腳貓功夫、蔑視前輩經驗、心浮氣躁的人,遇到這種人Team Leader要及時校正甚至剔除,否則這就是你背鍋的最大來源。我被坑得比較慘的幾次,都是因為團隊裏有這樣的人,想動手的時候不夠堅決,最後禍起蕭牆,隻能弓著腰給客戶和領導死命的批評。這叫什麼,一顆老鼠屎壞了一鍋湯。

 

所以,選擇運維成員時,要選那種踏實、機敏、上進、溝通能力強的年輕人,用心培養,往往事半功倍。

 

二、兩條紅線不能犯

 

所謂紅線,就是天條。第一個是按指揮再行動,其實是活的,可能是要請示和匯報的。這第二條是死的,就像高壓線一樣,碰到就完蛋了。

 

所有變更要做到:凡變更必有方案,凡方案必經過評審方可執行,凡執行必嚴格遵循方案,重大變更需要有人核實。

 

這一條其實是為了規避誤操作,誤操作就是人為故障。人為故障在所有故障中的占比一直是很高的。

 

所有影響到業務的故障,不管是硬件故障、軟件故障還是人為故障,必須第一時間通知到部門經理。

 

這一條是為了規避,技術人愛鑽牛角尖,看見故障鑽進去就出不來,貽誤戰機,把快速恢複業務的大好時機給浪費了。

 

三、假日前容量規劃

 

記得某一年有一次團隊Outing,集合時某DBA睡眼惺忪地說半夜3點被告警搞起來了。這還不算,他在玩密室逃脫的時候,又接到機房告警電話,某業務表空間使用率超過85%嚴重告警了。是不是亮瞎了?

 

要想輕輕鬆鬆過節日,或者出去玩,除了做好備份之外,最重要的是做好容量規劃。最基本的表空間、文件係統空間、曆史告警等等基本情況橫掃一遍,起碼要能安全等到你休假回來。

 

對於一些特別的電商係統,節假日可能正是高峰期,那就不僅僅是空間這點事了,還要做好性能預測和解決方案預案。

 

四、備份恢複年年做

 

備份要做,恢複更要做。如果你是管理者,千萬必要以為你的DBA一定會幫你做了。

 

不驚訝,真實案例的脫敏數據:

 

20170223095357656.jpg

 

如果是企業缺少相應備份設備或軟件導致的,DBA有義務督促領導購置恢複演練所需的軟硬件設備。因為一旦出現意外,DBA的直接領導往往也擔不了這個責任,畢竟數據都保護不了,用戶還怎麼相信你這個企業,不論你是央企還是國企。

 

運維DBA的九項注意 

 

三大紀律是規矩-Rules,八項注意是指導原則-Guidance。

 

做運維的人,不能總說這個我們沒想到,哎呀,沒想到這也不行。這是爬雪山,過草地,不注意就陷進去了,哪裏會留時間給你瞎BB?

 

1、對生產環境心懷敬畏

 

你也許沒聽過“一個tnsping幹翻6台P595”,你也許沒聽過“一個cp命令讓營業係統停止使用30分鍾”,你也許沒聽過“建一個索引讓所有核保業務不能用了”,你也許沒聽過“我本來是要shutdown我的虛擬機的,沒想關生產庫”… …

 

你沒聽過的事情很多,你沒幹過的事情更多,因為你還年輕。

 

但是一定要對生產環境心懷敬畏。

 

所有操作命令不是網上搜來就可以用的,你要盡可能搞清楚這個命令的副作用,這個命令下去最壞的可能,可能是什麼?不懂的就虛心求教,DBAplus社群這麼多大牛,實在不好意思,就先砸個大紅包過去再問。

 

2、保持24小時開機

 

做運維的沒有徹底休假之說,不要以為你休假了就關機大吉了,那離你關門大吉也不遠了。嗯,所以有些公司把這條也列為紀律之一。

 

我曾遇到過這樣一個情況,某個DBA請假了,剛好有個環境的密碼隻有他知道,而這個環境現在出了點問題。可想而知,當時人是多麼著急? 嗯,那個DBA休假回來就長時間離開現場了。

 

3、多請應用的人嘮嘮嗑

 

完全不懂業務的DBA不是一個合格的架構師。

 

要去懂業務、懂應用、懂服務,就一定要跟應用的人嘮嗑、吃飯、抽煙,平時尊重人家,人家願意跟你說,你就越來越熟悉業務。慢慢的,你就可以為推動業務采用更合適的架構方案。

 

4、不要在上班時間做普通變更

 

什麼叫普通變更?就是你本來可以提前一天做的變更。

 

比如擴表空間、增加用戶權限、創建索引……並非是為了解決緊急故障而導致的變更。

 

提前做好變更規劃,盡量爭取每次免考核時做完所有重要的變更。

 

5、定期做好數據庫檢查

 

數據庫沒有發生故障,不代表是DBA做得好,而是故障自己還沒有發生,不是不報,實時候未到。

 

所以,確定好檢查規則,定期做好數據庫檢查,並進行整改。涉及到其它配合方的整改一定要郵件抄送,並電話確認。

 

6、數據庫部署要給予最小化權限

 

安裝必要的最少組件,賦予必要的最小權限,是主動避坑的有效手段。很多數據恢複,操作問題,如果能夠從權限上把把關,後麵就能省很多事情。

 

7、所有的保障手段,都要去驗證其持續可行性

 

部署了高可用係統,上線前要做高可用切換測試。

 

部署了容災係統,要做定期容災演練。

 

部署了應急係統,要做定期應急演練。

 

做了數據庫備份,要做定期數據庫恢複測試。

 

說起來容易,做起來難。全國90%的係統沒有做到這一點。所以你才會經常聽到異常恢複的案例。特別是哪些用存儲容災,或者用OGG應急的。不是技術本身不行,而是管理不行。

 

8、絕盡全力推行自動化運維

 

在看到這條之前,你也許心裏一直在暗暗的罵道,都什麼時代了,還這麼古板。

 

其實不管你是否已經開始了自動化運維,前麵的每一條都值得你好好去做好,對你有益無害。

 

但是,去做自動化運維,是運維DBA繞不開的路徑。就像從昆明到上海,最開始是隻能靠馬幫,後來逐漸通了高速公路,現在開始滬昆高鐵了一樣。

 

這個自動化運維怎麼做?完全靠自己重複造輪子顯然不完全靠譜。如果你不是BAT,也不是京東新美大餓了麼,最好的方式,是找專業運維的公司研發的自動化運維平台,是騾子是馬拿出來遛兩下,你就喜歡上了。

 

9、起步始於交流,收獲源於分享

 

做過講師的人,都會有這樣一個共識,就是講完東西,自己其實比聽課的“學生”收獲更大。這一點互聯網公司做得非常好,不管是BAT還是新的巨頭,都紛紛成立技術學院,領銜的也往往是業界大佬,把企業內部的技術分享組織得有聲有色。

 

作為傳統企業的DBA來說,一家企業往往沒有這麼個學院,但是互聯網上的平台很多,比如DBAplus社群,甚至還有其他一些社群都提供這樣的機會。

 

為什麼我們團隊工作一年的新人,可以擁有其他公司工作四五年DBA所具有的能力,除了複雜的硬件環境外,每月的分享也功不可沒。

 

運維沒有盡頭,注意事項也沒有盡頭,你有更好的建議,不妨說說。

原文發布時間為:2017-02-23

本文來自雲棲社區合作夥伴DBAplus

最後更新:2017-05-15 10:02:58

  上一篇:go  2017年數據架構師架構選型必讀
  下一篇:go  技術與時代並行丨DBAplus Newsletter(2017年2月)