keepalived:基础知识

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的出现就是用来保障单点故障问题,即某个节点出现故障,不会影响整个网络的正常运行,
这样的话就可以保证路由器的高可用了。

  

posted @ 2022-07-27 15:38  yuanbangchen  阅读(72)  评论(0)    收藏  举报