keepalived配置文件

本文介绍了如何配置keepalived的健康检查,包括使用HTTP_GET方法检查页面状态码,并且详细说明了如何实现非抢占式设置,确保在特定条件下避免主备切换。在配置中,需将state设置为BACKUP,并添加nopreempt参数来防止不必要的抢占行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[root@tom01 keepalived-1.2.19]# vim /etc/keepalived/keepalived.conf

global_defs {
   notification_email {
  xxxxxx@qq.com
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_KEEP01                                   #主备上要不同的名称
}

vrrp_instance VI_1 {                                          #主备名称要相同
    state MASTER                                              #主是MASTER备是BACKUP
    interface eth0
	lvs_sync_daemon_inteface eth0                  #同步接口虚拟机可不写
    virtual_router_id 51                                      #Id主备名称要相同
    priority 150                                                   #优先级越大表示优先
    nopreempt                                                   #Master从故障恢复之后不抢占VIP,让BACKUP继续为主 
    advert_int 1                                                  #心跳检查间隔时间单位秒
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {                                       #设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个
        10.125.192.100
        10.125.192.101
    }
}

virtual_server 10.125.192.100 80 {                #后端提供服务的Vip IP和端口之间用空格隔开
    delay_loop 6                                              #健康检查时间
    lb_algo wrr                                                #设置调度算法
    lb_kind DR                                                #选择lvs模式
    nat_mask 255.255.255.0
    persistence_timeout 10                           #会话超时时间 在设置的时间内来自同一IP的请求发给同一台real server
    protocol TCP

    real_server 10.125.192.2 80 {
        weight 1                                                      #默认为1,0为失效
		inhibit_on_failure                                        #在服务器健康检查失效时,将其设为0,而不是直接从ipvs中删除
        TCP_CHECK {                                           #realserve的状态检测设置部分
        connect_timeout 8                                     #连接超时时间
        nb_get_retry 3                                           #重试次数
        delay_before_retry 3                                 #重试时间间隔
        connect_port 80                                        #健康检查端口
        }
    }
    real_server 10.125.192.3 80 {
        weight 1
		inhibit_on_failure                                    
        TCP_CHECK {
        connect_timeout 8
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
}

TCP_CHECK健康检查方法也可以换成
HTTP_GET { #健康检查方法
url {
path / #检查页面
status_code 200 #返回状态码
}

配置非抢占式
添加参数
nopreempt

注:

1 两个节点的state必须都是BACKUP
2 两个节点都必须加上nopreempt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值