郑州鼎益 郑州鼎益 DINGYI INFO
基础使用2026-08-23约 8 分钟郑州鼎益技术团队 整理

NFS 持久化挂载:把群晖共享目录挂到 Ubuntu 并开机自动生效

从 showmount 确认导出、手动 mount 验证,到写 fstab 并重启复核的一次实战记录,含 NFS 服务端需要打开的设置与挂不上的排查顺序。

NFSUbuntufstab开机挂载

将 Synology NAS 共享目录挂载到 Ubuntu 服务器

环境信息

项目NFS 服务端 (NAS)NFS 客户端 (服务器)
IP 地址192.168.1.10192.168.1.20
系统Synology DSM (NAS)Ubuntu 22.04.5 LTS
共享路径/volume1/share—
本地挂载点—/mnt/Atest

网络架构图

┌─────────────────────┐         NFS (TCP)          ┌─────────────────────┐
│  Synology NAS       │  ◄──────────────────────►  │  Ubuntu Server      │
│  192.168.1.10      │      /volume1/share         │  192.168.1.20      │
│                     │                             │                     │
│  NFS Server 端      │         NFSv4               │  NFS Client 端      │
└─────────────────────┘                             └─────────────────────┘
▼ ┌──────────────────┐ │ 本地挂载点: │ │ /mnt/Atest │ │ (开机自动挂载) │ └──────────────────┘

第一步:确认 NFS 服务端共享

在客户端上查看 NFS 服务端导出了哪些共享目录:

# 查看 NFS 服务器的共享列表
showmount -e 192.168.1.10

预期输出:

Export list for 192.168.1.10:
/volume1/share      *
/volume1/share  *
/volume1/share *
看到 /volume1/share 且允许 * (所有主机) 或指定 IP 访问,即可继续。

第二步:安装 NFS 客户端

确保 NFS 客户端工具已安装:

# 更新软件源
sudo apt update

# 安装 NFS 客户端工具
sudo apt install -y nfs-common

验证安装:

# 检查 mount.nfs 命令是否存在
which mount.nfs
本环境已预装 nfs-common,无需重复安装。

第三步:创建本地挂载点

在客户端创建一个空目录作为 NFS 挂载点:

# 创建挂载目录
sudo mkdir -p /mnt/Atest

# 验证目录已创建
ls -la /mnt/

第四步:测试手动挂载

先手动测试挂载,确保网络和权限没有问题:

# 手动挂载 NFS 共享
sudo mount -t nfs 192.168.1.10:/volume1/share /mnt/Atest

验证挂载状态:

# 查看挂载详情
df -h | grep Atest

# 或者使用 mount 命令
mount | grep Atest

预期输出:

192.168.1.10:/volume1/share  3.5T  884G  2.7T  25% /mnt/Atest

测试文件读写:

# 查看共享目录内容
ls -la /mnt/Atest/

# 创建测试文件
echo "NFS mount test" | sudo tee /mnt/Atest/test.txt

# 删除测试文件
sudo rm /mnt/Atest/test.txt
如果手动挂载失败,请检查:
1. 网络连通性:ping 192.168.1.10
2. 防火墙是否放行 NFS 端口 (2049)
3. NAS 端共享权限配置

第五步:配置 fstab 持久化挂载

为了让 NFS 共享在系统重启后自动挂载,需要将挂载信息写入 /etc/fstab:

# 先卸载手动挂载(如果已挂载)
sudo umount /mnt/Atest

# 编辑 fstab 文件
sudo nano /etc/fstab

在文件末尾添加以下行:

# NFS 共享 - Synology NAS Atest 目录
192.168.1.10:/volume1/share /mnt/Atest nfs defaults,_netdev 0 0

fstab 参数说明:

参数含义
192.168.1.10:/volume1/shareNFS 服务器 IP 和共享路径
/mnt/Atest本地挂载点
nfs文件系统类型
defaults默认挂载选项 (rw, suid, dev, exec, auto, nouser, async)
_netdev告诉系统这是网络设备,等到网络启动后再挂载
0 0dump 和 fsck 选项 (NFS 不需要)
也可以添加更多选项,例如:
192.168.1.10:/volume1/share /mnt/Atest nfs defaults,_netdev,hard,timeo=600,retrans=2,rsize=131072,wsize=131072 0 0

硬挂载 (hard):NFS 服务器不可达时,程序会一直重试(推荐)
软挂载 (soft):超时后返回错误

第六步:验证持久化挂载

# 使用 mount -a 测试 fstab 配置(不会重启)
sudo mount -a

# 验证挂载成功
df -h | grep Atest

# 检查挂载详情
mount | grep Atest

# 测试读写
ls -la /mnt/Atest/
看到类似以下输出即表示持久化挂载配置成功:
192.168.1.10:/volume1/share on /mnt/Atest type nfs4 (rw,relatime,...)

模拟重启验证(可选):

# 卸载
sudo umount /mnt/Atest

# 重新挂载 fstab 中的所有条目
sudo mount -a

# 确认挂载恢复
df -h | grep Atest

常见问题排查

1. showmount 报错 "RPC: Timed out"

# 检查防火墙是否放行 NFS 端口
sudo ufw allow from 192.168.1.10 to any port nfs

# 或者临时关闭防火墙测试
sudo ufw disable

2. 挂载后权限不足 (Permission denied)

# 检查 NAS 端共享权限设置
# Synology DSM → 控制面板 → 共享文件夹 → Atest → 权限

# 尝试以 root 身份挂载
sudo mount -t nfs -o vers=4 192.168.1.10:/volume1/share /mnt/Atest

3. 开机后 NFS 未自动挂载

# 确保 nfs-utils 服务已启用
sudo systemctl enable nfs-common
sudo systemctl start nfs-common

# 检查 fstab 是否有语法错误
sudo findmnt --verify

4. 查看 NFS 挂载的详细信息

# 查看当前 NFS 挂载的详细参数
cat /proc/mounts | grep nfs

# 查看 NFS 统计信息
nfsstat -c

5. 卸载 NFS 挂载点

# 正常卸载
sudo umount /mnt/Atest

# 如果提示 "target is busy",强制卸载
sudo umount -l /mnt/Atest

本教程基于实际配置生成 | NFS 挂载点:/mnt/Atest → 192.168.1.10:/volume1/share

生成时间:2026-09-06

本文整理自郑州鼎益技术资料《NFS挂载教程》,公开发布前已做脱敏与校订 · 最后校订 2026-11-11

照着做还是没跑通?

把 NAS 型号、报错截图和现有网络拓扑发我们,郑州本地工程师可远程协助或上门部署。

免费咨询 →
← 内网正常、外网连不上 NAS:先查 DNS 和网络认证全部文档Linux 用 CIFS/SMB 挂载 NAS 共享文件夹(含凭据与开机自动挂载) →