全网最详细高可用集群KEEPALIVED教程

目录

一.高可用集群

1.1 集群类型

1.2 系统可用性

1.3 系统故障

1.4 实现高可用

1.5.VRRP虚拟路由冗余协议

1.5.1 VRRP 相关术语

1.5.2 VRRP 相关技术

2.1 keepalived 简介

2.2 Keepalived 架构

2.4 Keepalived 相关文件

2.5 KeepAlived 配置说明

2.5.1怎样ping通192.168.0.100:

2.6启用keepalived日志功能

先编写日志级别:

2.7 实现独立子配置文件

三.Keepalived 企业应用示例

3.1 实现master/slave的 Keepalived 单主架构

3.1.1 MASTER配置

3.2 抢占模式和非抢占模式

3.2.1 非抢占模式 nopreempt

3.2.2 抢占延迟模式 preempt_delay

3.3 VIP单播配置

3.4.1 创建通知脚本

3.4.2 邮件配置

3.5 实现 master/master 的 Keepalived 双主架构

3.6 实现IPVS的高可用性

3.6.1 虚拟服务器配置

3.6.2应用层监测

3.6.3TCP监测

3.6.4 实战案例LVS+Keepalived

3.7 实现其它应用的高可用性 VRRP Script

3.7.2 实战案例:利用脚本实现主从角色切换

3.7.3 实战案例:实现HAProxy高可用


高可用:让整个集群在生产环节在线率高

高性能:将多台主机组到一起

.高可用集群

1.1 集群类型

1.LB Load Balance 负载均衡
LVS/HAProxy/nginx http/upstream, stream/upstream
2.HA High Availability 高可用集群
数据库、 Redis
3.SPoF: Single Point of Failure ,解决单点故障
HPC High Performance Computing 高性能集群

1.2 系统可用性

SLA:服务等级协议

A=MTBF/(MTBF+MTTR)

1.3 系统故障

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

软件故障:设计缺陷bug。

1.4 实现高可用

怎样实现高可用?

active/passive:主/备

active/active:双主

active -> HEARTBEAT -> passive

avtive -> HEARTBEAT -> active

1.5.VRRP虚拟路由冗余协议

判断这两台路由器哪个坏了:VRRP

自动把IP迁移到好的路由器上。

1.5.1 VRRP 相关术语

VRID:唯一标识虚拟路由器

VIP:虚拟IP

VMAC:虚拟IP的mac地址

物理路由器: mater:主设备

backup: 备用设备

priority: 优先级

1.5.2 VRRP 相关技术

通告:心跳、优先级等

工作方式:抢占

安全认证:

无认证

MDS

工作模式:

主/备

主/主

.Keepalived 部署

2.1 keepalived 简介

vrrp协议的软件实现,设计目的是为了高可用ipvs服务

功能:1.基于vrrp协议完成地址流动

2.为ipvs集群的各rs做健康状态检测

2.2 Keepalived 架构

核心组件:

vrrp stack

checkers :监测real server

system call :实现vrrp协议状态转换时调用脚本的功能

SMTP:邮件组件

IPVS wrapper:生成ipvs规则

Netlink Reflector: 网络接口

WatchDog: 监控进程

控制组件:

提供解析器,完成keepalived配置

IO复用器

内存管理组件

2.3 Keepalived 环境准备

用7.9镜像准备四台虚机

主机realserver1realserver2KA1KA2
IP192.168.0.110192.168.0.120192.168.0.10192.168.0.20
网卡natnatnatnat
vip192.168.0.100192.168.0.100

在KA1和KA2上下载keepalived:

设置开机自启:

关闭防火墙:

环境部署完成。

2.4 Keepalived 相关文件

配置VIP:

打开主配置文件:

全局板块:

修改:

VIP板块:

修改:

重启服务并看见:

KA1同KA2:

重启服务:

会发现没有192.168.0.100,因为KA2的优先级低,VIP会在KA1上显示。

