虚拟机如何开启NFS服务,linux nfs共享怎么设置

虚拟机开启NFS这事,本质上就是给系统装一个NFS软件包,改一行配置文件,再启动服务,三步走完。 但在实际环境里,相当一部分人在虚拟机上卡在权限、防火墙或者网络配置上,挂载不成功,这篇文章把完整流程和常见坑一次性讲清楚。

虚拟机开启NFS之前,先弄明白这几个关键问题

虚拟机NFS和Samba怎么选

NFS是Linux和Unix生态里的文件共享协议,客户端访问时跟访问本地磁盘一样,不产生文件锁冲突,Samba走的是SMB/CIFS协议,主要服务于Windows和Linux混杂的环境。

Linux---NFS服务器配置
加载中
Linux---NFS服务器配置

行业共识认为,如果虚拟机清一色Linux,NFS在性能和资源占用上比Samba更划算,办公网里Windows机器多,Samba更省事,这个选择没有绝对的“哪个好”,只看手头机器的操作系统构成。

哪些场景适合在虚拟机上配置NFS

拿常见的开发环境举例:一台虚拟机装CentOS,另一台测Kubernetes,两边都要用同一个代码目录,用NFS挂载一次,两边同时读写,目录结构保持同步,省掉来回拷贝的功夫。

  • 虚拟机迁移后数据还在原宿主机,NFS可以在一定程度上实现存储和计算分离
  • 多台虚拟机共享同一份配置或证书文件
  • Linux虚拟机上搭建WordPress或Nextcloud,把数据目录挂到远端存储上

这些场景背后的逻辑都一样:把存储从虚拟机里剥离出来,放到网络另一端,现在很多人直接把NFS跑在云虚拟机上,比如在华北2(北京)或华东1(杭州)开一台按量付费的Linux云主机,配置2核4G,专门做团队共享存储,按小时计费,多数时段一小时成本不到一块钱,不开机不产生费用,测试阶段比买物理NAS省得多。

虚拟机怎么开启NFS服务,一条龙操作步骤

以下步骤以CentOS 7/8、Ubuntu 20.04/22.04为例,其他发行版命令大同小异。

第一步:确认内核支持并安装软件包

先看内核模块是否在编:

cat /proc/filesystems | grep nfs

虚拟机如何开启NFS服务,linux nfs共享怎么设置

输出里有nfsd,说明内核支持,然后装软件包:

# CentOS / RHEL系列
yum install -y nfs-utils
# Ubuntu / Debian系列
apt update && apt install -y nfs-kernel-server

装完之后确认安装版本:

rpm -qa | grep nfs-utils   # RedHat系
dpkg -l | grep nfs-kernel  # Debian系

第二步:修改/etc/exports配置文件

这是整个配置中最核心的一步,编辑/etc/exports,每一行定义一条共享规则:

/shared/data  192.168.1.0/24(rw,sync,no_root_squash)

几个常见参数的含义:

  • rw表示读写,ro表示只读
  • sync是同步写入,配合wdelay使用可以适当减少写放大
  • no_root_squash允许客户端root用户保留root权限,个人测试环境用这个省事,生产环境建议换成root_squash
  • 授权对象可以用168.1.0/24网段,也可以用.example.com通配域名

改完先检查配置语法:

exportfs -arv

这条命令会重新加载所有导出项,有语法错误会当场报错。

第三步:启动服务并设置开机自启

# CentOS 7/8
systemctl enable --now nfs-server
# Ubuntu 20.04以上
systemctl enable --now nfs-kernel-server

老教程里的service nfs start在新版systemd环境下不好使,育成交给systemd管的习惯。

第四步:客户端挂载并验证

在另一台虚拟机(或宿主机)执行:

mkdir -p /mnt/nfs_test
mount -t nfs 192.168.1.10:/shared/data /mnt/nfs_test
df -h | grep nfs_test

看到挂载点出现在df结果里,说明通了,想开机自动挂载,就写进/etc/fstab:

168.1.10:/shared/data  /mnt/nfs_test  nfs  defaults,noatime,_netdev  0  0

虚拟机NFS挂载不上怎么办,排查思路和实操命令

虚拟机如何开启NFS服务,linux nfs共享怎么设置

挂载失败是最常见的问题,按下面顺序排查,绝大多数情况能定位。

权限和用户映射导致的访问失败

客户端能挂上,但读写时报Permission denied,多半是root_squash和属主不一致造成的,先看服务端共享目录的属主和权限:

ll -d /shared/data

