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