heartbeat apache 双机热备 为给公司的 两台squid 做准备

打算给公司的弄多一台squid .做一个热备。所以。。。。。在试验过程中。发现网上的好多~~都是乱七八糟的。。。 所以一定要整理一份 最简单版本~~~ 通用版本。。 所以 弄了这么一个环境。

 

 

 

安装 heartbeat:

 

yum install heartbeat

 

然后复制配置文件到 /etc/ha.d 下

 

cp -a /etc/ha.d   /usr/share/doc/heartbeat-2.1.3/{ha.cf,authkeys,haresources}

 

开始配置

 

1 . ha.cf

 

 

2. haresources

 

beihai365 192.168.1.210 httpd  #这里的主机名是主的主机名。IP 是 vip 也就是漂移的ip地址。

 

3. authkeys

 

 

auth 1
1 crc

 

好了heartbeat 配置完了。   热备的两台服务器配置文件基本一样。因为我这里是使用拓扑网络来做心跳 所以 ha.cf 文件里面的

 

ucast 参数要调整下。 写下 对方服务器的IP

 

scp -r /etc/ha.d/ root@192.168.1.244:/etc/  注:在这一步中。我遇到的是 heartbeat 版本不一致导致的 heartbeat 无法启动问题。 所以最好保持你的版本一致 。 我是  2.1.3版本。

 

然后在  241 服务器上的  ha.cf 要修改成 :

 

ucast eth1 192.168.1.244

 

OK  heartbeat 基本就配置完了。 不过还有一步。 在  haresources 文件里面 我们带了 启动的脚本 httpd 。也就是 heartbeat 启动的时候 顺便  apache 也启动了。所以 必须要确保 apache 能顺利启动成功否则 heartbeat 也无法启动。

 

找到  apache 配置文件: httpd.conf  找到修改成   Listen 192.168.1.210:81  写的是vip 地址

 

记得 热备的两台服务器 的都必须一样

 

然后就可以启动了。 先启动主 服务器

 

/etc/init.d/heartbeat start

 

然后过一会就能看到  ifconfig   出来一个虚拟的接口了。那个就是VIP了

 

eth0:0    Link encap:Ethernet  HWaddr 00:EA:01:08:0D:D1
          inet addr:192.168.1.210  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:185

当   heartbeat  进程意外挂掉了以后。 VIP就会漂移到 从服务器上 。那么从服务器上就会创建一个虚拟的VIP口来应对服务了。当 主的 heartbeat 服务正常以后。 还是由主来接待服务。

 

在从上可以这样看心跳包:   

 

 tcpdump port 694  

 

 

 [root@beihai365_bak ha.d]# tcpdump port 694
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
20:05:13.230171 IP beihai365.34842 > beihai365_bak.ha-cluster: UDP, length 180
20:05:13.745084 IP beihai365_bak.32776 > beihai365.ha-cluster: UDP, length 184
20:05:15.229991 IP beihai365.34842 > beihai365_bak.ha-cluster: UDP, length 180
20:05:15.747235 IP beihai365_bak.32776 > beihai365.ha-cluster: UDP, length 183
20:05:17.229901 IP beihai365.34842 > beihai365_bak.ha-cluster: UDP, length 180

 

在这里的试验当中遇到一个意外情况。 查看日志  /var/log/ha-log  和  /var/log/messages  中发现说找不到  gawk .但是 gawk 确实存在的而且权限路径都没错。 最后发现是 witch 没装。他却依赖 witch 所以。 yum install witch 解决。

 

ERROR: Setup problem: Couldn't find utility /usr/bin/gawk

 

使用heartbeat 做热备~~其实不够完美。还缺一个脚本~~~来监控你想监控的服务。然后来做真正意义上的 “服务”热备。 脚本~~

 

我这里主要是监控 squid  脚本是否在运行。如果 squid 服务挂了。就马上切换到 另外一台服务器接管 squid 服务

 

脚本如下:

 

然后   nohup heartbeat_check_squid &

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值