Heartbeat:

前提条件:

设置主节点和备份节点时间同步 
在双机高可用集群中,主节点和备份节点的系统时间也非常重要,因为节点之间的监控都是通过设定时间来实现的。主备节点之间的系统时间相差在10秒以内是正常的,如果节点之间时间相差太大,就有可能造成HA环境的故障。解决时间同步的办法有两个:一个办法是找一个时间服务器,两个节点通过ntpdate命令定时与时间服务器进行时间校准;另一个办法是让集群中的主节点作为ntp时间服务器,让备份节点定时去主节点进行时间校验

 

Heartbeat的主要配置文件有ha.cfharesourcesauthkeys,默认并没有这3个文件,此时目录下没有这三个文件,需要创建,我们可以在 /usr/share/doc/heartbeat目录里找到ha.cfharesourcesauthkeys三个文件,只需将其拷贝到

/etc/ha.d目录下,即可

主配置文件(/etc/ha.d/ha.cf

#debugfile /var/log/ha-debug    #用于记录 heartbeat 的调试信息,这里不开启
logfile /var/log/ha-log               #
指名heartbeat的日志存放位置。 

logfacility   local0                      #如果未定义上述的日志文件,那么日志信息将送往local0(对应的#/var/log/messages),如果这个日志文件都未定义,那么 heartbeat 默认情况下 将在/var/log 下建立 ha-debug ha-log 来记录 相应的日志信息

 

keepalive 2         #发送心跳报文的间隔,默认单位为秒,如果你毫秒为单位那么需要在后面跟 ms 单位, 1500ms 即代表 1.5s 

deadtime 30        #指定若备用节点在30秒内没有收到主节点的心跳信 号,则立即接管主节点的服务资源。 

warntime 10         #指定心跳延迟的时间为10秒。当10秒钟内备份节点不能接收到主节点的心跳信号时,就会往日志中写入一 个警告日志,但此时不会切换服务。发出最后的心跳   信息的间隔

initdead 120            #在某些系统上,系统启动或重启之后需要经过一段时  网络才能正常工作,该选项用于解决这种情况产生 的时 间间隔。取值至少为deadtime的两倍

udpport 694            udpport 694  #心跳信息传递的udp端口

watchdog /dev/watchdog  #看门狗。如果本节点在超过1分钟后还没有发出心跳,那么本节点自动重启(需要在内核中载入"softdog" 内核模块)

#mcast eth0 225.0.0.1 694 1 0    #采用网卡eth0Udp组播来组织心跳,如果采用组 播通讯,在这里可以设置组播通讯所使用的接口,绑定 的组播 ip #( 224.0.0.0 - 239.255.255.255), Bcastucastmcast分别代表广播、单播和组播,是组织心跳的三种方式,任选其一即可。

auto_failback off                   #用来定义当主节点恢复后,是否将服务自动切回。如 果不想启用,请设置为off,默认为onheartbeat的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点;如果该选项设置为off,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点。

ping 192.168.60.1                  #选择ping的节点,ping节点选择的越好,HA集群就 越强壮,可以选择固定的路由器作为ping节点,或者 应用服务器但是 最好不要选择集群中的成员作为ping 节点,ping节点 仅仅用来测试网络连接。如果指定了多个ping节点如

ping 192.168.0.1 192.168.0.2

那么只有当能ping通所有ping节点 时才认为网络是连通的,否则则认为不连通

respawn hacluster /usr/lib/heartbeat/ipfail    #该选项是可选配置, 意思 是以 hacluster  个用户身份运行/usr/lib/heartbeat/ipfail 这个  插件 respawn列出与heartbeat一起启动和关闭的  程,该进程一般是和heartbeat集成的插件,这些 进程遇到故障可以自动重新启动。最常用的进程是 ipfail,此进程用于检测和处理网络故障,需要配合 ping或者ping_group语句,其中指定的ping node 来检测网络的连通性

 

etc/ha.d/authkeys 文件决定了认证密钥。共有三种认证方式:crcmd5,和sha1

 

配置haresources

配置好ha.cf文件之后,便是haresources文件。该文件列出集群所提供的服务以及服务的默认所有者。注意:两个集群节点上的该文件必须相同

node-name network-config
其中node-name指定双机系统的主节点,取值必须匹配ha.cf文件中node选项设置的主机名中的一个,node选项设置的另一个主机名成为从节点。

 

netstat -antup | grep 694

 

drbd:DRBD:叫做分布式复制块设备,这是一种基于软件

在服务器之间的块设备(包括硬盘、分区、逻辑卷)进行镜像。也就是说当某一个应用程序完成写操作后,它提交的数据不仅仅会保存在本地块设备上,DRBD也会将这份数据复制一份,通过网络传输到另一个节点的块设备上,这样,两个节点上的块设备上的数据将会保存一致,这就是镜像功能

 

DRBD具有如下特性:

1)实时性:当某个应用程序完成对数据的修改时,复制功能立即发生

2)透明性:应用程序的数据存储在镜像块设备上是独立透明的,他们的数据在两个节点上都保存一份,因此,无论哪一台服务器宕机,都不会影响应用程序读取数据的操作,所以说是透明的。

3)同步镜像和异步镜像:同步镜像表示当应用程序提交本地的写操作后,数据后会同步写到两个节点上去;异步镜像表示当应用程序提交写操作后,只有当本地的节点上完成写操作后,另一个节点才可以完成写操作。

 

Drbd配置文件:

每一个.res的文件用于定义一个资源

