Nginx+Keepalived高可用集群
VRRP 虚拟路由冗余协议
VRRP是Virtual Router Redundancy Protocol (虚拟路由冗余协议)的缩写,出现的目的就是为了解决静态路由的单点故障问题的,它能保证当个别节点宕机时,整个网络可以不间断地运行。
VRRP作用在静态IP(举例:配置linux网关,IP的时候配置static属性) 为了解决当一台路由器挂掉整个访问这个路由的服务都崩掉,当一个路由器挂掉可以,vrrp选举出一个路由承担路由转发责任。
Keepalived
Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。
Keepalived高可用服务对之间的故障切换转移,是通过VRRP来实现的。
keepalived 主备之间可以互相检查 正常工作时主节点会主动向备份节点发送心跳消息,告诉备份节点自己还活着,不用接管。
当主节点宕机时,备份节点接收不到心跳消息,就调用自身接管程序,接管主节点的资源和IP。当主节点恢复,备份节点就释放自己接管的资源和IP,恢复到备份状态。
keeplived+Nginx高可用
当主节点keeplived+nginx正常运行时vrrp作用在主节点机器上,当主服务器nginx挂掉,keepalived通过shell脚本会重启nginx,如果成功正常运行,如果不成功会关闭掉主节点的keepalicved。
这时备份节点接收得不到主节的keepalived的心跳消息,就会把vrrp抢过来,接管主节点的资源和IP,这是所有转发经过的都是备份节点的nginx,当主节点恢复,备份节点就释放自己的资源和IP,恢复到备份状态。
配置安装可以参考:
https://blog.51cto.com/superpcm/2095395
https://www.cnblogs.com/mscm/p/13255478.html