今天上班在對線上服務器備份系統做對照測試驗證時,發現線上正在使用的響應似乎慢了備份系統一些,而且有些頁面強制刷新,都基本上顯示不完全。估計是服務器出問題了,就到去查看,發送一臺服務器負載較高, 三個 都過 4 了,但沒有發現佔用資源很大的進程,估計是系統的問題了,df 了一下,顯示到 nfs掛載分區時卡住了,接着查看message 日誌,發現有以下提示:
- Jul 25 09:25:27 dowload_server2 kernel: INFO: task php-fpm:2914 blocked for more than 120 seconds.
- Jul 25 09:25:27 dowload_server2 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
- Jul 25 09:25:27 dowload_server2 kernel: klogd 1.4.1, ---------- state change ----------
- Jul 25 09:25:27 dowload_server2 kernel: php-fpm D ffffffff80151248 0 2914 19432 2922 2801 (NOTLB)
- Jul 25 09:25:27 dowload_server2 kernel: ffff81015963bc78 0000000000000082 ffff81015963be2c ffff81015963be18
- Jul 25 09:25:27 dowload_server2 kernel: ffffffff8001eafa 000000000000000a ffff8102e8209860 ffff81042fada860
- Jul 25 09:25:27 dowload_server2 kernel: 001338af01c9940d 0000000000002a06 ffff8102e8209a48 00000005884b5ae2
- Jul 25 09:25:27 dowload_server2 kernel: Call Trace:
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff8001eafa>] __pollwait+0x0/0xe2
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff80065b29>] _spin_lock_bh+0x9/0x14
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff80064c6f>] __mutex_lock_slowpath+0x60/0x9b
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff800097ec>] __d_lookup+0xb0/0xff
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff80064cb9>] .text.lock.mutex+0xf/0x14
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff8000cef1>] do_lookup+0x90/0x1e6
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff8000a23c>] __link_path_walk+0xa01/0xf42
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff8000ea11>] link_path_walk+0x42/0xb2
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff8000cce1>] do_path_lookup+0x275/0x2f1
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff8001283d>] getname+0x15b/0x1c2
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff800238c3>] __user_walk_fd+0x37/0x4c
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff8003f539>] vfs_lstat_fd+0x18/0x47
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff8002ab63>] sys_newlstat+0x19/0x31
- Jul 25 09:25:27 dowload_server2 kernel: [<ffffffff8005e116>] system_call+0x7e/0x83
還有:
- Jul 25 09:25:50 dowload_server2 kernel: nfs: server 10.1.10.100 not responding, still trying
- Jul 25 09:26:24 dowload_server2 last message repeated 5 times
- Jul 25 09:26:32 dowload_server2 last message repeated 7 times
(對於:nfs: server 10.1.10.100 not responding, still trying ,網上有其他說法,是傳輸的數據較大,需要用tcp方式,可以參考:http://www.cnblogs.com/elect-fans/archive/2011/12/25/2408598.html )
檢查了php-fpm ,nginx 都正常,從日誌看,是nfs掛載出故障了,檢查一下nfs看看
- sudo /usr/sbin/showmount –e 10.1.10.100
出現如下提示:
- mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive
難道是服務器內網不通,ping測試了一下,還真是不通耶。這就是故障點了。
修改配置,暫停http請求發到這臺服務器,停止 nginx ,php-fpm,umount nfs 。
重啓本機的網絡服務,ping測試正常,重新 mount,ok,啓動 php-fpm,nginx,把http請求再覆蓋到這臺服務器上,搞定。
從其他同事那裏獲知,硬件設備 R710, 系統安裝的網卡驅動有問題(是由於DEL網卡驅動的一個bug引起,這個bug在Redhat 5.3 5.4 5.5和Centos系統中存在),需要重新安裝驅動。網卡驅動安裝可參看: http://blog.chinaunix.net/uid-20639775-id-3187093.html
另加上內網 ping 監控。