keepalived

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keepalived相关的知识,希望对你有一定的参考价值。

Keepalived详解:

提供HA的底层工具。严重依赖于脚本实现其扩展功能的HA服务。

早期是为ipvs提供ha功能的

HA -->>Ipvs(规则)提供VIP在集群之间的流转作用(这个依赖的基础是vrrp

Keepalived有三个模块:corecheckvrrp

Core模块:是keepalived模块的核心模块,负责出进程的启动,维护以及全局配置文件的加载和解析。

Check:负责健康检查,包括常见的各种检查方式。

Vrrp:用来实现vrrp协议的

 

 

 

Vrrp:虚拟路由冗余协议(能将多个物理设备虚拟成一个物理设备,对外的静态虚拟VIP在各个设备之间协调运转,如果宕掉了就通过选举等来实现一主多备)

 

通过外部脚本一直检测服务状态,一旦服务出现问题就降低此节点的优先级。

 

 

工作机制:主节点不停的向从节点通告自己还处于活动状态。

双主模型:M的漂移随着节点优先级,服务问题优先级降低,节点漂移,一个节点上有两个m,出故障的节点重启服务,优先级恢复,节点漂移回来。(此过程依赖于外部脚本:1check不停的检测服务是否正常,不正常就漂移节点。与此同时还有其他服务检测脚本,通知。2)在节点漂移之后,服务不允许节点继续宕下去,通过脚本来重启服务)

1,所有realserver都宕掉怎么处理?

Fall_back:在所有的realserver出现故障的时候,在master上启动http返回一个信息状态码,用户访问时能返回信息而不是什么信息都没有。

2,写检测脚本,完成维护模式切换。

Vrrp-script  chk_name:

Script 命令/路径

Interval 2 ##多长时间进行一次这个脚本的检测

Weight -2 ##master优先级减2

Faill 2  ##检测两次失败就认为是失败的

Rise 1 只要检测到成功1次就立即认为是成功

M-->>B服务重启而不是停掉服务

3,如何在vrrp事物发生时(主备节点切换时或者两个vip节点都出现了故障),发送警告邮件给指定的管理员?(如何告诉管理员vip是如何漂移的?)

Notify_master ##节点从备变成主

Notify_backup ##节点从主变成备

Notify_fault ##两个节点都出现了故障

 

nginx  keepalived都是轻量级的web反向代理,不需要提供任何共享存储。

 

Ipvsadm -L -t

Keepalived提供ipvs的高可用:

Ipvs

Health check

HTTP_GET|SSL_GET

{

Url {

Path ##http/ssl检查的url可以是多个。

Digest <STRING> ##检查后的摘要信息用genhash生成

Status_code 200 ##检查返回的状态码

}

Connect_port 80##连接端口

Bindto <IPADDR>

Connect_timeout 3 #连接超时时间

Nb_get_retry 3 #重连次数

Delay_before_retry 2#连接间隔时间

}

 

前端VIP端口到后端RIP进行通信用的是mac地址,ARP协议,gratuitous,自问自答


以上是关于keepalived的主要内容,如果未能解决你的问题,请参考以下文章

排错思路

keepalived快速入门

keepalived高可用

keepalived高可用

keepalived高可用

keepalived服务配置