我正在寻找一个非常快速的文件同步软件跨多个机器跨多个站点同步数据。 像Dropbox或Spideroak。
该软件应该满足以下两个标准:
1)和最重要的。 它应该是非常快的。 如果我更改文件,上传到服务器应该在10秒内开始。 上传完成后,其他连接的计算机应立即开始下载。 如果软件支持locking有问题的文件,那就太好了。
2)它应该支持客户端encryption。
因为第二点,Dropbox并不合适,Spideroak并不适合,因为第一个(有时我得到了非常令人失望的结果)。
你使用的是什么文件同步工具? 你能推荐什么?
编辑:电脑都运行Linux系统。
编辑2:我有4-5个网站的想法。 不幸的是,他们没有非常大的上传。 最差的(我的家庭办公室;-))只有一个80 kb / s的上传DSL连接。 把东西放在一起我自己不是一个select,因为我正在寻找一个适中的成本和可靠性的解决scheme;-)。 我在所有有问题的客户端都有root权限。
我会推荐GlusterFS 。 这是一个将多个服务器连接到一个文件系统的NAS文件系统。 然后,您可以通过保险丝安装它。 您也可以通过IPsec解决scheme连接服务器,例如参见Openswan 。 增加安全性。
从维基百科关于GlusterFS:
GlusterFS有一个客户端和服务器组件。 通常将服务器部署为存储砖,每台服务器运行一个glusterfsd守护程序以将本地文件系统作为卷导出。 glusterfs客户端进程通过TCP / IP,InfiniBand或SDP使用自定义协议连接到服务器,使用可堆栈转换程序从多个远程服务器组成复合虚拟卷。 默认情况下,文件保存完整,但也支持在多个远程卷上分割文件。 客户端主机可以通过FUSE机制挂载最终卷,或者通过libglusterfs客户端库访问最终卷,而不会导致FUSE文件系统开销。 GlusterFS的大部分function都是作为翻译来实现的,其中包括:
你在说多less个网站? 就我个人而言,我会考虑使用DRBD文件系统或DFS(Windows使用DFS作为networking上的同步文件系统,DRBD是Linux RAID 1 over IP解决scheme)之类的东西来设置自己的服务器,然后让客户端连接到在服务器(或映射的驱动器)上的一个共享,一切都会自动同步。
作为第二个研究课题,通过SSH的服务器之间的rsync目录。
否则,你可能正在考虑滚动你自己的应用程序和脚本来做你正在寻找哪些可能不简单,便宜或容易。
不知道具体情况(站点数量,客户端控制,带宽等),很难提出其他build议。
编辑 – DRDB似乎优化了2台服务器; 我不知道要“连锁”数据会花费什么。 另外你是否要将数据从一台服务器同步到exception值? 你有没有计划同步path的优先级(就像你有一个中央仓库,所有的东西都是同步的 ,还是你分散在哪里以及怎样的数据来自和去往?或者这些外部办事处同步到一个中央服务器?)当你把这些事情考虑在内时,你可能正在考虑一个相当复杂的设置。你必须看看有没有办法运行一个同步实用程序,如http://billboebel.typepad.com/blog/ 2006/11 / data_mirroring_.html或rsync,或者find一个基于群集的文件系统来处理多个活动的“主”对等体,而没有足够的开销来抨击你的带宽。
您没有提及正在编辑的数据的大小或连接的可靠性; 如果你正在处理平均文档,那么与编辑大型graphics相比,你将会遇到不同的潜在损坏和问题。
考虑到你正在看的这种设置的复杂性,我还build议考虑一个远程访问解决scheme作为一个潜在的修复。 如果你正在运行Linux,那么在“主”办公室有一个中央服务器并不是完全不可能的,而且人们可以通过远程SSHterminallogin并直接从服务器上运行会话,就像Windowsterminal服务解决scheme一样。 这使您可以更好地控制数据如何备份,安全访问和审计。 但是你应该有一个体面的连接来做到这一点。 非常快速的连接将允许使用X-forwarding进行SSH连接,平庸到快速的连接,您可以为客户端服务器连接设置更类似于VNC(encryption隧道/ VPN)的远程terminal解决scheme。
另一个考虑因素是VPN到中央站点,通过NFS或像SSHFS这样的FUSE模块挂载目录。 同样,取决于您的带宽和连接稳定性。
如果你想继续同步数据作为一个解决scheme,你仍然有潜在的locking问题和数据更新竞争条件考虑,所以你需要研究最好的文件系统,可以自动处理这种情况。
如果您使用的Windows为您的客户端和服务器,我build议您调查分布式文件系统。 另外看看EFS的离线caching。 如果您不使用Windows,请告诉我们您正在使用的是什么。
编辑:看看tsync (beta)for Linux。
ChironFS是专为复制而devise的分布式文件系统。 它不会考虑encryption,但是如果您希望每个客户端都pipe理encryption,或者使用SSHFS通过线路保护数据,则可以在EncFS等encryption文件系统下使用它。 我不知道它是否适合性能。