Linux-Keepalived(VRRP协议)高可用集群搭建
参考链接:Keepalived高可用集群
一、VRRP简介
1.1 什么是VRRP?
VRRP(Virtual Router Redundancy Protocol)是虚拟路由器冗余协议,用于实现网络设备的冗余备份和负载均衡
,以提高网络的可靠性和稳定性。
在VRRP中,一组路由器形成一个虚拟路由器,虚拟路由器的IP地址是由虚拟路由器中的一个路由器的物理接口IP地址和虚拟IP地址组成的。当虚拟路由器的物理接口IP地址失效时,其他路由器将接管该虚拟路由器的IP地址,并继续提供路由服务。
VRRP的主要目的是在一个网络中提供冗余的路由。当一个三层网络设备或服务器出现故障时,VRRP可以确保网络仍能正常工作。VRRP通过在这些设备之间使用IP组播或单播通信来实现冗余。它可以确保在网络中有多个物理节点时,且在某些节点发生故障时仍能保持服务。
主要优点是提高了网络的可靠性,因为当主路由器出现故障时,备份路由器可以迅速接管网络服务,避免了网络中断。此外,VRRP还可以实现负载均衡,将数据流量分配到多个路由器上,提高了网络的性能。
需要注意的是,VRRP需要在路由器上配置相应的参数和规则,以确保其正常工作。同时,在配置VRRP时,需要考虑网络拓扑、设备性能等因素,以确保网络的稳定性和可靠性。
1.2 keepalived是什么?
Keepalivedkeepalived是集群管理中保证集群高可用的一个服务软件,它的作用是检测web服务器的状态。它是Linux内核中的一个组件,用于实现虚拟路由冗余协议(VRRP)
。
Keepalived负责监控和维护一个VRRP集群,以确保所有VRRP实例都在线并能相互通信。如果有一台服务器死机,或工作出现故障,keepalived将检测到,并将有故障的服务器从系统中剔除,当web服务器工作正常后,自动将web服务器加入到服务器集群中。解决了静态路由的单点故障问题。
1.3 keepalived工作原理
N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip,master不断向backup发送心跳信息,告诉backup自己还活着,当backup收不到心跳的时候就认为master已经宕机,就需要根据VRRP的优先级来选举一个backup当master,从而保证高可用。
keepalived主要有三个模块:
- core模块:为keepalived的核心,负责进程的启动,维护,以及全局配置文件的加载和解析。
- check模块:负责健康检查,包括常见的各种检查方式。
- vrrp模块:是实现VRRP协议的。