有没有办法将我的分布式存储基础设施与每个位置可能发生的文件更改同步?

有没有办法将我的分布式存储基础设施与每个位置可能发生的文件更改同步?

我需要一个位于 3 个不同位置的存储设备。每个设备将有 4TB 的存储空间。至少 2TB 应该是一个像 Dropbox 一样工作的“共享文件夹”:当用户在一个位置更改文件时,该文件应该通过互联网立即在其他两个设备上更新(当然,速度要尽可能快)。每个存储设备都将连接到本地网络,使用 MAC/Linux 的人会将文件放到“外部 HD”上。

我曾考虑过使用内置备份功能的 NAS 来备份到不同位置的另一台 NAS(如 Synology 提供的),但我不知道这是否适用于更多设备。还考虑过文件存储,如 glusterfs 来复制整个磁盘,但感觉对于这样的工作来说有点太过了。

您能推荐一些软件/设置吗?谢谢

答案1

从本质上讲,这是一个同步问题,找到软件解决方案并不容易。

我建议你研究一下 sparkleshare,尽管它对于非常大的文件(如视频文件)来说不是很好:

http://sparkleshare.org/

Sparklsehare 在底层使用 git,这是一个经过验证的分布式设置和冲突解决概念。

但它对大文件来说并不好。

您还应该考虑 OwnCloud,它可以在您自己的硬件上运行:http://owncloud.org/features/

还有 seafile,它也是一个真正的同步解决方案:http://seafile.com

GlusterFS 也可以工作,这取决于您的特殊情况。GlusterFS 的优势在于,它只有一个文件系统,而不是 3 个。因此不会发生冲突,并且在客户端保存新版本之前会处理这些冲突。

您可能不想要的是例如在解决方案“Bittorrent Sync”中出现的行为:“当文件在其中一个设备上更改时,它将被重新创建为新副本并同步到其他设备。我们只保存文件的最新版本。” - 这意味着没有真正的冲突解决方案,您可能会丢失 2 个有重叠编辑的人的数据,因此请小心处理该问题并检查所有解决方案如何处理冲突!

选择适合您的软件解决方案后,您应该选择硬件。

相关内容