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

 

posted @   莫让年华付水流  阅读(422)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示