heartbeat重要文件的配置参数说明

时间:2021-05-07 15:36:25

主要三个重要的文件:ha.cf, authkey, haresource

1)ha.cf的重要参数的说明:

参数 说明
debugfile  /var/log/ha-debug          

heartbeat的调试日志存放的位置

logfile     /var/log/ha-log

heartbeat的日志存放位置

logfacility   local1 在syslog服务中配置通过local1设备接收日志
keepalive   2 指定心跳的间隔时间为2秒(即每两秒在eth1上发送一次广播)
deadtime 30 指定若备用节点在30秒内没有收到主节点的心跳信号,则立即接管主节点的服务资源
warntime  10

指定心跳延迟的时间为10 秒。当十秒盅内备份节点不能收到主节点的心跳信号的时候,

就会往日志中写入一个警告日志,但是此时不会切换服务。

initdead   120  

指定在heartbeat首次运行后,需要等待120秒才启动主服务器的任何资源,

该选项用于解决这种情况产生的时间间隔,取值至少为deadtime的两倍,

单机启动时会遇到VIP绑定很慢,为正常现想,改制设置的长的原因

bcast  eth1 

指明心跳使用以太旺广播的方式在eth1接口上进行广播,

如果使用两个世纪的网络来传送心跳则 bcast eth0 eth1

mcast eth2 225.0.0.1 694 10   设置广播通信使用的端口,694为默认的使用端口号
auto_failback  on   用来定义当主节点恢复后,是否将服务自动的切回
node data-1-1   主节点的主机名
node  data-2-2 备节点的主机名
crm   no   是否开启cluster resource Manager(集群资源管理)功能

配置authkey文件:

  软件提供的authkey默认文件并不是很复杂

  /et/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. --->sha1是被认为是最好的 咱们用这个就是最好
#
# crc adds no security, except from packet corruption.
# Use only on physically secure networks.
#
#auth
# crc
# sha1 HI!
# md5 Hello!

默认的配置使用的是crc的方法,这是不加密的,不够安全,下面介绍一下authkey的一个生产配置,其实呢,就是两行:

auth
sha1 47e9333ewqe67y8ewrew78u9ewrew04

简单吧,两行搞定,authkeys需要600,否则heartbeat服务会报错无法开启服务

注意:两台机器都是需要配置的

配置haresource文件:

编辑配置heartbeat资源文件   /etc/ha.d/haresources

生产环境的配置如下:

 cat   /etc/ha.d/haresources

 data-- IPaddr::10.0.0.17//eth0 ----》这后面还是可以加好多的参数的相当于执行 /etc/ha.d/resource.d/IPaddr 10.0.0.17/24/eth0/ stop/start
data-- IPaddr::10.0.0.18//eth0

配置haresource说明:

data-1-1 为主机名,表示初始状态会在data-1-1 丙丁IP 10.0.0.10

IPaddr为heartbeat配置IP的默认脚本,其后的IP等都是脚本的参数

10.0.0.10/24/eth0表示的是集群对外服务的VIP,初始启动在data-1-1上,24为子网掩码,eth0为ip绑定的物理网卡,为heartbeat提供对外服务的通信接口

heartbeat和keepalived的应用场景的区别:

    1)对于一般的web,db,负载均衡(nginx,haproxpy)等等,heartbeat和keepalived都可以实现

   2)lvs负载均衡最好和keepalived结合,虽然heartbeat也可以调用带有ipvsadm命令的脚本来启动和停止lvs负载均衡,但是heartbeart本身并没有对下面节

     点rs的健康检查功能,heartbeat的这个缺陷可以通过ldiretord的插件来进行弥补。

   3)需要数据同步(配合drbd)的高可用业务最好用heartbeat,例如:mysql双主多从,NFS/MFS存储,他们的特点是需要数据同步,这样的业务最好用

      heartbeat,因为heartbeat自带了drbd的脚本,可以利用强大的drbd同步软件配合实现同步。如果你解决了数据同步可以不用drbd,例如:共享存储或

      者是inotify+rsync,那就考虑keepalived