heartbeat配置资源切换操作笔记(原创)

浆糊jun 浆糊jun     2022-08-31     228

关键词:

标题:CentOS6.6安装heartbeat实现高可用
参考资料:http://www.centoscn.com/CentosServer/cluster/2015/0605/5604.html
 
使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务。master1为主,另一个是备。
准备:
master1: 192.168.42.12 10.1.1.1(心跳)
master2: 192.168.42.13 10.1.1.2(心跳)
技术分享
以下是IP配置:
技术分享
vip: 192.168.42.14
(上图可以看到,没有配置vip:两台机器都不必手动添加vip,交给heartbeat去自动添加即可)
 
1.以下操作在两台机器上操作:
1) /etc/init.d/iptables stop
2) setenforce 0
3) vi /etc/hosts //增加以下内容
192.168.42.12 master1
192.168.42.13 master2
保存退出
4) 安装epel扩展源:
yum -y install epel-release
5) 安装heartbeat和nginx
yum -y install heartbeat nginx
 
2.在master1上配置:
cd /usr/share/doc/heartbeat-3.0.4/
cp authkeys ha.cf haresources /etc/ha.d/
cd /etc/ha.d
vi authkeys
auth 3
md5 Hello!
保存退出。
 
chmod 600 authkeys
 
vi haresources //加入如下语句
master1 IPaddr::192.168.42.14/25/eth0:0 nginx //设定虚拟IP和对应的接口,并且指定启动虚拟IP时启动NGINX服务,这里的NGINX服务必须是能够直接在/etc/init.d/目录下启动的服务。
保存退出。如下图所示:
技术分享
 
vi ha.cf //改为如下内容:
debugfile /var/log/ha-debug //设定debug文件目录
logfile /var/log/ha-log //设定日志文件目录
logfacility local0
keepalive 2 //设定检查时间间隔为2s
deadtime 30 //设定死亡时间为30s
warntime 10 //设定告警时间为10s(10s以上没有收到对方的回应就报警)
initdead 60 //设定初始化时间为60s
udpport 694 //启动udp694监听端口(该端口可以修改)
ucast eth1 10.1.1.2 //填写对方的心跳网卡及心跳IP
auto_failback on //启动抢占模式(主在挂了以后重新起来后备会自动切换成备)
node master1 //指定两个节点
node master2
ping 192.168.42.1 //指定一个第三方的仲裁节点
respawn hacluster /usr/lib64/heartbeat/ipfail //使用这个脚本去侦听对方是否还活着(使用的是ICMP报文检测)
保存退出。如下图所示:
技术分享
 
3.把master1上的三个文件复制到master2上:
cd /etc/ha.d
scp authkeys ha.cf haresources [email protected]:/etc/ha.d
 
4.修改master2上的ha.cf文件:
vi /etc/ha.d/ha.cf
ucast eth1 10.1.1.2 ===》 ucast eth1 10.1.1.1 //只改一处即可
保存退出。如下图所示:
技术分享
 
5.启动heartbeat:
先主后从。
/etc/init.d/heartbeat start
启动后master1会出现一个eth0:0,自动启动了nginx,而master2则不会启动eth0:0,没有启动eth0:0接口。如下图所示:
技术分享
 
技术分享
 
技术分享
 
技术分享
 
6.测试:当master1关机后,是否会切换nginx:
技术分享
可以发现,当master1关机后,master2立即启动了自身的nginx来接管业务。
 
现在重启master1后,nginx自动被heartbeat开启,如下图所示:
技术分享
VIP自动移到master1上:如下图所示:
技术分享
 
而此时的master2上的nginx已经被关掉了,VIP也没了,如下图所示:
技术分享
 
相关日志:
技术分享
实验操作成功。
 
另外:当master1上的heartbeat关掉后,master2会自动接管master1上的应用和VIP,而master1的heartbeat恢复工作后,master2上的应用和VIP自动退出,交还给master1。
 

以手动方式完全释放master1的heartbeart对资源的管理权:
在master1上执行:/usr/share/heartbeat/hb_standby
执行后,master1上的资源被释放,master2会立即接管资源。
 
以手动方式让master1强行接管master2资源管理权:
在master1上执行:/usr/share/heartbeat/hb_takeover
执行后,master2上的资源被释放,master1会立即接管资源。
 

扩展:在主上面的心跳线接口给down掉之后,备上面因为检测不到主还活着,于是自己成为主,启动了虚拟IP接口,接替了主的工作。当把主的心跳线接口up起来之后备主动把虚拟IP交还给主,自己成为备。
然后我将主上面的对外接口给down之后,备因为检测到心跳接口还是正常的,还以为主还活着,于是高可用就失败了。当主把对外接口up之后需要重新启动heartbeat服务才能从备上面把工作接管过来。
由这里可以看出心跳线是至关重要的,心跳线挂了之后将有可能导致脑裂行为的发生(即主和备一起在抢占虚拟IP的控制权),实际环境中最好给心跳线做冗余,使用以太端口捆绑保障心跳线的健壮性。
同时,假如主的对外接口挂了,但是心跳线没有挂,备就无法检测到主挂了,也就无法实现高可用了。

heartbeat的双机互备

heartbeat快速部署:高可用服务————将资源(IP及程序服务等资源)从一台已经故障的主机上快速转移到另一台正常运转的主机上继续提供服务配置heartbeat软件的配置文件,指定哪一台heartbeat服务器作为主服务器,另一台作为... 查看详情

heartbeat编译安装配置

