Linux lvs DR配置


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

启动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:为了保证重新启动后生效。须要对加入网卡的步骤另行配置。



原文地址:https://www.cnblogs.com/mthoutai/p/6760320.html