第一條:摸清故障現象
數據中心的故障表現復雜多樣,先要弄清楚故障現象是什么?一般數據中心故障都是先從應用層面表現出來,如果從這些方面開始分析,很容易走錯方向。比如:應用部分反饋訪問網頁慢、支付系統完成不了支付、游戲業務玩不了了等等,這些應用業務的故障表現往往是片面的,不同技術水平的人和不同的業務部門的人反饋的故障現象都有差別,很容易讓人不知道該從何查起。這時要對反饋的故障現象進行收集和整理,找出其中的共性。所謂摸清故障現象,就是找出此時數據中心里統一的故障現象。
第二條:測試并確認故障范圍
根據故障現象,我們要查看這些故障是否來自于同一臺服務器、同一條鏈路或者是同一臺網絡設備等。所有的應用業務都是在這些物理硬件設備上運行的,其中的任何一個環節的設備出現故障,都會導致問題。此時,各種網絡探測診斷工具就派上用場了。通過使用PING、Tracert、鏡像、流量統計、抓包等一系列手段,確定故障位置。經過這樣一系列的診斷,可以將故障范圍縮小到某一臺設備或只有數臺設備的網絡區域。
第三條:嘗試定位
一個經驗豐富的數據中心技術人員,往往可以根據故障表現迅速找到故障原因。這時,如果故障影響是可以容忍的,在條件允許的情況下,可以嘗試定位問題,試圖找到觸發此次故障的根本原因。此時技術人員一定要思路清晰,一步步來采集各種信息,深入分析。數據中心里有太多的設備,這些設備來自不同廠家,各自的技術特點也不同,沒有哪個數據中心技術人員能全部掌握,如果在短時間內無法定位問題,或者是分析來分析去已經沒有任何思路,此時就要放棄繼續定位。
第四條:收集故障時必要信息
一定要在故障的時候收集一些設備的日志、診斷、操作記錄、內部隱藏信息,很多信息是設備廠家要求在故障時收集的,要按照廠家的要求將信息收集完整,以便這些信息可以供設備廠家分析,日后找出故障發生的原因。很多時候,數據中心的技術人員急于恢復業務,往往忽略收集這些信息,這將為日后定位問題造成了極大難度。
第五條:故障恢復
為了盡快消除故障,需要對故障進行恢復。此時不要上來就對疑似故障的設備直接重啟或者更換、下電,這樣極有可能會造成更為嚴重的故障。本來原來的故障可能只是偶爾有訪問出錯,有丟包,經過設備重啟就可能造成整網的業務中斷。故障恢復的操作應該從輕到重,逐步來嘗試執行。比如路由異常,可以先對特定路由進行刪除重建,不行的話,再對某一個鄰居進行復位重建,還不行的話再對整個路由協議進行重建,這樣一來最嚴重也是影響這一類路由協議的轉發,對其它業務并沒有影響。還是不行再考慮重啟框式設備的板卡,再不行再考慮重啟整機設備,此時也盡量不要斷電重啟,很多設備只要不是斷電重啟還是會留下一些有意義的歷史記錄信息。如果數據中心的各個故障環節都是備份系統,可以暫時將業務遷移到備份系統上來,故障的主用系統繼續保留,供技術人員繼續排查故障,直到找到故障原因,徹底消除后,再將業務切換回來。
第六條:再次驗證業務的正確性
故障恢復后,要再次對數據中心承載的業務進行各種測試,看是否所有的業務都恢復正常,同時與各個業務部門人員交流,確認業務的正確性。當得到準確反饋,所有業務都恢復正常后,再停止業務驗證。
第七條:長時間觀察
數據中心故障有時會容易反復,尤其是在沒有找到故障原因的情況下,所有的故障恢復手段都可能不是很有效的,很可能會再次出現故障。這時要密切關注數據中心業務運行情況,一旦發現異常,及時處理。
第八條:分析故障原因,總結經驗教訓
故障發生后,在還未明確故障原因的情況下,及時將收集的信息發給設備廠商,協同分析,在事后故障分析上要投入大量的人力、物力,直到找到故障原因。如果無法找到故障原因,對于數據中心是最可怕的事情,很可能會再次發生,造成二次的損失,所以要在故障分析上多投入,直到找到故障原因。找到故障原因后,要對產生這次故障的原因進行深入分析,結合目前數據中心的運行狀況,看是否有改進的空間,及時總結故障處理過程中不足的地方,對薄弱環節進行加強,避免同樣的故障再次發生。
處理數據中心故障要嚴格依照這八條“軍規”,只有這樣才能在遇到故障時,處理起來有章法、高效率,并能夠在處理故障的過程中積累實踐經驗,不斷提升數據中心的運維水平。