heartbeat v3原理

1 heartbeat 是款开源的 HA产品,提供了三个版本,v1 v2 v3

LINUX 5 上用的是 V2版本

LINUX 6 上用的是 V3 版本

版本之间是有区别的,V3 版本把资源代理 heartbeat  cluster-glue   resource-agents   分离开来了 作为了三个独立的项目!

2 官网

http://www.linux-ha.org/wiki/Main_Page   这里可以获取最新版本的源码包 *.tar.gz

rpm 包下载来自 EPEL官网 http://fedoraproject.org/wiki/EPEL

可下载 wget http://mirrors.hustunique.com/epel/6/i386/epel-release-6-8.noarch.rpm

然后rpm -ivh 进行安装 epel源

3 实践

3.1 部署实验图

web1                                                                            web2

192.168.204.7      ------------vip 192.168.204.8---------192.168.204.9

资源VIP  httpd filesystem

先测试 httpd 资源切换

filesystem 之后利用nfs 在测试

3.2 准备环境

web1 web2
节点名称 /etc/hosts 必须能解析
节点名称必须跟uname -n 命令的执行结果一致

ssh 管理员能互信通信,为了让启动的web去远程停掉远程的httpd
ssh web2 ‘/service httpd stop‘

时间同步

192.168.204.7(64bits) 192.168.204.9(32bits)
vip 192.168.204.8

前提步骤:
1 配置IP信息
2 配置hostname,及hosts文件
3 配置ssh 互信
4 关掉iptables 或者打开694 端口
5 时间同步
*/5 * * * * /usr/sbin/ntpdate time.windows.com *> /dev/null
scp /var/spool/cron/root web1:/var/spool/cron/root

3.3 安装

yum -y heartbeat*  libnet

介绍会安装的重要的包

heartbeat  核心包    
cluster-glue  资源集成器

resource-agents 资源代理  主要提供如

/usr/lib/ocf/resource.d/heartbeat/Filesystem
/usr/lib/ocf/resource.d/heartbeat/IPaddr

.....

这样的ocf (Open Cluster Framework) 规则的资源脚本

3.4 配置步骤

三个配置文件
1 秘钥文件 authkeys ,chmod 600 以防其他节点的加入
2 heartbeat 服务的配置文件 ha.cf
3 资源管理配置文件
haresources 自带资源的管理器
启动heartbeat

配置文件样例
cp -p /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf,haresources} /etc/ha.d/

编辑 authkeys
auth 1
1 md5 b9ddc9767ae59c35699ba9d77fce82c3

注 [[email protected] ~]# uuidgen | md5sum # 可生成随机数作为 salt
b9ddc9767ae59c35699ba9d77fce82c3 -

编辑 ha.cf
指令 value

重要的两个 定义高可用节点 web1  和 web2

node web1

node web2

编辑 resources
web1 IPaddr::192.168.204.8/24/eth0 httpd

解释: web1  为主节点    IPaddr 为资源代理  /etc/ha.d/resource.d 这个目录下 放置了资源代理清单,调用 /usr/lib/ocf/resource.d/heartbeat/IPaddr

:: 作为资源的分隔,192.168.204.8/24/eth0  作为参数,192.168.204.8 为VIP 24 为netmask eth0 表示在eth0上做别名

httpd  为资源 ,一定是通过 /etc/init.d/httpd 能启动获取关闭 来调用管理

3.5 提供httpd服务

yum install httpd

/etc/init.d/httpd stop   不能让它手工启动,因为它要作为heartbeat的资源,heartbeat 来管理httpd是否启动

chkconfig httpd off  不能让自启动

提供测试页面

web1上

echo "<h1>HA1</h1>" > /var/www/html/index.html

web2 上

echo "<h1>HA2</h1>" > /var/www/html/index.html

3.6 测试

启动heartbeat

/etc/init.d/heartbeat   netstat -tulnp 是否监听 694 端口

web 浏览器 访问  192.168.204.8 是否访问成功

ip addr show eth0 看是否有两个地址

[[email protected] yum.repos.d]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:db:d8:64 brd ff:ff:ff:ff:ff:ff
inet 192.168.204.7/24 brd 192.168.204.255 scope global eth0
inet 192.168.204.8/24 brd 192.168.204.255 scope global secondary eth0

3.7 测试主备是否能切换

主停掉 /etc/init.d/heartbeat stop

或者利用自带的  脚本

[[email protected] yum.repos.d]# /usr/share/heartbeat/hb_standby
Going standby [all].

此时 web2 接管

tail -f /var/log/message 查看日志

4 测试Filesystem的资源测试

4.1 准备环境

nfs server 192.168.204.11

[[email protected] ~]# yum install -y nfs-utils

[[email protected] ~]# /etc/init.d/rpcbind start

[[email protected] ~]# /etc/init.d/nfs start

编辑  /etc/exports  输出/data/nfs/www

/data/nfs/www 192.168.204.0/24(ro)

验证

[[email protected] ~]# showmount -e 192.168.204.11
Export list for 192.168.204.11:
/data/nfs/www 192.168.204.0/24

4.2 web1 和 web2 上修改  resource  加入Filesystem的资源

web1 192.168.204.8 Filesystem::192.168.204.11:/data/nfs/www::/var/www/html::nfs

重启 heartbeat /etc/init.d/heartbeat restart

4.3 测试

nfs 服务器上 提供nfs 页面

