好了,存储部分就算是作到这里了,下面开始配置 heartbeat+ldirectord
第一部也是统一 hostname
172.16.0.33     jdc.vs.com
172.16.0.66     jdd.vs.com
172.16.0.25     jdb.vs.com
172.16.0.21     jda.vs.com
172.16.0.67         jde.vs.com

有一堆包要安装,让我们看看
heartbeat-2.1.3-3.el5.centos.i386.rpm             perl-Data-HexDump-0.02-1.2.el5.rf.noarch.rpm
heartbeat-devel-2.1.3-3.el5.centos.i386.rpm       perl-Mail-POP3Client-2.18-1.el5.rf.noarch.rpm
heartbeat-gui-2.1.3-3.el5.centos.i386.rpm         perl-MailTools-2.02-1.el5.rf.noarch.rpm
heartbeat-ldirectord-2.1.3-3.el5.centos.i386.rpm  perl-Net-IMAP-Simple-1.17-1.el5.rf.noarch.rpm
heartbeat-pils-2.1.3-3.el5.centos.i386.rpm        perl-Net-IMAP-Simple-SSL-1.3-1.el5.rf.noarch.rpm
heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm     perl-RadiusPerl-0.13-1.el5.rf.noarch.rpm

用到的 只有 heartbeat 和 heartbeat-ldirectord 其他的都是依赖关系,其实用源码包装会比较好
让我们先设置ldirectord
vim /etc/ha.d/ldirectord.cf   #默认没有这个文件 模板在/usr/share/doc/heartbeat-ldirectord-2.1.3/ldirectord.cf
checktimeout=3
checkinterval=1
autoreload=yes
quiescent=yes
virtual=172.16.0.9:80
        real=172.16.0.21:80 gate
        real=172.16.0.33:80 gate
        fallback=127.0.0.1:80 gate
        service=http
        request="test.html" #这个是测试页面,ldirectord通过这个文件来检查realserver是否还在
        receive="ceshi"     #测试页面内容
        scheduler=rr        #最简单的 轮询算法  
        #persistent=600     #这部是回话保存时间,为了测试方便我现注销了
        protocol=tcp
        checktype=negotiate
        checkport=80

同步 ldirectord的设置
scp ldirectord.cf 172.16.0.67:/etc/ha.d/

vim /etc/ha.d/ha.cf  #这个文件的模板在   /usr/share/doc/heartbeat-2.1.3/ha.cf 同时还有haresources文件和authkeys文件

logfacility     local0
keepalive 1
deadtime 10
warntime 3
initdead 100
udpport 694
ucast   eth1 172.16.1.2  #(备服务器设置为 ucast eth1 172.16.1.3) 这两个网卡用来检查心跳的,一般单独用一根网线把他们连起来,如果还怕不安全
auto_failback on         #就帮定两个网卡连接
node    jdd.vs.com       #第一个是主,第二个是备,别弄反了
node    jde.vs.com
ping 172.16.0.1          #仲裁

ping_group group1 172.16.0.3 172.16.0.100

respawn hacluster /usr/lib/heartbeat/ipfail

scp ha.cf 172.16.0.67:/etc/ha.d/

修改haresources
jdd.vs.com IPaddr::172.16.0.9/24/eth0 ldirectord
修改authkeys
auth 2
#1 crc
2 sha1 HI!
#3 md5 Hello!
别忘了把auth 文件的权限设置为400

两边执行/etc/init.d/heartbeat start   /etc/init.d/ldirectord start
好了,作最后的测试
ab -n 1000 -c 1000 httpd://172.16.0.9/

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.16.0.9:80 rr
  -> 172.16.0.33:80               Route   1      0          1852      
  -> 172.16.0.21:80               Route   1      0          1836      


测试成功

好了,再来谈一下GFS的扩展 如果空间不够用了 要作下面几步
首先 扩展lvm   
lvextend /dev/testvg/testlv -L +1G (其实这1G是给日志用的,不算多)
然后给GFS文件系统增加日志(GFS每加一个节点,日志也要多一个,日志也是要独立空间的哦)
gfs_jadd -j 2 /var/www/html #这部是在使用GFS的节点上作  (注意最后目录可别加上  “/”,会出错的)
gfs_tool df 查看当前GFS空间信息  “Journals=4”这个是日志数量,原来的是 “2”证明刚才日志增加成功
好了我再增加2G的空间
lvextend /dev/testvg/testlv -L +2G
将 1G和2G加入lv
gfs_grow /var/www/html
检查发现多了3G的空间
OK 大功告成!!
写的有点罗嗦,希望对大家有所帮助。