一、heartbeat介绍    heartbeat是HA高可用集群的一个重要组件,heartbeat实现了资源转移和心跳信息传递。它的常用组合方式为heartbeatv1,heartbeatv2+crm,heartbeatv3+pacemaker,目前版本为v3版本。二、编译前准备  heartb... 查看详情

heartbeat-gui

一、简介gui heartbeat的v2版本将v1中haresources配置文件使用GUI图形配置接口来配置高可用集群。更加便捷,直观。二、准备条件和资源规划见上文http://jiayimeng.blog.51cto.com/10604001/1873663三、heartbeat-gui配置1、安装解决依赖关系[[email... 查看详情

heartbeat-gui

一、简介gui heartbeat的v2版本将v1中haresources配置文件使用GUI图形配置接口来配置高可用集群。更加便捷,直观。二、准备条件和资源规划见上文http://jiayimeng.blog.51cto.com/10604001/1873663三、heartbeat-gui配置1、安装解决依赖关系[[email... 查看详情

heartbeat-gui

一、简介gui heartbeat的v2版本将v1中haresources配置文件使用GUI图形配置接口来配置高可用集群。更加便捷,直观。二、准备条件和资源规划见上文http://jiayimeng.blog.51cto.com/10604001/1873663三、heartbeat-gui配置1、安装解决依赖关系[[email... 查看详情

001.heartbeat简介(代码片段)

一Heartbeat简介1.1概述Heartbeat是Linux-HA项目中的一个组件,也是当前开源HA项目中最成功的一个例子,它提供了所有HA软件所需要的基本功能,如心跳检测和资源接管、监测群集中的系统服务、在群集中的节点间转移共享IP地址的所... 查看详情

heartbeat+haresources+nfs配置一个简单的ha高可用+资源共享集群

一定要先安装openssh和openssh-clients两个包192.168.139.2[[email protected].ssh]#ssh-keygen-trsa-P‘‘//做ssh双机互信[[email protected].ssh]#ssh-copy-id-i./id_rsa.pub[email protected]_____________________ 查看详情

使用heartbeat实现高可用ha的配置过程详解

...至B机器继续提供服务。常见的实现高可用的开源软件有heartbeat和keepalived二、准备实验环境服务器A:主机名:master操作系统:CentOS6.564位eth0网卡地址:192.168.1..3服务器B:主机名:slave操作系统:CentOS6.564位eth0网卡地址:192.168.1.4... 查看详情

学习heartbeat-04原理及部署

1. Heartbeat介绍1.1Heartbeat作用通过它可以将资源(IP及程序服务等资源)从一台故障计算机快速转移到另一台运转正常的机器继续提供服务,在实际生产应用场景中,heartbeat的功能和另一个高可用开源软件keepalived有很多相同之... 查看详情

heartbeat

用heartbeat配置nginx的的双机热设备!主(lnmp):192.168.1.123从(slave):192.168.1.121下面这部分操作在主从上都要操作:1:设置主机名,主机名若设置好,则不用设置:/etc/sysconfig/network2:关闭防火墙和selinuxiptables -Fservice ipta... 查看详情

hb_gui配置heartbeat做mariadb的高可用

系统平台:CentOSrelease6.5(Final)Kernel:2.6.32-431.el6.x86_64一、启动hb_guihb_gui&添加资源组  添加MySQL_IP 添加MySQL_Store存储 添加MySQL_Server 启动资源组   查看详情

学习笔记--heartbeat

Heartbeat server6server7安装包:heartbeat-3.0.4-2.el6.x86_64.rpmheartbeat-libs-3.0.4-2.el6.x86_64.rpmheartbeat-devel-3.0.4-2.el6.x86_64.rpmldirectord-3.9.5-3.1.x86_64.rpm rpm-qheartbeat-d 查 查看详情

haheartbeat+drbd配置学习笔记

heartbeat安装软件heartbeat-3.0.4-2.el6.x86_64.rpmheartbeat-devel-3.0.4-2.el6.x86_64.rpmheartbeat-libs-3.0.4-2.el6.x86_64.rpmldirectord-3.9.5-3.1.x86_64.rpm/usr/share/doc/     &nbs 查看详情

ha-heartbeat2.1.4

heartbeat+httpdHA安装准备工作说明1、服务器信息先通过heartbeat验证HA的最基本功能,两个节点服务器提供httpd服务,验证heartbeat是否可以正确配置并启动服务,切换两个节点是否正常提供服务。服务器配置环境说明123456服务器1:ha1.... 查看详情

lvs+heartbeat高可用集群方案操作记录

Heartbeat 项目是Linux-HA工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在Heartbeat项目里,由heartbeat模块实现了这两个功能。Heartbeat的高可用集群采用的通信方式是udp协... 查看详情

高可用集群之heartbeat基于crm进行资源管理

一、高可用集群之heartbeat基于crm进行资源管理1、集群的工作模型:A/P:两个节点,工作与主备模型N-MN>M,N个节点,M个服务N-N:N个节点,N个服务A/A:双主模型:2、资源转移的方式rgmanager:failoverdomainprioritypacemaker:资源黏性... 查看详情

ha集群配置

...切换到B机器继续提供服务.常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡的功能.二、heartbeat的工作原理heartbeat的工作原理:he 查看详情

heartbeat

http://linux-ha.org/wiki/Main_Pageheartbeat简介及作用heartbeat是一款开源提供高可用(High-Available)服务的软件。通过HeartBeat,可以将资源(IP以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服... 查看详情