keepalived设置master故障恢复后不重新抢回vip(解决nopreempt无效)(代码片段)

征服.刘华强 征服.刘华强     2023-01-28     765

关键词:

注意:一定先关闭防火墙测试,先能保证测试通过。

如果服务器一定要用防火墙,那么在测试无误后,通过命令运行VRRP路由冗余协议。

允许组播,两台设备上都需要执行
iptables -A INPUT -d 224.0.0.18 -j ACCEPT
或修改:vim /etc/sysconfig/iptables
适当位置添加行:
-A INPUT -d 224.0.0.18 -j ACCEPT



默认情况下keepalived 有一台主服务器(master,以后称之为M服务器),一台备服务器(backup,以后称之为B服务器)。 正常情况下M服务器接管VIP成为【主】,当M服务器宕机后,B服务器接管VIP成为【主】,已达到灾备的效果,如果M服务器再次恢复正常,那么M服务器会重新抢回VIP成为【主】 B服务器变成【备】。
核心配置如下,配置这里不全,需要注意: Master配置
vrrp_instance VI_1 
    state MASTER
    interface eno16777736
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication 
        auth_type PASS
        auth_pass 1111
    
    virtual_ipaddress 
        192.168.80.120
    
    #notify_master /home/keepshell/notify_master.sh
    #notify_backup /home/keepshell/notify_backup.sh
    #notify_fault  /home/keepshell/notify_fault.sh
    #notify_stop   /home/keepshell/notify_stop.sh


Backup配置
vrrp_instance VI_1 
    state BACKUP
    interface eno16777736
    virtual_router_id 51
    nopreempt
    priority 90
    advert_int 1
    authentication 
        auth_type PASS
        auth_pass 1111
    
    virtual_ipaddress 
        192.168.80.120
    
   #notify_master /home/keepshell/notify_master.sh
   #notify_backup /home/keepshell/notify_backup.sh
   #notify_fault  /home/keepshell/notify_fault.sh
   #notify_stop   /home/keepshell/notify_stop.sh


有的时候我们需要M服务器在恢复正常后不要重新接管VIP,让B服务器继续为【主】  让后来恢复正常的M服务器为【备】。
修改Master配置, Backup服务器的配置不变。
vrrp_instance VI_1 
    state BACKUP
    interface eno16777736
    virtual_router_id 51
    priority 100
    nopreempt
    advert_int 1
    authentication 
        auth_type PASS
        auth_pass 1111
    
    virtual_ipaddress 
        192.168.80.120
    
    notify_master /home/keepshell/notify_master.sh
    notify_backup /home/keepshell/notify_backup.sh
    notify_fault  /home/keepshell/notify_fault.sh
    notify_stop   /home/keepshell/notify_stop.sh

state MASTER 修改为 state BACKUP  nopreempt  设置为不抢夺VIP


没错,修改M,B服务器的  state BACKUP 都为【备】类型,同时设置 nopreempt  设置为不抢夺VIP,然后先启动M服务器,M服务器会成为【主】, 然后启动B服务器,由于M的优先级高【priority 100】 所以B不会抢夺VIP,这时M宕机,B成为【主】,接着M恢复正常,由于设置了nopreempt 所以M不会抢夺VIP,B继续为【主】而M为【备】。

技术交流群: 212320390

keepalived

keepalived一、原理:  功能:能够自动实现将用户访问的ip转移的方法,故障重启,故障,恢复切换,故障报警  模型:Master/Backup  使用场景:节点少,没有共享存储等等。他只能有一个主活动,其他为从节点功能实现:Ma... 查看详情

keepalived漂移vip故障

keepalived + lvs 172.16.30.31  master172.16.30.32  backup172.16.30.10  vip故障:监控显示keepalived master主机故障;通过ping查看vip存在。master重启以后,VIP漂移回master.偶然间,重启mas 查看详情

keepalived+nginx实现高可用(ha)(代码片段)

keepalived的HA分为抢占模式和非抢占模式,抢占模式即MASTER从故障中恢复后,会将VIP从BACKUP节点中抢占过来。非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP。下面分别介绍CentOS7下抢占模式和非抢占模式的配置方式&... 查看详情

keepalived高可用

...工具硬件:F5  价格昂贵,10-20w,高端定制软件:keepalived3,实现原理keepalived软件是基于VRRP协议实现的基于vrrp协议实现,主要解决单点故障问题;VRRP通过软件或者硬件的形式在master和backup上增加一个mac地址(即VMAC)与虚... 查看详情

