LVS+Keepalived群集

目录

一、Keepalived概述

1.1 Keepalived服务重要功能

①、管理 LVS 负载均衡软件

②、支持故障自动切换(Failover)

③、实现 LVS 集群中节点的健康检查(Health Checking)

1.2 VRRP通信原理

二、Keepalived工具介绍

2.1 keepalived体系主要模块及作用:

2.2 keepalived服务的工作原理

三、keepalived脑裂及解决办法

3.1 keepalived脑裂

3.2 脑裂的原因

3.3 解决对策

四、LVS+Keepalived高可用群集搭建

4.1 集群概述

4.2 开始部署

4.3 配置负载调度器(192.168.63.20)

五、配置负载调度器(主192.168.63.20)

六、配置负载调度器(备192.168.63.102)

七、配置 节点服务器web1(192.168.63.103)

八、配置节点服务器web2(192.168.63.104) 

九、测试


一、Keepalived概述

Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。

在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

1.1 Keepalived服务重要功能

①、管理 LVS 负载均衡软件

早期的LVS软件,需要通过命令行或脚本实现管理,并且没有针对LVS节点的健康检查功能。为了解决LVS的这些使用不便问题,Keepalived诞生了,可以说,Keepalived软件起初是专为解决LVS的问题而诞生的。因此,Keepalived和LVS的感情很深,他们的关系如同夫妻一样,可以紧密地结合,愉快地工作。Keepalived可以通过读取自身的配置文件,实现通过更底层的接口直接管理LVS的配置以及控制服务的启动,停止功能,这使得LVS的应用更加简单方便了。

②、支持故障自动切换(Failover)

Keepalived可以实现任意两台主机之间,例如Master和Backup主机之间的故障转移和自动切换,这个主机可以是普通的不能停机的业务服务器,也可以是LVS负载均衡,Nginx反向代理这样的服务器。

Keepalived高可用功能实现的简单原理为,两台主机同时安装好Keepalived软件并启动服务,开始正常工作时,由角色为Master的主机获得所有资源并对用户提供服务,角色为Backup的主机作为Master主机的热备;当角色为Master的主机失效或出现故障时,角色为Backup的主机将自动接管Master主机的所有工作,包括接管VIP资源及相应资源服务;而当角色为Master的主机故障修复后,又会自动接管回它原来处理的工作,角色为Backup的主机则同时释放Master主机失效时它接管的工作,此时,两台主机将恢复到最初启动时各自的原始角色及工作状态。

③、实现 LVS 集群中节点的健康检查(Health Checking)

Keepalived可以通过在自身的Keepalived.conf文件里配置LVS的节点IP和相关参数实现对LVS的直接管理;除此之外,当LVS集群中的某一个甚至是几个节点服务器同时发生故障无法提供服务时,Keepalived服务会自动将失效的节点服务器从LVS的正常转发队列中清除出去,并将请求调度到别的正常节点服务器上,从而保证最终用户的访问不受影响;当故障的节点服务器被修复以后,Keepalived服务又会自动地把它们加入到正常转发队列中,对客户提供服务。

一般企业集群需要满足的三个特点:负载均衡、健康检查、故障切换,使用 LVS + Keepalived 完全可以满足需求。

1.2 VRRP通信原理

  • VRRP也就是虚拟路由冗余协议,它的出现就是为了解决静态路由的单点故障。
  • VRRP是通过一种竞选协议机制来将路由任务交给某台VRRP路由器的。
  • VRRP用IP多播的方式(默认多播地址(224.0.0.18))实现高可用之间通信。
  • 工作时主节点发包,备节点接包,当备节点接收不到主节点发的数据包的时候,就启动接管程序接管主节点的资源。备节点可以有多个,通过优先级竞选,但一般Keepalived系统运维工作中都是一对。
  • VRRP使用了加密协议加密数据,但Keepalived官方目前还是推荐用明文的方式配置认证类型和密码。

vrrp会把多台路由器组成一个虚拟路由组vrid,vrrp会生成一个虚拟路由(包含虚拟IP和虚拟MAC,局域网内用户不关心哪一个是主哪一个是备,它们只用虚拟路由器的虚拟IP作为它们的网关)实际上虚拟IP就是承载master路由器上,也就是说实际的数据是通过master转发的。

backup是通过优先级来决定哪个是master路由,优先级最大的那台就是master,backup只是用来监听master定时发来的vrrp报文,如果超时未收到master发来的vrrp报文backup就会抢占master,虚拟IP也会漂移到backup头上。

二、Keepalived工具介绍

专为LVS和HA设计的一款健康检查工具

2.1 keepalived体系主要模块及作用:

keepalived体系架构中主要有三个模块,分别是core、check、vrrp

  • core模块:为keepalived的核心,负责主程序的启动、维护及全局配置文件的加载和解析。
  • vrrp模块:是来实现vrrp协议的。
  • check模块:负责健康检查,常见的方式有端口检查及URL检查。

2.2 keepalived服务的工作原理

Keepalived高可用之间是通过VRRP进行通信的,VRRP是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会优先获得所有的资源,备节点处于等待状态,当主挂了的时候,备节点就会接管主节点的资源,然后顶替主节点对外提供服务。

在Keepalived服务之间,只有作为主的服务器会一直发送VRRP广播包,告诉备它还活着,此时备不会抢占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性。接管速度最快可以小于1秒。

三、keepalived脑裂及解决办法

3.1 keepalived脑裂

在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果——或者共

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值