返回顶部
首页 > 资讯 > 服务器 >keepalived配置虚拟ip(VRRP)实现双机热备以及自动切换主备
  • 638
分享到

keepalived配置虚拟ip(VRRP)实现双机热备以及自动切换主备

服务器 2023-10-06 08:10:55 638人浏览 八月长安
摘要

需求 我有两个服务器,一台A是正常处理数据的,还有一台B是备用机器;A如果网络异常或者崩了,B开启采集技术 但是其他人访问的ip地址,如果从A变成B,地址改变了,会影响业务需求的;所以需要A与B共用一个Ip地址,A服务器崩了,B还在,不影

需求

我有两个服务器,一台A是正常处理数据的,还有一台B是备用机器;A如果网络异常或者崩了,B开启采集技术

但是其他人访问的ip地址,如果从A变成B,地址改变了,会影响业务需求的;所以需要A与B共用一个Ip地址,A服务器崩了,B还在,不影响对外的业务


方案实现

我有两台服务器,分别是11.11.1.110 和11.11.1.112

安装keepalived两台机器都要安装

yum install keepalived

 2、两台服务器都安装完毕以后,可以下面的操作了

      修改配置文件        vi  /etc/keepalived/keepalived.conf

     进入以后,删除所有的行,输入命令1000dd  

    

 输入

vrrp_script chk_Nginx {  script "/home/keepalived/nginx_check.sh"  interval 2  weight -20}vrrp_instance VI_1 {    state BACKUP    interface ens192    virtual_router_id 100    mcast_src_ip 11.11.1.112    priority 99    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    track_script {     chk_nginx    }    virtual_ipaddress {        11.11.1.116    }}
耐心解释一下:vrrp_script chk_nginx       这里是一个执行脚本,定时2S执行一次,这里的演示我没有创建这个脚本,所以它不会执行,也就是这句不会生效了。因此你如果不需要脚本的时候,可以把这句连同track_script 这句一起去掉。留着也不会有什么影响。state BACKUP                表示这两个服务器都是备用服务器。interface ens192            表示当前使用的网卡,通过ifconfig可以查看到,这我用的是ens192。virtual_router_id 100 这个是个分组标记,在一个网内,所有的virtual_router_id为100的服务器自动分到一个组里面,由于这里面我把两台服务器的status都设置成为了BACKUP,那么这两台服务器就会利用priority这个值来决定谁是主服务器,谁是备用服务器,高的那个会抢占当前的vip,也就是它就会变成主服务器。mcast_src_ip 填写你当前机器的真实ip即可advert_int 1 没有仔细研究,应该是两台服务器之间的心跳间隔authentication 就用默认的就可以了。track_script 和vrrp_script chk_nginx 配合使用的。virtual_ipaddress 两台机器共有的vip,注意,要和两台服务器在一个网关里面。

根据自己的情况,修改 ,然后保存退出:wq

另一台服务器的设置如下  

vrrp_script chk_nginx {  script "/home/keepalived/nginx_check.sh"  interval 2  weight -20}vrrp_instance VI_1 {    state BACKUP    interface ens192    virtual_router_id 100    mcast_src_ip 11.11.1.110    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    track_script {     chk_nginx    }    virtual_ipaddress {        11.11.1.116    }}

A与B虚拟的ip地址是11.11.1.116

priority 100比priority 99的级别要高,所以100是主机,99是从机;


两台机器都重启keepalived

systemctl restart keepalived

并且设置开机自重启

systemctl enable keepalived.service

测试配置是否成功!

我的两台服务器上都有Http服务器,因此只需要用postman请求这个接口;

     打印请求参数,两台机器都完好的情况下,priority 100的肯定是主机,

     会出现打印的信息,priority 99的是从机,不会启用;

关闭priority 100的机器;这个时候同样的操作,用postman请求这个接口;

    若priority 99的出现打印的请求参数,说明成功!!!若不出现,说明不成功!!

    因为此时priority 100的机器已经关机了,priority 99就是唯一的主机了!!!

    

来源地址:https://blog.csdn.net/qq_37591637/article/details/129810077

--结束END--

本文标题: keepalived配置虚拟ip(VRRP)实现双机热备以及自动切换主备

本文链接: https://lsjlt.com/news/424004.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作