高可用集群KEEPALIVED

一、什么是keepalived

假设现在只有一台 web 服务器对用户提供服务,用户可以直接连接你的web服务器去实现各项需求,随着业务不断扩大,发现单机模式下网站支撑不了那么大的流量,随时会出现宕机的风险,于是使用了分布式架构,并使用nginx实现负载均衡功能。此时有了分布式架构+负载均衡,你的业务可用性越来越强,能承受住很高的流量,但是问题出现了——所有流量都打在 nginx代理上,你的nginx容易出现性能瓶颈,突然有一天,你的 nginx 撑不了那么大的流量,出现了宕机故障,那么用户发起的所有请求都到不了你的后端 web 服务器上。

那这时候我们就需要用nginx+keepalived的方式来解决问题,如果 nginx master 出现宕机,keepalived则会将服务切到 nginx slave上,保证业务不受影响,这样就可以避免 nginx 单机故障问题,以此来实现高可用。

Keepalived,中文意思即保活。可以理解为保证业务/服务/服务器存活

Keepalived是Linux下一个轻量级别的高可用解决方案,通过虚拟路由冗余协议来实现服务或者网络的高可用,起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,如果某个服务器节点出现故障,Keepalived将检测到后自动将节点从集群系统中剔除而在故障节点恢复正常后,Keepalived又可以自动将此节点重新加入集群中这些工作自动完成,不需要人工干预,需要人工完成的只是修复出现故障的节点

二、高可用集群

1.1集群类型

LBLoad Balance 负载均衡

LVS/HAProxy/nginxhttp/upstream, stream/upstream

HAHigh Availability 高可用集群

数据库、Redis

SPoF: Single Point of Failure,解决单点故障

HPCHigh Performance Computing 高性能集群

1.2系统可用性

SLAService-Level Agreement 服务等级协议(提供服务的企业与客户之间就服务的品质、水准、性能

等方面所达成的双方共同认可的协议或契约)

A = MTBF / (MTBF+MTTR

1.3 系统故障

硬件故障:设计缺陷、wear out、非人为不可抗拒因素

软件故障:设计缺陷bug

1.4实现高可用

提升系统高可用性的解决方案:降低MTTR-Mean Time To Repair(平均故障时间)

启用keepalived日志功能

在/etc/sysconfig/keepalived 内直接设置日志级别

实现独立子配置文件
最后将子配置文件内容写入/etc/keepalived/conf.d/下的某个conf文件中

keepalived企业应用示例

实现master/slave的keepalived单主架构

MASTER配置

BACKUP配置

抓包观察

抢占延迟模式 preempt_delay

抢占延迟模式,即优先级高的主机恢复后,不会立即抢回VIP,而是延迟一段时间(默认30s)

注意:!!!需要各keepalived服务器stateBACKUP,并且不要启用 vrrp_strict

ka1主机配置:

ka2主机配置:

vip单播配置

默认情况下,keepalived主机之间利用多播相互通告消息,会造成网络拥塞,可以替换成单播,减少网络流量

MASTER主机配置

slave主机配置

测试:

实现master/master的keepalived双主架构

master/slave的单主架构,同一时间只有一个Keepalived对外提供服务,此主机繁忙,而另一台主机却很空闲,利用率低下,可以使用master/master的双主架构,解决此问题。

master/master 的双主架构:

即将两个或以上VIP分别运行在不同的keepalived服务器,以实现服务器并行提供web访问的目的,提高服务器资源利用率

KA1主机配置

KA2主机配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值