linux LVS+Keepalived
keepalived服务主要用来做高可用,高可用在企业中是非常重要的技术,避免数据丢失和服务停止。
目录
一、keepalived概述
二、keepalived实验原理
三、keepalived模块
四、实验演示
五、总结
一、keepalived概述
1.keepalived 服务重要功能
(1)实现服务的高可用性:Keepalived 可以将多台服务器组成一个高可用性集群,其中一台服务器出现故障时,其它服务器会自动接管它的服务,从而确保服务的连续性和可用性。
(2)实现负载均衡:Keepalived 可以根据不同的负载均衡算法,将来自客户端的请求分配到不同的服务器上,从而达到负载均衡的目的,提高系统的性能和可扩展性。
(3)监控服务器状态:Keepalived 可以监控服务器的状态,包括 CPU 利用率、内存使用情况、网络连接状态等,并根据预设的规则,自动调整服务器的负载和服务状态,以确保系统的稳定性和可靠性。
(4)实现虚拟 IP:Keepalived 可以将多个服务器的 IP 地址映射为一个虚拟 IP 地址,从而实现对外提供服务的高可用性和负载均衡。
(5)提供健康检查:Keepalived 可以定期对服务进行健康检查,以确保服务的可用性和正确性,并在服务异常时自动进行故障转移。
2.管理LVS负载均衡器软件
Keepalived是专为LVS和HA设计的一款健康检查工具
keepalived可以通过读取自身的配置文件,实现通过更底层的接口直接管理IVS配置以及服务的启动
停止功能 这会使 LVS应用跟更加简便
(1)支持故障自动切换(Failover)
(2)支持节点健康状态检查(Health Checking)
(3)判断LVS负载调度器、节点服务器的可用性,当master主机出现故障及时切换到backup节点保证业务正常,当master故障主机恢复后将其重新加入群集并且业务重新切换回master节点。
3.keepalived算法
Keepalived 支持多种负载均衡算法,可以根据实际情况选择合适的负载均衡算法,并进行配置和优化。
(1)轮询
(2)加权轮询
(3)最小连接数
二、keepalived实验原理
1.支持故障自动切换
(1)两台知己同时安装好keepalived并且启动服务当启动的时候master主机获得所有资源并且对用户提供服务(请求) 当角色backuo的主机做为master热备:当master主机挂了出现故障时,backup主机讲自动接管master主机所有工作,包括接管VIP资源及相应资源服务。
(2)当master主机故障修复后,优惠自动接管回它的原来处理的工作,backup主机则同时释放masqter主机失效时接管的工作此时此刻两台主机将恢复到最初的启动时各自的原始角色及工作状态抢占模式: master 从故障恢复后,回将VIP从BACKUP节点中抢占过来,非抢占:master从故障恢复后不抢占BACKUP,BACKUP升级为MASTER后的VIP
2.实现LVS集中节点的健康检查
keepalived.conf文件配置LVS的节点IP和相关参数来实现对IVS直接管理如果几个节点服务器同时发生故障无法提供服务,keepalived服务会自动就爱那个失效节点服务器从LVS正常转发列中清除出去,并将请求调度到别的正常节点服务器上,从而保证最终用户的访问不受要影响;当故障的节点服务器修复以后,keepalived服务又会自动把他们加入到正常转发列中,对外面客户提供服务。
3.实现LVS负载调度器节点服务器的高可用性 (HA)
LVS+keepalived
(1)负载均衡
(2)健康检查
(3)故障切换
4.keepalived 高可用故障切换转移原理
(1)高可用服务集群之间的故障切换转移,是通过VRRP(虚拟路由器冗余协议) 来实现的keepalived在keepalived服务正常工作时,主 (master) 节点会不断地像备 (Backup) 节点发送 (多播的方式) 心跳消息,用意告诉备节点自己还活着。
(2)当主节点发生故障事,就无法发送心跳消息,备节点也就因此无法检测到来自主节点的心跳,于是调用自身的接管程序,接管主节点的IP资源及服务。
(3)而当主节点恢复时,北街店又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色。
5.keepalived 服务的工作原理
(1)Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。在一个IVS服务集群中通常有主服务器 (MASTER) 和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
6.keepalived非抢占和抢占
在 Keepalived 中,高可用性集群的管理方式可以分为非抢占和抢占两种方式。
(1)非抢占模式:在非抢占模式下,一旦某个节点成为主节点,其他节点就不会尝试抢占该节点的主节点地位。在这种模式下,如果主节点发生故障,需要手动将其下线,然后将备用节点切换为主节点。
(2)抢占模式:在抢占模式下,当某个节点成为主节点时,其他节点会不断尝试抢占该节点的主节点地位。如果主节点发生故障,备用节点会自动接管主节点的地位。在这种模式下,如果主节点恢复正常,它仍然会尝试重新成为主节点。
需要注意的是,抢占模式虽然可以自动切换主节点,但会增加网络流量和系统负载,因此需要根据实际情况选择合适的模式。
总之,非抢占模式和抢占模式是 Keepalived 高可用性集群中重要的管理方式,可以根据实际需求选择合适的方式,以保障系统的可用性和稳定性。
主节点和备用节点的 VRRP 状态都设置为 MASTER。
三、keepalived模块
1.keepalived体系主要模块及作用
keepalived体系架构中主要有三个模块,分别是core、check和vrrp。
(1)core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析。
(2)vrrp模块:是来实现VRRP协议的。
(3)check模块:负责健康检查,常见的方式有端口检查及URL检查。
四、实验演示
1.配置负载调度器(主、备相同)
(1)配置keeplived
备份文件
修改文件
vrrp修改
配置虚拟VIP
开启服务
(2)启动 ipvsadm 服务
(3)调整 proc 响应参数,关闭Linux 内核的重定向参数响应
第二台调度器
网页检查
五、总结
keepalived可以选择抢占模式和非抢占模式,各有用途。Keepalived 可以将多个服务器组成一个高可用性集群,其中一台服务器出现故障时,其它服务器会自动接管它的服务,从而确保服务的连续性和可用性。Keepalived 是一种功能强大、易于使用的高可用性软件,可以提高系统的可用性、性能和可扩展性,是实现服务高可用性和负载均衡的重要工具之一。