在Linux中挂载NFS共享目录需遵循以下步骤及注意事项:
-
基础命令:使用
mount -t nfs <服务器IP>:<共享目录> <本地挂载点>,可附加参数如nfsvers=4.1明确版本,或soft/hard定义重试策略。例如:mount -t nfs -o nfsvers=4.1 192.168.1.100:/data/share /mnt/nfs -
依赖安装:客户端需安装NFS工具包(Ubuntu为
nfs-common,CentOS为nfs-utils),否则会报mount.nfs: command not found错误。 -
挂载点权限:确保本地挂载点目录存在且权限匹配,否则可能导致读写失败。
-
开机自动挂载:在
/etc/fstab中添加类似配置:192.168.1.100:/data/share /mnt/nfs nfs _netdev,rw 0 0其中
_netdev避免系统启动时因网络未就绪挂载失败。
实践经验与挑战:
-
防火墙问题:NFS v3需开放
111(rpcbind)、20048(mountd)、2049(nfsd)端口,v4仅需2049。若未配置,会触发Connection refused或超时错误。 -
权限映射:服务器与客户端UID/GID不一致可能导致权限错误。可通过NFS配置
anonuid/anongid或统一用户ID解决。 -
版本兼容性:强制指定
nfsvers=3或4可避免版本协商失败。例如旧服务器仅支持v3时,需显式声明。 -
稳定性处理:
- 使用
hard参数时网络中断可能导致进程卡死,soft可能引发数据损坏,需权衡选择。 - 添加
timeo=60(60*0.1秒重试间隔)及retrans=3控制重试逻辑。
- 使用
-
故障排查:
rpcinfo -p <服务器IP>验证服务状态。- 检查
/var/log/messages及NFS服务器/etc/exports的共享配置。 - 使用
mount -v输出详细日志定位问题。
-
卸载异常:若
umount失败,可通过lsof /mnt/nfs或fuser -mv /mnt/nfs查找占用进程。