跳转至

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错误.

回到页面顶部