环境:

          写

apache ------------->Mysql A

     |                |------------->Mysql B1

     |                |

     |----->分发器——|

        读            |------------->Mysql B2

 

IP

apache : 192.168.74.3  

分发器 : 192.168.74.2

MysqlA : 192.168.74.4

MysqlB1 : 192.168.74.5

MysqlB2 : 192.168.74.6

绑定VIP: 192.168.74.250

 

Mysql主从配置与命令参照http://shenmeh.blog.51cto.com/6231527/1075971 (ABB)

注意Mysql所有服务器要给apache权限

-------------------------------------------------------------------------------

分发器配置

ifconfig eth0 192.168.74.2

 

绑定vip

#ifconfig eth0:0 192.168.74.250 netmask 255.255.255.255 broadcast 192.168.74.250 up

设定路由

route add -host 192.168.74.250 dev eth0:0

 

 

设定分发规则

ipvsadm -A -t 192.168.74.250:3306 -s rr

ipvsadm -a -t 192.168.74.250:3306 -r 192.168.74.5 -g

ipvsadm -a -t 192.168.74.250:3306 -r 192.168.74.6 -g

--------------------------------------------------------------------------------

 

Mysql server的配置(A\B1\B2)

绑定vip

#ifconfig lo:0 192.168.74.250 netmask 255.255.255.255 broadcast 192.168.74.250 up

设置到主机的路由

#route add -host 192.168.74.250 dev lo:0

保证arp协议在连接过程中,路由器上,只知道网络中192.168.19.250对应的是分发器

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 

---------------------------------------------------------------------------------- 

Apache 

读写分离用mysql-w-r进行简单配置

mysql-c.php&insert.php 

mysql-r.php 

 

-------------------------------------------------------------------------------------

 

 

测试结果