当前位置: 代码网 > it编程>数据库>MsSqlserver > nginx+keepalived实现高可用实践

nginx+keepalived实现高可用实践

2026年05月11日 MsSqlserver 我要评论
什么是keepalived?keepalived是集群管理中保证集群高可用的一个服务,类似于heartbeat,用来防止单节点故障。keepalived工作原理keepalived是以vrrp协议为基

什么是keepalived?

keepalived是集群管理中保证集群高可用的一个服务,类似于heartbeat,用来防止单节点故障。

keepalived工作原理

keepalived是以vrrp协议为基础实现的。

virtual route redundancy protocol,即虚拟路由冗余协议,它主要是实现路由器高可用的容错协议,即将n台提供相同功能的路由器组成一个路由器组,这个组里有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据vrrp的优先级来选举一个backup当master,这样的话就可以保证路由器的高可用了。。

部署nginx+keepalived

环境准备:

  • 10.3.145.110[ master ]: nginx+keepaived
  • 10.3.145.111[ backup ]: nginx+keepalived

由于keepalived中的arp数据包要广播发送,eepalived中的master和backup要在同一个网段,确保它们之间相互通信。

vip: 10.3.145.112 ( 必须局域网内是没有用过的 ip )

1.每台机器都要部署 nginx 作为web服务
# yum install -y nginx
# systemctl start nginx

2.每台机器都要部署 keepalived 服务
# yum install -y keepalived 
# systemctl start keepalived

3.修改keepalived的配置文件
[root@master ~]# vim /etc/keepalived/keepalived.conf 
! configuration file for keepalived
global_defs {
   router_id director1		
}

vrrp_instance vi_1 {
    state master            #10.3.145.111的keepalived配置文件只需该成 backup
    nopreempt				    
    interface ens33         #vip绑定机器的网卡接口
    virtual_router_id 90    #vrid 同一组集群,主备一致 
    priority 100	
    advert_int 1
    authentication {
        auth_type pass
        auth_pass 11112
    }
    virtual_ipaddress {
		10.3.145.109        #vip地址
    }
}
4.都重启 keepalived 服务
# systemctl restart keepalived

查看vip是否生效:
# ip a

5.测试:把master的keepalived服务停止,切换到backup查看vip是否漂移

[root@master ~]# systemctl stop keepalived

[root@backup ~]# ip a    #查看到vip,nginx高可用部署成功

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com