keepalived

1:HA集群架构与VIIP工作原理:Linux高可用集群:pacemaker、keepalivedkeepalived理论工作原理:keepalived是以VRRP协议为实现基础的,VRRP全称VirtualRouterRedundancyProtocol,即虚拟路由冗余协议。虚拟路由冗余协议是实现路由器高可用的协议,即... 查看详情

keepalived的抢占与非抢占模式

参考技术A背景:俩节点haproxy通过keepalived实现高可用说明:harpxy的实际运行过程中,当master发生异常,且后期恢复master正常后,存在抢占或非抢占两种情况。简单点说抢占模式就是,当master宕机后,backup接管服务。后续当master恢... 查看详情

keepalived的介绍

简介:Keepalived起初是用来配合lvs负载均衡,用来控制管理并且监控系统中的各个节点状态,后来加入了VRRP功能是集群管理中保证集群高可用,用来防止单点故障 Vrrp协议,可以认为是实现路由器的高可用协议,就是把相同作用的... 查看详情

keepalived怎么重新加载配置文件

keepalived.conf内容说明如下●全局定义块1、email通知。作用:有故障,发邮件报警。2、Lvs负载均衡器标识(lvs_id)。在一个网络内,它应该是唯一的。3、花括号“”。用来分隔定义块,因此必须成对出现。如果写漏了,keepalived运... 查看详情

keepalived常见故障

...200  10.0.0.201这个登录一下,帮我测试一下nginx那个keepalived的功能正常不系统是centos7keepalived和  nginx都可以重启测试:1、pkillnignx后,故障切换一切正常,恢复nginx后也可以抢占回VIP2、在修改nginx配置文件后,在pkilln... 查看详情

JSF过滤器在初始重定向后不重定向[关闭]

...【发布时间】:2012-11-0205:56:21【问题描述】:我正在尝试设置网络过滤器并需要一些帮助。我的过滤器在初始登录时工作正常,但是当会话超时并且我单击任何链接时,它会触发我的重定向语句,但浏览器中的网页永远不会被重... 查看详情

keepalived配置

1、什么是keepalived?keepalived是集群管理中保证集群高可用的一个服务软件,用来检测服务器的状态以及loadbbalance主机和backup主机之间的failover(故障切换)防止单点故障。在集群当中如果有一台服务器宕机或工作出现故障,keepalived... 查看详情

keepalived高可用(代码片段)

keepalived简介优秀博客:https://blog.csdn.net/qq_24336773/article/details/82143367keepalived是为管理管理中保证能够提供高可用的一个服务软件,其功能称为心跳,可以防止单点故障。keepalived工作原理keepalived通过VRRP协议为实现基础的,VRRP全... 查看详情

部署haproxy+keepalived高可用负载均衡器

...险。所以必须对HAProxy实施高可用方案。下面将介绍利用Keepalived实现的HAProxy热备方案。即两台主机上的两个HAProxy实例同时在线,其中权重较高的实例为MASTER,MASTER出现问题时,另一台实例自动接管所有流量。1、地址规划haproxy+ke... 查看详情

lvs-dr与keepalived群集(代码片段)

keepalived概述Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动... 查看详情

Django用户身份验证:登录后不重定向

】Django用户身份验证:登录后不重定向【英文标题】:Djangouserauthentication:notredirectingafterlogin【发布时间】:2011-12-1909:05:30【问题描述】:我的网站有一个包含论坛链接的首页。访问论坛需要用户登录。因此,我为视图show_forum提... 查看详情

春季安全。删除一个拦截 URL 后不重定向到登录页面

】春季安全。删除一个拦截URL后不重定向到登录页面【英文标题】:Springsecurity.Doesn\'tredirecttologinpageafterdroponeintercept-url【发布时间】:2015-09-0616:22:22【问题描述】:我有以下spring-security配置:<httpauto-config="true"pattern="/admin/**"au... 查看详情

keepalived服务(代码片段)

...会自动接管业务;我们将其称为高可用;目的:通常使用keepalived软件实现高可用,keepalived是借助VRRP(虚拟路由冗余协议)实现高可用功能;应用场景:主要用于业务系统,保证业务系统的7x24小时运行;二、VRRP1.工作原理VRRP工作... 查看详情

keepalived工作原理

keepalived是什么keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。keepalived工作原理keepalived是以VRRP协议为实现基础的,VRRP全称VirtualRouterRedundancyProtocol,即虚拟路由冗余协议。虚拟... 查看详情