热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

keepalived:基础知识

keepalived:基础知识提升系统高用性的解决方案之降低MTTR手段:冗余redundantactivepassive主备activeactive双主active--

keepalived:基础知识
提升系统高用性的解决方案之降低MTTR
手段:冗余redundant
active/passive 主备
active/active 双主
active --> HEARTBEAT --> passive
active <--> HEARTBEAT <--> active
TWO nodes Cluster
辅助设备:ping node, quorum disk
Failover:故障切换,即某资源的主节点故障时,将资源转移至其它节点的操作
Failback:故障移回,即某资源的主节点故障后重新修改上线后,将之前已转移至其它节点的资源重新切回的过程
HA Cluster实现方案:
1.AIS:应用接口规范 完备复杂的HA集群
RHCS:Red Hat Cluster Suite红帽集群套件
heartbeat:基于心跳监测实现服务高可用
pacemaker+corosync:资源管理与故障转移
2.vrrp协议实现:虚拟路由冗余协议,解决静态网关单点风险
软件层—keepalived
物理层—路由器、三层交换机
vrrp协议:Virtual Router Redundancy Protocol
术语:
虚拟路由器: Virtual Router
虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器
物理路由器: master:主设备、 backup:备用设备、 priority:优先级
VIP: Virtual IP
VMAC: Virutal MAC (00-00-5e-00-01-VRID)
通告:心跳,优先级等;周期性
工作方式:抢占式,非抢占式
keepalived的高可用,分为抢占模式和非抢占模式,抢占模式是当master从故障中恢复后,会将VIP从BACKUP中抢过来,
非抢占模式是master恢复后不抢占backup升级为master后的vip。
安全工作:
认证:无认证、简单字符认证:预共享密钥、MD5
工作模式:
主/备:单虚拟路径器
主/主:主/备(虚拟路径器1),备/主(虚拟路径器2)
keepalived: vrrp协议的软件实现,原生设计目的为了高可用ipvs服务
功能:
vrrp协议完成地址流动
为vip地址所在的节点生成ipvs规则(在配置文件中预先定义) 
为ipvs集群的各RS做健康状态检测
基于脚本调用接口通过执行脚本完成脚本中定义的功能,进而影响集群事务,以此支持nginx、haproxy等服务
组件:
核心组件:
vrrp stack-VIP消息通告
checkers-监测real server
system call-标记real server权重
SMTP-邮件组件
ipvs wrapper-生成IPVS规则
Netlink Reflector-网络接口
WatchDog-监控进程
控制组件:配置文件分析器
IO复用器
内存管理组件

负载均衡类型分类:
四层:LVS(Linux Virtual Server) HAProxy(High Availability Proxy) Nginx(1.9)
七层:HAProxy Nginx
硬件:F5 Netscaler Array 深信服
应用 场景:
四层:Redis、Mysql、RabbitMQ、Memcache等
七层:Nginx、Tomcat、Apache、PHP 、图片、动静分离、API等
------------------------------------------------------------------------------------
keepalived:
健康检查和失败切换是keepalived的两大核心功能。所谓的健康检查,就是采用tcp三次握手,icmp请求,http请求,udp echo请求等方式对负载均衡器后面的实际的服务器
(通常是承载真实业务的服务器)进行保活;而失败切换主要是应用于配置了主备模式的负载均衡器,利用VRRP维持主备负载均衡器的心跳,当主负载均衡器出现问题时,
由备负载均衡器承载对应的业务,从而在最大限度上减少流量损失,并提供服务的稳定性。
Keepalived服务VRRP的工作原理:
keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,
master上面有一个对外提供服务的虚拟ip,即vip(该路由器所在局域网内其他机器的默认路由为该vip),在keepalived中只有作为master的服务器会一直发送VRRP广播包(心跳消息),
以告知局域网内的其他backup节点自己还活着,当master宕机了那么backup就无法收到VRRP包,这时就需要根据VRRP的优先级来选举一个backup接管master的工作,
当检测到master恢复时,backup又会让出工作,恢复原来备机状态。VRRP的出现就是用来保障单点故障问题,即某个节点出现故障,不会影响整个网络的正常运行,
这样的话就可以保证路由器的高可用了。

  



推荐阅读
author-avatar
手机用户2702933712
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有