在高可用性群集环境中,通常需要使用浮动IP实现web的高可用性(High Availability )。

有关浮动IP的概念和为什么需要浮动IP的信息,请参考浮动IP (浮动IP )

本文主要介绍实际操作步骤。

它可以是双机或多机,主服务器设置为172.24.8.55,浮动IP设置为172.24.8.80。

一、配置浮动IP :

一种网卡可以绑定多个IP地址的技术。

1、主服务器配置浮动IP

将eth0位eth0:1复制到主服务器并进行修改。

CP/etc/sys config/network-scripts/if CFG-eth0/etc/sys config/network-scripts/if CFG-eth 0:1

编辑文件ifcfg-eth0:1 :

vim/etc/sys config /网络脚本/if CFG-eth 0:1

将设备更改为eth0:1,将NM_CONTROLLED设置为no,将IPADDR更改为浮动IP地址172.24.8.80,删除网关信息,然后进行以下更改:

DEVICE=’eth0:1 ‘

BOOTPROTO=’static ‘

ONBOOT=’yes ‘

NM_CONTROLLED=’no ‘

type=’以太网’

IPADDR=’172.24.8.80 ‘

NETMASK=’255.255.255.0 ‘

接下来,启动网卡,查看是否有效。

ifup eth0:1

检查是否有浮动IP地址:

ip addr

然后,您将访问浮动IP地址172.24.8.80,并且访问成功,这与主服务器172.24.8.55访问时一样,表示配置成功。

2、从服务器配置浮动IP

配置步骤与主服务器完全相同,eth0:1的IP地址也设置为浮动IP172.24.8.80。 在开始测试网卡之前,必须关闭主服务器上的浮动IP。

ifdown eth0:1

然后,从服务器启动eth0:1

ifup eth0:1

测试步骤也与主服务器相同。

3、如果有其他从属服务器,配置步骤如上。

二、编写脚本完成浮动IP的自动打开和关闭

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

1、通过服务器脚本slaveFloatIP.sh :

master _ IP=’ 172.24.8.55 ‘ float _ IP=’ 172.24.8.80 ‘ C1=$ (/usr/gxdjz/ping $ master _ IP-C1|gr grepeth033601 ) if ) $C1-gt0-a$C2-gt0 ) then/usr/SSR ifup eth 033601 elif [ $ C1-eq0-a $ C2-eq0-a ‘ $ C3 ]

ping主服务器的IP地址。 如果ping不通,则表示主服务器已锁定,ping浮动IP地址。 如果ping不通,则表示浮动IP未启动,浮动IP将启动。

主服务器重新联机后,可以ping主服务器,同时ping浮动IP地址,判断该从服务器是否已启动浮动IP,如果是,则关闭

如果还有其他从属服务器,则只需复制脚本。

2、主服务器脚本masterFloatIP.sh :

float _ IP=’ 172.24.8.80 ‘ c=$ (/usr/gxdjz/ping $ float _ IP-C1|grep unreachable|WC-l ) if[$c-gt]

如果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

有关crontab的介绍和使用,请参见crontab介绍

现在,浮动IP设置和主从服务器将自动打开浮动IP。

完成后可以通过浮动IP地址进行访问,如果服务器集群中的一台服务器正常运行,则可以进行web访问,实现web的高可用性。