当前位置: 首页 > news >正文

nfs故障排查

1. 检查当前 nfsd 线程状态

# 查看当前 nfsd 线程数
cat /proc/net/rpc/nfsd | grep th# 查看 NFS 服务器状态
nfsstat -s# 查看当前 NFS 连接
ss -tnp | grep :2049

2. 临时增加 nfsd 线程数

# 查看当前线程数(默认通常是 8)
echo $(cat /proc/fs/nfsd/threads)# 增加线程数(例如增加到 64)
echo 64 > /proc/fs/nfsd/threads# 验证修改结果
cat /proc/fs/nfsd/threads

3. 永久修改 nfsd 线程数

方法一:使用 systemd 服务配置(推荐)

# 创建或编辑 nfs-server 的配置文件
sudo mkdir -p /etc/systemd/system/nfs-server.service.d/
sudo nano /etc/systemd/system/nfs-server.service.d/override.conf
添加以下内容:ini
[Service]
ExecStart=
ExecStart=/usr/sbin/rpc.nfsd -N 2 -N 3 -N 4 128

方法二:在 /etc/sysconfig/nfs 中配置(RHEL/CentOS)

# 编辑 nfs 配置文件
sudo nano /etc/sysconfig/nfs# 添加或修改以下行
RPCNFSDCOUNT=64

方法三:在 /etc/default/nfs-kernel-server 中配置(Debian/Ubuntu)

# 编辑 nfs 配置文件
sudo nano /etc/default/nfs-kernel-server# 添加或修改以下行
RPCNFSDCOUNT=64

4. 重启 NFS 服务使配置生效

# 重新加载 systemd 配置
sudo systemctl daemon-reload# 重启 NFS 服务
sudo systemctl restart nfs-server  # 或 nfs-kernel-server# 检查服务状态
sudo systemctl status nfs-server

5. 优化内核参数(可选)

如果连接数非常大,可能还需要调整相关内核参数:

# 临时修改
echo 65536 > /proc/sys/net/core/somaxconn
echo 2097152 > /proc/sys/net/ipv4/tcp_max_syn_backlog# 永久修改,在 /etc/sysctl.conf 中添加:
sudo nano /etc/sysctl.conf

添加以下内容:

net.core.somaxconn = 65536
net.ipv4.tcp_max_syn_backlog = 2097152
fs.file-max = 65536

应用修改:

sudo sysctl -p

6. 监控和诊断

# 监控 nfsd 线程使用情况
watch -n 1 'cat /proc/net/rpc/nfsd | grep th'# 查看 NFS 性能统计
nfsstat -o all# 监控 NFS 连接数
watch -n 1 'ss -tnp | grep :2049 | wc -l'

建议的线程数设置

  • 小型环境:16-32 个线程
  • 中型环境:32-64 个线程
  • 大型/高并发环境:64-256 个线程

根据你的实际负载情况逐步调整,监控系统资源使用情况(CPU、内存),避免设置过高导致资源浪费。

完成上述配置后,建议观察一段时间,确认错误信息是否消失,并根据实际性能表现进行进一步优化。

http://www.hskmm.com/?act=detail&tid=18070

相关文章:

  • 数字信封
  • 程序员的内容创作利器:深度解析小红书爆款笔记生成提示词
  • Unigine整合Myra UI Library全纪录(2):渲染
  • 元人文AI:为价值创新构筑“舞台”、订立“契约”、预演“未来”
  • 设计一个关于python的if 语句的练习题
  • 基于CSMA/CA协议的V2X通信MATLAB仿真
  • 【招聘专场】想斩获高含金量名企Offer?京东、微芯研究院等企业 软件测试开发岗,虚位以待!
  • 练习题:成绩评定系统
  • Day22方法重写
  • python调试方法:验证安装路径与路径配置
  • CentOS将软件源修改为国内源
  • 【C++进阶】C++11 的新特性 | lambda | 包装器 - 实践
  • orcad放置器件时器件不在预览框中心
  • 易路一站式智能招聘,开启人才管理新纪元
  • kingbase数据库SHELL端迁移工具访问及使用
  • 数据质量定胜负:Apple 如何破解双语大模型性能鸿沟
  • 从零开始:VirtualBox 虚拟机安装与 CentOS 7 部署 + 双网卡网络配置指南
  • 微信个人号api|搭建高效微信机器人系统
  • 【光照】[物理模型]中的[BRDF]是什么?
  • [fakeadmin]-(session伪造flask框架)-CTF
  • 《Linux Robust锁》
  • Manim实现气泡特效
  • 完整教程:决策树(Decision Tree)
  • C# Inno Setup
  • CF2139虚拟游记
  • 新方向 - MKT
  • 翻斗幼儿园历险记-CTF-WP
  • .net8+winform+Antdui 制作 LOL 小助手
  • 深入解析:【Git】Git 简介及基本操作
  • hutool主要内容list