echo "<h1>NFS HA resources</h1>" > /data/nfs/www/index.html

验证

1 资源filesystem 是否挂载 ,可见已经自动挂载了  这个资源

[[email protected] ~]# mount
......
192.168.204.11:/data/nfs/www on /var/www/html type nfs (rw,vers=4,addr=192.168.204.11,clientaddr=192.168.204.9)

...

2 验证是否正常访问这个 filesystem

3 standby 验证切换

执行 [[email protected] html]# /usr/share/heartbeat/hb_standby

时间: 2024-09-13 10:13:12

heartbeat v3原理的相关文章

Heartbeat工作原理及其部署需求(一)

一:Heartbeat介绍 1.1 Heartbeat简介 Heartbeat是一款开源提供高可用(Highly-Available)服务的软件,通过Heartbeat可以将资源(IP及程序服务等资源)从一台已经故障的计算机快速转移到另一台可以正常运转的机器上继续提供服务,一般称之为高可用服务.在实际生产应用场景中,heartbeat的功能和keepalived有很多相同之处,但在生产中,对实际的业务应用也是有区别的.如:keepalived主要是控制ip的漂移,配置.应用简单,而heartbe

Linux高可用集群方案之heartbeat基础原理及逻辑架构

 这篇文章我们主要学习heartbeat高可用集群的基础原理及逻辑架构,以及heartbeat的简单配置  ll  本文导航    · heartbeat之基本原理   · heartbeat之集群组件   · heartbeat之心跳连接   · heartbeat之脑裂(资源争用.资源隔离) · heartbeat之配置文件   · heartbeat至高可用集群配置  ll  要求  掌握heartbeat高可用集群的相关组件及简单配置   heartbeat之基本原理  heartbea

heartbeat v3版之web高可用初体验

系统:centos6.4最小化 heartbeat-3.0.4-2.el6.x86_64.rpm,heartbeat-libs-3.0.4-2.el6.x86_64.rpm 搭建高可用集群之前,首要前提条件: 1.节点之间必须能够ssh互信通信 2.节点间需传递集群事务信息,网段选择 3.节点名称与hostname(uname -n)一致,不要使用dns解析 4.各节点之间保持时间上的同步 #####################################################

CentOS 6.5环境下heartbeat高可用集群的实现及工作原理详解

Linux HA Cluster高可用服务器集群,所谓的高可用不是主机的高可用,而是服务的高可用. 什么叫高可用:一个服务器down掉的可能性多种多样,任何一个可能坏了都有可能带来风险,而服务器离线通常带来的代价是很大的,尤其是web站点,所以当某一台提供服务的的服务器down掉不至于服务终止的就叫高可用. 什么叫心跳:就是将多台服务器用网络连接起来,而后每一台服务器都不停的将自己依然在线的信息很简短很小的通告给同一个网络中的备用服务器的主机,告诉其实主机自己依然在线,其它服务器收到这个心跳信息

heartbeat原理及部署

1. Heartbeat介绍 1.1 Heartbeat作用 通过它可以将资源(IP及程序服务等资源)从一台故障计算机快速转移到另一台运转正常的机器继续提供服务,在实际生产应用场景中,heartbeat的功能和另一个高可用开源软件keepalived有很多相同之处 1.2 Heartbeat工作原理 通过修改配置文件,指定哪一台Heartbeat服务器作为主服务器,则另一台将自动成为备份服务器.然后在指定备份服务器上配置Heartbeat守护进程来监听来自主服务器的心跳.如果备份服务器在指定时间

(转)heartbeat原理及部署

原文:http://yjy724.blog.51cto.com/10897133/1840794---------------------------------------------------heartbeat原理及部署 1. Heartbeat介绍 1.1 Heartbeat作用 通过它可以将资源(IP及程序服务等资源)从一台故障计算机快速转移到另一台运转正常的机器继续提供服务,在实际生产应用场景中,heartbeat的功能和另一个高可用开源软件keepalived有很多相同之处 1.2

heartbeat安装与配置

Hearbeat和keepalived区别 Keepalived使用的vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP): Heartbeat是基于主机或网络的服务的高可用方式: keepalived的目的是模拟路由器的双机 heartbeat的目的是用户service的双机 lvs的高可用建议用keepavlived 业务的高可用用heartbeat Heartbeat高可用介绍 Heartbeat,心跳的意思,这里是Li

高可用集群原理解析

HA(High Avaliablity,高可用)集群的出现是为了使集群的整体服务尽可能可用,从而减少由计算机硬件和软件易错性所带来的损 失.如果某个节点失效,它的备援节点将在几秒钟的时间内接管它的职责. 一.高可用原理简述 我们在要做高可用的节点上安装好实现高可用功能的程序,这些程序最核心的包括两个部分:心跳监测部分和资源管理部分:通过资源管理器的配置接口定义资源,并将配置文件同步到其它节点,节点之间在心跳监测层通过相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那

Linux 高可用(HA)集群之Heartbeat安装

大纲一.Heartbeat 的定义二.Heartbeat 的版本与组件三.Heartbeat 的各版本之间的区别 四.Heartbeat 集群的一般拓扑图 五.安装heartbeat 六.配置heartbeat 七.使用集群的其他几个相关配置 八.实验 推荐阅读: CentOS 6.3下DRBD+Heartbeat+NFS配置笔记 http://www.linuxidc.com/Linux/2013-06/85599.htm Heartbeat_ldirector+LB+NFS实现HA及LB.文