zoukankan      html  css  js  c++  java
  • keeplived+LVS

    https://www.jianshu.com/p/c55956882962

    keepalived的抢占与非抢占模式

    
    

    背景:俩节点haproxy通过keepalived实现高可用

    说明:harpxy的实际运行过程中,当master发生异常,且后期恢复master正常后,存在抢占或非抢占两种情况。简单点说抢占模式就是,当master宕机后,backup 接管服务。

    后续当master恢复后,vip漂移到master上,master重新接管服务,多了一次多余的vip切换,而在实际生产中是不需要这样。实际生产中是,当 原先的master恢复后,状态变为backup,不接管服务,这是非抢占模式。

    接下来分4种情况说明

    1)俩台都为master时,比如server1的优先级大于server2,keepalived启动后server1获得master,server2自动降级为backup。

    此时server1宕机的话,server2接替 服务,当server1恢复后,server1又变为master,重新接管服务,server2变为backup。

    属于抢占式。

    2)server1为master,server2位backup,且master优先级大于backup。

    keepalived启动后server1获得master,server2为backup。

    当server1宕机后, server2接管服务。当server1恢复后,server1重新接管服务变为master,而server2变为backup。

    属于抢占式

    3)server1为master,server2位backup,且master优先级低于backup。

    keepalived启动后server2获得master,server1为backup。

    当server2宕机后, server1接管服务。此时server2恢复后抢占服务,获得master,server1降级将为backup。

    属于抢占式

    以上3种,只要级别高就会获取master,与state状态是无关的

    4)server1和server2都为backup。

    我们要注意启动server服务的启动顺序,先启动的升级为master,与优先级无关。。且配置nopreempt

    比如server1获得master权限,server2为backup。

    此时server1宕机后,server2接管服务升级为master。

    当server1恢复后权限降为backup,不会争抢 server2的master权限,server2将会继续master权限。

    属于非抢占式

    重点:第4种非抢占式俩节点state必须为bakcup,且必须配置nopreempt

    注意:这样配置后,我们要注意启动服务的顺序,优先启动的获取master权限,与优先级没有关系了

    总结:

    抢占模式即MASTER从故障中恢复后,会将VIP从BACKUP节点中抢占过来。

    非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP



    作者:PENG先森_晓宇
    链接:https://www.jianshu.com/p/c55956882962
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    
    

    主从都加 nopreempt :抢占VIP模式

    global_defs {
       router_id LVS_MASTER
    }
    
    vrrp_instance VI_A {
        state BACKUP
        interface bond3
        virtual_router_id 99
        nopreempt  # 不抢占模式
        priority 61
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass XXXXXXXXXXXXX
        }
        virtual_ipaddress {
            192.xxx.xxx.1
        }
    }
    
    
    
    
    
    global_defs {
       router_id LVS_SLAVE
    }
    
    vrrp_instance VI_A {
        state BACKUP
        interface bond3
        virtual_router_id 99
        nopreempt # 不抢占模式
        priority 61  #
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass xxxxxxx
        }
        virtual_ipaddress {
            192.xxx.xxx.1
        }
    }

     https://blog.csdn.net/nimasike/article/details/52463806?utm_medium=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~default-3.control404&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~default-3.control40

  • 相关阅读:
    spring六种种依赖注入方式
    HibernateDaoSupport 源码
    ServiceStack.Redis常用操作
    ServiceStack.Redis 之 IRedisTypedClient
    ServiceStack.Redis之IRedisClient
    Windows下Redis的安装使用
    为什么要使用SLF4J而不是Log4J
    每天一个linux命令:mkdir
    浅谈Redis及其安装配置
    Solr4.4的安装与配置
  • 原文地址:https://www.cnblogs.com/tekikesyo/p/15761796.html
Copyright © 2011-2022 走看看