Linux系统浮动IP的配置
什么是浮动IP,为什么要配置浮动IP
首先说一下为什么要配置浮动IP。
原文链接:https://blog.csdn.net/readiay/article/details/53538085

例如上面,我们给100.120主机添加一个100.80的IP,用户访问115.239.100.80这个IP,如果这台机器的服务挂了,我们就将这个ip转移到100.121这个机器上,这样对于用户而言,他们始终访问的就只是一个IP而已。在上面的场景中:115.239.100.80这个ip就是浮动IP,他会随着主机服务挂掉而转移到另外一个能够提供相同服务的主机上,对于用户而言,他们始终觉得服务是正常的。一般而言,在高可用集群中使用的比较多,例如LVS集群等,其实一个高可用集群一般而言都有浮动IP的,如果没有,机器宕机了还怎么玩?
配置浮动IP
再给大家一个前提:
主机:192.168.122.131
从机:192.168.122.132
浮动IP:192.168.122.13
参考链接:https://blog.csdn.net/weixin_40006394/article/details/80451269
开始配置一下,以下前四步,在主从机上是一样的操作,咱们就写一遍啊。可以主机配一步,从机配一步
1、/etc/sysconfig/network-scripts/这个目录下,可以通过ifconfig,先确定网卡的名字,然后在这个目录找到对应的网卡,进行一下操作
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:1
vi ifcfg-ens33:1
2、修改内容,ipaddr改为浮动IP、DEVICE=ens33:1,这个device一定要设置成对应的浮动网卡名称,不然停启会关掉主网卡的。

3、启动新网卡,还在/etc/sysconfig/network-scripts/这个目录下啊。
ifup ifcfg-ens33:1
4、查看是否有浮动IP,跟下边图片一样,就设置成功了
ip a

5、敲黑板了啊!!!
主机192.168.122.131
vi /root/masterFloatIP.sh
添加内容如下,又要敲黑板了啊,注意格式,注意格式,注意格式。sh脚本if后面有个空格,then前边有个分号, ping不通浮动IP地址,则启动ifcfg-ens33:1,备注:-c 1这个是数字1,wc -l这个是字母l
FLOAT_IP="192.168.122.13"
c=$(/usr/bin/ping $FLOAT_IP -c 1|grep Unreachable|wc -l)
if [ $c -gt 0 ];
then
/usr/sbin/ifup ifcfg-ens33:1
fi
这个脚本编写完成后记得将脚本设置为可执行的,不然不起作用的。设置为可执行之后最好在尝试执行,如果有问题可以赶紧改。
chmod +x masterFloatIP.sh
从机192.168.122.132
vi /root/slaveFloatIP.sh
添加内容如下,还是要注意格式的,来个说明啊,ping主服务器IP地址或者ping浮动IP地址,如果ping不通,说明主服务器挂掉了或者没启动浮动IP,则在从机上启动浮动IP。当主服务器再上线,即能够ping通主服务器且能ping通浮动IP地址,则在从机上关闭浮动IP。敲黑板了啊!!!看到标红的地方了没,c3那一行,一定要确认是不是这个网卡名称,通过ip a查看是否是ifcfg-ens33:1,我的网卡名称是ifcfg-ens33:1,但是通过ip a查看浮动ip的时候发现,最后是ens33:1,如下图,所以写成ifcfg-ens33:1,就不对了,需要将ifcfg-删掉,最终直接监控ens33:1就可以了。还有注意一下,c1、c2、c3都是可以拿出来单独执行的,c1、c2记得把$MASTER_IP和$FLOAT_IP改成对应的IP即可,一定要单独测试没问题,再整体测试脚本。


MASTER_IP="192.168.122.131"
FLOAT_IP="192.168.122.13"
c1=$(/usr/bin/ping $MASTER_IP -c 1|grep Unreachable|wc -l)
c2=$(/usr/bin/ping $FLOAT_IP -c 1|grep Unreachable|wc -l)
c3=$(/usr/sbin/ip addr|grep ens33:1)
if [ $c1 -gt 0 -o $c2 -gt 0 ];
then
/usr/sbin/ifup ifcfg-ens33:1
elif [ $c1 -eq 0 -a $c2 -eq 0 -a "$c3" ];
then
/usr/sbin/ifdown ifcfg-ens33:1
fi

这个脚本编写完成后记得将脚本设置为可执行的,不然不起作用的。设置为可执行之后最好在尝试执行,如果有问题可以赶紧改。
chmod +x slaveFloatIP.sh
备注:如果不是只有一个从机,直接复制这个脚本内容即可。
6、操作相同,内容不同,自己看清楚啊,自动执行脚本不一样的。
使用crontab每隔5秒自动执行脚本
主机192.168.122.131
crontab -e
修改内容

