LinuxlvsDR配置


三台服务器,(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)机器

我们需要为两台服务器都填上一块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

启动httpd进行测试

先在/var/www/html/ 目录下写入index.html文件

为了保证测试效果,index.html内容应该不同。

service httpd start //启动apache服务

在浏览器上输入192.168.196.120

刷新几次会分别显示不同realserver上的index.html内容

\

\

此时还可以在load banlance机器上查看路由信息
ipvsadm -Ln --stats

\

PS:为了保证重启后生效,需要对添加网卡的步骤另行配置。

相关内容

    暂无相关文章