Linux挂载NFS目录详细教程
时间:2026-01-06 13:37:38 188浏览 收藏
知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个文章开发实战,手把手教大家学习《Linux挂载NFS共享目录教程》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!
NFS挂载失败需依次排查服务端配置、客户端连通性、临时挂载、自动挂载及常见问题;具体包括安装工具、配置exports、启停服务、放行防火墙、验证showmount/rpcinfo、正确mount及fstab设置,并通过rpcbind、SELinux、NFS版本等修复。

如果您在Linux系统中需要访问远程服务器上的NFS共享目录,但本地无法正常挂载,则可能是由于服务端未启用NFS、防火墙拦截、客户端未安装NFS工具或挂载参数配置错误。以下是完成NFS服务端配置与客户端连接的具体步骤:
一、服务端配置NFS共享目录
NFS服务端需安装nfs-utils包,定义共享路径及权限策略,并启动相关服务,使目录可供网络访问。
1、执行yum install -y nfs-utils(CentOS/RHEL)或apt install -y nfs-kernel-server(Ubuntu/Debian)安装NFS服务组件。
2、创建待共享的目录,例如mkdir -p /srv/nfs/share,并设置适当属主与权限:chown nobody:nogroup /srv/nfs/share,chmod 755 /srv/nfs/share。
3、编辑/etc/exports文件,添加共享条目,如:/srv/nfs/share *(rw,sync,no_subtree_check,no_root_squash),其中*表示允许所有客户端,生产环境应替换为具体IP网段。
4、运行exportfs -a重新加载导出表,并执行systemctl enable --now nfs-server(RHEL系)或systemctl enable --now nfs-kernel-server(Debian系)启动服务。
5、配置防火墙放行NFS端口:执行firewall-cmd --permanent --add-service=nfs与firewall-cmd --reload(firewalld),或使用ufw allow from 192.168.1.0/24 to any port 2049(UFW)。
二、客户端安装NFS工具并测试连通性
客户端必须安装NFS客户端软件包,确认能与服务端通信且端口可达,是成功挂载的前提。
1、执行yum install -y nfs-utils(CentOS/RHEL)或apt install -y nfs-common(Ubuntu/Debian)安装客户端工具。
2、使用showmount -e 服务端IP地址命令验证服务端是否正确导出目录,若返回共享路径列表则说明NFS服务可访问。
3、使用rpcinfo -p 服务端IP地址检查NFS相关RPC服务是否注册运行,重点关注nfs、mountd、nlockmgr三项状态。
4、执行ping -c 3 服务端IP地址确认基础网络连通性;若失败,需排查路由、网卡配置或中间防火墙策略。
三、客户端临时挂载NFS共享目录
通过mount命令将远程NFS目录挂载至本地空目录,适用于测试或短期使用场景,重启后失效。
1、创建本地挂载点:mkdir -p /mnt/nfs-share。
2、执行挂载命令:mount -t nfs 服务端IP地址:/srv/nfs/share /mnt/nfs-share。
3、添加常用挂载选项以提升稳定性,例如:mount -t nfs -o rw,hard,intr,timeo=14,rsize=8192,wsize=8192 服务端IP地址:/srv/nfs/share /mnt/nfs-share。
4、运行df -h | grep nfs或mount | grep nfs确认挂载成功,随后可进入/mnt/nfs-share进行读写验证。
四、客户端配置开机自动挂载NFS目录
将NFS挂载项写入/etc/fstab,实现系统启动时自动挂载,需注意网络就绪时机与容错机制。
1、备份原fstab文件:cp /etc/fstab /etc/fstab.bak。
2、向/etc/fstab末尾追加一行:服务端IP地址:/srv/nfs/share /mnt/nfs-share nfs defaults,hard,intr,timeo=14,_netdev 0 0,其中_netdev确保等待网络就绪后再挂载。
3、执行mount -a测试fstab语法是否正确,无报错即表示配置有效;若提示RPC: Remote system error - Connection refused,说明NFS服务未运行或网络未通。
4、重启系统前,可先执行systemctl enable NetworkManager-wait-online.service(部分发行版需启用该服务保障网络依赖)。
五、常见挂载失败问题排查与修复方法
当挂载失败时,需结合日志、服务状态和网络状态分层定位,以下提供三种独立可行的修复路径:
1、检查NFS服务端rpcbind是否运行:在服务端执行systemctl status rpcbind,若未激活则运行systemctl enable --now rpcbind,RHEL 8+需额外启用rpc-statd服务。
2、禁用SELinux临时验证影响:在客户端和服务端分别执行setenforce 0,若此时挂载成功,则需调整SELinux布尔值:setsebool -P nfs_export_all_ro=1 nfs_export_all_rw=1。
3、改用NFSv3协议绕过版本协商问题:在客户端挂载时显式指定版本,例如mount -t nfs -o nfsvers=3 服务端IP地址:/srv/nfs/share /mnt/nfs-share,适用于服务端NFSv4配置异常但v3可用的情况。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
332 收藏
-
276 收藏
-
337 收藏
-
464 收藏
-
444 收藏
-
376 收藏
-
497 收藏
-
277 收藏
-
497 收藏
-
183 收藏
-
101 收藏
-
430 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习