keepalived的工作原理
keepalived的工作原理
首先简单介绍一下vrrp协议
vrrp协议
用来实现路由器冗余的协议:
Vrrp协议是为了消除在静态缺省路由环境下路由器单点故障引起的网络失效而设计的主备模式的协议,使得发生故障而进行设计设备功能切换时可以不影响内外数据通信,不需要再修改内部网络的网络参数。Vrrp协议需要具有IP备份,优先路由选择,减少不必要的路由器通信等功能,
Vrrp协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个)。而在路由器组内部,如果实际拥有这个对外IP的路由器如果工作正常的话,就是master,或者是通过算法选举产生的,MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等,其他设备不具有该IP,状态是BACKUP。除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能,当主级失效时,BACKUP将接管原先MASTER的网络功能。
配置VRRP协议时需要配置每个路由器的虚拟路由ID(VRID)和优先权值,使用VRID将路由器进行分组,具有相同VRID值的路由器为同一个组,VRID是一个0-255的整整数,;同一个组中的路由器通过使用优先权值来选举MASTER。,优先权大者为MASTER,优先权也是一个0-255的正整数。
keepalived的简介
Keepalived是基于vrrp协议实现的。
Keepalived是模块化的设计,不同模块负责实现不同的功能,keepalived的组件
Core, check,vrrp,libipfwc,libipvs-2.4 libipvs-2.6
Core:是keepalived的核心,复杂主进程的启动和维护,全局配置文件的加载解析等
Check:负责healthcheck(健康检查),包括了各种检查方式,以及对应的配置解析包括LVS的配置解析,
Vrrp:vrrpd子进程,vrrpd子进程就是用来实现vrrp协议的,
Libipfwc:iptables库,配置lvs会用到
keepalived正常启动的时候,共启动3个进程,一个是父进程,负责监控其子进程,一个是vrrp子进程,另外一个是checkers子进程
两个子进程都被系统watchlog看管,两个子进程各自负责复杂自己的事。Healthcheck子进程检查各自服务器的健康状况,,例如http,lvs。如果healthchecks进程检查到master上服务不可用了,就会通知本机上的vrrp子进程,让他删除通告,并且去掉虚拟IP,转换为BACKUP状态。
keepalived的工作原理
Layer3,4,&5工作早IP/TCP协议栈的IP层,TCP层,及应用层
原理:
Layer3:keepalived使用layer3的方式工作时,keepalived会定期向服务器群中发送一个ICMP的数据包(即我们平时用的ping程序),如果发现某台服务器的IP地址没有激活,keepalived便会报告这台服务器是小,并将他从服务器群中剔除。Layer3的方式是以服务器的IP第孩子是否有效作为服务器工作正常与否的标准。
Layer4:主要以TCP端口的状态来决定服务器工作正常与否。如web sercer的服务端口一般是80.如果keepalived检测到80端口没有启动,则keepalived将这台服务器从服务群中删除。
Layer5:layer5就是工作载具体的应用层,比layer3,4要复杂一点,载网络上占用的宽带也要打一些。Keepalived将根据用户的设定检查服务器的运行是否正常。如果设定不相符,则keepalived将把服务器从群中踢除。
keepalived的工作原理的更多相关文章
- keepalived的工作原理解析以及安装使用
一.keepalived keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. keepalived官网http://www.keepali ...
- keepalived工作原理
keepalived是一个类似于Layer2,4,7交换机制的软件.是Linux集群管理中保证集群高可用的一个服务软件,其功能是用来防止单点故障. keepalived的工作原理: ...
- [转帖]keepalived工作原理和配置、使用
keepalived工作原理和配置.使用 https://www.iteye.com/blog/aoyouzi-2288124 keepalived是什么 keepalived是集群管理中保证集群高可 ...
- lvs、nginx、HAProxy、keepalive工作原理
1. lvs.nginx.HAProxy.keepalive工作原理 1.1. 前言 遇到了负载均衡和高可用选型问题,我觉的有必要好好理解下lvs,nginx,haproxy和keepalive的区别 ...
- LVS工作原理及集群类型
Cluster概念 Cluster:集群,为解决某个特定问题将多台计算机组合起来形成的单个系统 Linux Cluster类型: LB:Load Balancing,负载均衡 HA:High ...
- keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群
keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群 内网路由都用mac地址 一个mac地址绑定多个ip一个网卡只能一个mac地址,而且mac地址无法改,但 ...
- keepalived工作原理和配置说明
keepalived是什么 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. keepalived工作原理 keepalived是以VR ...
- Linux keepalived工作原理
keepalived简介与工作原理 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他 ...
- keepalived介绍及工作原理
keepalived介绍keepalived观察其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,它集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防 ...
随机推荐
- leetcode -1 count the path
- [ubuntu]如何实现双屏显示
一.首先直接运行xrandr命令,查看设备的相关信息: 运行之后会显示当前连接设备的屏幕信息,如下图 PS:我已经用HDMI线连接了外接显示器和主机 wangju@wangju-HP--G4:~$ x ...
- ping命令介绍
1.ping是TCP/IP协议的一部分,所以只要安装了TCP/IP协议就(无论windows或linux)都可以使用ping命令. 2.ping命令的原理:本机创建一个数据包发送给(ping对象)目标 ...
- nmon报告指标含义
nmon分析文件详细指标详解指标类型指标名称指标含义SYS_SUMMCPU%cpu占有率变化情况:IO/secIO的变化情况:AAAAIXAIX版本号:buildbuild版本号:command执行命 ...
- 【图形学手记】Inverse Transform Sampling 逆转换抽样
需求: 我们通过调查,得知大多数人在20岁左右初恋,以20岁为基准,以随机变量X表示早于或晚于该时间的年数,为了简单,假设X值域为[-5,5],并且PDF(X)是一个正态分布函数(当然可以为任意分布, ...
- three.js中物体旋转实践之房门的打开与关闭
看这篇博客,默认你已经知道了3D模型实现三维空间内旋转的实现方式(矩阵.欧拉角.四元数). ok,下面正式切入主题,房门的打开和关闭,先上图: 正如你所看到的那样,这个“房门”已经被打开了. 一.th ...
- java中抽象类、接口及区别
转自:http://www.cnblogs.com/dolphin0520/p/3811437.html 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没 ...
- 红帽学习笔记[RHCSA] 第二周
目录 红帽学习笔记[RHCSA]第二周 环境 第七课[网络配置相关] 在Vmware中添加网卡 将网卡添加到虚拟机上 关于网卡命名规则 配置网络 网络配置命令总结 更改hostname 关于SSH的一 ...
- 常用DOS命令及编程软件fa
1.常用的dos命令(应用) 在接触集成开发环境之前,我们需要使用命令行窗口对Java程序进行编译和运行,所以需要知道dos命令. 打开命令行窗口的方式:win + r打开运行窗口对java程序进行编 ...
- String StringBuffer StringBuilder区别与联系
java.lang.String.java.lang.StringBuffer.java.lang.StringBuilder都是字符串类型,是Java中用于处理字符串常用的三个类.它们主要有以下区别 ...