28-搭建Keepalived+LVS+Nginx高可用集群负载均衡
2023-06-13 09:12:26 时间
搭建Keepalived+LVS+NGINX高可用集群负载均衡
架构图
搭建Keepalived+LVS
为了搭建主备模式架构, 再创建一台192.168.247.139的虚拟机
在138, 139上安装Keepalived, 并注册为系统服务,但是不用修改配置文件
修改主LVS上的Keepalived配置文件
vi /etc/keepalived/keepalived.conf
配置文件
! Configuration File for keepalived
global_defs {
router_id LVS_138
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.247.150
}
}
# 配置集群地址访问的IP+端口 端口和Nginx保持一致, 都是80
virtual_server 192.168.247.150 80 {
# 健康检查的时间, 单位:秒
delay_loop 6
# 负载策略 轮询
lb_algo rr
# LVS模式 DR
lb_kind DR
# 会话持久化时间
persistence_timeout 5
# 协议
protocol TCP
# 负载均衡的真实服务器, 也就是Nginx的节点真实IP
real_server 192.168.247.136 80{
weight 1
# 设置健康检查
TCP_CHECK {
# 检查端口 80
connect_port 80
# 超时时间 2s
connect_timeout 2
# 重试次数 2次
nb_get_retry 2
# 间隔时间 3s
delay_before_retry 3
}
}
real_server 192.168.247.137 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 2
nb_get_retry 2
delay_before_retry 3
}
}
}
清除之前的LVS配置
ipvsadm -C
重启Keepalived
systemctl restart keepalived
查看LVS映射表
[root@localhost etc]# 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.247.150:80 rr persistent 5
-> 192.168.247.136:80 Route 1 0 0
-> 192.168.247.137:80 Route 1 0 0
[root@localhost etc]#
已经出现了配置
修改备LVS上的Keepalived配置文件
vi /etc/keepalived/keepalived.conf
配置文件
! Configuration File for keepalived
global_defs {
router_id LVS_139
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 80
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.247.150
}
}
virtual_server 192.168.247.150 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 5
protocol TCP
real_server 192.168.247.136 80{
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 2
nb_get_retry 2
delay_before_retry 3
}
}
real_server 192.168.247.137 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 2
nb_get_retry 2
delay_before_retry 3
}
}
}
重启Keepalived
systemctl restart keepalived
查看LVS的映射表
[root@localhost keepalived]# 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.247.150:80 rr persistent 5
-> 192.168.247.136:80 Route 1 0 0
-> 192.168.247.137:80 Route 1 0 0
[root@localhost keepalived]#
已经出现配置
测试高可用
访问测试
可以访问
测试Keepalived停止
手动停止主LVS上的Keepalived
systemctl stop keepalived
再次访问
已经自动切换到备LVS上了
此时恢复主LVS
systemctl start keepalived
150重新绑定回主LVS节点
测试Nginx停止
现在访问的是master
手动停止136上的Nginx
./nginx -s quit
测试访问
就只能访问到备用的Nginx了
LVS的持久化过期时间已经过了,但是还是直接访问137节点了, 查看映射规则
应为136已经被停止, 现在映射表只有137节点
手动恢复136
./nginx
映射表重新加载了136节点, 健康检查生效
到此Keepalived+LVS+NGINX高可用集群负载均衡搭建完成~
相关文章
- LVS 负载均衡集群 – 直接路由模式(LVS-DR)
- TrafficMonitor:Windows轻量级Windows负载监控小工具
- dubbo源码学习之服务端接收消息 负载均衡(四)
- ribbon默认的负载均衡策略_集群负载均衡策略
- 搭建Eureka注册中心集群 ,实现负载均衡
- Typecho COS插件实现网站静态资源存储到COS,降低本地存储负载
- konga实现负载均衡
- LVS+keepalived配置高可用架构和负载均衡机制(1)
- Eureka Client的负载均衡策略
- Spring Cloud Gateway负载均衡(一)
- WordPress 文章超过10万就会负载很高,是不是不适合做大网站?
- 负载均衡(原理、配置)详解程序员
- 使用MongoDB实现负载均衡的集群方案(mongodb集群方案)
- LB Cluster负载均衡集群和HA高可用集群
- Codis 高可用负载均衡群集的搭建与使用
- Hive集群合并之应用端的负载均衡算法
- Oracle RAC:实现高可用及负载均衡的集群技术(OracleRAC)
- 高效稳定的数据库方案:MySQL集群配合LVS实现负载均衡(mysql集群lvs)
- 运维工程师必备之负载均衡集群及LVS详解【精】
- 搭建MSSQL数据库集群,实现负载均衡(数据库集群搭建mssql)
- Redis负载均衡的持续发展之路(redis负载原理)
- 借助Redis和Nginx进行更有效的负载均衡(redis配合nginx)
- 基于Redis的负载均衡集群构建(redis负载均衡集群)
- 使用Redis负载均衡提升集群性能(redis负载均衡类)
- Oracle IO性能优化避免负载过高(oracle io 过高)