HA Keepalived案例一:Keepalived双机热备精讲( 二 )


Sep8 18:26:02: Using...
Sep8 18:26:02:VRRP child , pid=5606
Sep8 18:26:07: (lnmp)toSTATE
Sep8 18:26:12: (lnmp)STATE
Sep8 18:26:12avahi-[2528]:newfor 192.168.17.200 on eth0.
在节点B上启动
/usr/local//sbin/
开机自动启动
echo /usr/local//sbin/ >> /etc/rc.local
启动日志:
Sep8 18:30:02:v1.2.2 (09/08,2011)
Sep8 18:30:02:child , pid=5837
Sep8 18:30:02:
Sep8 18:30:02:
Sep8 18:30:02:ARP
Sep8 18:30:02:VRRP child , pid=5839
Sep8 18:30:02: IPVS:(TCP, UDP, AH, ESP)
Sep8 18:30:02: IPVS:hash table(size=4096, =)
Sep8 18:30:02: IPVS: ipvs .
Sep8 18:30:02ckers:
Sep8 18:30:02ckers:
Sep8 18:30:02ckers:file '/etc//.conf'.
Sep8 18:30:02:file '/etc//.conf'.
Sep8 18:30:02:is using : 36252 Bytes
Sep8 18:30:02: Using...
Sep8 18:30:02ckers:is using : 6271 Bytes
Sep8 18:30:02ckers: Using...
Sep8 18:30:02: (lnmp)STATE
从日志可以看出,启动都没有问题,并且安装我给的优先级完成了竞选,各自成就了各自的状态
关闭节点A的网卡测试切换是否正常

HA  Keepalived案例一:Keepalived双机热备精讲

文章插图
eth0
观察节点B的日志:
Sep8 18:32:55: (lnmp)toSTATE
Sep8 18:33:00: (lnmp)STATE
Sep8 18:33:00avahi-[2531]:newfor 192.168.17.200 on eth0.
启动节点A的网卡测试切换是否正常
ifup eth0
观察节点B的日志:
Sep8 18:33:31: (lnmp)prio
Sep8 18:33:31: (lnmp)STATE
Sep8 18:33:31avahi-[2531]:for 192.168.17.200 on eth0.
prio :表示接收到更高优先级的公告(公告的意思)
: 撤回的意思,可以看出切换过程一目了然
OK,到这里我们的安装部分完成,下面我们来看看如何监控服务吧,我们这里仅仅是监控了网络故障和本身进程,在网络或者进程出现问题的时候会切换,但是我的节点A里面还有很多服务呢,例如nginx,PHP,mysql进程出问题或高负载的时候相应过慢怎么办,怎么切换的呢,这时就要用到脚本了,下面我们来看看是如何控制脚本来实现对服务器的监控和切换的
写个脚本来实时监控三个服务,若有一个出现问题遍切换mkdir /root/shell/
cd /root/shell
vi .sh
#!/bin/bash
while:
do
=`/usr/local/lnmp/mysql/bin/ -uroot ping 2>&1`
=`echo $?`
=`ps -C php-fpm --no- | wc -l`
=`ps -C nginx --no- | wc -l`
=`ps -C--no- | wc -l`
if [ $ -eq 0 ]|| [ $ -eq 0 ]||[ $ -ne 0 ];then
if [ $ -ne 0 ];then
-TERM
else
echo " is "
fi
else
if [ $ -eq 0 ];then
/etc/init.d/ start
else
echo " is "
fi
fi
sleep 5
done
复制代码
注意,用 /etc/init.d/ start如果起不来,可以用/usr/local//sbin/二进制文件直接执行启动即可
启动脚本:
chmod +x /root/shell/.sh
nohup sh /root/shell/.sh &
复制代码
节点B也用这个脚本
写入/etc/rc.local开机自动启动
echo "nohup sh /root/shell/.sh &" >> /etc/rc.loal
复制代码
可以测试了
开了防火墙之后双节点都变成了,日志如下
Sep 13 21:21:27avahi-[2528]:for fe80::20c:29ff:fede:99ab on eth1.
Sep 13 21:21:27avahi-[2528]:for 192.168.27.212 on eth1.
Sep 13 21:21:27avahi-[2528]:for fe80::20c:29ff:fede:99a1 on eth0.
Sep 13 21:21:27avahi-[2528]:for 192.168.17.212 on eth0.
Sep 13 21:21:27avahi-[2528]: Host name ,with
Sep 13 21:21:27avahi-[2528]:newfor fe80::20c:29ff:fede:99ab on eth1.
Sep 13 21:21:27avahi-[2528]:newfor 192.168.27.212 on eth1.
Sep 13 21:21:27avahi-[2528]:newfor fe80::20c:29ff:fede:99a1 on eth0.
Sep 13 21:21:27avahi-[2528]:newfor 192.168.17.200 on eth0.
Sep 13 21:21:27avahi-[2528]:newfor 192.168.17.212 on eth0.