前面的几篇内容虽然已经安装好了heartbeat,但是启动heartbeat却总是启动不成功,不是报这个错,就是报那里错了,修改配置文件修改了好半天,终于把heartbeat启动成功了。
本人做的实验并没有什么主备节点,只有一个虚拟机,当然也就只有一个主节点,并没有传说中的备节点。
首先进行配置文件的复制
[[email protected] doc]#cd /usr/local/src/Heartbeat-3-0-958e11be8686/doc
[[email protected] doc]# pwd
/usr/local/src/Heartbeat-3-0-958e11be8686/doc
[[email protected] doc]#cp ha.cf haresources authkeys /etc/ha.d/
--复制当前目录下的 ha.cf
haresources authkeys 到、/etc/ha.d里面
[[email protected] doc]#chmod 0600
/etc/ha.d/authkeys --这个文件的权限必须是600,可以看一下里面的内容
[[email protected] 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!
[[email protected] 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 得到的主机名
这个文件配置成这样就可以了,这是最简单的配置。
[[email protected] doc]#vi
/etc/ha.d/haresources
localhost.localdomain 192.168.37.100
--前面是主机名,后面是你的这台主机的IP
[[email protected] doc]#vi
/etc/ha.d/authkeys
auth 3
#1 crc
#1 sha1 HI!
3 md5 Hello!
这个文件我是这样设置的,其余的设置也是可以的,配置成auth 1 1 src 应该也可以。
[[email protected] doc]#cd
/etc/ha.d
[[email protected] ha.d]#cp -R ./*
/usr/etc/ha.d/ --一定要把那些配置文件在复制到/usr/etc/ha.d下面,
因为启动heartbeat的时候读取的是这里面的配置。
这样设置之后,你的虚拟机上的heartbeat就能够启动啦,这是在仅有一个虚拟机的情况下的设置。。希望能帮到大家。。