简介:

1、在 Keepalived 集群中,其实并没有严格意思上的主、备节点,虽然可以在 keepalived.conf 中定义 state 选项为 MASTER 状态,
但是这并不意味着此节点就一直是 MASTER 角色。控制节点角色的是 keepalived.conf 中的 priority 值,还有 vrrp_script 模块中的 weight 值,
这两个选项对应的是一个整数值,其中 weight 的值可以是正整数,也可以是负整数,一个节点在集群中的角色就是由这两个值来控制的。

2、在一个一主多备的 Keepalived 集群中,priority 值最大的将成为集群中的 MASTER 角色,其他的都是 BACKUP 角色。
当 MASTER 节点发生故障时,BACKUP 节点之间将进行角色选举,通过节点优先级 priority 跟 weight 来计算,选出新的 MASTER 节点接管服务。

3、在 vrrp_script 模块中,如果不设置 weight 值,那么集群优先级的选择将由 keepalived.conf 配置文件中的 priority 值决定。

weight 值的设定:

节点 A 、B 组成 Keepalived 集群,A 的 priority 值为 100 ,B 的 priority 值为 80

正常情况下 A 为 MASTER / B 为 BACKUP

现加入资源监控 vrrp_script 模块来监控 nginx

weight 的值,在正整数的情况下必须大于 20

因为当 A 节点中的 Nginx 无法提供服务时,A 节点的脚本检测将失败,返回 1

这时 A 节点的权值将保持 priority 的值 100

而 B 节点的权值将变为 priority + weight 的和,即 80 + weight ,这个和必须大于 100 才会发生主备切换

weight 的两种情况:

1、正整数时

MASTER 节点 vrrp_script 脚本检测失败时,MASTER 节点的 priority 的值小于 BACKUP 节点 priority + weight 的和时,进行主备切换

MASTER 节点 vrrp_script 脚本检测成功时,MASTER 节点 priority + weight 的值大于 BACKUP 节点 priority + weight 的和时,主节点依然是主节点,不发生切换

2、负整数时

MASTER 节点 vrrp_script 脚本检测失败时,MASTER 节点 priority - weight 小于 BACKUP 节点 priority 的值时,进行主备切换

MASTER 节点 vrrp_script 脚本检测成功时,MASTER 节点 priority 的值大于 BACKUP 节点 priority 的值时,主节点依然是主节点,不发生切换

总结:weight 值的绝对值必须大于 MASTER 节点的 priority - BACKUP 节点的 priority 的差 !

Keepalived 角色选举的更多相关文章

  1. Keepalived详解(五):Keepalived集群中MASTER和BACKUP角色选举策略【转】

    一.Keepalived集群中MASTER和BACKUP角色选举策略 在keepalived集群中,其实并没有严格意义上的主.备节点,虽然可以在keepalived配置文件中设置state选项为MAS ...

  2. Keepalived中Master和Backup角色选举策略

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ixdba.blog.51cto.com/2895551/1544858 在Kee ...

  3. (转载)PIM-SM协议初探(一)路由角色选举

    PIM是Protocol Independent Multicast(协议无关组播)的简称,表示可以利用静态路由或者任意单播路由协议(包括RIP.OSPF.IS-IS.BGP等)所生成的单播路由表为I ...

  4. Keepalived+LVS 实现高负载均衡Web集群

    一.原理及简介: 1.1 Keepalived简介      Keepalived是Linux下一个轻量级别的高可用解决方案.Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节 ...

  5. keepalived+双主架构

    简介 keepalived是基于VRRP协议的,全称 Virtual Redundent Routing Protocal 虚拟路由协议,为解决静态路由单点故障引起的网络失效问题设计的一套主备协议 两 ...

  6. Centos7-Lvs+Keepalived架构

      Centos7-Lvs+Keepalived架构 LVS+Keepalived 介绍 1 .   LVS LVS 是一个开源的软件,可以实现 LINUX 平台下的简单负载均衡. LVS 是 Lin ...

  7. keepalived配置主从备份

    keepalived配置主从备份   keepalived是一个用于做双机热备(HA)的软件,常和haproxy联合起来做热备+负载均衡,达到高可用. 运行原理 keepalived通过选举(看服务器 ...

  8. Keepalived 资源监控

    简介: 作为一个高可用集群软件,Keepalived 没有 Heartbeat .RHCS 等专业的高可用集群软件功能强大,它不能够实现集群资源的托管,也不能实现对集群中运行服务的监控,好在 Keep ...

  9. keepalived之vrrp_script详解

    通常情况下,利用keepalived做热备,其中一台设置为master,一台设置为backup.当master出现异常后,backup自动切换为master.当backup成为master后,mast ...

随机推荐

  1. 颜色叠加模式:mix-blend-mode

    文章转自叠加模式 http://www.cgspread.com/3551.html 注释:1.混合模式的数学计算公式,另外还介绍了不透明度.2.这些公式仅适用于RGB图像,对于Lab颜色图像而言,这 ...

  2. 每天一个linux命令:【转载】head命令

    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...

  3. springboot项目启动之后初始化自定义配置类

    前言 今天在写项目的时候,需要再springboot项目启动之后,加载我自定义的配置类的一些方法,百度了之后特此记录下. 正文 方法有两种: 1. 创建自定义类实现 CommandLineRunner ...

  4. 细说VS MSBuild 和 Framework 的区别

    如今已经是 VS2017 横行的时代,而据我所知,大部分人还停留在使用 VS2015 VS2013 或更低的版本,主要是因为他们参与的项目基本使用这几个VS的版本开发的.眼红VS2017却不敢升级,主 ...

  5. LG3960 列队

    题意 传送门 分析 参照博客 树状数组+离线处理即可. 利用树状数组下标本质即可\(O(\log n)\)求第k大. 代码 #include<iostream> #include<c ...

  6. Android学习路线总结,绝对干货(转)

    title: Android学习路线总结,绝对干货tags: Android学习路线,Android学习资料,怎么学习androidgrammar_cjkRuby: true--- 一.前言 不知不觉 ...

  7. GCC用法

    http://www.cnblogs.com/hibernate6/archive/2010/08/24/2522057.html

  8. RK3288 增加双屏异显 eDP+LVDS

    CPU:RK3288 系统:Android 5.1 下面是官方文档中的信息. 1.rk3288 支持的显示接口可以任意组合. 2.双屏异显时,一个显示接口当主屏,另一个当副屏:主副屏由板级 dts 文 ...

  9. pat1022__字符串查找

    主要是对字符串的查找,为了方便并且快速的实现查找,用map会比较方便 同时如何把一个带有空格的字符串变成多个单词也有一个小技巧 char *point=book[i].keyWord;//关键词分离 ...

  10. linux下踢出已登录用户

    通过xshell登录到linux,看到如下所示,有3个用户,但是前面两个不知在哪登录的了,那就踢出吧. 先确认一下自己是哪个 顺便注意一下“whoami”和“who am i”的不同 然后踢出前面两个 ...