我有一个在 Ubuntu 12.04LTS 上运行的 v4 NFS 服务器。它是四个外部 nginx 网络服务器挂载以向网站访问者提供服务的网络资产的主要存储库。这些客户端服务器通过只读挂载连接到它。当我检查挂载时,每个 RO 服务器都会显示以下内容:
10.0.0.90:/assets 上的 /var/www/assets 类型 nfs4 (ro,addr=10.0.0.90,clientaddr=0.0.0.0)
NFS 主服务器的 /etc/exports 文件包含每个服务器的如下条目:
/mnt/lvm-ext4 10.0.0.40(ro,fsid=0,不安全,no_subtree_check,异步)
我发现的问题是这些客户端最终会占用 NFS 服务器上的所有 RAM,并导致服务器崩溃。如果我这样做,watch free -m
我可以看到已用内存逐渐增加,直到用完,然后看到可用缓冲区/缓存条目逐渐减少到接近零,然后服务器最终锁定并需要重新启动。
某种内存泄漏导致了这种情况,最佳解决方案是找到并修复它,但与此同时,我需要找到一种方法让 NFS 服务器使用其所有 RAM 保护自己免受连接的客户端的攻击。一定有某种设置可以限制客户端可以使用的资源,但我似乎找不到它。
rsize
我尝试调整和的值,wsize
但它们似乎没有帮助或相关。
谢谢您的任何提示。