keepalived双机备份 - 教程
目录
一,概述
通过keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,能够利用起来避免单点故障,一个LVS服务会有2台服务器运行keepalived,一台主服务器,一台为备份服务器,但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到该消息的时候,记住服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性,keepalived的作用是检测服务器的状态,有一台web服务器死机,和工作出现故障,keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务其代替该服务器的工作,当服务器工作正常后keepalived自动将服务器加到服务器群之内
二,原理
keepalived高可用对之间是通过VRRP进行通信的,VRRP是通过竞选机制来固定主备的,主的优先级高于背,因此,工作时主会优先得到所有的资源,备节点处于等待状态,当主宕机的时候,备节点就会接管主节点的资源,再顶替主节点对外提供服务
三,定义
keepalived是一个基于底层协议是VRRP热备份来实现的LVS服务高可用方案,许可解决静态路由出现的单点故障困难
广义上讲是高可用,狭义上讲是主机的多余和管理
(1)支持故障自动转换
(2)支持节点健康状态检查
判断LVS负载调度器,节点服务器的高可用性,当master主机出现故障即时转换到backup节点保证业务正常,当master故障主机恢复之后将其重新加到集群并且业务重新转回master节点
模块:keepalived首要有三个模块,分别是core,check和vrrp
core:是keepalived的核心,负责主进程的执行和维护,全局配置文件的加载解析等
check:负责healthchecker,包括了各种健康检查方式,以及对应的配置的解析包括LVS的配置解析,可基于脚本检查对IPVS后端服务器健康状况进行检查
vrrp:vrrpd子进程,vrrpd子进程就是来达成vrrp协议的配置
如果设置非占位模式,两个节点都必须加上配置nopreempt,占位模式主机宕机,备机顶上,主机恢复则抢回master位,非占位不会主动占回,固定占位模式,配置非占位模式需要调低两边优先级和两边都设置backup否则可能不生效,两边都设置为backup,先执行的就是master
四,名词
虚拟路由器:由一个master路由器和多个backup路由器组成,主机将虚拟路由器当作默认网关
VRID:虚拟路由器的标识,有相同VRID的一组路由器构成一个虚拟路由器
master路由器:虚拟路由器中承担报文转发任务的路由器
backup路由器:master路由器出现故障的,能够代替master路由器工作的路由器
虚拟IP地址:虚拟路由器的IP地址,一个虚拟路由器能够拥有一个和多个IP地址
IP地址拥有者:接口IP地址和虚拟IP地址相同的路由器被称为IP地址拥有者
虚拟MAC地址:一个虚拟路由器拥有一个虚拟MAC地址,通常状态下,虚拟路由器回应ARP应该使用的是虚拟MAC地址,只有虚拟路由器做特殊配置的时候,才回应接口的真实MAC地址
优先级:VRRP根据优先级来选择虚拟路由器之内每台路由器的地位
非抢占方式:当backup路由器工作在非占位方式下,则只要master路由器没有出现故障,backup路由器即使随后被配置了更高的优先级也不会成为master路由器
抢占方式:当backup路由器工作在占位方式下,当它收到VRRP报文后,会将自己的优先级和通告报文之内的优先级进行比较,当自己的优先级比当下的master路由器的优先级高,就会主动占位成为master路由器,否则,将保持backup状态
五,高阶运用
1,介绍
keepalived主要有两种应用场景,一个是借助配置keepalived结合ipvs做到负载均衡,另一个是通过自身健康检查,资源接管功能做高可用,构建故障转移
2,keepalived主要作用
keepalived采用VRRP,虚拟路由多余协议,以软件的形式实现服务器备份机制,通常状态下是将两台linux服务器组成一个备份组,同一时间备份组之内只有一台主服务器献出服务,同时master会虚拟出一个共用IP地址,这个VIP只存在master上并对外提供服务,当keepalived检测到master宕机和服务故障,备服务器会自动接管VIP称为master,keepalived并将master从备份组移除,当master恢复后,会自动加到备份组,固定再占位成为master,达到故障转移功能
3,工作在三层,四层和八层原理
layer3:工作在三层时,keepalived会定期向备份组之内的服务器发送一个ICMP数据包,来判断某台服务器是否故障,故障则将这台服务器从备份组移除
layer4:工作在四层时,keepalived以TCP端口的状态判断服务器是否故障,故障则将这台服务器从备份组移除
layer8:工作在八层时,keepalived根据用户设定的策略判断服务器上的程序是否正常运行,故障则将这台服务器从备份组移除
打赏链接:

浙公网安备 33010602011771号