目录属主是root且权限是755,客户端的普通用户自然写不进去,两个解决方向:

  • 把目录属主改成nfsnobody(CentOS)或nobody(Ubuntu)
  • 在exports配置里针对特定客户端加no_root_squash,本地测试随意,生产环境慎用

防火墙和SELinux拦截NFS流量

NFS依赖多端口,被防火墙拦住的概率相当大,CentOS如果开了SELinux,先临时放开试试:

setsebool -P nfs_export_all_rw 1

再放行防火墙服务:

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload

Ubuntu的ufw只需要一条命令:

ufw allow nfs

如果服务端手动固定了端口,还得额外放行对应端口,没固定就省事一些。

网络和共享参数排查

客户端先执行:

showmount -e 192.168.1.10

能列出导出列表,说明网络通、服务在跑,列不出来,就按顺序ping、telnet 2049端口、查rpcbind状态:

systemctl status rpcbind
ss -tlnp | grep 2049

链路断在哪一环,问题就出在哪,多数情况下,NFS挂载失败都是防火墙或rpcbind状态异常,不是协议本身的问题。

虚拟机NFS性能调优和安全加固,上线前记得做这几件事

性能参数:挂载选项别省

客户端挂载时加上noatime和nodiratime,减少不必要的写操作,网络带宽充足的场景,可以在exports里设置

虚拟机如何开启NFS服务,linux nfs共享怎么设置

wdelay(延迟合并写)替代sync,写吞吐会高一些,但掉电风险随之上升,实验环境无所谓,生产环境请老老实实用sync。

亲测一个批量生成图片的任务,虚拟机挂NFS从默认参数换成noatime加rsize=32768、wsize=32768之后,整体耗时缩短了三分之一左右。读写块大小和atime更新,是NFS性能最明显的两个变量。

安全加固:默认暴露要收敛

NFS默认信任内网,但建议做一份最小化授权:

  • exports里用精确IP或网段,别用
  • 只导出必要目录,别把根目录丢出去
  • 条件允许时加sec=krb5p做加密认证
  • 客户端只需读的场景就用ro

回到开头那句话,虚拟机开启NFS,真的就是装包、改配置、起服务这三板斧,权限、防火墙、网络这三关守住了,挂载顺利就是自然的事。

虚拟机NFS问与答:挂载故障定位思路

问题1:虚拟机开了NFS服务,宿主机挂载超时,怎么办?

先确认虚拟机的网络模式,NAT模式下宿主机和虚拟机不在同一广播域,需要切换桥接模式或配置端口转发,接着检查虚拟机内部防火墙是否放行NFS相关端口,再确认服务端/etc/exports里允许的网段包含宿主机的IP。

问题2:NFS挂载后虚拟机重启,发现挂载点丢失?

检查/etc/fstab中挂载选项是否包含_netdev,NFS依赖网络,系统启动时网络栈可能还没就绪,加_netdev可以让挂载动作等待网络就绪后再执行。

问题3:NFS服务端重启后,客户端挂载的目录变成只读?

这是NFS常见的“陈旧句柄”问题,客户端重新执行umount -l强制卸载,再次挂载即可,如果现象反复出现,重点检查服务端导出的目录路径是否有变更,以及客户端/etc/fstab里的远程路径是否写错。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/%e8%99%9a%e6%8b%9f%e6%9c%ba%e5%a6%82%e4%bd%95%e5%bc%80%e5%90%afnfs%e6%9c%8d%e5%8a%a1%ef%bc%8clinux-nfs%e5%85%b1%e4%ba%ab%e6%80%8e%e4%b9%88%e8%ae%be%e7%bd%ae/

赞 (0)
我的世界3u3c服务器怎么进,进不去解决方法是什么
上一篇 2026年9月15日 10:48
腾讯企业邮箱域名如何购买?,需要什么条件?
下一篇 2026年9月15日 10:49

