高可用集群KEEPALIVED

一.高可用集群

1.1集群类型

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

1.2实现高可用

提升系统高用性的解决方案:降低 MTTR- Mean Time To Repair( 平均故障时间 )
解决方案:建立冗余机制
  • active/passive /
  • active/active 双主
  • active --> HEARTBEAT --> passive
  • active <--> HEARTBEAT <--> active

1.3.VRRPVirtual Router Redundancy Protocol

  • 物理层:路由器、三层交换机
  • 软件层:keepalived

1.3.1VRRP相关术语

  • VMACVirutal MAC (00-00-5e-00-01-VRID)
  • 虚拟路由器:Virtual Router
  • 虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器
  • VIPVirtual IP
  • 物理路由器

1.3.2VRRP相关技术

通告:心跳,优先级等;周期性

工作方式:抢占式,非抢占式

二.Keepalived部署

2.1keepalived简介

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

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

2.为vip地址所在的节点生成ipvs规则

3.为ipvs集群的各RS做健康状态检测

4.基于脚本调用接口完成脚本中定义的功能,进而影响集群事务,以此支持nginx,haproxy等服务

2.2.keepalived架构

2.3keepalived环境配置

keepalived实验环境配置
主机名IP地址
KA1172.25.254.10
KA2172.25.254.20
RS1172.25.254.110
RS2172.25.254.120

2.4.keepalived相关文件

  • 软件包名:keepalived
  • 主程序文件:/usr/sbin/keepalived
  • 主配置文件:/etc/keepalived/keepalived.conf
  • 配置文件示例:/usr/share/doc/keepalived/
  • Unit File/lib/systemd/system/keepalived.service
  • Unit File的环境配置文件:/etc/sysconfig/keepalived

2.5keepalived安装

2.6keepalived配置

2.6.1全局配置说明

2.6.2配置虚拟路由器

KA1:

[root@ka1 ~]# vim /etc/keepalived/keepalived.conf 

KA2:

[root@ka2 ~]# vim /etc/keepalived/keepalived.conf 

测试:

2.6.3启用keepalived日志功能

[root@ka1 ~]# vim /etc/rsyslog.conf 

2.6.4实现独立子配置文件

创建子配置目录

[root@ka1 ~]# mkdir /etc/keepalived/conf.d
 

写入子配置目录生效

[root@ka1 ~]# vim /etc/keepalived/keepalived.conf

编写子配置文件

[root@ka1 ~]# vim /etc/keepalived/conf.d/router.conf
 

三.keepalived企业应用示例

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

3.1.1MASTER配置

3.1.2BACKUP配置

3.2抢占模式和非抢占模式

3.2.1非抢占模式nopreempt

默认为抢占模式 preempt ,即当高优先级的主机恢复在线后,会抢占低先级的主机的 master 角色,
这样会使 vip KA 主机中来回漂移,造成网络抖动,
建议设置为非抢占模式 nopreempt ,即高优先级主机恢复后,并不会抢占低优先级主机的 master 角色
非抢占模块下 , 如果原主机 down , VIP 迁移至的新主机 , 后续也发生 down , 仍会将 VIP 迁移回原主机
KA1配置:
KA2配置:
3.22抢占延迟模式preempt_delay
抢占延迟模式,即优先级高的主机恢复后,不会立即抢回 VIP ,而是延迟一段时间(默认 300s )再抢回 VIP
preempt_delay       # # 指定抢占延迟时间为 #s ,默认延迟 300s
KA1配置:
KA2配置:
3.3VIP单播配置
默认 keepalived 主机之间利用多播相互通告消息,会造成网络拥塞,可以替换成单播,减少网络流量
# 启用 vrrp_strict 时,不能启用单播 , 否则服务无法启动 , 并在 messages 文件中记录下面信息
KA1配置:
KA2配置:
测试:

3.4keepalived通知脚本配置

keepalived 的状态变化时,可以自动触发脚本的执行,比如:发邮件通知用户
默认以用户 keepalived_script 身份执行脚本
如果此用户不存在,以 root 执行脚本可以用下面指令指定脚本执行用户的身份

3.4.1 qq邮箱配置

[root@ka1 ~]# vim /etc/mail.rc
发送测试邮件
[root@ka1 ~]# echo test message | mail -s test 3049663420@qq.com

3.4.2编写邮件脚本:

[root@ka1 ~]# vim /etc/keepalived/mail.sh
修改keepalived主配置文件
进行测试模拟KA1变为backup:

3.5实现双主架构

KA1配置:

KA2配置:

3.6实现ipvs的高可用性

KA1配置:

KA2配置:

查看ipvs策略:

测试:

3.7 实现haproxy高可用
下载并编写haproxy文件
在KA1和KA2中启用内核参数
编写测试脚本
编写keepalived文件
  • 10
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值