天天看點

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