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