#每隔5秒自动执行脚本
* * * * * /root/masterFloatIP.sh
* * * * * sleep 5; /root/masterFloatIP.sh
* * * * * sleep 10; /root/masterFloatIP.sh
* * * * * sleep 15; /root/masterFloatIP.sh
* * * * * sleep 20; /root/masterFloatIP.sh
* * * * * sleep 25; /root/masterFloatIP.sh
* * * * * sleep 30; /root/masterFloatIP.sh
* * * * * sleep 35; /root/masterFloatIP.sh
* * * * * sleep 40; /root/masterFloatIP.sh
* * * * * sleep 45; /root/masterFloatIP.sh
* * * * * sleep 50; /root/masterFloatIP.sh
* * * * * sleep 55; /root/masterFloatIP.sh

从机192.168.122.132
crontab -e
修改内容,从机可以设置每10秒执行一次脚本,不然主机在5秒内有时候启动不来,最后就会导致从机一直启动浮动IP了。
#每隔10秒自动执行脚本
* * * * * /root/slaveFloatIP.sh
* * * * * sleep 10; /root/slaveFloatIP.sh
* * * * * sleep 20; /root/slaveFloatIP.sh
* * * * * sleep 30; /root/slaveFloatIP.sh
* * * * * sleep 40; /root/slaveFloatIP.sh
* * * * * sleep 50; /root/slaveFloatIP.sh
以上就是全部流程了,设置完成后就可以自己进行测试了,关主机浮动IP,开从机浮动IP,自己想怎么测就怎么测。
Linux系统浮动IP的配置的更多相关文章
- CentOS(六)--Linux系统的网络环境配置
Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...
- Ubuntu Linux下设置IP的配置命令
Ubuntu Linux下设置IP的配置命令 今天装了Ubuntu,但是发现不能上网,开始排查问题: 1.首先确定网络连接是否正确,所用的网线是否可以正常工作 2.查看网卡是否能正常工作,检测的方法如 ...
- 【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)
[Oracle RAC]Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂) 2 Oracle11gR2 RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件 ...
- 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)
[Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 ...
- 使用SecureCRT连接虚拟机中Linux系统 和 虚拟机网络配置
使用SecureCRT连接步骤:1.首先打开虚拟机,点击左上角的编辑,再点击虚拟网络编辑器(已经进行虚拟网络编辑的忽略此步骤,直接进行第二步) 点击VMnet8网络,点击更改设置,此步骤需要管理员权限 ...
- Linux系统下tomcat的配置
Linux系统下tomcat的配置 完成后可以输入命令查看日志文件: 最后进入网页测试下吧: 可以出来这个网页就好了
- 【Oracle RAC】Linux系统Oracle18c RAC安装配置详细记录过程(图文并茂)
本文Oracle 18c GI/RAC on Oracle Linux step-by-step 的安装配置步骤,同时也包含dbca 创建数据库的过程. 1. 关闭SELINUX,防火墙vi /etc ...
- VMware虚拟机安装Linux系统后IP配置(二)
1.在NAT模式下自动获取IP 2.编辑网卡配置文件(通用) 3.Ctrl+L 清屏.重启网络服务后检查网络是否正常上网 修改后本机IP地址在linux中ping通本机IP 然而在本机却ping不通l ...
- linux系统查看IP地址,不显示IP地址或者只显示127.0.0.1
在linux系统中输入命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0 然后显示如下结果 点击I或者是A进入可编辑状态(需要先切换到管理员帐号下,自行 ...
随机推荐
- git branch & git remote branch
git branch & git remote branch $ git branch -h usage: git branch [<options>] [-r | -a] [-- ...
- API 授权 All In One
API 授权 All In One 身份验证 授权类型 身份验证类型 继承认证 没有认证 API密钥 不记名令牌 基本认证 摘要授权 OAuth 1.0 OAuth 2.0 授权码 隐含的 密码凭证 ...
- USDN稳定币应用区块链旅游业
比特币是区块链1.0时代的标志性产品,稳定币则是区块链2.0时代的标志性产品.在稳定币鼻祖USDT爆出"超发"新闻后曾引发市场的动荡,之后新兴稳定币如春笋般涌现.据不完全同济,目前 ...
- HTTP 协议的前世今生
尽人事,听天命.博主东南大学研究生在读,热爱健身和篮球,正在为两年后的秋招准备中,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 C ...
- 使用docker mediawiki,搭建网页wiki
我只是想做一个大家都能访问的wiki,用于成员间共享和维护一些文档.找到了docker的mediawiki,这里记录一下我怎么搭的吧. 首先,如果你在一个局域网里,有公用的可以访问的服务器,那可以直接 ...
- C++算法代码——字符串p型编码
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1681 题目描述 给定一个完全由数字字符('0','1','2',-,'9')构成的字 ...
- Java中Singleton的三种实现方式解析
一.什么是Singleton? <设计模式>的作者.Eclipse和 Junit 的开发者 Erich Gamma 在它的理论体系中将 Singleton 定义为仅仅被实例化一次的类.在当 ...
- 10_MySQL数据表的基本查询
为了更好的练习数据表的操作,我们需要有些数据来供我们练习,这里给大家分享一份数据,大家可以拿去自己练习使用. 文件地址:https://files.cnblogs.com/files/waterr/d ...
- 死磕Spring之IoC篇 - Bean 的“前身”
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...
- 读取excel数据生成sql脚本
package com.interact.util; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.b ...