LVS负载均衡篇2--LVS-DR(直接路由模式)

2020-09-29 12:00发布

在DR模式中,LVS负载调度器作为集群的访问入口,但是不作为网关使用,服务器中的节点都各自接入Internet,发送给客户机的web响应不经过LVS负载调度器。

这种方式入站、出站数据被分别处理,因此LVS负载调度器和所有的节点都需要配置有VIP地址,以便响应整个群集的访问。

 环境:

 负载调度器   ens33:192.168.253.110     ens33:0 :192.168.253.100

 节点1:ens33:192.168.253.120      lo:0:192.168.253.100

 节点2:ens33:192.168.253.130      lo:0:192.168.253.100

[root@localhost ~]# setenforce 0[root@localhost ~]# systemctl stop firewalld    防火墙全部关闭状态

负载调度器:采用虚接口方式(eth0:0),为网卡eth0绑定VIP地址,以便响应群集访问。ens33:192.168.253.110  ens33:0:192.168.253.100

1.加载lvs内核模块

 LVS现在已成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。以下操作可以手动加载ip_vs模块,并查看当     前的系统中ip_vs模块的版本信息.

[root@localhost ~]# modprobe ip_vs    加载ip_vs模块
[root@localhost ~]# cat /proc/net/ip_vs     查看ip_vs版本信息
IP Virtual Server version 1.2.1 (size=4096)
[root@localhost ~]# yum -y install ipvsadm   安装管理工具

2.添加虚拟地址的虚拟接口以及本地路由

[root@localhost ~]# ifconfig ens33:0 192.168.253.100 broadcast 192.168.253.100 netmask 255.255.255.255 up     此种方法是临时的,重启网卡则不生效
[root@localhost ~]# route add -host 192.168.253.100 dev ens33:0   添加路由
##[root@localhost ~]# vim /etc/rc.local  配置中添加可以不用操作这步 
 /sbin/route add -host 192.168.253.100 dev ens33:0  ##

3.配置负载分配策略

[root@localhost ~]# ipvsadm -A -t 192.168.253.100:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.253.100:80 -r 192.168.253.120:80 -g -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.253.100:80 -r 192.168.253.130:80 -g -w 1
[root@localhost ~]# ipvsadm -ln   #查看节点状态

4.配置web服务器,在这里我两台节点同时配置

使用DR模式时,节点服务器也需要vip地址,并调整内核的ARP响应参数以阻止更新vip的MAC地址,避免发生冲突。除此以外,web服务器配置和NAT模式一样。

配置虚拟IP地址

每个节点服务器同样需要具有vip,192.168.20.139,但此地地址仅用作发送web响应数据包的源地址,并不需要监听客户机的访问请求(由调度器监听并分发)。因此使用虚接口lo:0来承载vip地址,并为本机添加一条路由记录,将访问vip的数据限制在本地,以免通信紊乱。

#两台节点都操作
[root@localhost ~]# ifconfig lo:0 192.168.253.100 broadcast 192.168.253.100 netmask 255.255.255.255 up   临时的重启网卡则不生效
[root@localhost ~]# route add -host 192.168.253.100 dev lo:0
[root@localhost ~]# echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
[root@localhost ~]# echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
[root@localhost ~]# echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost ~]# echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
[root@localhost ~]# yum -y install httpd
web1 [root@localhost ~]# echo "welcome to hya" > /var/www/html/index.html
web2 [root@localhost ~]# echo "welcome to hya2" > /var/www/html/index.html
[root@localhost ~]# systemctl  start httpd

4.通过vip进行测试

[root@localhost ~]# ipvsadm -lnc
IPVS connection entries
pro expire state       source             virtual            destination
TCP 14:45  ESTABLISHED 192.168.253.1:50930 192.168.253.100:80 192.168.253.120:80
TCP 14:53  ESTABLISHED 192.168.253.1:50925 192.168.253.100:80 192.168.253.130:80

 

转载自:CSDN  作者:Hya、

原文链接:https://blog.csdn.net/yeyslspi59/article/details/108022121