lvs搭建dr负载均衡集群


一,查看本地centos的版本:

[root@localhost lib]# cat /etc/redhat-release 
CentOS Linux release 8.1.1911 (Core) 

说明:架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/

 说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,director机器上安装:

1,确保ip_forward值为1,如果不是,手动修改为1

[root@14c53ada11c2 /]# more /proc/sys/net/ipv4/ip_forward

1

2,安装ipvsadm

[root@14c53ada11c2 /]# yum install ipvsadm

3, 配置虚拟ip:

[root@14c53ada11c2 /]# ip addr add 172.17.0.108 dev eth0:0

4,添加lvs规则:

先添加虚拟ip

[root@14c53ada11c2 /]# ipvsadm -A -t 172.17.0.108:80 -s rr

后添加realserver,两台,ip分别是:172.17.0.2/172.17.0.4

[root@14c53ada11c2 /]# ipvsadm -a -t 172.17.0.108:80 -r 172.17.0.2:80 -g -w 1
[root@14c53ada11c2 /]# ipvsadm -a -t 172.17.0.108:80 -r 172.17.0.4:80 -g -w 1

说明:如果有多台机器,按此格式继续添加

三,realserver上配置:

说明:每台机器上均需要做以下操作:

1,添加虚拟ip到本机的lo网络接口上:

[root@a63bd60008fe /]# ip addr add 172.17.0.108 dev lo:0

2,配置以下四项的取值:

[root@a63bd60008fe /]# echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
[root@a63bd60008fe /]# echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
[root@a63bd60008fe /]# echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
[root@a63bd60008fe /]# echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

3,realserver上安装nginx,并启动:

[root@a63bd60008fe /]# yum install nginx
[root@a63bd60008fe /]# /usr/sbin/nginx

四,测试

从浏览器访问: 

http://172.17.0.108/

说明:两台realserver上的nginx,其中一台的nginx默认页面做了处理,header的背景色从#900改成了#090,

         为的是察看效果,

         多刷新几次后可以看到后端nginx的切换。

说明:后端的多个realserver中,可以把其中一台的nginx关闭,则轮循不会再分发到此realserver

         可以用下面的命令测试

[root@cb8a9d5de4fa html]# ps auxfww
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        118  0.0  0.0 103292  2164 ?        Ss   08:33   0:00 nginx: master process /usr/sbin/nginx
nginx       119  0.0  0.2 122024  7748 ?        S    08:33   0:00  \_ nginx: worker process
nginx       120  0.0  0.2 122024  7748 ?        S    08:33   0:00  \_ nginx: worker process
[root@cb8a9d5de4fa html]# kill 118