在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