Openvz

伺服器神秘重啟

  • May 14, 2012

我有一個幾乎每天都會執行重啟的 VPS。我今天終於設法從我的日誌中得到了一個線索

May 12 03:14:49   sshd[19379]: Did not receive identification string from 173.212.118.167
May 12 03:25:03   sshd[19489]: Did not receive identification string from 82.248.74.71
May 12 03:25:15   sshd[19493]: Did not receive identification string from 98.249.28.85
May 12 03:30:25   shutdown[19545]: shutting down for system halt
May 12 03:30:29   init: Switching to runlevel: 0
May 12 03:30:34   saslauthd[1654]: server_exit     : master exited: 1654
May 12 03:30:34   sshd[1656]: Received signal 15; terminating.
May 12 03:30:34   sshd[1655]: Received signal 15; terminating.
May 12 03:30:35   kernel: Kernel logging (proc) stopped.
May 12 03:30:35   kernel: Kernel log daemon terminating.
May 12 03:30:35   syslog-ng[364]: Termination requested via signal, terminating;
May 12 03:30:35   syslog-ng[364]: syslog-ng shutting down; version='3.2.2'
May 12 03:34:23   syslog-ng[388]: syslog-ng starting up; version='3.2.2'
May 12 03:34:24   ifup:     lo        
May 12 03:34:24   ifup:     lo        
May 12 03:34:24   ifup: IP address: 127.0.0.1/8  

看起來像一個程序自願執行了重新啟動。這似乎每天都在同一時間發生。幸運的是,停機時間很短。

我檢查了 cron 作業以查看是否有任何相關條目,但沒有。奇怪的是,重新啟動通常使用執行級別 6,而不是 0。執行級別 0 應該關閉伺服器,但它會在幾秒鐘內重新啟動。

我能做些什麼來找到更多關於這個的資訊?

根據您的日誌,有些東西正在呼叫該shutdown實用程序來執行關機。我會(暫時)用/sbin/shutdown記錄一堆資訊的腳本替換,如下所示:

#!/bin/bash
set > /shutdown.env
ps auxfwww > /shutdown.ps

然後,您可以查找PPID=in /shutdown.env,並查看/shutdown.ps該 pid 是什麼。

chmod +x(安裝到位後不要忘記腳本。我會執行一次以確保它有效)。

您日誌中的這一行init: Switching to runlevel: 0並不意味著未使用執行級別 6:可能是,因為您的伺服器確實重新啟動。

檢查last reboot它是否是正常事件。如果是這樣,請重新檢查所有 cron 作業;last 還會顯示伺服器重新啟動時誰已登錄。

檢查 sudo 日誌(您可能需要啟用 sudo 日誌記錄)。

您也可以嘗試使用 此處auditctl -a entry,always -S reboot 描述的審核機制

引用自:https://serverfault.com/questions/388476