keepalived+lvs 安装配置
一. 说明:
1、keepalived 做为双机热备软件,是为lvs而生的扩展项目;
2、通过VRRP 协议实现。让其能够对后端有健康检查的功能。
二. keepalived工作原理
keepalived模块:
1. core:是keepalived的核心,负责主进程的启动和维护,全局配置文件的加载解析等。
2. checkers:负责真实服务器的健康检查healthchecking,是keepalived最主要的功能。可以没有VRRPStack,但健康检查要有。
3. VRRPStack 负责负载均衡器之间的失败切换FailOver。如果只用一个负载均衡器,则VRRP不是必须的。
4. IPVS wrapper 用来发送设定的规则到内核ipvs代码。
5. Netlink Reflector 用来设定vrrp的vip地址等。
6.WatchDog:负责监控checkers和VRRP进程的状况。
三.keepalived正常运行时,共有3个进程:
1.父进程:负责监控其子进程。
2.vrrp子进程
3.checkers子进程
四.keepalived.conf的配置
配置文件分三部分:
1.全局定义部分
2.VRRP实例定义部分
3.虚拟服务定义部分
五.安装和配置:
环境需要:
LVS 主: 10.10.1.233
LVS 备: 10.10.1.243
VIP : 10.10.1.101
web1 : 10.10.1.108
web2 : 10.10.1.109
安装软件包
yum -y install ipvsadm keepalived
启动keepalived服务
systemctl start keepalived.service
keepalived-master配置:
global_defs { router_id LVS_DEVEL vrrp_skip_check_adv_addr vrrp_garp_interval 0.001 vrrp_gna_interval 0.000001 } vrrp_instance VI_1 { state MASTER interface ens192 virtual_router_id 51 priority 100 advert_int 1
#多播改成单播,否则两台主机双主
unicast_src_ip 10.10.1.233 #本机ip
unicast_peer {
10.10.1.243 #对端ip
}
authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.10.1.101 dev ens192 label ens192:1 10.10.1.102 dev ens192 label ens192:2 } } virtual_server 10.10.1.101 80 { delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 1 protocol TCP real_server 10.10.1.237 80 { weight 1 TCP_CHECK { #健康检查 connect_timeout 3 retry 3 delay_before_retry 3 } } real_server 10.10.1.247 80 { weight 1 TCP_CHECK { #健康检查 connect_timeout 3 retry 3 delay_before_retry 3 } } }
keepalived-slave配置:
state BACKUP
priority 90
realserver 主机配置
# 在RS上必须对VIP忽略ARP响应
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
# 添加路由,让vip来响应客户端
ip addr add 10.10.1.101/32 dev lo label lo:1
ip route add 10.10.1.101 dev lo:1
lvs 管理命令:
查看已设置的persistence_timeout时间:
ipvsadm -S -n
查看Client连接到Server端的请求负载情况:
ipvsadm -L -n -c
# 统计
ipvsadm -Ln --stats
# 管理超时
ipvsadm -L --timeout
ipvsadm --set 900 120 300
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术