LVS(DR模式)+keepalived+tomcat架构
程序员文章站
2022-03-03 12:05:18
机器列表项目ValueLVS1192.168.99.109LVS2192.168.99.110real server 1192.168.99.120:8080real server2192.168.99.121:8080VIP192.168.99.199tomcat安装tomcat安装keepalived安装配置`yum install keepalived`配置vrrp_instance VI_1 { state BACKU...
机器列表
项目 | Value |
---|---|
LVS1 | 192.168.99.109 |
LVS2 | 192.168.99.110 |
real server 1 | 192.168.99.120:8080 |
real server2 | 192.168.99.121:8080 |
VIP | 192.168.99.199 |
tomcat安装
keepalived安装配置
`yum install keepalived`
配置
vrrp_instance VI_1 {
state BACKUP #master实例就配置为MASTER
interface ens33 # 端口名称根据需求修改
virtual_router_id 100 #主从必须一致
priority 90 #从实例要小于主实例
advert_int 1
authentication {
auth_type PASS
auth_pass 1111 #主从连接的默认密码
}
virtual_ipaddress {
192.168.99.199/24 dev ens33 label ens33:3 #这个ip配置在lvs的master的网卡上
}
}
realserver 192.168.99.199 80 {
delay_loop 6
lb_algo wrr
lb_kind DR
net_mask 255.255.255.0
persistence_timeout 0 #这个是在多少秒内同一个客户端的请求都会负载到同一个服务器
protocol TCP
real_server 192.168.99.120 80 { #配置的后端服务器端口要和虚拟ip映射的端口一致,不然不能正常工作
weight 1
HTTP_GET {
url {
path /
status_code 200
}
}
real_server 192.168.99.121 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
}
}
LVS配置
1.安装LVS
`yum install ipvsadm`
2.关闭arp_ignore和arp_announce因为后端服务器的lo网卡配置了vip,所以必须要将lo网卡对网络中的其他机器隐藏起来,所以要先关闭其他网卡的arp_ignore和arp_announce,不然其他网卡会泄露lo网卡的信息
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce #注意这里关闭的是realserver的ens33端口。lo网口的这个参数不能关闭
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore #同上
3.vip配置
(1)lvs的vip配置,只需要配置在主实例
上即可掩码是24位
ifconfig ens33:3 192.168.99.199 netmask 255.255.255.0
(2)后端服务器的vip配置在lo网口上,并且掩码是32位
,所有的后端服务器都要配置
ifconfig lo 192.168.99.199 netmask 255.255.255.255 #这里的掩码是32位
4.负载策略配置
ipvsadm -A -t 192.168.99.199 -s rr #配置负载均衡器,ip为vip
ipvsadm -a -t 192.168.99.199:80 -r 192.168.99.120 -g -w 1 #后端服务器起的端口要和负载均衡器的一致
ipvsadm -a -t 192.168.99.199:80 -r 192.168.99.121 -g -w 1
5.排错
(1)查看转发策略
~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.99.199:80 rr
-> 192.168.99.120:80 Route 1 0 0
-> 192.168.99.121:80 Route 1 0 0
# 这里的后端服务器端口默认和负载均衡器的一致,因此,后端服务器的端口也要与负载均衡器的一致
(2)查看转发的连接
~]# ipvsadm -lnc #通常是下面这样的,连接上的或者快要断开连接的。
IPVS connection entries
pro expire state source virtual destination
TCP 01:50 FIN_WAIT 192.168.99.1:51087 192.168.99.199:80 192.168.99.120:80
TCP 14:42 ESTABLISHED 192.168.99.1:51086 192.168.99.199:80 192.168.99.121:80
如果发现大量的SYN_RECV状态的连接,说明后端服务器路由配置有问题,只是收到了SYN包,但是无法发出来。大概率是lo网口配置有问题,比如配置成了24位掩码
解决方案
1.将lo网口掩码配置成32位,防止路由出现异常
2.lo网口的ip配置为vip
本文地址:https://blog.csdn.net/weixin_42768584/article/details/107346811
下一篇: 动物的幽默微语
推荐阅读
-
lvs+keepalive实现双主模式(采用DR),同时实现TCP和UDP检测实现非web端的负载均衡,同时实现跨网段的通讯
-
Linux上LVS-DR模式部署点滴 lvskeepaliveddiprscip
-
LVS/DR模式+Keepalived配置安装详解
-
负载均衡集群 之 LVS (2) DR模式搭建 和 keepalived+lvs
-
应用负载均衡之LVS(三):使用ipvsadm以及详细分析VS/DR模式
-
LVS 的三种模式: NAT 、 IP TUN 和 DR 技术
-
LVS+keepalived实现高可用的DR模式负载均衡的搭建过程
-
LVS(DR模式)+keepalived+tomcat架构
-
LVS的DR模式 使用ipvsadm 操作步骤 lvsdr模式ipvsadm
-
LVS的DR模式 使用ipvsadm 操作步骤 lvsdr模式ipvsadm