CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了centos实现heartbeat 双机热备大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

      centos实现heartbeat 双机热备        双机热备就是使用两台服务器共同执行同一服务,在运行过程中实时相互备份,当一台服务器出现故障时候,另一台可以立即发现故障并接管那天服务器的服务,从而在不需要人工干预的情况下自动保证系统能持续提供服务。常见的有两种情况:使用共同存储设备、使用不同存储设备(需要通过软件保持同步),在同一时间内主服务器保持激活状态,备份服务器处于监听

centos实现heartbeat 双机热备


双机热备就是使用两台服务器共同执行同一服务,在运行过程中实时相互备份,当一台服务器出现故障时候,另一台可以立即发现故障并接管那天服务器的服务,从而在不需要人工干预的情况下自动保证系统能持续提供服务。常见的有两种情况:使用共同存储设备、使用不同存储设备(需要通过软件保持同步),在同一时间内主服务器保持激活状态,备份服务器处于监听状态,当主服务器出现故障无法启动时候,备份服务器会通过心跳诊断将备份服务器激活,保证服务正常使用。这里主要是用在提供web服务的服务器,目的是防止服务器宕机引起的服务间断。采用的是linux+heartbeat方案。下面把我的实现过程写一下:

centos实现heartbeat 双机热备s.width=650;" src="http://img.code.cc/vcimg/000/006/135/600_566_9c2.png" >

两台服务器用来做高可用,虚拟vip192.168.100.249,通过心跳线来确定对方是否活着

下面看下我的heartbeat来做HA集群

环境描述

两个系统都是centos6.7,两个主机ip分别为
cs1.local 192.168.100.45

cs2.local 192.168.100.44

两个主机的心跳地址分别为:

cs1.local 192.168.10.20

cs2.local 192.168.10.10

一、设置主机名


    @H_618_57@

    centos实现heartbeat 双机热备

    @H_618_57@

    centos实现heartbeat 双机热备s.width=650;" src="http://img.code.cc/vcimg/000/006/135/602_75b_466.png" >

二、关闭防火墙活着打开所需端口,关闭SELinux

/etc/init.d/iptables stop

setenforce 0

三、设置解析

centos实现heartbeat 双机热备

centos实现heartbeat 双机热备


四、安装epel扩展源

yum insall epel-release

五、安装heartbeat 和apache

yum -y install heartbeat-stonith heartbeat-pils heartbeat heartbeat-devel heartbeat-gui libnet

yum install -y httpd

六、主服务器上的操作

1.Heartbeat的主要配置文件有ha.cf、haresources、authkeys,需要放在/etc/ha.d目录下,
在通过yum安装Heartbeat后,认并没有这三个文件
yum 安装后可以从/usr/share/doc/heartbeat-3.0.4找到,拷贝到/etc/ha.d并编辑

cp /usr/share/doc/heartbeat-3.0.4/ha.cf /etc/ha.d/
cp /usr/share/doc/heartbeat-3.0.4/haresources /etc/ha.d/
cp /usr/share/doc/heartbeat-3.0.4/authkeys /etc/ha.d/

2.主配置文件ha.cf的内容设置如下:

debugfile /var/log/ha-debug #用于记录heartbeat的调试信息

logfile /var/log/ha-log #用于记录heartbeat的日志信息

logfacility local0 #系统日志级别

keepalive 2 #设定心跳(监测)间隔时间,认单位为秒

deadtime 30 #超出30秒未收到对方节点的心跳,则认为对方已经死亡

warntime 10 #警告时间,通常为deadtime时间的一半

initdead 120 #网络启动时间,至少为deadtime的两倍

udpport 694 使用udp端口694进行心跳监测

ucast eth1 192.168.10.10 #采用单播,进行心跳监测,IP为对方主机IP

auto_failBACk on #on表示当拥有该资源的属主恢复之后,资源迁移到属主上

node cs1.local #设置集群中的节点,节点名须与uname�Cn相匹配
node cs2.local #节点2

ping 192.168.100.1 192.168.100.253 #ping集群以外的节点,这里是网关和另一台机器,用于检测网络的连接性

respawn hacluster /usr/lib64/heartbeat/ipfail #此处lib64认为lib,64位系统要改为lib64,否则启动时报错。

apiauth ipfail gid=root uid=root #设置所指定的启动进程的权限

3.ha.cf文件设置了heartbeat的检验机制,没有执行机制。Haresources用来设置当主服务器现 问题时heartbeat的执行机制。其内容为:当主服务器宕机后,该怎样进行切换操作。切换内容 通常有IP地址的切换、服务的切换、共享存储的切换,从而使从服务器具有和主服务器同样的IP、serviCE、SHARESTORAGE,从而使client没有察觉。在两个HA节点上该文件必须完一 致。

cat /etc/ha.d/haresources

centos实现heartbeat 双机热备


4.认证文件authkeys

用于配置心跳的加密方式,该文件主要是用于集群中两个节点的认证,采用的算法和密钥在集群中节点上必须相同,目前提供了3种算法:md5,sha1和crc。其中crc不能够提供认证,它只能够用于校验数据包是否损坏,而sha1,md5需要一个密钥来进行认证。
本次实例中,内容设置如下:

cat /etc/ha.d/authkeys

centos实现heartbeat 双机热备


注:需要更改该文件属性为600,否则heartbeat启动将失败

chmod 600 /etc/ha.d/authkeys

5.配置从节点的heartbeat

将主节点上的heartbeat配置文件拷贝到从节点,并确保两个节点上的配置文件权限相同:

scp /etc/ha.d/ha.cf root@cs2.local:/etc/ha.d/
scp /etc/ha.d/haresources root@cs2.local:/etc/ha.d/
scp /etc/ha.d/authkeys root@cs2.local:/etc/ha.d/

ha.cf文件修改ucast的内容,将其指向主节点:
ucast eth1 192.168.10.20 #指定对方IP

其他文件内容无需修改。在主备节点上haresources和authkeys文件必须是相同的

七、测试

将cs1.local 网页改为 this is webserver : cs1

将cs2.local 网页改为 this is webserver : cs2

/etc/init.d/httpd start

/etc/init.d/heartbeat start

centos实现heartbeat 双机热备


断开cs1.local 的心跳ip 192.168.10.20

centos实现heartbeat 双机热备


重新访问结果如下

centos实现heartbeat 双机热备


恢复主机心跳ip192.168.10.20 访问又回到原来界面

centos实现heartbeat 双机热备

大佬总结

以上是大佬教程为你收集整理的centos实现heartbeat 双机热备全部内容,希望文章能够帮你解决centos实现heartbeat 双机热备所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。