實例解析:挑燈看故障
我們有一臺Sun E250服務器,主要用作WWW發布用。一直以來運行比較穩定,但是前一段時間重啟了該服務器一次后,發現這臺服務器前面板的6個LED指示燈中中間的那兩個指示燈常亮,而以前沒有發現這種現象,基本上可以定位為告警指示。我到SUN的網站上下載了E250服務器的手冊,查了一下,了解到那個扳手一樣的LED指示燈(圖1)
圖1
在系統運行時亮表示檢測到系統錯誤(任何可能的錯誤)。那個溫度計一樣的LED指示燈(圖2)亮表示系統溫度過高。
圖2
知道了LED指示燈帶給我們的錯誤信息以后,我們就開始從機房的環境溫度、操作系統故障這兩方面來著手解決問題。
機房環境溫度:
我們機房是采用中央空調和獨立空調兩套空調系統,可以有效的保證室內的環境溫度,即使在夏天最熱的時候,也可以將溫度調節到二十度左右,而且和這臺WWW服器并排放在一齊的還有兩臺同型號的服務器,它們就沒有溫度過高的告警。
操作系統故障:
通過查看/var/adm下的messages文件,發現確實有溫度過高的日志記錄
以下是引用片段: Aug 31 19:17:18 ns unix: WARNING: TEMPERATURE WARNING: 63 degrees celsius at location CPU0 Aug 31 19:23:33 ns unix: NOTICE: TEMPERATURE NORMAL: all sensors back to normal readings |
再查看/var/log目錄下的syslog文件,發現有大量重復的告警信息出現,如下:
以下是引用片段: Aug 31 14:35:45 ns sendmail[19588]: NOQUEUE: [202.112.174.17] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA |
由此可以基本上判斷出是由于這個主機被當作了垃圾郵件的轉發器,被某些惡意主機大量利用sendmail程序發送郵件造成了系統負擔過重(我們的郵件服務器(同樣是是Solaris操作系統,已經利用增加SMTP認證功能有效的杜絕了垃圾郵件的轉發,但是這臺WWW服務器默認啟動了sendmail郵件服務,但是又沒有實現SMTP認證功能。在Solaris7中文版中是無法成功的配置SMTP認證的,我們的郵件服務器是在升級到Solaris8以后才配置成功SMTP認證,我們的WWW服務器目前還沒有升級到Solaris8,這個漏洞造成了WWW服務器的負擔過重,而這個頻繁使用的進程竟然是發送垃圾郵件),好了,知道這個問題,我們就可以從手解決了。
第一步,利用ps -ef | grep sendmail查出sendmail的進程號,再用“kill 進程號”命令殺掉sendmail進程。
第二步,不讓sendmail進程隨系統啟動自動啟動,用以下命令實現:
以下是引用片段: cd /etc/rc2.d mv S88sendmail s88sendmail |
以上兩步完成后,再去WWW服務器那兒一看,告警指示燈就不亮了,經過了近一個星期的觀察,也沒有再出現類似的告警。這個問題成功解決。
【編輯推薦】