我需要一个分布式文件系统(或同步工具),它能够在 4 台电脑上保持目录同步。
我的要求是:
- 离线访问(数据必须在每台电脑上离线可用)
- 保留执行权:某些文件在 linux 分区上被标记为可执行。应该复制此标志。
- 高效的同步策略:我的一些文件是 20GB,它们经常更改,但更改的部分很少(Virtualbox 图像)。欢迎使用 Delta 变速箱。
- 有效处理空间:没有文件历史记录,不应将文件复制到临时目录“以防万一”。
- 它必须传播文件的删除
- 修改可以发生在 4 台电脑中的任何一台,它们应该在连接其他电脑时传播。
- 解决方案必须是容错的:大多数情况下,4 台 pc 断开连接/无法同步。
我的解决方案的其他规格是:
- 同步通过局域网,要同步的数据总量约为 180GB,大约有一万个文件。更改很小,但可能发生在大文件中。
- 目前我对仅适用于 linux 的解决方案感兴趣。
- 简单的合并策略:冲突要么不发生,要么通过“最后一个胜利”解决
我还没有找到任何好的解决方案。我一直在尝试:
- 一致:这是目前唯一的工作,但我必须做很多自定义配置(链接执行的 cron 脚本)。它将我的电脑挂了几分钟以检测变化,磁盘灯稳定亮起。
- Sparkleshare 不能很好地处理大文件。它保留了无限期增长的所有更改的历史记录。他们承诺它将在下一个版本中修复,但目前它仍然不符合我的需求。
- Owncloud 不能很好地处理大文件,复制性能很差,保留我更改的每个文件的历史记录(可以禁用)。
- 尾声?(帮助!我无法正确设置!)
- git-annex 助手会在符号链接中转换您的所有文件并将原始文件标记为只读(“以防万一您在修改它时出错”!)。在编辑文件之前,您必须发出一个特殊的命令“git-annex unlock”,它会创建文件的本地副本,如果您希望它同步,您必须记住再次锁定它。我必须先学习手册才能取回我的 180Gb 文件!再也不会在我的电脑上!
接下来要尝试什么?