Keepalived 角色选举
简介:
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 角色选举的更多相关文章
- Keepalived详解(五):Keepalived集群中MASTER和BACKUP角色选举策略【转】
一.Keepalived集群中MASTER和BACKUP角色选举策略 在keepalived集群中,其实并没有严格意义上的主.备节点,虽然可以在keepalived配置文件中设置state选项为MAS ...
- Keepalived中Master和Backup角色选举策略
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ixdba.blog.51cto.com/2895551/1544858 在Kee ...
- (转载)PIM-SM协议初探(一)路由角色选举
PIM是Protocol Independent Multicast(协议无关组播)的简称,表示可以利用静态路由或者任意单播路由协议(包括RIP.OSPF.IS-IS.BGP等)所生成的单播路由表为I ...
- Keepalived+LVS 实现高负载均衡Web集群
一.原理及简介: 1.1 Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节 ...
- keepalived+双主架构
简介 keepalived是基于VRRP协议的,全称 Virtual Redundent Routing Protocal 虚拟路由协议,为解决静态路由单点故障引起的网络失效问题设计的一套主备协议 两 ...
- Centos7-Lvs+Keepalived架构
Centos7-Lvs+Keepalived架构 LVS+Keepalived 介绍 1 . LVS LVS 是一个开源的软件,可以实现 LINUX 平台下的简单负载均衡. LVS 是 Lin ...
- keepalived配置主从备份
keepalived配置主从备份 keepalived是一个用于做双机热备(HA)的软件,常和haproxy联合起来做热备+负载均衡,达到高可用. 运行原理 keepalived通过选举(看服务器 ...
- Keepalived 资源监控
简介: 作为一个高可用集群软件,Keepalived 没有 Heartbeat .RHCS 等专业的高可用集群软件功能强大,它不能够实现集群资源的托管,也不能实现对集群中运行服务的监控,好在 Keep ...
- keepalived之vrrp_script详解
通常情况下,利用keepalived做热备,其中一台设置为master,一台设置为backup.当master出现异常后,backup自动切换为master.当backup成为master后,mast ...
随机推荐
- openvpn搭建笔记
#整理openvpn安装 #1安装上传/下载软件 yum -y install openssh-clients lrzsz #2更新时间 yum -y install ntpdatentpdate t ...
- c语言标识符
在程序中使用的变量名.函数名.标号等统称为标识符. 除库函数的函数名由系统定义外,其余都由用户自定义. C 规定,标识符只能是字母(A-Z,a-z).数字(0-9).下划线()组成的字符串,并且其第一 ...
- SQL之 UNION ALL 和UNION
有时候复杂的逻辑处理可以交给SQL来处理,自认为是比java处理要快点. 举个例子:如何统计每个品牌的的偏好用户数? 当时我做的处理是在java中处理这些品牌,若是品牌相同,就加一,但是这种方法很慢, ...
- BestCoder Round #1 第一题 逃生
// 等了好久,BESTCODER 终于出来了..像咋这样的毕业的人..就是去凑凑热闹// 弱校搞acm真是难,不过还是怪自己不够努力// 第一题是明显的拓扑排序,加了了个字典序限制而已// 用优先队 ...
- Django(一):从socket到MVC
一.socket的http套路 web应用本质上是一个socket服务端,用户的浏览器是一个socket客户端.socket处在应用层与传输层之间,是操作系统中I/O系统的延伸部分(接口),负责系统进 ...
- 51nod 1347 旋转字符串
S[0...n-1]是一个长度为n的字符串,定义旋转函数Left(S)=S[1…n-1]+S[0].比如S=”abcd”,Left(S)=”bcda”.一个串是对串当且仅当这个串长度为偶数,前半段和后 ...
- RSA 每次公钥加密不同结果
今天服务器端一哥们突然跑过来跟我说:我发现公钥每次加密都不同结果啊? 我说:怎么可能?不同的话,私要怎么解密和验证啊? 然后我屁颠屁颠的试了下,结果发现不论在在线RSA的还是自己公司 利用同一个明文加 ...
- python read txt file
refer to: http://www.jianshu.com/p/d8168034917c http://www.liaoxuefeng.com/wiki/001374738125095c955c ...
- Numpy, Pandas, Matplotlib, Scipy 初步
Numpy: 计算基础, 以类似于matlab的矩阵计算为基础. 底层以C实现, 速度快. Pandas: 以numpy为基础, 扩充了很多统计工具. 重点是数据统计分析. Matplotlib: ...
- mui.fire 目标页无法监听到 触发事件
//获得详情页面 if(!detailPage){ detailPage = plus.webview.getWebviewById('detail.html'); } //触发详情页面的newsId ...