三台服务器,(1)做路由。(2)(3)做realserver
IP为:192.168.196.121 (1)
192.168.196.122 (2)
192.168.196.123 (3)
要在(1) load banlance机器 上安装ipvsadm软件
安装之前要查看ip_vs模块是否被内核载入
lsmod | grep ip_vs
什么都没有的话载入ip_vs模块,2.4内核以后都有该模块,没有显示的话就要手动载入一次
modprobe ip_vs
能够在cluster文件夹里面找到。源代码编译安装非常麻烦,频频出错。这里不讲。
之后要运行
service ipvsadm save (假设不运行save启动不了)
service ipvsadm start
在路由机器是开启IP转发功能echo 1 > /proc/sys/net/ipv4/ip_forward
设置这个IP为负载均衡的IP -s rr为轮询的方式负载均衡
ipvsadm -A -t 192.168.196.120:80 -s rr
加入负载均衡集群成员,-g路由模式 -w权重值(此处能够依据需求更改,还有其他选项,能够ipvsadm --help)
ipvsadm -a -t 192.168.196.120:80 -r 192.168.196.122 -g -w 1
ipvsadm -a -t 192.168.196.120:80 -r 192.168.196.123 -g -w 1
配置负载均衡虚拟IP地址
ifconfig eth0:0 192.168.196.120 broadcast 192.168.196.255 netmask 255.255.255.0 up
realserver配置(2)(3)机器
我们须要为两台server都填上一块lo:1的这样一块网卡。以确保数据包在回包的时候是回给我们的网关。仅仅有这样才是我们DR模式的目的
ifconfig lo:1 192.168.196.120/32
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore // ARP忽略 默觉得0 给为1 直接收广播自己的
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce // 带收发 lo :1 的数据包 默觉得0
先在/var/www/html/ 文件夹下写入index.html文件
为了保证測试效果,index.html内容应该不同。
service httpd start //启动apache服务
在浏览器上输入192.168.196.120
刷新几次会分别显示不同realserver上的index.html内容
此时还能够在load banlance机器上查看路由信息
ipvsadm -Ln --stats
PS:为了保证重新启动后生效。须要对加入网卡的步骤另行配置。