在数据中心之间共享/归位

我有两台服务器,放在荷兰和法国的数据中心。 两者都在运行Debian Wheezy。 我需要在他们之间分享/回家,performance良好。 服务器上有300多个用户,其中大约30个用户可以在给定的时间在给定的服务器上进行活动进程,每个用户有50 kbit的读取和20 kbit /秒的写入,并且在2000 kbit /的阅读。 与本地存储iotop措施。 我有很多小文件,总共有大约50万个,并且需要尽可能低的延迟。 服务器之间的Ping为17 ms,使用scp和wget时连接能够达到20-30 MB / s左右。 似乎应该有足够的带宽可用,它太工作了,但…

我到目前为止所做的修改:sshfs:看起来好像比nfs有更好的性能,但却把文件的权限改为root,导致应用程序崩溃。

nfs:减速的方法,尝试noatime一堆其他选项,但它保持行动迟缓,即使只有less数进程是积极的。

drbd:5个小时的死路工夫,当我意识到我实际上无法在两个系统上安装文件系统时:-(

glusterfs:所有数据的本地副本确实听起来很有希望,但随机文件访问非常慢,运行一段时间后,变得令人难以置信的慢,几乎挂起。 noatime没有帮助。

nfs再次:仍然低迷。

在键盘上哭泣:没有任何改善。

接下来要做什么? 每个失败的试验都在上个星期过了一个晚上,或者更多,我真的很喜欢下一个方法。 是的,文件系统在两台服务器之间共享是至关重要的。

感谢有关这个问题的任何新想法。

    有一些可能的解决scheme:

    1. 您可以使用像DRBD(或上述的MARS)这样的复制块存储,但需要在块存储上设置一个群集文件系统。 这样的文件系统可以是GFS2或OCFS2,它们都可以在Debian内核afaik中find。 DRBD可以处理主/主,您可以同时将其挂载到两台服务器上。 但是如果你用一个标准的文件系统来做这件事,那么一台服务器不知道另一台服务器,你会在几秒钟之内破坏你的文件系统。 顶部的集群文件系统将处理通信和locking,以便两个节点都可以写入同一个块。

    2. 为/ home使用分布式文件系统。 您可以在http://en.wikipedia.org/wiki/Comparison_of_distributed_file_systems上find这些文件系统的列表。 但要小心谨慎地select。 他们都做不了魔法,都有缺点。 Gluster就是这样一个文件系统。 对于某些系统,您可能只需要两个以上的节点。

    3. 如果不需要实时复制并且近乎实时的文件同步就足够了,那么请查看BitTorrent Sync( http://www.getsync.com/ ),Dropbox或其他select。 每个服务器都有它自己的/ home,但更改会以文件为基础复制到其他服务器。