Heartbeat:

前提条件:

设置主节点和备份节点时间同步 
在双机高可用集群中,主节点和备份节点的系统时间也非常重要,因为节点之间的监控都是通过设定时间来实现的。主备节点之间的系统时间相差在10秒以内是正常的,如果节点之间时间相差太大,就有可能造成HA环境的故障。解决时间同步的办法有两个:一个办法是找一个时间服务器,两个节点通过ntpdate命令定时与时间服务器进行时间校准;另一个办法是让集群中的主节点作为ntp时间服务器,让备份节点定时去主节点进行时间校验

 

Heartbeat的主要配置文件有ha.cfharesourcesauthkeys,默认并没有这3个文件,此时目录下没有这三个文件,需要创建,我们可以在 /usr/share/doc/heartbeat目录里找到ha.cfharesourcesauthkeys三个文件,只需将其拷贝到

/etc/ha.d目录下,即可

主配置文件(/etc/ha.d/ha.cf

#debugfile /var/log/ha-debug    #用于记录 heartbeat 的调试信息,这里不开启
logfile /var/log/ha-log               #
指名heartbeat的日志存放位置。 

logfacility   local0                      #如果未定义上述的日志文件,那么日志信息将送往local0(对应的#/var/log/messages),如果这个日志文件都未定义,那么 heartbeat 默认情况下 将在/var/log 下建立 ha-debug ha-log 来记录 相应的日志信息

 

keepalive 2         #发送心跳报文的间隔,默认单位为秒,如果你毫秒为单位那么需要在后面跟 ms 单位, 1500ms 即代表 1.5s 

deadtime 30        #指定若备用节点在30秒内没有收到主节点的心跳信 号,则立即接管主节点的服务资源。 

warntime 10         #指定心跳延迟的时间为10秒。当10秒钟内备份节点不能接收到主节点的心跳信号时,就会往日志中写入一 个警告日志,但此时不会切换服务。发出最后的心跳   信息的间隔

initdead 120            #在某些系统上,系统启动或重启之后需要经过一段时  网络才能正常工作,该选项用于解决这种情况产生 的时 间间隔。取值至少为deadtime的两倍

udpport 694            udpport 694  #心跳信息传递的udp端口

watchdog /dev/watchdog  #看门狗。如果本节点在超过1分钟后还没有发出心跳,那么本节点自动重启(需要在内核中载入"softdog" 内核模块)

#mcast eth0 225.0.0.1 694 1 0    #采用网卡eth0Udp组播来组织心跳,如果采用组 播通讯,在这里可以设置组播通讯所使用的接口,绑定 的组播 ip #( 224.0.0.0 - 239.255.255.255), Bcastucastmcast分别代表广播、单播和组播,是组织心跳的三种方式,任选其一即可。

auto_failback off                   #用来定义当主节点恢复后,是否将服务自动切回。如 果不想启用,请设置为off,默认为onheartbeat的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点;如果该选项设置为off,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点。

ping 192.168.60.1                  #选择ping的节点,ping节点选择的越好,HA集群就 越强壮,可以选择固定的路由器作为ping节点,或者 应用服务器但是 最好不要选择集群中的成员作为ping 节点,ping节点 仅仅用来测试网络连接。如果指定了多个ping节点如

ping 192.168.0.1 192.168.0.2

那么只有当能ping通所有ping节点 时才认为网络是连通的,否则则认为不连通

respawn hacluster /usr/lib/heartbeat/ipfail    #该选项是可选配置, 意思 是以 hacluster  个用户身份运行/usr/lib/heartbeat/ipfail 这个  插件 respawn列出与heartbeat一起启动和关闭的  程,该进程一般是和heartbeat集成的插件,这些 进程遇到故障可以自动重新启动。最常用的进程是 ipfail,此进程用于检测和处理网络故障,需要配合 ping或者ping_group语句,其中指定的ping node 来检测网络的连通性

 

etc/ha.d/authkeys 文件决定了认证密钥。共有三种认证方式:crcmd5,和sha1

 

配置haresources

配置好ha.cf文件之后,便是haresources文件。该文件列出集群所提供的服务以及服务的默认所有者。注意:两个集群节点上的该文件必须相同

node-name network-config
其中node-name指定双机系统的主节点,取值必须匹配ha.cf文件中node选项设置的主机名中的一个,node选项设置的另一个主机名成为从节点。

 

netstat -antup | grep 694

 

drbd:DRBD:叫做分布式复制块设备,这是一种基于软件

在服务器之间的块设备(包括硬盘、分区、逻辑卷)进行镜像。也就是说当某一个应用程序完成写操作后,它提交的数据不仅仅会保存在本地块设备上,DRBD也会将这份数据复制一份,通过网络传输到另一个节点的块设备上,这样,两个节点上的块设备上的数据将会保存一致,这就是镜像功能

 

DRBD具有如下特性:

1)实时性:当某个应用程序完成对数据的修改时,复制功能立即发生

2)透明性:应用程序的数据存储在镜像块设备上是独立透明的,他们的数据在两个节点上都保存一份,因此,无论哪一台服务器宕机,都不会影响应用程序读取数据的操作,所以说是透明的。

3)同步镜像和异步镜像:同步镜像表示当应用程序提交本地的写操作后,数据后会同步写到两个节点上去;异步镜像表示当应用程序提交写操作后,只有当本地的节点上完成写操作后,另一个节点才可以完成写操作。

 

Drbd配置文件:

每一个.res的文件用于定义一个资源