手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Keepalived实现高可用

[日期:2017-10-13] 来源:Linux社区  作者:netonline [字体: ]

6. Keepalived检测脚本

#检测haproxy服务是否正常运行,如果没有则尝试拉起来,如果尝试失败则重启keepalived服务,切换keepalived的vip
[root@elk-node1 ~]# touch /usr/local/keepalived/etc/chk_haproxy.sh
[root@elk-node1 ~]# chmod 755 /usr/local/keepalived/etc/chk_haproxy.sh
[root@elk-node1 ~]# vim /usr/local/keepalived/etc/chk_haproxy.sh
#!/bin/bash
# check haproxy process, if there isn't any process, try to start the process once,
# check it again after 3s, if there isn't any process still, restart keepalived process, change state.
# 2017-03-22 v0.1 
if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; then
     /etc/rc.d/init.d/haproxy start
     sleep 3

     if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; then
          /etc/rc.d/init.d/keepalived restart
     fi
fi

# another method to check haproxy process
#killall -0 haproxy 
#if [[ $? -ne 0 ]];then 
#  /etc/rc.d/init.d/keepalived restart 
#fi

三.验证 

1. 启动

[root@elk-node1 ~]# service keepalived start
[root@elk-node2 ~]# service keepalived start 

2. 查看日志

1)Node1

[root@elk-node1 ~]# tailf /var/log/messages

  1. 以BACKUP模式启动;
  2. 切换到MASTER模式;
  3. 获得vip 10.11.4.150,开始对外发送免费arp通告。 

2)Node2 

[root@elk-node2 ~]# tailf /var/log/messages

  1. 两个相关子进程启动;
  2. 启动后进入BACKUP模式。 

3. VIP

#使用的是"ip address add"添加的vip到系统中,因"ifconfig"命令看不到效果
[root@elk-node1 ~]# ip address show eth0

Node1的网卡eth0已经获得vip 10.11.4.150。 

4. 故障切换

1)Haproxy故障拉起

[root@elk-node1 ~]# date ; service haproxy stop
[root@elk-node1 ~]# date ; service haproxy status

  1. 手工停止haproxy服务;
  2. 因为keepalived配置文件中定义了拉起haproxy服务的脚本,可以看到1s的时间内,haproxy服务又开始运行了。

2)Node1日志 

 

  1. 日志显示haproxy服务停止后再被拉起;
  2. Keepalived进入FAULT STATE,进而转到BACKUP STATE;
  3. Node1的eth0网卡的vip被删除。

3)Node2日志 

  1. Node2转到MASTER STATE;
  2. Node2获得vip 10.11.4.150,并开始对外发免费arp通告。

4)Node2 VIP

[root@elk-node2 ~]# ip address show eth0

Node2的网卡eth0已经获得vip 10.11.4.150。

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-10/147552.htm

linux
相关资讯       keepalived  Keepalived高可用 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款