伺服器變得無響應
我們的數據庫伺服器有時會變得無響應。它執行完全更新的 Ubuntu 14.04 LTS。在其上執行的值得注意的非 vanilla 軟體是 Nimbus、TSM 和 Oracle。
大約每天一次,它變得沒有響應,到目前為止,在夜間,當一系列維護任務完成時,例如備份。
在它變得沒有反應之後,它似乎永遠保持這種狀態。我無法通過 SSH 訪問它,而且它不接受任何數據庫連接。
奇怪的是,伺服器響應 ping。如果我使用 telnet 打開埠 22(SSH) 或埠 1521(Oracle),我會收到來自伺服器的回复。埠 22 甚至聲明類似“這是 OpenSSH”。但實際上使用 ssh 客戶端或打開數據庫連接只是掛起。
我一直在查看日誌文件,但一無所獲(dmesg、syslog、auth.log 等)。在無響應期間,日誌文件中的活動似乎也很可疑。重新啟動伺服器後,它再次工作。
我的直接反應是執行 apt-get update 和 apt-get dist-upgrade,並監控達到的最大文件描述符限制。但是,Oracle 的硬限制遠不是文件系統的最大值,所以如果是這樣的話,這似乎很奇怪。其他人有什麼想法可能導致這種情況嗎?
編輯:忘了提到 CPU、記憶體和磁碟空間遠未達到 100%。(他們已經被監控了,在這發生之後,我也開始監控打開的文件描述符,但它還沒有再次發生)。我還可以補充一點,我不希望任何人指出確切的問題,但是任何關於要監控的其他事情的想法都將不勝感激。
所有變數看起來都很正常。但是,我編寫了一個 cronjob 來每分鐘輸出日期/時間和文件描述符,並發現文件描述符在正常值範圍內。然而,在凌晨 3 點,伺服器時鐘突然回到了 2 小時(我花了一段時間才從日誌文件中註意到這一點),然後它就死了,日誌中沒有任何錯誤。
原來是託管/WMWare 級別的問題(這不是我關心的問題)。除其他外,WMWare 主機有一段時間完全關閉。在基礎設施公司修復了他們的 WMWare 平台後,它又可以正常工作了。