zoukankan      html  css  js  c++  java
  • Linux配置浮动IP

    在高可用集群环境中,一般都需要使用浮动IP来实现web高可用(High Availability)。

    浮动IP的概念以及为什么需要浮动IP请参考:https://blog.csdn.net/readiay/article/details/53538085

    本篇文章主要讲实际操作步骤:

    可以是双机,也可以是多机,主服务器10.61.1.22,从服务器为10.61.1.23,浮动IP设置为10.61.1.212。

    一、配置浮动IP:

    利用单个网卡可以绑定多个IP地址的技术。

    1、在“主服务器”配置浮动IP

    在主服务器上拷贝eth0为eth0:1,并做修改。

             cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1

    编辑文件ifcfg-eth0:1:

             vim /etc/sysconfig/network-scripts/ifcfg-eth0:1

    修改DEVICE为eth0:1,NM_CONTROLLED设置为no,IPADDR改为浮动IP地址10.61.1.212,去掉网关信息,修改完如下:

             DEVICE="eth0:1"

             BOOTPROTO="static"

             ONBOOT="yes"

             NM_CONTROLLED="no"

             TYPE="Ethernet"

             IPADDR="10.61.1.212"

             NETMASK="255.255.255.0"

    或者:

             DEVICE=eth0:1

             IPADDR=10.61.1.212

             NETMASK=255.255.255.0

             ONBOOT=yes

    然后启动该网卡,验证是否生效:

             ifup eth0:1

    查看是否有浮动IP地址:

             ip addr或者ip a

    接着访问浮动IP地址10.61.1.212,能访问成功,即和主服务器10.61.1.22访问的一样,则说明配置成功。

    2、在“从服务器”配置浮动IP

    配置步骤和主服务器完全一样,eth0:1的IP地址同样设置成浮动IP:10.61.1.212,在启动网卡测试之前,需在"主服务器"关闭浮动IP:

             ifdown eth0:1

    然后在"从服务器"启动eth0:1

             ifup eth0:1

    测试步骤也和"主服务器"一样。

    3、其他“从服务器”配置浮动IP

    如果还有其他从服务器,配置步骤如步骤“2”。

    二、写脚本完成浮动IP的自动开启与关闭

    利用crontab自动执行技术,定时检查IP地址的状态,并启动eth0:1或者关闭eth0:1。

    1、“从服务器”脚本

    root目录下

    #生成脚本文件

             touch slaveFloatIP.sh

    #编写脚本

             vim slaveFloatIP.sh

    复制下面的的代码进去:

             MASTER_IP="10.61.1.22"

             FLOAT_IP="10.61.1.212"

     

             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 eth0:1)

             if[ $c1 -gt 0 -o $c2 -gt 0 ]

             then

                       /usr/sbin/ifup eth0:1

             elif [ $c1 -eq 0 -a $c2 -eq 0 -a "$c3" ]

             then

                       /usr/sbin/ifdown eth0:1

             fi

    说明:

             ping主服务器IP地址或者ping浮动IP地址,如果ping不通,说明主服务器挂掉了或者没启动浮动IP,则在从机上启动浮动IP。

             当主服务器再上线,即能够ping通主服务器且能ping通浮动IP地址,则在从机上关闭浮动IP。

    备注:

             如果还有其他从服务器,只需拷贝该脚本。

    2、“主服务器”脚本

     

    root目录下

    #生成脚本文件

             touch masterFloatIP.sh

    #编写脚本

             vim masterFloatIP.sh

    复制下面的的代码进去:

             FLOAT_IP="10.61.1.212"

     

             c=$(/usr/bin/ping $FLOAT_IP -c 1|grep Unreachable|wc -l)

             if [ $c -gt 0 ]

             then

                       /usr/sbin/ifup eth0:1

             fi

    说明:

             ping不通浮动IP地址,则启动eth0:1

    3、使用crontab每隔5秒自动执行脚本。

    使用crontab -e命令

    进入文件编辑界面,“主服务器”配置如下:

             * * * * * /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

    “从服务器”配置也是一样的,脚本路径改为 /root/slaveFloatIP.sh

    4、结果

    到这里就完成了浮动IP的配置和主从服务器自动开启浮动IP。

    完成后就可以通过浮动IP地址访问,服务器集群内只要有一台服务器正常运行,web就能访问,实现了web高可用。

  • 相关阅读:
    用例输入单元测试(3)参数化测试方法
    线程文件[MFC]线程优先级设置,下拉列表框ComboBox,复选框CButton,列表框CListBox的使用
    设置系统SetLocalTime设置系统时间
    页面错误毕业设计之错误集锦(六)
    定义数据类型SQL server中SET ANSI_PADDING对char、varchar、nvarchar的影响
    查找关键字算法:静态查找表(Static Search Table)
    密码注册ASP.NET实现忘记密码
    卡函数or1200基于simplespi的SD卡驱动
    目的地返回POJ 2336 动态规划(DP) Ferry Loading II
    坐标序列hdu 1003 解题报告 Max Sum
  • 原文地址:https://www.cnblogs.com/ExMan/p/10555857.html
Copyright © 2011-2022 走看看