请帮忙find解决scheme,在Centos 5.5 64Bit上进行实时同步

我需要为Centos 5.5 / 64Bit实时,双向同步软件。

这里有一点解释:

它需要能够执行:

  1. 双向同步。

  2. 它必须是实时的。 通过实时的方式,它可以几乎是实时的,例如延迟1秒,例如很好。

  3. 这些文件夹在同一台服务器上。

我目前在两个Web服务器上使用GlusterFS。 但是,它的小文件读取性能非常差,并且正在放慢我的网站。 没有什么可以做的,以改善这一点,我已经testing了许多configuration。 作为一个解决scheme,我打算安装一个RAM驱动器(tmpfs)来镜像GlusterFSnetworking文件,但让networking服务器使用RAM驱动器。

问题是我需要双向实时镜像或glusterfs和RAM驱动器之间的复制。 我需要这个,就像Apache写文件一样。

正如我所说,跨两个文件夹实时双向同步。 其实是两种不同的坐骑点。 RAM(tmpfs)挂载点和GlusterFS挂载点。

我已经知道:

  • Rsync – 这是一种方法
  • Unison – 这不是实时的

请build议我任何解决scheme免费或付费。

提前致谢

虽然afs看起来是一个明显的解决scheme,但我之前已经深入了解了一个高度自定义的Web应用程序 – 最快/最有效/最可靠的解决scheme是实现在应用程序内进行复制 – 使用rsync将节点恢复线上。 我确实有一个更长期的计划来实现基于需求的再同步,使用inotify作为触发器(但从来没有find时间)。

作为一个解决scheme,我打算安装一个RAM驱动器(tmpfs)来镜像GlusterFSnetworking文件,但让networking服务器使用RAM驱动器

是的,如果GlusterFS不支持caching失效的同步,那么它可能会稍微快一些(不以实时更新为代价),尽pipe除非您有非常高的数据周转率,否则您可能会发现使用优化文件系统而不是RAM驱动器。

你可能会看到任何共享磁盘文件系统的类似问题(但是这主要是我的猜测)。

更好的解决scheme是使用数据库(群集?)来存储任何数据 – 群集更容易pipe理(并且更容易实现)。 另请参阅mysql复制和Cassandra。

/我想知道是否可以使用覆盖文件系统(unionfs) – 将本地副本放在最上面,远程系统下面,然后定期从上到下运行rsync – 虽然我怀疑删除文件可能很困难。

HTH

C。

drbd + ocfs或GFS2:

使用带有DRBD的GFS2
与DRBD一起使用OCFS2

虽然我已经有了GFS2的更多运气,但是任何一个都可以工作,而且可能正是您所需要的。 您可以运行双主任何解决scheme。

你可以单独使用Gluster来做到这一点:
当您要求Gluster使用gluster volume VolumeName replica 2来复制文件并使用mount -t glusterfs localhost:VolumeName /mountpoint访问每个站点上的本地glusterfsd时,您可以获得与其他本地文件系统相媲美的即时复制和访问时间(不需要networking往返文件读取)。

至less在我testing过的gluster版本3.4.7和3.6.9中是这样的。
(在问这个问题的时候,可能会有更老,更慢的版本。)