在双节点apache集群中镜像数据的最佳方法

我构build了一个新的服务器结构,并计划在它们后面有两个apache workhorses和一个sql数据库。 我想知道在Apache服务器之间镜像数据的最好方法是什么。 用户数据应该限制在这些服务器上,因为大部分服务器都可以通过S3访问。

从迄今为止我所做的前期研究来看,我已经读过关于GlusterFS和DRBD的内容,但是一个简单的rsync脚本能做到这一点吗?

老实说,我不会build议在Apache机器之间进行实时复制。 让他们每隔一段时间都有自己的代码,或从“主”服务器的rsync。 实时(或接近)是很多文件检查,只是99%的时间不是必需的。

我个人build议有三层。

负载平衡/ Web服务器 (你的HTTP / PHP进程)

文件服务器 (需要在所有networking节点上共享的代码/文件)

数据库服务器 (您的后端数据库)

那么必须在服务器之间进行完全复制要简单得多。

如果您没有专用文件服务器(NFS / ect)的function,请将Web1的“Web1用户上传”装入Web服务器,这两个Web服务器都可以读取和写入共享区域,除非更新,否则不需要同步网站代码。

Web1 /var/www/website/www /var/www/website/_files web2 /var/www/website/www /var/www/website/_files (NFS mouned to Web1) /var/www/website/_files.bak (rsync copy from web1 incase web1 explodes) 

这两个服务器在存储方面都是近乎实时的,它们是多余的,你不必添加任何复杂的同步废话。

编辑:

http://www.migrate2cloud.com/blog/how-to-setup-nfs-server-on-aws-ec2

有关于如何在EC2实例上使用NFS的指南。