60 lines
3.9 KiB
Markdown
60 lines
3.9 KiB
Markdown
---
|
||
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 (用中文描述)
|
||
- 核心主题:在 Ubuntu Server 上通过 NFS 协议挂载 Synology NAS 共享文件夹,实现服务器到 NAS 的自动化备份存储
|
||
- 问题域:Samba 挂载丢失 Linux 文件权限信息导致 Docker 卷恢复失败;NFS 相比 Samba 完美保留文件所有权、性能更强
|
||
- 方法/机制:
|
||
1. Synology NAS DSM 控制面板 → 共享文件夹 → NFS 权限配置(关键:Squash 设为"映射所有用户为 admin")
|
||
2. Ubuntu 安装 nfs-common,mount -t nfs 挂载
|
||
3. /etc/fstab 写入永久挂载配置(关键参数:_netdev、timeo=900、retrans=5)
|
||
4. sudo mount -a 测试后再重启
|
||
5. 备份脚本前加挂载点检查防止数据写入本地磁盘
|
||
6. systemctl enable remote-fs.target 解决 nfs-common 启动慢问题
|
||
- 结论/价值:NFS 是 Linux 服务器备份到 NAS 的最佳方案,配合 rsync + Cron 实现全自动化备份
|
||
|
||
## Key Claims (用中文描述)
|
||
- **NFS 相比 Samba 的核心优势**:NFS 原生保留 Linux 文件所有权信息,避免 Docker 卷恢复时的权限报错
|
||
- **Synology NFS Squash 关键配置**:必须选择"映射所有用户为 admin",否则 Ubuntu 端 root 发起的备份请求会在 NAS 端遭遇权限校验失败
|
||
- **fstab _netdev 参数的作用**:告知系统这是网络设备,等网络服务完全启动后再尝试挂载,防止开机卡死
|
||
- **永远不要直接重启测试**:/etc/fstab 写错会导致系统无法正常启动,必须先用 sudo mount -a 验证
|
||
|
||
## Key Quotes
|
||
> "NFS 会完美保留文件所有权信息,Samba 则会丢失 Linux 的文件所有权,导致恢复 Docker 卷时权限报错。" — NFS 相比 Samba 的优势说明
|
||
|
||
> "_netdev: **关键参数**。告诉系统这是一个网络设备,务必等到网络服务完全启动后再尝试挂载,防止开机过程因找不到网络而卡死。" — fstab 参数解析
|
||
|
||
> "千万不要直接重启!如果 `/etc/fstab` 写错了,系统可能无法正常启动。" — 配置验证警告
|
||
|
||
> "如果在执行了上述操作后重启依然不生效,通常是因为 Ubuntu 的 `nfs-common` 服务启动慢于 `mount -a` 的执行。" — nfs-common 启动时序问题
|
||
|
||
## Key Concepts
|
||
- [[NFS]]:Network File System,Linux/Unix 系统的网络文件系统协议,Ubuntu 备份到 NAS 的推荐协议
|
||
- [[永久挂载]]:通过 /etc/fstab 配置实现开机自动挂载,配合 _netdev 参数确保网络设备就绪后再挂载
|
||
- [[挂载点检查]]:备份脚本执行前的安全验证,使用 mountpoint -q 命令检查挂载点有效性
|
||
- [[NFS网络备份]]:通过 NFS 协议将备份数据存储到网络存储设备(与本文 Ubuntu rsync 备份场景互补)
|
||
|
||
## Key Entities
|
||
- [[Synology NAS DS718]]:群晖 NAS 设备(192.168.3.17),通过 DSM 控制面板配置 NFS 权限,作为 Ubuntu Server 的备份存储目标
|
||
- [[Ubuntu Server]]:Linux 服务器发行版,运行 rsync 备份脚本,将数据写入 NAS 的 NFS 挂载点
|
||
- [[rsync]]:增量文件同步工具,与 NFS 永久挂载配合实现 Ubuntu Server 到 NAS 的自动化日常备份
|
||
|
||
## Connections
|
||
- [[Ubuntu Server]] ← runs ← [[rsync]] (备份工具)
|
||
- [[rsync]] ← writes to ← [[永久挂载]] (NFS 挂载点 /mnt/nas_backup)
|
||
- [[永久挂载]] ← depends on ← [[NFS]] (NFS 协议)
|
||
- [[Synology NAS DS718]] ← serves ← [[NFS]] (NFS 服务端)
|
||
- [[挂载点检查]] ← guards ← [[rsync]] (备份安全前置检查)
|
||
- [[Cron定时任务]] ← schedules ← [[rsync]] (定时触发备份)
|
||
- [[NFS网络备份]] ← uses ← [[NFS]] (两者同属 NFS 存储应用场景)
|
||
|
||
## Contradictions
|
||
- 无冲突
|