天天看点

Centos6.0之httpd+heartbeat+nfs实现httpd热备及资源统一管理

本文系统centos6.0

目的:两个机器的httpd服务提供一样的服务,使用heartbeat实现httpd的热备,为了统一管理资源(不然需要两台服务上都写入配置),后面挂一台机器,提供nfs服务;方便管理。

lv1:192.168.182.130    

lv2:192.168.182.129

vip:192.168.182.200

nfsserver:192.168.182.131

1、首先在lv1、lv2上:

配置hosts

启动httpd服务,分别在两台机器的Index.html做区别,比如分别显示lv1、lv2

2、接下来安装heartbeat;

yum install heartbeat libnet

1>cp /usr/share/doc/heartbeat-3.0.4/authkeys ha.cf haresources /etc/ha.d/

配置ha.cf

logfile    /var/log/ha-log

logfacility    local0

keepalive 2

deadtime 10

warntime 5

initdead 120

udpport    694

bcast    eth0

auto_failback on

node    lv1

node    lv2

ping 192.168.182.2  #网关

ping_group group1 192.168.182.130 192.168.182.129

respawn hacluster /usr/lib/heartbeat/ipfail

配置 authkeys

auth 1

1 crc

#2 sha1 HI!

#3 md5 Hello!

配置haresources

lv1    IPaddr::192.168.182.200/32/eth0:0 httpd

2>将上面3个配置文件scp到lv2

chmod 600 authkeys 

scp ha.cf haresources authkeys root@lv2:/etc/ha.d/

3>分别启动httpd进行验证;

lv1:/etc/init.d/httpd start

lv2:/etc/init.d/httpd start

分别启动heartbeat

lv1:/etc/init.d/heartbeat start

lv2:同上

这时你会发现lv1的eth0:0网卡

httpd、heartbeat服务状况

现在去访问192.168.182.200

证明是lv1是提供服务

我们把lv1上的heartbeat服务停掉

你会发现lv1上的eth0:0网卡不见了,而漂移到了lv2上

当你在访问192.168.182.200的时候,发现

证明现在是lv2在提供服务

3、开始在第三台机器nfsserver开启nfs

1>、yum install nfs rpcbind

/etc/init.d/nfs start

mkdir /root/data

vim /etc/exports

/root/data    *(rw)

exportfs -r

2、随便一台机器测试是否正常mount

lv1测试:

说明测试正常

umount 掉  umount /mnt

分别在lv1、lv2上修改haresources

lv1     IPaddr::192.168.182.200/32/eth0:0 Filesystem::192.168.182.131:/root/data::/var/www/html::nfs httpd

分别在lv1、lv2分别启动httpd、heartbeat

在lv1上mount下发现

2>、在nfsserver上/root/data下创建一个test文件

vim index.html

test

发现测试正常

4、测试nfs是否和lv两台服务器链接正常

lv1上停掉heartbeat /etc/init.d/heartbeat stop

在lv2上mount 下发现

说明链接正常

lv2 ifconfig eth0:0

nfsserver 

test\test

测试发现OK!!!

到现在为止,一切OK

只修改nfsserver上的index.html 即可,便于管理;

本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1203542