当前服务器版本seafile12专业版
启用跨库去重功能
配置文件如下图
重启后,跨库去重未生效。
在两个库,分别上传同一个1GB文件,飞牛OS显示占用空间增加2G。
部署专业版,无许可证,只有一个用户。
部署专业版,无许可证,只有一个用户。
针对你提到的“开启跨库去重功能后未生效”的问题,经过核实,Seafile 的设计机制如下,希望能解答你的疑问:
1. Seafile 不支持“跨资料库”去重 Seafile 的存储架构是以**资料库(Library/Repo)**为独立单位进行管理的。每个资料库拥有独立的存储路径和 Block(数据块)管理机制。
去重范围: Seafile 的去重仅限于同一个资料库内部。例如,你在同一个库里复制文件,或者同一个文件的历史版本更新,这些情况下系统会进行去重,不增加物理占用。
跨库表现: 当你在两个不同的资料库(Repo A 和 Repo B)上传相同的文件时,Seafile 会分别为这两个库创建独立的数据块。因此,你观察到飞牛OS显示占用空间增加 2GB 是符合系统设计预期的正常现象。
2. 配置文件说明 你在 seafile.conf 中尝试添加的去重相关参数,并不能实现跨资料库的数据共享。目前 Seafile 官方版本(包括专业版)均未提供跨越不同资料库边界的全局去重功能。
3. 建议方案 如果你希望节省存储空间,建议采取以下操作代替重复上传:
使用共享功能: 将文件存在一个资料库中,通过“共享给用户”或“共享给群组”的方式让其他人访问,而不是在多个库中重复上传。
库内操作: 如果必须在多个文件夹中出现同一文件,请确保这些文件夹属于同一个资料库,并在库内进行移动或复制操作。
总结: 由于 Seafile 物理隔离了不同资料库的存储块,因此无法实现你预期的跨库去重。这并非配置问题,而是软件底层架构的设计逻辑。