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 ...
随机推荐
- javascript进阶修炼之一——javascript必备操做
动态选择方法及属性 使用方括号操作符,比点操作符功能更强大.因为可以在[ ]方括号中使用任何代表成员名称的内容访问对象.包括字面量,保存着成员名称的变量,名称组合,三元操作符.所有这些内容都会被处理成 ...
- Servlet实现文件上传和下载
对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具commo ...
- NET Core项目模板
打造自己的.NET Core项目模板 https://www.cnblogs.com/catcher1994/p/10061470.html 前言 每个人都有自己习惯的项目结构,有人的喜欢在项目里面建 ...
- GitHub项目为己所用
1.下载 2.cmd 进入文件夹 3.mvn clean package 4.mvn install
- selenium 上传文件方法补充——SendKeys、win32gui
之前和大家说了input标签的上传文件的方式: <selenium2 python 自动化测试实战>(13)——上传文件 现在好多网站上传的标签并不是input,而是div之类的比如: 全 ...
- Centos7.x破解密码
Centos7.x破解密码 centos7 破解密码 重置Centos 7 Root密码的方式和Centos 6完全不同.让我来展示一下到底如何操作. 1 .在启动grub菜单,选择编辑选项启动 14 ...
- 9.Python安装scrapy教程
1.在命令行中输入:pip3 install scrapy(pip3是因为本人python版本是3.6),报错如下: 2.解决方法:在https://www.lfd.uci.edu/~gohlke/ ...
- Python——while、continue、break、while-else、or、and、not
1. while 终止while循环: (1) 改变条件,使其不成立 (2) break 应用实例1:计算1+2+3+...+100 #1.使用两个变量 count = 1 sum = 0 while ...
- Android 从上层到底层-----hal层
CPU:RK3288 系统:Android 5.1 功能:上层 app 控制 led 亮灭 开发板:Firefly RK3288 led_hal.c path:hardware/rockchip/fi ...
- vs2015安装ORACLE的DbFirst
不说DbFirst好在哪里,它和ModelFirst,CodeFirst都各有各的好,由于对于已经存在的一个大型的业务库,使用EntityFramework的更倾向于DbFirst,因为好多同事已经习 ...