在Linux 双机下自己手动实现浮动ip技术
来源:互联网 发布:淘宝东飞正品怎么样 编辑:程序博客网 时间:2024/06/04 19:59
两台Linux服务器,一台为主机(IP:124.158.26.30)对外提供了一定的网络服务,另一台从机(IP:124.158.26.31)能提供相同的服务,但ip地址没有对外部公开客户端连接的都是124.158.26.30这个ip地址,如果主机故障,则会使网络服务暂时中断,时间越长造成损失越大由于没有采用双机热备技术,考虑自己用Linux脚本来实现简单的浮动ip技术,当主机故障时从机获取124.158.26.30这个ip,暂时替代主机提供服务,当主机恢复时,从机自动释放这个ip
实现:
利用单个网卡绑定多个ip地址的技术和crontab自动执行技术
为主机的网卡多绑定一个静态ip,如124.158.26.32 ,这个地址是便于从机判断的,为从机的网卡多绑定一个动态ip,127.0.0.1,它在主机故障时将会被脚本修改为124.158.26.30
在从机添加一个脚本 floatip.sh,使用crontab技术让这个脚本每分钟执行一次,这个脚本的作用是判断主机的地址32能否ping通,一旦不通则将让自己的网卡多余那个ip地址改为124.158.26.30,如果主机恢复,则将这个地址改回为127.0.0.1
步骤:
一、为主机多绑定一个静态ip124.158.26.32
二、在从机上建立脚本floatip.sh
c1=`ping 124.158.26.32 -c 1 | grep Unreachable | wc -l`
c2=`ping 124.158.26.32 -c 10 | grep Unreachable | wc -l`
c3=`ping 124.158.26.30 -c 10 | grep Unreachable | wc -l`
c4=`/sbin/ifconfig |grep 124.158.26.30 |wc -l`
if [ $c1 -gt 0 ] ;then
if [ $c2 -gt 9 ] ;then
if [ $c3 -gt 9 ] ;then
/sbin/ifconfig eth0:1 124.158.26.30 netmask 255.255.255.0
echo "float ip to 30"
fi
fi
echo "can not connect"
else
if [ $c4 -gt 0 ] ;then
/sbin/ifconfig eth0:1 127.0.0.1 netmask 255.255.255.0
echo "reset ip"
fi
echo "connection is ok"
fi
从机上建立crontab
用crontab -e
*/1 * * * * floatip.sh > /dev/null 2>&1
提示
在测试时,你可以现将这句话改为 * * * * * floatip.sh
这样你可以用mutt收到很多邮件,用户跟踪脚本执行情况
- 在Linux 双机下自己手动实现浮动ip技术
- 在liunx双机下自己动手实现浮动IP技术
- 在liunx双机下自己动手实现浮动IP技术
- 自己手动实现 KVO(来源:Glow 技术团队博客)
- linux下MySQL实现双机数据库复制的配置
- Linux 系统下双机HA的功能实现
- 在Linux上实现DB2双机HA完整方案
- 在linux系统用heartbeat实现双机热备
- Linux配置浮动IP实现WEB高可用
- 手动Linux固定IP
- linux 手动配置ip
- linux 手动设置ip ..
- 自己手动实现KVO
- 自己手动实现dubbo
- 在linux下实现自己的ls -l
- linux下的磁盘挂在和手动配置IP地址
- Linux下查看自己的IP
- [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务
- mysql安装图解 mysql图文安装教程(详细说明)
- B. Cows and Poker Game
- Objective-C中关于数组操作常用的方法
- Oracle rman备份异机恢复
- 关于在windows上开发视频对话应用
- 在Linux 双机下自己手动实现浮动ip技术
- vba
- applicationContext.xml 配置文件的存放位置
- Android有用代码片段
- IOS iphone中结束电话后返回自己的应用
- iOS开发是否应该使用ARC?
- DOM & SAX for XML files
- VC中注册表的读写修改操作
- android-整体UI设计-(滑动导航栏+滚动页面)