网络文件系统实战:NFS配置与使用指南

一、NFS核心概念与版本选择

NFS (Network File System) 是Linux/UNIX系统中最常用的分布式文件系统协议。

版本对比:

  • NFS v3:生产环境常用,支持大文件,依赖RPC服务
  • NFS v4:现代推荐,单一端口,安全性更好

推荐: 新部署使用NFS v4,现有v3环境确保安全配置

二、服务器配置

1. 安装与启动

1
2
3
4
5
6
7
# CentOS/RHEL
dnf install nfs-utils
systemctl enable --now nfs-server

# Ubuntu/Debian
apt install nfs-kernel-server
systemctl enable --now nfs-server

2. 配置共享

创建共享目录

1
2
mkdir -p /data/nfs_share
chown nfsnobody:nfsnobody /data/nfs_share

编辑 /etc/exports

1
2
3
4
5
# 读写共享给特定网段
/data/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)

# 只读共享给所有客户端
/home/public *(ro,sync)

应用配置

1
2
exportfs -ra
exportfs -v

主要选项: rw/ro(读写/只读)、sync(同步写入,推荐)、no_root_squash(允许root权限)

三、客户端使用

1. 客户端安装

1
2
3
4
5
# CentOS/RHEL
dnf install nfs-utils

# Ubuntu/Debian
apt install nfs-common

2. 挂载NFS共享

临时挂载

1
2
# NFS v4挂载(推荐)
mount -t nfs4 -o rw,hard,intr 192.168.1.10:/data/nfs_share /mnt/nfs

永久挂载(编辑 /etc/fstab

1
2
192.168.1.10:/data/nfs_share /mnt/nfs nfs4 rw,hard,intr 0 0
mount -a

挂载选项: hard(硬挂载,生产推荐)、intr(允许中断)、timeo=600(超时时间)

四、实用命令与故障排除

1. 状态检查

1
2
3
4
5
6
7
8
# 查看共享状态
showmount -e 192.168.1.10

# 查看挂载状态
mount | grep nfs

# 强制卸载
umount -f /mnt/nfs

2. 连接测试

1
2
3
4
5
# 测试服务连通性
rpcinfo -p 192.168.1.10

# 查看统计信息
nfsstat

3. 常见问题

挂载超时: 检查网络连通性 ping 192.168.1.10,检查防火墙

权限拒绝: 检查服务端权限 ls -la /data/nfs_share

五、安全配置

1. 防火墙配置

1
2
3
# NFS v4仅需2049端口
iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -p udp --dport 2049 -j ACCEPT

2. 最佳实践

  • 精确指定客户端IP范围,避免使用*
  • 使用NFS v4提升安全性
  • 定期监控磁盘空间和日志

生产建议: 使用NFS v4,配置合适的挂载参数,确保网络安全。