Keepalived 介绍 原理

keepalived是什么:

这里先和前面的LVS 联系一下,我们平时使用一台机器运行 LVS 进行数据的转发,这里会有两个问题
1.如果这台LVS 故障了怎么办?整个集群系统都会停止工作
2.LVS后端一般有多台 real  server ,如果其中的一台(多台)real server 故障了 怎么办?

keepalived  就可以解决上面两个问题,对应功能1 和 功能2

功能1.使用VRRP协议 来控制一组高可用(HA) 主备系统,一台master工作,一台slave热备;master失效后slave立即接替工作
功能2.监控 工作集群中的主机  ,如果有一台服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除
         当服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这里使用的还是 LVS的 ipvsadm

keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。
     但是它一般不会单独出现,而是与其它负载均衡技术(如lvs、haproxy、nginx)一起工作来达到集群的高可用。

1. Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。Keepalived是VRRP的完美实现.

2.Keepalived 检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。

keepalived工作原理:

(功能1)keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。

虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup。master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip)。
        master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
       MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等;其他设备不拥有该IP,状态是BACKUP,除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP将接管原先MASTER的网络功能
       配置VRRP协议时需要配置每个路由器的虚拟路由器ID(VRID)和优先权值,使用VRID将路由器进行分组,
具有相同VRID值的路由器为同一个组,VRID是一个0~255的正整数;
       同一组中的路由器通过使用优先权值来选举MASTER,优先权大者为MASTER,优先权也是一个0~255的正整数(255最大)。

MASTER选举:
如果对外的虚拟路由器IP就是路由器本身配置的IP地址的话,该路由器始终都是MASTER;
否则如果不具备虚拟IP的话,将进行MASTER选举,各路由器都宣告自己是MASTER,发送VRRP通告信息;
如果收到其他机器的发来的通告信息的优先级比自己高,将转回BACKUP状态;
如果优先级相等的话,将比较路由器的实际IP,IP值较大的优先权高;
不过如果对外的虚拟路由器IP就是路由器本身的IP的话,该路由器始终将是MASTER,这时的优先级值为255。

keepalived主要有三个模块,分别是core、check和vrrp。
core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。
check负责健康检查,包括常见的各种检查方式。
vrrp模块是来实现VRRP协议的。

 (功能2)其工作在OSI七层协议的Layer3,4,7层。工作在IP/TCP协议栈的IP层,TCP层,及应用层。
原理分别如下:
Layer3网络层:
        Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。
        Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。

Layer4传输层:
        Layer4主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。

Layer7应用层:
        Layer7就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。

多种使用场景:
1.高可用HA  主备

两台完全一样的服务器,一主一备,运行同样服务(apache、nginx),实现高可用

2.LVS Director server 服务的高可用HA 主备
   两台完全一样的LVS Director server服务器,一主一备,运行同样服务,实现高可用

3.前端跑主备  同时监控后端 real server 集群机器状态
   问:如何监控后端real server 集群状态?
   答:增加一个虚拟server IP,这个虚拟IP 对应后端多台 real server ip地址,监控状态的同时可以指定负载算法
   使用的还是 LVS的 ipvsadm

原文地址:https://www.cnblogs.com/centos2017/p/8158099.html

时间: 2024-08-29 21:36:52

Keepalived 介绍 原理的相关文章

keepalived介绍及工作原理

keepalived介绍keepalived观察其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,它集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生.说到keepalived就不得不说VRRP协议,可以说这个协议就是keepalived实现的基础,那么首先我们来看看VRRP协议. VRRP协议介绍学过网络的朋友都知道,网络在设计的时候必须考虑到冗余容灾,包括线路冗余,

keepalived介绍

Keepalived介绍Keepalived是一款高可用软件,它的功能主要包括两方面:1)通过IP漂移,实现服务的高可用:服务器集群共享一个虚拟IP,同一时间只有一个服务器占有虚拟IP并对外提供服务,若该服务器不可用,则虚拟IP漂移至另一台服务器并对外提供服务:2)对LVS应用服务层的应用服务器集群进行状态监控:若应用服务器不可用,则keepalived将其从集群中摘除,若应用服务器恢复,则keepalived将其重新加入集群中. Keepalived可以单独使用,即通过IP漂移实现服务的高可用

18.1集群介绍 18.2 keepalived介绍18.3/18.4/18.5 用keepalived配置高可用集群

- 18.1 集群介绍 - 18.2 keepalived介绍 - 18.3/18.4/18.5 用keepalived配置高可用集群 - 扩展 - heartbeat和keepalived比较 http://blog.csdn.net/yunhua_lee/article/details/9788433  - DRBD工作原理和配置 http://502245466.blog.51cto.com/7559397/1298945 - mysql+keepalived http://lizhenl

Linux集群(keepalived介绍,Keepalived配置高可用集群,Keepa+mysql

一.Linux集群概述 根据功能划分为两大类:高可用和负载均衡 (1)高可用集群通常为两台服务器,台工作,另外一台作为准备,当提供服务的机器宕机,另外一台将接替继续提供服务. 实现高可用的开源软件有:heartbeat,keepalived (2)负载均衡集群:需要有一台服务器作为分发器,它负责吧用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量最少为2 实现负载均衡的开源软件有LVS,keepalived,haproxy,nginx,商业

六十一、集群介绍、keepalived介绍、用keepaliver配置高可用集群

一.集群介绍 根据功能划分为两大类:高可用和负载均衡. 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat.keepalived.heartbeat有很多bug,所以不再使用. 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2 实现负载均衡的开源软件有LVS.keepalived.hapr

集群介绍,keepalived介绍,用keepalived配置高可用集群

集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 业内有个综合评分比如4个九,甚至5个九六个九来衡量服务的高可用,一般大企业的核心业务都有高可用,如果一个机器故障,一分钟之内就可以切换到另一台上 实现高可用的开源软件有:heartbeat.keepalived 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务

集群介绍 keepalived介绍 用keepalived配置高可用集群

一.集群介绍二.keepalived介绍VRRP协议是keepalived的一个核心,翻译为中文叫做:虚拟路由冗余协议keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层.第4层和第5层交换.Keepalived是自动完成,不需人工干涉.简介Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Ke

keepalived工作原理

keepalived是一款c语言写的实现在linux系统上实现负载均衡和高可用的软件.它遵从于GNU是一款优秀的开源软件. 一:两个关键词的解释 1:负载均衡 keepalived内置了对ipvs函数的调用支持.可以直接在keepalived中按照语法配置ipvs然后keepalived就可以实现对ipvs的配置. 2:高可用 keepalived是以VRRP(Virtual Router Redundancy Protocol)协议为实现基础的即虚拟路由冗余协议.虚拟路由冗余协议可以认为是实现

18.1 集群介绍;18.2 keepalived介绍;18.3,18.4,18.5 用keepalived配置高可用集群(上,中,下);

18.1 集群介绍 1. 根据功能划分为两大类:高可用和负载均衡 2. 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 3. 实现高可用的开源软件有:heartbeat.keepalived 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2 4. 实现负载均衡的开源软件有LVS.keepalived.haproxy.nginx,