淺淡網(wǎng)絡運維的緊急故障處理及對策
原創(chuàng)導讀:為了提高廣大初入此行的網(wǎng)管讀者們的緊急故障處理水平,故策劃了本文,將這幾年來的經(jīng)驗撰寫出來,與讀者分享管理思路和控制管理能力的思維。
隨著信息化進程的飛速發(fā)展,網(wǎng)絡已經(jīng)成為每個現(xiàn)代企業(yè)必須的要素之一。相對于網(wǎng)絡維護,網(wǎng)絡運維更加側(cè)重于保障網(wǎng)絡系統(tǒng)的正常運行,運維有運行和維護兩層含義。對于一個系統(tǒng),有時出錯我們無法預知,系統(tǒng)越復雜,其難維護難度更大,為了減少損失,我們盡可能地去預防各種錯誤,對于突發(fā)情況,盡可能地去修復。
緊急故障解決的通用流程
在本文開始前,筆者先給出緊急故障解決的流程圖,見圖一。
圖一
根據(jù)上述流程圖,我們可以一目了然明白處理網(wǎng)絡運維的緊急故障的處理流程。
當客戶端發(fā)生網(wǎng)絡中斷的故障后,首先判斷用戶(或終端)到三層網(wǎng)關(guān)設(shè)備之間通道是否存在問題,從用戶(或終端)上ping網(wǎng)關(guān)是否能通,用戶(或終端)自身是否發(fā)生問題。
二層網(wǎng)絡是否正常:如果用戶(或終端)ping網(wǎng)關(guān)不通,則檢查下端二層網(wǎng)絡、用戶網(wǎng)線、三層網(wǎng)關(guān)設(shè)備以下網(wǎng)線或光纖是否正常,端口是否UP,是否有CRC error報文統(tǒng)計。檢查二層網(wǎng)絡中的交換機設(shè)備是否能正常學習到用戶MAC地址,檢查三層網(wǎng)關(guān)設(shè)備與二層交換設(shè)備之間的連通性、二層設(shè)備的CPU利用率是否正常,是否有二層環(huán)路造成或病毒攻擊。首先確保用戶(或終端)能正常ping通網(wǎng)關(guān)設(shè)備。
三層網(wǎng)絡是否正常:可以通過telnet/console口登陸三層設(shè)備,如果有問題,通過ping、tracert、show logging、端口統(tǒng)計、CPU利用率統(tǒng)計、鏈路狀態(tài)、路由表狀態(tài)、MPLS標簽表狀態(tài)等對問題進行分析,在業(yè)務忙時,不得擅自重啟或倒換三層核心路由器等設(shè)備。
如果用戶上網(wǎng)或承載業(yè)務仍然存在故障,可以查看DNS等外界環(huán)境是否正常,承載的業(yè)務本身是否發(fā)生問題,查看相關(guān)告警,然后做出相應的處理。
其它問題,如果現(xiàn)場不能解決,就通報關(guān)鍵用戶并聯(lián)系廠商解決。
在本文中,筆者就以網(wǎng)絡不通的故障為例,講解網(wǎng)絡運維的緊急故障處理的比較通用的思路和解決方式。
假設(shè)有一天,接到通知報告網(wǎng)絡不通了。給人的第一感覺是某個服務出現(xiàn)異常而中斷,比如打不開OA頁面,或者打不開Google頁面。讓我們看看,一個合格的運維人員是如何循遵怎樣的思路來尋找故障的原因并解決的。#p#
確定哪些服務中斷
首先要做的就是區(qū)分內(nèi)網(wǎng)服務和外網(wǎng)服務。
在筆者所在公司中,很多自己開發(fā)的、只限于公司員工使用的服務都是內(nèi)網(wǎng)服務,比如OA、郵箱、ERP等等。而像QQ、微博那樣的則屬于外網(wǎng)服務了。
在這樣的環(huán)境下,內(nèi)網(wǎng)服務的網(wǎng)絡關(guān)鍵節(jié)點如下所示:
終端→接入交換機→聯(lián)網(wǎng)路由器→核心路由器→核心交換機→服務器
依賴的基礎(chǔ)服務為:內(nèi)網(wǎng)DNS服務器。
外網(wǎng)服務的網(wǎng)絡關(guān)鍵節(jié)點如下所示:
終端→接入交換機→核心交換機→互聯(lián)網(wǎng)接入交換機→上網(wǎng)行為管理設(shè)備→互聯(lián)網(wǎng)防火墻→外網(wǎng)服務器
依賴的基礎(chǔ)服務為:內(nèi)網(wǎng)DNS服務器,公網(wǎng)DNS服務器。
如果當前訪問的服務突然中斷,那么首先看看是內(nèi)網(wǎng)的服務還是外網(wǎng)的服務。然后再在內(nèi)網(wǎng)和外網(wǎng)分別自選一種服務嘗試訪問一下。例如ERP突然無法訪問了,那就嘗試訪問一下內(nèi)網(wǎng)的門戶系統(tǒng)和郵件系統(tǒng),以及外網(wǎng)的一個知名網(wǎng)站。
以下表格(表二)有助于理解故障尋找的過程和思路:
表二#p#
確定其他人的癥狀相同
只是從自己的機器對網(wǎng)絡和服務做出判斷并不夠客觀,也不夠嚴謹。前面我們已經(jīng)大致的推測出故障原因,在這一節(jié)我們嘗試對這個推測進行證明。
要記住這一點:可重復的結(jié)果才是基本可靠的結(jié)果。
為了證實測試結(jié)果的可重復性,我們需要從不同的網(wǎng)絡起點重復相同的測試步驟。
讓我們以公司的實際場景來闡述分析故障的思路。目前隨著網(wǎng)絡技術(shù)的成熟,網(wǎng)絡架構(gòu)也趨于穩(wěn)定,一般的全省級的公司網(wǎng)絡拓撲示意圖如圖三:當然,實際工作中,地市分公司下面,根據(jù)業(yè)務需要,還會有縣級的辦公網(wǎng)絡、營業(yè)網(wǎng)點,實際廣域網(wǎng)絡會達到三層。
1、要保障全省骨干網(wǎng)絡運行安全,在總部核心區(qū)域會采用雙核心路由器和雙核心交換機的冗余架構(gòu),做到核心設(shè)備和線路的冗余,并保證網(wǎng)絡業(yè)務調(diào)整的彈性;
2、服務器區(qū)根據(jù)業(yè)務運行安全考慮,也將進行分區(qū),不同業(yè)務區(qū)域的服務器接入不同的服務器交換機,雙線上聯(lián)到核心交換機。
3、地市公司采用路由器和省公司聯(lián)網(wǎng),公司在線業(yè)務系統(tǒng)重要性較高的情況下,地市分公司到總部會采用租用不同運營商的線路,做雙線上聯(lián)。
4、,公司的辦公室電腦通過接入交換機接入局域網(wǎng)。接入交換機上可根據(jù)辦公業(yè)務區(qū)域劃分VLAN,增加內(nèi)網(wǎng)安全性。
圖三
在這種網(wǎng)絡環(huán)境下,將一般骨干網(wǎng)出故障的情況降到最低,但是實際工作中,還是有不少網(wǎng)絡用戶會反映這樣那樣的網(wǎng)絡問題:例如我們自己的計算機客戶端不能訪問ERP系統(tǒng),并且Ping不通ERP系統(tǒng)的IP地址,那么我們會據(jù)此推測ERP系統(tǒng)的服務器失去響應了;如果在自己電腦上還能ping通其它服務器IP地址,或訪問其它服務(譬如WEB方式訪問OA正常),那ERP系統(tǒng)的服務器失去響應了可能性大大加強;最后,如果在我隔壁辦公室的同事也出現(xiàn)了同樣的問題,我們就有更大的把握說ERP系統(tǒng)確實出現(xiàn)了問題;如果其它反之,如果其他人一切正常,只有我自己無法訪問ERP系統(tǒng),那么很大的概率是自己的計算機出現(xiàn)了問題。#p#
確定服務中斷是軟件還是硬件所致
如果某個服務出現(xiàn)中斷,大致上的原因一般為網(wǎng)絡鏈路、網(wǎng)絡設(shè)備、服務器等硬件問題或者服務器操作系統(tǒng)、應用系統(tǒng)等軟件問題。我們可以使用ping這個操作系統(tǒng)自帶的命令行工具來對這兩種原因進行區(qū)分。
判斷原則:Ping不通服務的IP地址屬于硬件故障,能ping通則為軟件故障。
Ping不通服務的IP地址屬于硬件故障,能ping通則為軟件故障。但是如果設(shè)置了服務器不對Ping做出響應的話,這時候可以使用nmap來探測目標設(shè)備。有關(guān)nmap的資料可參閱《淺議廣域網(wǎng)中主機發(fā)現(xiàn)與管理:http://stlzy.blog.51cto.com/69882/641250
其他人和我一樣嗎?其它系統(tǒng)和疑似故障系統(tǒng)一樣嗎?
只是從自己的機器對網(wǎng)絡和服務做出判斷還是不夠客觀的,我們還需要更嚴謹?shù)恼撟C。前面我們已經(jīng)大致的推測出故障原因,在這一節(jié)我們嘗試對這個推測進行證明。
判斷原則:可重復的結(jié)果才是基本可靠的結(jié)果。
讓我們以幾個假設(shè)來掩飾解決故障的思路。
假設(shè)1:總部A用戶Ping不通服務器a而B用戶可以。
因為A與B用戶訪問服務器a走過的是同樣的網(wǎng)絡路徑,都是經(jīng)過接入交換、核心交換、服務器交換,所以問題出在甲用戶的自身。
假設(shè)2:總部A用戶可以訪問服務器a而不能訪問服務器b,B用戶有同樣的故障現(xiàn)象。
因為A與B用戶訪問服務器a、b走過的是同樣的網(wǎng)絡路徑,所以一般可以證明是服務器b本身問題或者是服務器b接入交換機硬件設(shè)備或上下行網(wǎng)絡鏈路問題。
假設(shè)3:某個分公司E用戶與F用戶不能訪問任何一臺服務器,而總部A、B和分公司C、D四個用戶沒問題。
因為該分公司E、F用戶訪問任何一臺服務器都要經(jīng)過分公司接入交換2和聯(lián)網(wǎng)路由2,所以應該聯(lián)網(wǎng)路由2是關(guān)鍵節(jié)點,聯(lián)網(wǎng)路由2本身的物理故障、聯(lián)網(wǎng)路由的協(xié)議、或者網(wǎng)路由2和核心路由網(wǎng)絡鏈路故障都是首先排除范圍。
假設(shè)4:某個分公司C用戶發(fā)現(xiàn)無法訪問服務器a,詢問后得知其他用戶故障現(xiàn)象相同。
由于每個用戶訪問服務器a的路徑不同,所以越靠近終點的網(wǎng)絡路徑和網(wǎng)絡設(shè)備可疑性最大。從圖三來看節(jié)點是服務器a的接入交換機這節(jié)點可能性最大,為較嚴重故障。
確定斷點在何處
根據(jù)前面的排查,已經(jīng)可以基本的確定是不是服務器的問題。如果是網(wǎng)絡的問題,那么我們還要確定出斷點才行?,F(xiàn)在,我們要使用ping和tracert這兩條命令完成這項工作。
假如我們事前已經(jīng)對網(wǎng)絡的拓撲很了解,并且知道一些關(guān)鍵節(jié)點的IP地址,那么我們只需要參考由近至遠的原則逐個ping這些IP地址就可以知道斷點的位置了。可是我們?nèi)粘RL問的服務有很多,怎樣才能知道數(shù)據(jù)怎樣從我自己的計算機流向某個服務器的呢?Tracert命令就是為了解決這個問題的。只要Tracert某個域名或者IP地址,它就會把經(jīng)過的設(shè)備的IP地址按照先后順序顯示在屏幕上。如果從某一行開始就不再顯示IP地址,那么它的前一行的IP就是你嘗試訪問的目標所能到達的最后一臺設(shè)備的IP地址。
建議在平時網(wǎng)絡正常的時候就Tracert一些經(jīng)常訪問服務器的IP地址,記錄下來正確的步驟是怎樣的。等日后服務出現(xiàn)中斷時可以用來比較路由有沒有發(fā)生變化。#p#
確定真正故障原因
故障的原因永遠是匪夷所思的,需要專業(yè)的技能來做綜合的分析、全盤的考慮和一些專業(yè)的測試。既然作為一個用戶不可能做到這些,那么還是把探索真相這項艱巨的任務交由那些專業(yè)人士來完成吧。下面給出一張有可能造成服務中斷的故障原因的統(tǒng)計圖表,見圖四。
圖四
題外話
現(xiàn)在公司信息中心的崗位劃分的比較細,如果你是某個專業(yè)應用的項目組,那么假設(shè)你現(xiàn)在已經(jīng)大致知道了發(fā)生了什么事,還知道了哪些部門需要對此事負責,那么就致電需要對此事負責的部門,詢問當前是不是一次計劃內(nèi)的停機或者檢修。如果是的話,弄明白為什么事前沒有收到通知。如果不是計劃內(nèi)的,告訴他們你已經(jīng)掌握的所有事情,這可以幫助他們盡快修復。然后致電所有你在排查期間幫助過你的其他部門或者同事,通報最新的消息給他們。最后致電你的關(guān)鍵用戶,向他們解釋發(fā)生了什么事,告知有望恢復正常的時間,并通過有效手段發(fā)布通知所有可能受到影響的終端用戶群。
另外,如果問題處在自己負責維護的范圍內(nèi),請在第一時間修復。
如果你是地區(qū)公司的網(wǎng)管,首先要看這次服務中斷是不是發(fā)生在你自己的職責范圍內(nèi)。如果是的話,修好它。然后通知本公司的關(guān)鍵客戶,把問題解釋清楚。如果你的反應比較遲緩,那么你的關(guān)鍵用戶有可能直接詢問總部的相關(guān)負責人,最后再找回到你的時候壓力會大得多。最后通知可能被涉及的所有終端用戶。
結(jié)語
網(wǎng)絡運維有不同的分工,在大公司和大網(wǎng)絡環(huán)境中這種分工很明確,比如有設(shè)計規(guī)劃網(wǎng)絡的,有管理網(wǎng)絡安全的……很系統(tǒng),也很專業(yè),要達到這樣的高度,需要有深入的理論基礎(chǔ)和豐富的實際經(jīng)驗作為保證。
然而在相對較小的網(wǎng)絡環(huán)境中,網(wǎng)絡管理員負責的事情是從設(shè)計規(guī)劃網(wǎng)絡,建設(shè)網(wǎng)絡,管理服務器,到購買網(wǎng)絡設(shè)備等所有與網(wǎng)絡有關(guān)的事情,經(jīng)常被作為"萬精油"來使用。所以說做這一行的挑戰(zhàn)是很大的,是否能有長進取決于自己。如果能夠一直堅持做下來,并且抓緊時間不斷補充新知識,最終還是可以達到網(wǎng)絡管理的頂峰。
如何開始面對那么多的工作內(nèi)容,我們首先要清理出主次先后。第一步就是要從了解操作系統(tǒng)出發(fā),因為大部分時間我們都是在與各種操作系統(tǒng)打交道,如Windows、Linux、Unix和Mac OS X都是需要涉及的。了解了這些操作系統(tǒng)的理論知識和操作方法還不夠,我們還必須具備解決問題的能力。這需要很強的操作能力和清晰的思路,你可以去網(wǎng)上看看討論區(qū)的文章,多動手處理實際問題。解決問題時不僅要知道解決之道,而且要學會去發(fā)現(xiàn)導致問題的原因。