Keepalived秘籍保障系统高可用的终极武器

目录

一 高可用集群

1.1 集群类型

1.2 实现高可用

1.3 vrrp(Virtual Router Redundancy Protocol)

二 keepalived 部署

2.1 简介

2.2 keepalived 架构

2.3 keepalived 搭建

三 keepalived 应用示例

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

3.2 抢占技术和非抢占技术

3.2.1 非抢占模式(nopreempt)

3.2.2 抢占延时模式(preempt_delay)

3.3 VIP单播配置

3.4 keepalived 通知脚本配置

3.5 master/master的keepalived双主架构

3.6 实现ipvs的高可用性

 


一 高可用集群

1.1 集群类型

  1. LB(负载均衡类):由多个主机组成,每个主机只负责一部分访问,提高系统的响应能力,尽可能快的处理访问,以低延迟为目的,做到高并发,高负载。
  2. HA(高可用类):提高系统的可靠性,尽可能避免服务中断,一般采用主备的方式,在出现问题能自动快速进行切换,以可靠性为目标。
  3. HPC(高性能类):提高cpu运算效率,扩展硬件资源,一般指超级计算机这一类,例如云计算。

1.2 实现高可用

提升系统高可用解决方案:降低平均故障时间

解决方案:建立冗余机制

active/passive  主备

在这种模式只有一个节点(主节点)处于活动状态,当主节点出现问题时,备节点被激活接管主节点的工作

active/active  双主

两个节点都处于活动状态,他们分别处理不同的数据集,分担不同的工作负载

active --> HEARTBEAT --> passive

主备模式的变体,其中活动的主节点定期向备节点发送心跳信号(HEA),备份节点在一定时间内没有接收到心跳信号,默认主节点发生异常,接管主节点工作

active HEARTBEAT active

在这种模式下,两个活动节点互相发送心跳检测,监督对方状态,如果其中一个节点发生故障,另外一个节点承担起对方节点的工作

1.3 vrrp(Virtual Router Redundancy Protocol)

VRRP:Virtual Router Redundancy Protocol  虚拟路由冗余协议,解决静态网关单点风险

vrrp相关术语:

虚拟路由器:Virtual Router

虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器

VIP:Virtual IP

VMAC:Virutal MAC (00-00-5e-00-01-VRID)

物理路由器:

master:主设备

backup:备用设备

priority:优先级

vrrp相关技术:心跳 优先级  抢占式   非抢占式

二 keepalived 部署

2.1 简介

它主要通过虚拟路由器冗余协议(VRRP)来实现故障转移和负载均衡。Keepalived 能够检测服务器的状态,确保服务的持续可用性。

    1.监控服务器的健康状况:通过各种方式(如网络连接、服务端口检测等)来判断服务器是否正常运行

    2.实现虚拟 IP(VIP)的漂移:当主服务器出现故障时,自动将 VIP 切换到备份服务器上,使得服务能够不间断地对外提供

    3.与其他服务集成:能够与常见的服务(如 HTTPD、Nginx 等)配合工作,增强服务的可靠性。

    4.配置简单灵活:通过修改配置文件,可以轻松地调整 Keepalived 的参数和行为。

2.2 keepalived 架构

用户空间核心组件:

vrrp stack:VIP消息通告

checkers:监测real server

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

SMTP:邮件组件

IPVS wrapper:生成IPVS规则

Netlink Reflector:网络接口

WatchDog:监控进程

控制组件:提供keepalived.conf 的解析器,完成Keepalived配置

IO复用器:针对网络目的而优化的自己的线程抽象

内存管理组件:为某些通用的内存管理功能(例如分配,重新分配,发布等)提供访问权限

2.3 keepalived 搭建

                                            keepalived 环境准备
实验要求      chrony/ntp时间同步    关闭防火墙和selinux                                                                                  
相关软件

软件包名:keepalived     主程序文件:/usr/sbin/keepalived    

主程序文件:/usr/sbin/keepalived   

配置文件示例:/usr/share/doc/keepalived/

keepalived 安装:

搭建测试环境

下载启动keepalived,两台配置一样

然后改名字,另外一台一样

三 keepalived 应用示例

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

配置文件拷贝到ka2上,ka2为备份设备,只需到ka2里做稍微修改

然后注释点strict重启keepalived服务 在向rs配置临时ip

ka1优先级为100,ka2为80,并且keepalived默认为抢占,所以效果应为,ka1断了之后,往ka2浮动vip

远程登陆ka1停掉服务,看结果是否ip消失

然后查看ka2的,如果有的话证明设备故障切换成功,如果重启ka1的话,vip返回,即配置成功,并且证明keepalived默认是抢占的

重启ka1服务

vip返回

3.2 抢占技术和非抢占技术

3.2.1 非抢占模式(nopreempt)

非抢占模式,意思就是当ka1挂掉之后,vip切换到ka2上,然后等ka1恢复之后,不能立即切换到ka1上,只能等ka2挂掉之后,才能切换,目的是为了,反复切换导致网络抖动,不稳定

  1. 需要将服务器,均配置为backup状态,然后重启,再到backup上加上nopreempt选项
  2. vip在ka1上,此时断掉服务
  3. vip飘到ka2上,按照对实验的设想,重启ka1之后,应该不会回到ka1上,如果还在ka2就代表试验成功                

3.2.2 抢占延时模式(preempt_delay)

  1. 配置ka1,ka2的延迟计划
  2. 重启服务之后,一段时间完,抢vip地址

3.3 VIP单播配置

  1. 在ka1和ka2上配置文件里面加上单播的配置,举例ka1,ka2类似
  2. 实验结果展现

3.4 keepalived 通知脚本配置

  1. 创建通知脚本
  2. 安装邮件发送工具 
    dnf install mailx -y
    #进入配置文件,进行配置
    vim /etc/mail.rc
    

  3. 结果展示

3.5 master/master的keepalived双主架构

  1. 在10和20主机分别写入互为主备的规则
  2. 测试

3.6 实现ipvs的高可用性

1 两台rs主机安装httpd

2 临时配置ip地址,往默认界面加内容,在重启,rs2也一样

3 分别做arp抑制,rs2同样操作

4 ka1和ka2配置主机策略

5 检查最终结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值