在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
查找占用进程。