--- title: "如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹" type: source tags: [nas, nfs, synology, ubuntu] date: 2025-12-29 --- ## Source File - [[raw/Home Office/如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹.md]] ## Summary(用中文描述) - 核心主题:通过 NFS 协议将 Synology NAS 的共享文件夹挂载到 Ubuntu Server,实现永久性网络存储挂载 - 问题域:Ubuntu 服务器与 Synology NAS 之间的网络存储集成,适用于备份场景 - 方法/机制: - Synology DSM 控制面板配置 NFS 权限(IP白名单、Squash 映射为 admin、_netdev 参数) - Ubuntu 端安装 `nfs-common`,使用 `mount -t nfs` 临时挂载 - 通过 `/etc/fstab` 配置永久挂载,含 `timeo=900`、`retrans=5`、`_netdev` 等参数 - rsync 脚本中加入挂载点检测保护,防止 NAS 掉线时数据写入本地 - 结论/价值:相比 Samba,NFS 能保留 Linux 文件权限(uid/gid),避免 Docker 卷恢复时的权限报错,是 Linux 服务器挂载 NAS 的标准方案 ## Key Claims(用中文描述) - Synology NAS 的 Squash 设置"映射所有用户为 admin",可将 Ubuntu 端 root 请求在 NAS 端以 admin 身份执行,绕过 Linux 权限校验 - `/etc/fstab` 中的 `_netdev` 参数可防止开机时网络未就绪导致系统挂起 - NFS 相比 Samba 在处理 Docker 配置文件(大量小文件)时性能更强 - rsync 脚本中加入挂载点检查,可在 NAS 掉线时主动终止备份,防止数据写入本地目录 ## Key Quotes > "NFS 能完美保留(Linux 文件所有权信息),而 Samba 会丢失,导致恢复 Docker 卷时权限报错" — NFS 相对 Samba 的核心优势说明 > "_netdev:告诉系统这是一个网络设备,务必等到网络服务完全启动后再尝试挂载,防止开机过程因找不到网络而卡死" — fstab 中 _netdev 参数的关键作用 > "如果 `sudo mount -a` 没有报错,且 `df` 能看到 NAS 空间,那么以后重启服务器,挂载都会自动生效" — 永久挂载验证方法 ## Key Concepts - [[NFS]]:Network File System,Linux/Unix 标准的网络文件系统协议,支持保留原始 uid/gid 权限 - [[/etc/fstab]]:Linux 文件系统表,用于配置开机自动挂载;`_netdev` 参数确保网络设备就绪后再挂载 - [[rsync]]:增量备份工具,可配合 NFS 挂载点实现服务器到 NAS 的自动化备份 - [[Squash]]:NFS 权限设置中的用户映射选项,"映射所有用户为 admin" 可简化跨平台权限问题 ## Key Entities - [[Synology NAS]]:群晖网络附加存储设备,提供 DSM 管理界面和 NFS 共享服务;本文示例 IP:192.168.3.17,挂载路径:/volume2/backup - [[Ubuntu Server]]:Linux 服务器操作系统,本文版本为 Ubuntu 24.04;示例 IP:192.168.3.47,挂载点:/mnt/nas_backup ## Connections - [[Ubuntu服务器通过rsync实现日常增量备份]] ← depends_on ← [[如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹]](rsync 备份依赖 NFS 挂载的 NAS 存储) - [[群晖NAS科学上网方法]] ← related ← [[如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹]](同为 Synology NAS 相关配置文档) ## Contradictions - 无已知冲突