当KA1服务done掉,KA2上就会有显示:

在realserver1上通过抓包测试:

会发现是KA1在向224.0.0.18发送,那是因为KA1优先级比KA2高。

此时done掉KA1的服务:

会发现是KA2在向224.0.0.18发送:

2.5 KeepAlived 配置说明

2.5.1怎样ping通192.168.0.100:

若想ping通:

KA1和KA2同时:

此时:

因为:

又或者KA1和KA2:

也行。

2.6启用keepalived日志功能

先编写日志级别:

0-7范围内:

先重启keepalived再重启rsyslog:

指定采集方法:

2.7 实现独立子配置文件

将vip板块注释掉并添加:

注意:双引号之间没空格:

此时服务起不来:

所以在子配置文件里:

重启服务没问题:

VIP也没问题:

.Keepalived 企业应用示例

3.1 实现master/slave Keepalived 单主架构

3.1.1 MASTER配置

3.2 抢占模式和非抢占模式

3.2.1 非抢占模式 nopreempt

KA1和KA2加参数:

可以看见KA2没VIP:

当KA1done:

KA1:

此时KA2有VIP:

此时就算KA1重启服务,VIP也不会再回来了,会还在KA2上:

3.2.2 抢占延迟模式 preempt_delay

KA1和KA2都加上抢占延迟参数:

同时重启服务:

此时:VIP在KA1上

当KA1done:

此时KA2接管:

打开服务数立即看VIP,发现没回来:

但是数五秒后:

做完后把抢占延迟删掉:

3.3 VIP单播配置

组播会导致网络阻塞,但ka1和ka2互相通告就行,形成单播,这样使得网络更流畅。

KA1:

KA2:

两个都重启服务:

抓包查看单播效果:

此时抢占一下:

所以,是从有VIP的主机到达无VIP的主机。

优先级高的先抢占。

3.4 Keepalived 通知脚本配置

3.4.1 创建通知脚本

KA2同KA1:

给权限:

编辑主配置文件:

# vim /etc/keepalived/keepalived.conf

重启KA2后:

当KA1done:

3.4.2 邮件配置

# yum install mailx -y

KA2同KA1:

#yum install mailx -y

3.5 实现 master/master Keepalived 双主架构

互为主,需要两个VIP为不同的业务。

删掉:

复制成两个虚拟路由:

1:

2:

KA2同KA1:

1:

2:

重启服务:

可查看VIP。

当出了问题:

在KA1上有VIP:

所有主机上一主两备。

3.6 实现IPVS的高可用性

3.6.1 虚拟服务器配置

3.6.2应用层监测

3.6.3TCP监测

3.6.4 实战案例LVS+Keepalived

首先:

以上写的就包含存在的路径:

看看生效没:

装软件:

1:

2:

以上代替的命令:

写两个:

1:

2:

再重启:

此时停止服务:

查看:

再重启:

就算关闭服务:

这既提供负载均衡又提供高可用。

3.7 实现其它应用的高可用性 VRRP Script

首先定义脚本:

调用脚本:

定义VRRP script:

调用VRRP script:

3.7.2 实战案例:利用脚本实现主从角色切换

给权限:

到主配置文件去定义:

重启服务:

查看VIP:

没有,因为是单播。

抓包看看:

脚本的存在会影响,删掉 /mnt/lee再重启服务就有VIP了:

当脚本存在时返回值为非零:

如果为零weight就不生效。

100-30=70<80,所以VIP就到KA2上了。

3.7.3 实战案例:实现HAProxy高可用

下载haproxy:

生效一下:

以上KA1和KA2都要做。

KA2:

realserver1和realserver2:

注释掉:

重启服务:

成功。

写脚本:

在KA1、KA2的keepalived主配置文件:

还能启动是因为写了一个参数:

就算服务关闭,也不会停止访问:

访问没问题:

VIP回来了:

此时达到了haproxy高可用。

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值