(英文好的可以听一下,英文不好的也可以看一下。我只能看一下。^0^)
Client A ipaddress:192.168.1.103
Client B ipaddress:192.168.1.104
虚拟IP:192.168.1.105
A.libnet安装
(编译过程中需要安装libnet模块,如果没有安装此组件,则会出现如下问题。)
configure: error: The following required components noted earlier are missing: libnet
下载站点
[root@AbleRedhat4 heartbeat]# tar zxvf libnet.tar.gz.gz
[root@AbleRedhat4 heartbeat]# cd libnet
./configure && make && make install
B.HeartBeat编译安装
解压下载的文件
[root@AbleRedhat4 heartbeat]# ls
Heartbeat-Stable.tar.gz
[root@AbleRedhat4 heartbeat]# tar zxvf Heartbeat-Stable.tar.gz
[root@AbleRedhat4 heartbeat]# ./ConfigureMe
[root@AbleRedhat4 heartbeat]# ./ConfigureMe make #这个编译的过程比较长
[root@AbleRedhat4 heartbeat]# make install
拷贝doc下的三个配置文件(ha.cf,haresources,authkeys)到/etc/ha.d/目录下
先解释一下authkeys文件的意思:
================authkeys=================
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
========================================
1,2,3表示认证算法选择,这里选择了crc算法,当然了你也可以先择其它的。此文件用于用户验证!
而且authkeys文件权限必须是0600,所以请记得执行chmod 600 /etc/ha.d/authkeys
继续来解释haresources文件
#cat haresources
=============================================================
AbleRedhat4.iptv.com 192.168.1.105/24/eth0 hamysql.sh
=============================================================
AbleRedhat4.iptv.com 主节点的名称uname -n 查出来的
192.168.1.105/24/eth0 对外虚拟服务IP/子网掩码/网卡接品
hamysql.sh 表示资源名称,用以启动与停止hamysql.sh的服务,需要在resource.d目录下创建hamysql.sh这个脚本,支持start和stop操作。
我直接套用了mysql自已的脚本,没有写。(ln -s /etc/init.d/mysqld hamysql.sh)
讲讲最麻烦的ha.cf配置文件
#说明:主节点重启成功后,资源是自动拿回到主节点还是等到副节点down调后拿回资源
node AbleRedhat4
node heartbeat
#节点名称,与uname –n保持一致。是否主节点与此位置的先后顺序无关。而是在haresources里指定
bcast eth0
#采用eth0的udp广播用来发送心跳信息,建议在副节点不只一台时使用(而如果副节点不在同一网段侧使用无效果)
ucast eth0 192.168.1.104
#采用网卡eth0的udp单播来通知心跳,ip应为对方IP(未验证)
当一个网段有多台这样cluster话,则一定要采用单播,否则每组cluster都会看到对方的节点,从而报错。
#mcast eth0 225.0.0.1 694 1 0
#采用udp多播来通知心跳,建议在副节点不只一台时使用
#注:广播,单播,多播,以上三种任选其一即可