根据httpd服务的进程判断是否关闭keepalived进程

今天晚上抽出了时间研究了一下,如果有什么地方写错了,还请朋友们能提出来

研究得到的结论是
没有真正实现http的高可用行。无法根据http返回的状态码,进行相应的操作
今晚在搭建http和keepalived的时候,感觉使用puppet自动化部署会很方便的,尤其是需要大量http服务器做群集的时候(这是需要使用LVS/HAproxy做负载均衡)

keepalived的主要配置分为3部分:
是一个配置文件里面三种不同类别的配置区域,全局配置(Global Configuration)、VRRPD配置、LVS配置
(如果以前搞过路由交换的话,VRRP,HSRP这类的协议原理还是很熟悉的,)
vim check_httpd.sh

#!/bin/sh
if [ `ps -C httpd --no-header |wc -l` -eq 0 ];then
service keepalived stop
fi

chmod +x check_httpd.sh
vim keepalived.conf

vrrp_script check_httpd {
script "sh /etc/keepalived/check_httpd.sh"
interval 2
weight -20
}

vrrp_instance VI_1 {
state MASTER #其他httpd主机改为BACKUP
interface eth0
virtual_router_id 51
priority 100 #其他改为比100小值
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.245.2 #虚拟的IP
}

track_script {
check_httpd
}
}

2 thoughts on “根据httpd服务的进程判断是否关闭keepalived进程”

Leave a Reply

Your email address will not be published. Required fields are marked *