GoodSync 中文文档 下载 App

NAS 与服务器同步问题——SMB 权限、Docker 部署、磁盘空间

Synology DSM 常见问题

GoodSync 套件启动失败

  1. DSM → 套件中心 → GoodSync → 停止 → 重新启动
  2. 检查 GoodSync 的依赖:DSM 版本必须 ≥ 7.0
  3. 检查 DSM 的防火墙:控制面板 → 安全 → 防火墙 → 确保 GoodSync 端口放行
  4. 检查磁盘空间:GoodSync Server 需要至少几百 MB 空间

GoodSync Server 登录失败

GoodSync Server 的 Web 管理界面(端口 11000)登录时:

Synology SMB 共享通过 Connect 访问太慢

NAS 上 GoodSync Server 处理 SMB 共享的方式:

  1. GoodSync Server 先在本地(NAS 端)读取 SMB 共享目录内容
  2. 再通过 Connect 协议传输到客户端
  3. 这个「本地读取 → 网络传输」的双重过程比直接 GoodSync Connect 到共享目录慢

优化:

Synology 快照 + GoodSync 版本历史

DSM 的快照功能与 GoodSync 版本历史可以叠加:

两层快照互不干扰。建议:

QNAP 常见问题

GoodSync QPKG 安装失败

  1. 确认 QTS 版本 ≥ 5.0
  2. 确认下载的 QPKG 与 QNAP CPU 架构匹配(x86_64 vs aarch64)
  3. 检查磁盘空间和系统分区空间
  4. 手动安装 QPKG:App Center → 右上角 → 手动安装

QuFirewall 拦截 GoodSync

QNAP 的 QuFirewall 默认拦截 GoodSync 的某些端口:

  1. QTS → 控制面板 → 安全 → QuFirewall → 应用程序
  2. 找到 GoodSync → 设置为「允许」
  3. 如果 GoodSync 不在应用列表:手动添加端口规则(允许 TCP 443 + 动态 GSTP 端口)

Docker 部署 GoodSync 的问题

容器无法访问 NAS 目录

Docker 容器需要正确挂载 NAS 目录:

# Docker Compose 示例
services:
  goodsync:
    image: goodsync:latest
    volumes:
      - /volume1/Backup:/backup:rw   # NAS 目录挂载到容器
      - goodsync-config:/root/.goodsync  # 配置持久化
    ports:
      - "11000:11000"
    restart: unless-stopped

关键:确保挂载路径正确,容器内要有读写权限。

容器网络模式

GoodSync Connect 需要容器能出站访问 GoodSync 服务器(mediator + forwarder)。推荐网络模式:

容器内 Timezone

容器内的时区默认是 UTC,可能导致时间戳比较问题:

environment:
  - TZ=Asia/Shanghai

容器崩溃后数据丢失

GoodSync 的作业配置和 _gsdata_ 状态文件都在 /root/.goodsync(容器内路径)。如果没有挂载这个目录到 Docker Volume,容器删除后数据会丢失。

务必挂载:

volumes:
  - goodsync-config:/root/.goodsync

Linux Server 上 GoodSync 问题

systemd 启动失败

# 查看详细错误
journalctl -u goodsync -n 50 --no-pager

# 常见原因和修复:

# 1. 运行账户不存在
sudo useradd -r -s /usr/sbin/nologin goodsync

# 2. 数据目录权限不对
sudo chown -R goodsync:goodsync /var/lib/goodsync

# 3. systemd 单元文件格式错误
sudo systemd-analyze verify /etc/systemd/system/goodsync.service

SELinux 阻止 GoodSync

# 临时关闭 SELinux 测试
sudo setenforce 0

# 如果测试正常 → 创建 SELinux 策略
# GoodSync 官方有部分发行版的预构建策略包

gsync 命令找不到

GoodSync 安装脚本默认把 gsync 放在 /usr/local/bin/gsync。如果找不到:

# 检查安装位置
which gsync
find / -name gsync -type f 2>/dev/null

# 手动添加 PATH
export PATH=$PATH:/usr/local/bin

NAS 磁盘空间管理

GoodSync 版本历史清理

GoodSync 的版本历史目录(_gsdata_/_history/)会持续增长。设置自动清理:

  1. 作业 Options → General → Version History
  2. 设置保留策略(如保留最近 30 天 / 最多 10 个版本)
  3. 超过策略的旧版本会被自动删除

NAS 自身的存储配额

Synology/QNAP/WD NAS 都支持用户/共享文件夹的存储配额。确保 GoodSync 运行账户的配额不会意外耗尽:

GoodSync 跨平台版本差异

功能WindowsmacOSLinuxNAS
GUI完整完整有限无(Web 管理界面)
作业管理完整完整通过 gsync CLI通过 gsync CLI
Block-level完整完整完整完整
Copy Locked FilesVSS 支持部分支持部分支持取决于 NAS 系统
服务模式Windows 服务Launchdsystemd各 NAS 管理器
便携版GoodSync2GoGoodSync2Go无无

版本同步建议:跨平台作业两端的 GoodSync 版本号尽量相同(主版本号相同至少),不同版本间的协议兼容性最好。