博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
keepalived通过飘移ip实现高可用配置步骤
阅读量:7077 次
发布时间:2019-06-28

本文共 1627 字,大约阅读时间需要 5 分钟。

环境:两台虚拟机即可

centos7.3虚拟机A 10.0.3.46

centos7.3虚拟机B 10.0.3.110

对外开放的虚拟ip 10.0.3.96(这个ip只需要在keepalived里面配置就可以了)

虚拟机A和B都需要安装nginx和keepalived(过程省略,其中keepalived为yum安装模式yum install keepalived -y,编译安装的貌似不能正常运行,暂时不清楚什么原因)我简单将keepalived理解为检测i服务器是否可用,如果某台服务器宕机,则将虚拟ip转移到另一台服务器

为了区别虚拟机AB,修改nginx的默认页面

分别开启nginx

分别修改keepalived的配置文件keepalived.conf,yum安装默认放在/etc/keepalived/keepalived.conf,或者也可以自行find / -name keepalived.conf。注意需要把原文件内容全部删除(或者把原文件重命名做备份),否则会出错

在两台keepalived上都需要在/etc/sysctl.conf中添加以下参数,否则无法正常绑定虚拟ip

net.ipv4.ip_nonlocal_bind = 1

虚拟机A的keepalived配置文件全部内容为

vrrp_instance VI_1 {    state MASTER    interface ens33      #这里需要根据自己的网卡接口修改    virtual_router_id 66   #该值保持一致,默认为51,但是建议修改为其他值,我的就是因为局域网内已经部署有一个keepalived占用了51这个id,导致keepalived无法正常启动    priority 101         #具有更高的优先级,比如说当这台虚拟机A宕机恢复后,keepalived根据这个优先级决定是否优先使用虚拟机A    advert_int 1    authentication {           #类型和密码必须与另一台虚拟机保持一致        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        10.0.3.96     #这个是我随便取的,只要局域网内该ip没有被占用就可以了    }}

 虚拟机B的keepalived配置文件为

vrrp_instance VI_1 {    state BACKUP    interface ens33    virtual_router_id 66    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        10.0.3.96    }}

现在启动两台虚拟机的keepalived

systemctl start keepalived

此时ping 10.0.3.96会有反应,必须能ping通

有一点需要注意的是:这种配置方法,会出现在ifconfig无法找到virtual_ipaddress的情况,但是可以正常ping通,整个keepalived也可以正常使用。这个以后熟悉了再回来补充

尝试从外界访问10.0.3.96,优先访问46,因为46的优先级101比另一台的优先级100大

 现在我们把虚拟机B上的keepalived服务停掉,再次访问,发现切换到虚拟机B上了(该nginx默认页面我没有进行修改)

 现在把虚拟机A的keepalived重新启动

 

转载于:https://www.cnblogs.com/biaopei/p/8618050.html

你可能感兴趣的文章
Modular Multiplicative Inverse(模乘逆元)
查看>>
【好文翻译】码农们:效率与质量,你选择哪个?
查看>>
qcharts编译
查看>>
Java程序,JDK的安装、环境的配置
查看>>
Vue2.0增删改查案例(Vue+Less+LocalStorage)
查看>>
link和@import的区别
查看>>
LinkedList源码
查看>>
30.图片灯箱插件——lightBox
查看>>
python之路——常用模块
查看>>
【特别推荐】14个支持响应式设计的流行前端开发框架
查看>>
03python面向对象编程1
查看>>
Java锁--Semaphore
查看>>
javaBean与map类型相互转换
查看>>
js调用百度地图接口
查看>>
分块⑨题
查看>>
简单使用ubuntu
查看>>
CentOS7 Nodejs布署环境
查看>>
struts2环境搭建及详细示例
查看>>
gitlab 502问题解决
查看>>
为了媳妇的一张号,我与百度医生杠上了
查看>>