keepalived实现高可用-永远干不死的服务

对于运维同学来说,高可用始终是个绕不过的话题。

什么是高可用?

通常是指一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。也就是所谓的只要干不死就往死里干。我们要做的就是在我们休息的时候,服务还一如既往地干着交代的事情,并且不给她偷懒的间隙。

如何实现高可用的效果?

这里仅提供一种思路,一种方法,不是绝对,也不是唯一。keepalived了解一下。
Keepalived主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router RedundancyProtocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。
在 Keepalived服务正常工作时,主 Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活看,当主 Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主 Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的 IP资源及服务。而当主 Master节点恢复时,备Backup节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色。简而言之,如下图:
组播信息流监测指令:

tcpdump -nn  -i any host 224.0.0.18
keepalived实现高可用-永远干不死的服务

keepalived配置

master配置

vrrp_instance VI_1 {
        state MASTER
        interface ens18 #网卡名称
        virtual_router_id 51 #要保持和salve一致
        priority 100 #优先级要高于slave
  #nopreempt  非抢占模式
        advert_int 1
  authentication {
    auth_type PASS
    auth_pass 1111
  }
        track_script {
    chk_http_port
        }
        virtual_ipaddress {
    虚IP地址/24
        }
}

slave配置

vrrp_instance VI_1 {
        state BACKUP
        interface ens18
        virtual_router_id 51
        priority 90
        #nopreempt   非抢占模式
        advert_int 1
        authentication {
                auth_type PASS
                auth_pass 1111
        }
        track_script {
                chk_http_port
        }
        virtual_ipaddress {
                虚IP地址/24
        }
}

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.net/tech/28401.html

发表评论

登录后才能评论