NFS故障对Nginx服务器的影响
2015-06-15 by dongnan
环境
操作系统: CentOS 6.7 amd64
NFS服务端: 10.0.100.11
NFS客户端: 10.0.100.12 # Nginx
NFS共享目录配置
cat /etc/exports
/path/www/ 10.0.100.12(rw,sync)
Nginx挂载NFS命令
mount -t NFS -o nosuid,noexec,nodev,rw -o bg,soft,rsize=32768,wsize=32768 10.0.100.11:/path/www/ /path/www/
测试
- 模拟NFS服务器故障
- 刷新网站几次
- NFS服务器恢复
服务器故障
NFS客户端(Nginx)首先系统日志有大量的报错信息
tail -n2 /var/log/messages
Jun 12 10:27:12 web02 kernel: NFS: server 10.0.100.11 not responding, timed out
Jun 12 10:37:15 web02 kernel: NFS: server 10.0.100.11 not responding, timed out
其次系统负载值飙升
uptime
10:36:29 up 19 min, 2 users, load average: 15.76, 5.03, 1.89
服务器恢复
NFS服务器长时间故障恢复后, NFS
客户端使用 bg
参数将在后台多次尝试再次挂载。
系统日志
Jun 12 10:43:27 web02 kernel: NFS: server 10.0.100.11 not responding, timed out
Jun 12 10:43:27 web02 kernel: NFS: state manager: check lease failed on NFSv4 server 10.0.100.11 with error 5
Jun 12 10:48:27 web02 kernel: NFS: server 10.0.100.11 not responding, timed out
Jun 12 10:53:27 web02 kernel: NFS: server 10.0.100.11 not responding, timed out
Jun 12 10:53:27 web02 kernel: NFS: server 10.0.100.11 not responding, timed out
Jun 12 10:53:27 web02 kernel: NFS: state manager: check lease failed on NFSv4 server 10.0.100.11 with error 5
Jun 12 10:58:27 web02 kernel: NFS: server 10.0.100.11 not responding, timed out
多次尝试后恢复
df -Th | tail -n2
10.0.100.11:/path/www/
NFS 20G 500M 18G 3% /path/www
小结
由于NFS服务器不可用,持续的访问NFS目录资源导致Nginx
服务器系统挂起,最终反向代理服务器返回502
错误.