今天晚上抽出了时间研究了一下,如果有什么地方写错了,还请朋友们能提出来
研究得到的结论是
没有真正实现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 } }
既然爱,为什么不说出口,有些东西失去了,就再也回不来了。
是要引上的 `ps -C httpd –no-header |wc -l`