前面的几篇内容虽然已经安装好了heartbeat,但是启动heartbeat却总是启动不成功,不是报这个错,就是报那里错了,修改配置文件修改了好半天,终于把heartbeat启动成功了。

本人做的实验并没有什么主备节点,只有一个虚拟机,当然也就只有一个主节点,并没有传说中的备节点。

首先进行配置文件的复制

[root@localhost doc]#cd /usr/local/src/Heartbeat-3-0-958e11be8686/doc

[root@localhost doc]# pwd

/usr/local/src/Heartbeat-3-0-958e11be8686/doc

[root@localhost doc]#cp ha.cf haresources authkeys /etc/ha.d/  --复制当前目录下的  ha.cf haresources authkeys 到、/etc/ha.d里面

[root@localhost doc]#chmod 0600 /etc/ha.d/authkeys --这个文件的权限必须是600,可以看一下里面的内容

[root@localhost doc]# more /etc/ha.d/authkeys 

#

# Authentication file.  Must be mode 600

#

#

# Must have exactly one auth directive at the front.

# auth send authentication using this method-id

#

# Then, list the method and key that go with that method-id

#

# Available methods: crc sha1, md5.  Crc doesn't need/want a key.

#

# You normally only have one authentication method-id listed in this file

#

# Put more than one to make a smooth transition when changing auth

# methods and/or keys.

#

#

# sha1 is believed to be the "best", md5 next best.

#

# crc adds no security, except from packet corruption.

# Use only on physically secure networks.

#

#auth 1

#1 crc

#2 sha1 HI!

#3 md5 Hello!

[root@localhost doc]#vi  /etc/ha.d/ha.cf

debugfile /var/log/ha-debug        --用于设置调试日志

logfile /var/log/ha-log               --用于设置heartbeat日志文件在系统中的位置

logfacility local0                        --用于设置syslog()/logger设备

keepalive 2                                       --指定心跳间隔时间

deadtime 30                                     --指定备用机器在该选项指定的时间内没有收到主节点的心跳信息,那                                                                      么久宣布接管主服务器的资源。这个不要设置得太小。

warntime 10                                      --设备警告时间

initdead 120                                      --在一些机器或操作系统上,网络启动需要一定的时间,因此在重新                                                                        启动系统后要等到网络正常工作后。该选项用于设置网络能正常开                                                                        始工作的时间,其值应该是deadtime选项的两倍。换句话说,就是                                                                       在网络重启多少秒后才开始计算心跳,这种做法的意义是为了防止                                                                      在网络还没有初始化完毕之后就已经到了心跳死亡的时间,这样容                                                                         易造成错误认定死亡的结果。

udpport 694                                     --该选项用于设置使用bcast/ucast通信时所使用的端口

                                                            以上都是配置文件的默认值,不需要修改

bcast eth0 # Linux               --该选项用于设置heartbeat在哪个网卡上监听心跳的广播信息,由于                                                                       我的个人虚拟机只有一个网卡eth0,因此这里只设置一个eth0

mcast eth0 225.0.0.1 694 1 0             --eth0是用于接收、发送心跳的设备   225.0.0.1是设置加入的多播组                                                                       694是用于发送、接收数据包的UDP端口    1是设置TTL值    0是否                                                                       设置为设备

auto_failback on                                 --该选项是用于设置当主节点恢复正常后,是否自动切换回服务

node localhost.localdomain        --该选项用于告诉在集群中的机器,后面的                                                                                                              localhost.localdomain 是通过uname -n 得到的主机名

 这个文件配置成这样就可以了,这是最简单的配置。

[root@localhost doc]#vi  /etc/ha.d/haresources

localhost.localdomain 192.168.37.100             --前面是主机名,后面是你的这台主机的IP

[root@localhost doc]#vi  /etc/ha.d/authkeys

auth 3

#1 crc

#1 sha1 HI!

3 md5 Hello!

这个文件我是这样设置的,其余的设置也是可以的,配置成auth 1         1 src 应该也可以。

[root@localhost doc]#cd /etc/ha.d

[root@localhost ha.d]#cp -R ./* /usr/etc/ha.d/   --一定要把那些配置文件在复制到/usr/etc/ha.d下面,                                                                                              因为启动heartbeat的时候读取的是这里面的配置。


这样设置之后,你的虚拟机上的heartbeat就能够启动啦,这是在仅有一个虚拟机的情况下的设置。。希望能帮到大家。。