Keepalived 高可用与负载均衡
Keepalived 高可用与负载均衡一、基础概念1. 什么是 Keepalived基于VRRP 协议实现的高可用HA工具核心作用单点故障自动切换保证服务不间断同时集成LVS 负载均衡管理功能可直接做四层负载均衡2. 核心应用场景高可用HA双机热备 / 双主网关、Nginx、MySQL、Redis 等虚拟 IPVIP漂移对上层透明负载均衡LB配合 LVS 做四层TCP/UDP负载均衡支持健康检查自动剔除异常后端3. 关键术语VRRP虚拟路由冗余协议多台设备虚拟出一个网关Master主节点持有 VIP对外提供服务Backup备节点监听主节点故障时接管VIP虚拟 IP对外统一访问入口LVSLinux Virtual Server内核四层负载均衡健康检查检测后端服务存活自动上下线二、工作原理1. VRRP 高可用原理多台服务器组成一个VRRP 集群选举 Master 节点绑定 VIPMaster 定时发送 VRRP 广播默认 1sBackup 收不到广播则认为主故障抢占 VIP切换后自动发送免费 ARP刷新交换机 / 客户端 ARP 表2. 负载均衡原理LVSKeepalivedKeepalived 配置虚拟服务VIP:PORT定义后端真实服务器RS池配置调度算法rr、wrr、lc 等自动对 RS 做健康检查HTTP/TCP/PING异常 RS 自动剔除恢复后自动加入三、安装与基础配置1. 安装CentOS/RHELbash运行yum install -y keepalived2. 配置文件路径plaintext/etc/keepalived/keepalived.conf3. 核心配置结构global_defs全局配置vrrp_instanceVRRP 实例高可用核心virtual_server虚拟服务负载均衡real_server后端真实服务器四、高可用HA典型配置1. 主节点Master配置plaintextglobal_defs { router_id LVS_MASTER } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 150 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 192.168.1.100/24 dev eth0 } }2. 备节点Backup配置plaintextglobal_defs { router_id LVS_BACKUP } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 192.168.1.100/24 dev eth0 } }3. 关键参数说明router_id集群内唯一标识state初始角色MASTER/BACKUPinterface绑定 VIP 的网卡virtual_router_id集群 ID同集群必须一致priority优先级值越大越易成为主advert_intVRRP 报文发送间隔virtual_ipaddressVIP 地址五、负载均衡LVS配置在keepalived.conf中添加virtual_server配置plaintextvirtual_server 192.168.1.100 80 { delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 0 protocol TCP real_server 192.168.1.11 80 { weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 } } real_server 192.168.1.12 80 { weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 } } }1. 调度算法lb_algorr轮询默认wrr加权轮询lc最少连接wlc加权最少连接sh源地址哈希会话保持2. LVS 工作模式lb_kindDR直接路由生产最常用性能最高NAT网络地址转换TUNIP 隧道3. 健康检查方式TCP_CHECKTCP 端口检查HTTP_GETHTTP 路径检查SSL_GETHTTPS 检查PING_CHECKPing 检查六、服务管理与状态查看bash运行# 启动 systemctl start keepalived # 开机自启 systemctl enable keepalived # 查看状态 systemctl status keepalived # 查看 VIP ip addr show eth0 # 查看 VRRP 日志 tail -f /var/log/messages七、常见高可用扩展1. 抢占与非抢占模式默认抢占模式主恢复后自动抢回 VIP非抢占添加nopreempt主恢复不抢回plaintextvrrp_instance VI_1 { ... nopreempt }2. 脚本监控Nginx/MySQL 高可用通过track_script监控服务状态异常则降权触发切换plaintextvrrp_script check_nginx { script /etc/keepalived/check_nginx.sh interval 2 weight -20 } vrrp_instance VI_1 { ... track_script { check_nginx } }八、常见问题与排错VIP 不漂移防火墙未放通 VRRP协议号 112virtual_router_id不一致优先级配置错误负载均衡不生效LVS 内核模块未加载RS 未配置 lo:0 绑定 VIPDR 模式切换后访问不通未发送免费 ARP网关 ARP 表未刷新网卡配置、子网掩码错误九、生产使用总结Keepalived主打高可用负载均衡依赖 LVS四层负载均衡用KeepalivedLVS七层负载均衡用KeepalivedNginx关键业务建议双主模式 服务监控脚本注意时间同步、防火墙规则、网卡名称一致性
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2519329.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!