keepalived介绍及lvs+keepalived+nfs集群部署
目录
一、Keepalived概述
二、Keepalived工作原理
三、Keepalived体系主要模块及其作用
四、Keepalived服务的主要功能
1、管理LVS负载均衡软件
2、支持故障自动切换(Failover)
3、实现LVS集群中节点的健康检查(Health Checking)
4、实现LVS负载调度器、节点服务器地高可用性(HA)
五、Keepalived高可用故障切换转移原理
六、VRRP通信原理
七、Keepalived脑裂及解决办法
1、Keepalived脑裂
2、脑裂的原因
3、应对策略
八、部署LVS+Keepalived+NFS
1、实验准备
2、环境准备
3、配置负载调度器(主:192.168.100.11 备:192.168.100.10)
①安装ipvsadm工具
②配置虚拟IP地址(VIP:192.168.100.100)
③调整内核(proc)响应参数
④配置负载分配策略
4、部署共享存储NFS(192.168.100.14)
①安装nfs和rpcbind
②创建共享目录,并设置权限
③输入网页内容
④设置共享目录并发布共享
⑤发布共享
5、配置节点服务器(web01 和 web02)
①配置虚拟IP地址(vip:192.168.100.100)
②添加vip本地访问路由,设置系统自动识别,并设置执行权限
③调整内核的ARP响应参数以阻止更新vip的MAC地址,避免冲突
④安装nfs、rpcbind和httpd服务
⑤开启相关服务,并挂载共享目录
6、部署Keepalived(主LVS 和备LVS2)
①安装Keepalived(主:192.168.100.11)
②配置keepalived(主:192.168.100.11)
③启动keepalived,查看虚拟IP
④安装keepalived(备:192.168.100.10)
⑤配置keepalived(备:192.168.100.10)
⑥启动keepalived,查看虚拟IP
测试
总结
一、Keepalived概述
Keepalived是一款专为LVS和HA设计的一款健康检查工具;支持故障自动切换、支持节点健康状态检查
Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群中各个服务节点的状态,后来又加入了可实现高可用VRRP功能。因此,Keepalived除了能够管理LVS集群外,还可以为其他服务(例如:Nginx、Haproxy、MySQL等)实现高可用
Keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,VRP出现的目的就是为了解决静态路由单点故障的问题,它能够保证当个别节点宕机时,整个网络可以不间断的运行
Keepalived一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可实现系统网络服务的高可用
二、Keepalived工作原理
Keepalived时一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题
在一个LVS服务集群中通常由主服务器(master)和备用服务器(backup)两种角色的服务器,但是对外表现为虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性
在Keepalived服务之间,只有作为主服务器会一直发送VRRP广播包,告诉备它还活着,此时备不会抢占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性。接管速度最快可以小于1秒
三、Keepalived体系主要模块及其作用
Keepalived体系架构中主要有三个模块,分别是core、check和vrrp
**core模块:**为Keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析
**vrrp模块:**来实现VRRP协议的
**check模块:**负责健康检查,常见的方式有端口及URL检查
四、Keepalived服务的主要功能
1、管理LVS负载均衡软件
Keepalived可以通过读取自身的配置文件,实现通过更底层的接口直接管理LVS的配置及控制服务的启动,停止功能
2、支持故障自动切换(Failover)
Keepalived可以实现任意两台主机之间,例如Master和Backup主机之间的故障转移和自动切换,这个主机可以是普通的不能停机的业务服务器,也可以是LVS负载均衡,Nginx反向代理这样的服务器
Keepalived高可用功能实现的简单原理为:
两台主机同时安装好Keepalived软件并启动服务,开始正常工作时,由角色为Master的主机获得所有资源并对用户提供服务,角色为Backup的主机作为Master主机的热备;当角色为Master的主机失效或出现故障时,角色为Backup的主机将自动接管Master主机的所有工作,包括接管VIP资源及相应资源服务;而当角色为Master的主机故障修复后,又会自动接管回它原来处理的工作,角色为Backup的主机则同时释放Master主机失效时它接管的工作,此时,两台主机将恢复到最初启动时各自的原始角色及工作状态
3、实现LVS集群中节点的健康检查(Health Checking)
Keepalived可以通过在自身的Keepalived.conf文件里配置LVS的节点IP和相关参数实现对LVS的直接管理;除此之外,当LVS集群中的某一个甚至是几个节点服务器同时发生故障无法提供服务时,Keepalived服务会自动将失效的节点服务器从LVS的正常转发队列中清除出去,并将请求调度到别的正常节点服务器上,从而保证用户的访问不受影响;当故障的阶段服务器被修复以后,Keepalived服务又会自动地把它们加入到正常转发队列中,对客户提供服务。
4、实现LVS负载调度器、节点服务器地高可用性(HA)
一般企业集群需要满足的三个特点:负载均衡、健康检查、故障切换、使用LVS+Keepalived完全可以满足需求
五、Keepalived高可用故障切换转移原理
Keepalived高可用服务对集群之间的故障切换转移,是通过VRRP来实现的
在Keepalived服务正常工作时,主(Master)节点会不断地向备(Backup)节点发送(多播的方式)心跳信息,用以告诉备节点自己还或者,当主节点发生故障时,就无法发送心跳信息,备节点也就因此无法继续检测到来自主节点的心跳了,于是调用自身的接管程序,接管主节点的IP资源及服务。当主节点回复是,备节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色
六、VRRP通信原理
VRRP也就是虚拟路由冗余协议,它的出现就是为了解决静态路由的单点故障
VRRP是通过一种竞选协议机制来将路由任务交给某台VRRP路由器的
VRRP用IP多播的方式(默认多播地址224.0.0.18)实现高可用之间通信