- 论坛徽章:
- 0
|
说明:
系统:ubuntu5
kernel:kernel-2.6.14,支持LVS,打过避免ARP问题的补丁
5个ubuntu系统都是用同样的内核!soft_list:
LVS:
ipvsadm-1.24.tar.gz
mon:
Time-HiRes-1.87.tar.gz
Convert-BER-1.3101.tar.gz
Mon-0.11.tar.gz
mon-0.99.2-8.i386
heartbeat:
heartbeat-2.0.5.tar.gz
libnet.tar.gz
glib2-devel-2.6.4-1.i386
realserver对外提供的服务是web服务:php+apache+mysql,3个软件都装在1台机器上!
网络结构描述:
Load balance:192.168.0.10
Load balance_bk:192.168.0.11
realserver1:192.168.0.12
realserver2:192.168.0.13
realserver3:192.168.0.14
virtual ip:192.168.0.20
10.0.0.1和10.0.0.2是用来做心跳的,如图所示
要实现的要求:
1>用户对web访问的网络流量负载均衡(LVS来实现)
2>对realserver的web服务是否正常实现监控(mon来实现)
3>如果Load balance出了问题,Load balance_bk能够马上接管Load balance的工作,继续担任调度的角色
目前我已经在vmware虚拟机上实现了前面2个要求
疑问:
情况1:数据库的改动:
比如一个用户通过virtual IP访问了web,Load balance把这个请求发给了realserver1,这个用户的动作是注册一个ID,意味着,在realserver1的mysql里有了这个ID的信息, 那么,当这个用户再次访问web,这时候Load balance却把他的请求发给了realserver2,显然,realserver2的mysql里没有他的ID信息
情况2:网页内容的改动:
比如一个用户通过virtual IP访问了web,Load balance把这个请求发给了realserver1,这个用户的动作是发表一篇文章,意味着,在realserver1的web路径下,如/usr/local/apache/htdocs/bbs.html有所改动,那么,当这个用户再次访问web,这时候Load balance却把他的请求发给了realserver2,显然,realserver2的/usr/local/apache/htdocs/bbs.html里没有他的文章.
问题请教:
我如何能够让所有的realserver的网页内容和mysql内容同步?是否用heratbeat配合比如NFS(网络文件系统?)能够做到呢? 如果能,heartbeat只要装在Load balance和Load balance_bk上就可以了么?NFS呢?装在那些系统上呢?realserver?
看了些文章,觉的heartbeat主要是用来做双机备份的,不知道小弟理解是否有错?
请做过这方面的朋友指教我,谢谢
如果能够得到斑竹的指点,更是不胜感激
[ 本帖最后由 Linuxcn.com 于 2006-6-27 10:12 编辑 ] |
|