管理員須知:Web服務器宕機的診斷方法
如果你正面臨Web服務器宕機的問題,下面幾招可以幫你解決燃眉之急并避免再次出現此類事故。
過去20年里,網絡已成為文明的重要部分。從社會需求層次看,網絡需求排名僅低于飲用水與可靠電力供應,網絡為人類社會提供了更多的生產力,個人娛樂以及整體生活質量改善在過去半個世紀的發展,是以往任何時期都無法比擬的。
網站
通過訪問網站滿足需求已經被許多現代用戶接受:可以通過Web進行學術研究、個人致富和訂披薩,用戶可以在舒適的家里完成這一切操作。為了競爭,最有信譽的企業也投身到世界級網站建設中,一般說來,就是深入Web服務器的開發,配置和維護。隨著企業越來越依賴他們的Web服務,這些服務器配置也變得越來越復雜,需要更加注重應急預案,應對服務器或集群宕機。
冗余與Web服務器
在進行下一步之前,讓我們先強調冗余的重要性。過去,冗余解決方案不盡相同,但都涉及到物理硬件的采購和部署實施。如今,虛擬化的廣泛應用已造就了雪球效應,影響了冗余平臺的設計與實施。企業級環境依舊需要多臺服務器,只是沒有想象的那么多。無論哪款虛擬化平臺,只是簡單選擇一款而不進行詳細規劃設計的話,距離減少web服務器宕機和失效時間目標,還有很長的路要走。
步驟 1:發生什么事了?
系統管理員必須肩負起分析和判斷Web服務器宕機原因的責任。需要解決如下的問題:
• 是否是斷電,發電機測試以及其他類似問題影響了整體物理環境?
• 和Web服務器的通信是否已經完全被阻斷,還是某些IP段依舊可以使用?
• 是否還可以管理服務器?
• 日志中是否有異常記錄?
這些只是少部分管理員們需要立即回答的問題,在深入診斷問題之前,先解決上述問題。
步驟 2:最簡單的解決方案往往是最好的
有很多時候會陷入診斷高級問題的誤區,分析各種可能的技術問題和疑難雜癥。而實際上,退一步想,從宏觀角度思考問題,可能解決已花費無數工時和成本卻還未攻克的技術難題。例如,主機通電了嗎,或者是否有人無意間碰掉了電源線?如果機器確實已經通電,但沒有任何網絡連接,需要檢查網線或者光纖是否沒有接上或者松動。是的,這些看似明顯低級錯誤的解決方法,你認為都不可能發生,但任何有經驗的系統管理員會告訴你,這些狀況的發生頻率遠比你想的要多的多。#p#
經過上頁的兩個步驟,如果你的Web服務器還是宕機狀態,別著急,還有下面三個步驟。
步驟3:如果基本故障處理方法沒有效果,怎么辦
現在你已經檢查了所有電纜和其他外圍設備,可以試著使用ping命令探測設備狀況。幸運的是,ping命令是所有平臺通用的,也是最簡單的。如果可以在局域網內ping通服務器,接著可以試試從局域網外ping服務器進行檢測。這樣做可以迅速判斷問題是否產生在交換和路由層面,而不是服務器級別。此外,如果Web服務器已經虛擬化,試著ping物理服務器自己的真實IP。這樣可以幫助你進一步隔離問題。如果完全無法ping同服務器,而且也已經確定完全檢查了網絡連接,那么就需要進行更深入的分析了。
步驟 4:使盡渾身解數,服務器依然宕機
已經檢查過網線。也試過了ping服務器,依舊無法訪問服務器。好消息是,已經可以將問題定位到物理服務器或操作系統本身了。換句話說,已經可以開始集中經理對現存的問題進行排查。
接下來,我們才去從底層到高層的方式來逐層檢查問題,首先檢查網絡接口和本地網絡配置是否正常。DHCP是否啟動?Web服務器是否指向正確的DNS服務器?如果是這樣,可以根據使用的操作系統平臺,檢查Web服務是否正常開啟。在Windows環境,需要檢查服務器是否具有Web服務的角色。在Linux環境下,檢查會更復雜,可以試試查找http相關的文件或服務來確保服務器是否正在運行。
步驟 5:絕境下需要動用絕招
如果以上方法都不奏效,檢查日志并嘗試查明在Web服務器宕機時日志中記錄的那些信息。將這些信息發給在故障處理和解決領域更有經驗的專業人士,可能會獲得更多的幫助。同樣的,如果已經確認網絡連接不是問題,就可以使用Wireshark抓包工具對網絡中傳輸的數據進行抓取分析,以此協助處理問題。
總而言之,服務器宕機的原因多種多樣。斷電、配置錯誤、防火墻設置錯誤、甚至是來自互聯網的惡意流量,都可能引發源站宕機并讓系統管理員們抓狂。所有這些問題都足以讓企業決策者對冗余解決方案的設計和實施加以重視,同樣的針對故障處理流程的設計和制定,還需要根據企業自身網絡的實際情況為依據。