相关推荐

  • 服务器提升速度怎么弄?服务器网速慢如何加速

    服务器响应速度直接决定用户体验与业务转化率,核心结论在于:服务器提速并非单一硬件升级,而是硬件资源配置、网络架构优化、软件环境调优及安全防护策略的综合系统工程,实现毫秒级响应,必须从底层资源分配到应用层代码执行进行全链路排查与优化,构建高性能、高可用的技术架构,硬件资源配置是性能提升的物理基础硬件性能瓶颈往往是……

    2026年3月11日
    11900
  • arma3联机服务器有哪些?,哪个服务器好?

    Arma 3联机服务器主要分为官方服务器、社区服务器和自建服务器三大类,其中社区服务器数量最多、玩法最丰富,是绝大多数玩家的首选,联机服务器类型解析官方服务器:基础但稳定官方服务器由Bohemia Interactive直接运营,主要提供标准游戏模式,如战役、征服等,这类服务器稳定性高,但模式固定,自定义程度低……

    2026年8月7日
    800
  • 哪里能下载服务器直播软件?专业服务器直播平台安装包获取

    服务器直播软件下载与专业部署指南服务器直播软件(流媒体服务器软件) 是构建专业直播平台的核心引擎,它负责接收主播端的音视频流(推流),进行高效处理(如转码、录制、截图、协议转换),并将处理后的流分发至大量观众端(拉流),常见的开源及商业解决方案包括:SRS (Simple RTMP Server):国产优秀开源……

    2026年2月9日
    12530
  • 非空数据验证的正确实现方法是什么?,常见错误有哪些?

    非空数据验证是保障数据质量的第一道防线,其核心逻辑是:在前端和后端同时设立必填校验规则,任何一方缺失都会导致数据入库时出现脏数据,最终影响业务流程的稳定性,非空验证到底在防什么很多人在做表单时把非空验证简单理解成“输入框不能空着”,这只是表象,真正的问题是数据从源头到存储的整个链路里,任何一个环节松懈,都会让空……

    2026年8月7日
    1400
  • 网页服务器的工作过程具体有哪些,如何优化配置?

    Web服务器的工作过程,本质上就是一次从浏览器发起请求到服务器返回响应的完整生命周期,每一步都有明确的协议和机制在背后支撑,一次请求的完整旅程:从URL输入到页面渲染当你在浏览器地址栏输入一个网址并按下回车,那一刻起,一套精密的协作流程便已启动,整个过程看起来是瞬间完成的,背后却涉及DNS解析、TCP连接、HT……

    2026年8月20日
    400
  • 服务器接口文档怎么写?服务器接口文档编写规范详解

    服务器接口文档是前后端协作的基石,其质量直接决定了开发效率与系统稳定性,一份优质的接口文档不仅是代码的说明书,更是降低沟通成本、保障项目按时交付的核心资产,在敏捷开发模式下,文档的准确性、实时性与易读性,比单纯的代码注释更具实战价值,它是连接需求、设计与最终实现的唯一可信数据源,核心价值:从成本中心转变为效率引……

    2026年3月11日
    13200
  • 服务器接口环境怎么配置?服务器接口环境搭建教程

    服务器接口环境的稳定性、安全性与高性能,直接决定了业务系统的生存能力与用户体验,构建一个优质的接口环境,不仅仅是代码的部署,更是对网络架构、安全策略、资源调度及监控体系的深度整合,核心结论在于:高效的服务器接口环境必须建立在标准化的配置流程、严格的权限管控以及智能化的容灾机制之上,任何单一环节的短板都可能导致服……

    2026年3月11日
    12200
  • python埃里克是什么?python埃里克库安装教程

    Python埃里克并非某位特定真实存在的公众人物,而是开发者社区中对Python语言特性、生态体系及学习路径的一种拟人化代称,代表了高效、优雅且生态丰富的Python编程范式,在2026年的技术语境下,当我们谈论“Python埃里克”时,实际上是在探讨如何像使用Python一样去思考问题:追求简洁、注重实用、依……

    2026年7月6日
    13100
  • 服务器快照收费标准价格是多少?服务器快照备份一次多少钱

    服务器快照收费的核心逻辑在于“存储容量计费”与“快照数量管理”的双重机制,企业若想优化成本,必须精准把控数据保留周期与存储单价的关系,并建立自动化的快照生命周期策略,服务器快照收费标准价格主要由存储费用、网络费用及请求费用三部分构成,其中存储费用占据总成本的80%以上,主流云服务商普遍采用按量付费模式,单价通常……

    2026年3月24日
    9100
  • 服务器配上CDN加速有什么好处,怎么配置?

    服务器配上CDN加速,能大幅降低用户访问延迟,减轻源站压力,是网站性能优化的核心手段之一,服务器配CDN加速价格很多站长最关心服务器cdn加速多少钱一个月,其实价格跨度很大,从几十元到上万元不等,完全取决于业务规模和服务商选择,理解计价方式,才能避免花冤枉钱,影响价格的主要因素流量与带宽需求:业务流量越大,费用……

    2026年7月21日
    400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注