`
loamy
  • 浏览: 321414 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

heartbeat 2.x 安装方式笔记!

阅读更多

一、安装
heartbeat 官方网站:http://linux-ha.org/
测试环境为:

引用
node1: hatest3 192.168.228.233
node2: hatest4 192.168.228.234
FIP: 192.168.228.235

操作系统以红旗DC Server 5.0 SP2为例,其自带的heartbeat是1.x版本的,必须先卸载:
# rpm -e heartbeat heartbeat-ldirectord heartbeat-pils heartbeat-stonith

而2.x版本依赖多个perl包,我是使用centos 4.7的yum源来安装的。在红旗上配置好yum工具后,使用yum安装即可:

引用
# yum install heartbeat*
heartbeat-2.1.3-3.el4.centos.i386.rpm
heartbeat-devel-2.1.3-3.el4.centos.i386.rpm
heartbeat-gui-2.1.3-3.el4.centos.i386.rpm
heartbeat-ldirectord-2.1.3-3.el4.centos.i386.rpm
heartbeat-pils-2.1.3-3.el4.centos.i386.rpm
heartbeat-stonith-2.1.3-3.el4.centos.i386.rpm
perl-Authen-Radius-0.13-1.el4.centos.noarch.rpm
perl-Data-HexDump-0.02-1.el4.centos.noarch.rpm
perl-Mail-POP3Client-2.17-1.c4.noarch.rpm
perl-MailTools-1.77-1.el4.centos.noarch.rpm
perl-Net-IMAP-Simple-1.17-1.el4.centos.noarch.rpm
perl-Net-IMAP-Simple-SSL-1.3-1.c4.noarch.rpm

如无法使用yum,也推荐使用 rpm 方式安装,以上所有包的下载地址: http://www.linux-ha.org/DownloadSoftware

※ 注意,不知道为什么,我在第一次安装完毕后,配置启动CRM总是失败,后来查看日志才发现原来缺少了/var/run/heartbeat下的多个文件和目录,而这些目录是用于存放运行CRM时的临时执行命令的。所以,请务必确认一下该目录下的内容和用户、组等权限。

引用
# ll /var/run/heartbeat
总用量 12
drwxr-xr-x  2 hacluster haclient 4096  4月  8 12:32 ccm
drwxr-x---  2 hacluster haclient 4096  4月  8 12:33 crm
srwxrwxrwx  1 root      root        0  4月  8 12:32 register
drwxr-xr-t  4 root      root     4096  4月  8 12:33 rsctmp
srwxrwxrwx  1 root      root        0  4月  8 12:32 stonithd
srwxrwxrwx  1 root      root        0  4月  8 12:32 stonithd_callback

※ 另外,heartbeat的运行还需要依赖hacluster用户和haclient组,而红旗在之前安装1.x版本时已经创建了这些用户,这里不需重新创建。如果您对这些用户的uid和gid进行了改动,则务必把对应的目录修改为正确的宿主。

二、1.x和2.x配置文件对比
在下面三个文件上体现了v2版本对比v1的区别:

引用
/etc/ha.d/authkeys 该文件在两个版本作用是完全相同的,都必须设置,并且保证每个节点(node)内容一样;
/etc/ha.d/ha.cf 这个是主要配置文件,由其决定v1或v2 style格式
/etc/ha.d/haresources 这是v1的资源配置文件
/var/lib/heartbeat/crm/cib.xml 这是v2的资源配置文件,两者根据ha.cf的设定只能选其一

正如前面所说的,v2版本使用CRM管理工具,而cib.xml文件可有几种方式来编写:

引用
a)人工编写XML文件;
b)使用admintools工具,其已经包含在heartbeat包中;
c)使用GUI图形工具配置,也包含在heartbeat-gui包里面;
d)使用python脚本转换1.x style的格式配置文件。

这四种方法实质都是相同的,并且以python脚本转换最为简单容易(GUI工具相当难用,今后有时间再详细说明)。为此,我们可以先配置好1.x style的格式。

三、配置1.x style格式
1、准备
为方便配置文件之间的同步,我建议先给主节点做好到下面各个节点的ssh密钥认证,单向即可。
这部分的配置,请参考:http://www.linuxfly.org/post/29/

2、设定authkeys文件
该文件是集群中各节点相互认证的配置文件,允许使用crc(明文)、md5、sha1等不同的验证方式,可以使用heartbeat自带的示例来修改:


# cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/
# cd /etc/ha.d
# chmod 600 authkeys

修改后的内容如下:

引用
# cat authkeys
auth 2
1 crc
2 sha1 HI!
3 md5 Hello!

auth命令定义了使用那种验证方式,需保证每个节点使用相同的验证方式和验证字符串。authkeys的权限也必须是600的。

3、设定ha.cf文件
这是关键的配置文件,同样的,可以先从示例中拷贝过来:


# cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d

1.x的基本配置信息如下:

引用
# more /etc/ha.d/ha.cf
#发送keepalive包的间隔时间
keepalive 2
#定义节点的失效时间
deadtime 30
#定义heartbeat服务启动后,等待外围其他设备(如网卡启动等)的等待时间
initdead 30
#使用udp端口694 进行心跳监测
udpport 694
#定义心跳
bcast   eth0 eth1               # Linux
#定义是否使用auto_failback功能
auto_failback off
#定义集群的节点
node    hatest3
node    hatest4
#使用heartbeat提供的日志服务,若use_logd设置为yes后,下面的三个选项会失效
use_logd yes
#logfile /var/log/ha_log/ha-log.log
#logfacility local7
#debugfile /var/log/ha_log/ha-debug.log
#设定一个监控网关,用于判断心跳是否正常
ping 192.168.228.153
deadping 5
#指定和heartbeat一起启动、关闭的进程
respawn hacluster /usr/local/lib64/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster

该配置文件是比较简单和清晰的,在不适用crm yes的情况下,即为1.x style格式。

4、设定haresources文件
这个是1.x使用的集群资源文件,每行一个组,第一列定义的是优先级服务器,也就是默认资源运行在该服务器上:

引用
hatest3 192.168.228.235 httpd
#hatest3 IPaddr::192.168.228.235 httpd

当ha发现优先节点当掉了,则另一个节点会自动接管192.168.228.235(浮动IP)和服务。第二行的作用是相同的,第一行是简略了IPaddr的写法。如果集群需要实现Active-Active(互备)状态,则可以再写一行,但托管的应用不能冲突。

5、设定hosts文件
这不是一个必须的配置,但为了方便同步各节点的配置,建议设定:

引用
# cat /etc/hosts
hatest3 192.168.228.233
hatest4 192.168.228.234

6、拷贝配置文件到集群各节点上
可以利用v2版本提供的同步配置工具来同步上述的配置文件,但默认只提供同步ha.cf和authkeys,haresources文件还是需要自行拷贝的(v2不使用该文件):

引用
# /usr/lib/heartbeat/ha_propagate
# /usr/lib/heartbeat/ha_propagate
Propagating HA configuration files to node hatest4.
ha.cf                                         100%   11KB  10.7KB/s   00:00
authkeys                                      100%  682     0.7KB/s   00:00
Setting HA startup configuration on node hatest4.
# scp /etc/ha.d/haresources hatest4:/etc/ha.d
haresources                                   100% 5960     5.8KB/s   00:00

7、测试
在节点上都启动heartbeat服务:


# service heartbeat start

同时监控/var/log/ha-log日志文件,可以发现:

引用
info: Enabling logging daemon
info: logfile and debug file are those specified in logd config file (default /etc/logd.cf)
info: Version 2 support: false
info: **************************
info: Configuration validated. Starting heartbeat 2.1.3
info: heartbeat: version 2.1.3
info: Heartbeat generation: 1239094081

可见,这是没有使用v2 style配置格式的。接着,您可以进行简单的切换测试(例如断开hatest3的网络,关闭hatest3等),看看httpd服务是否可以正常切换到hatest4上。
至此,1.x style的heartbeat已经搭建完成。

分享到:
评论

相关推荐

    heartbeat.tar.gz包含了heartbeat了所有rpm依赖包

    heartbeat-3.0.4-2.el6.x86_64.rpm PyXML-0.8.4-19.el6.x86_64.rpm cluster-glue-libs-1.0.5-6.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpm perl-TimeDate-1.16-13.el6.noarch.rpm resource-...

    heartbeat V2在CentOS4.6上简要安装、配置笔记

    heartbeat V2在CentOS4.6上简要安装、配置笔记

    双机HA源代码---heartbeat_2.1.4.tar.gz

    "heartbeat_2.1.4.tar.gz"是一个包含Heartbeat 2.1.4版本源代码的压缩包,这个版本被认为是Heartbeat 2.x系列中最稳定和最终的版本。 在深入探讨Heartbeat 2.1.4的知识点之前,我们需要理解双机HA的基本概念。双机...

    VMware双机热备配置(Heartbeat).doc

    VMware双机热备配置(Heartbeat) 本资源主要介绍了使用 VMware 软件配置双机热备系统(Heartbeat)的步骤和过程。该配置旨在确保系统的高可用性和容错性。 1. 添加硬件 在 VMware 中添加硬件是配置双机热备系统...

    PyPI 官网下载 | vdk-heartbeat-0.4.12.tar.gz

    《PyPI官网下载:vdk-heartbeat-0.4.12.tar.gz——探索Python库在云原生环境中的应用》 在信息技术日新月异的今天,Python库已经成为开发者们构建高效、灵活应用程序的重要工具。PyPI(Python Package Index)作为...

    heartbeat v2 RPM安装包

    heartbeat v2 RPM 安装包,支持 heartbeat 2.1.4 . ..

    heartbeat-3.0.4-2.el6.x86_64安装包

    支持centos 6.3 6.5的heartbeat安装包,一键安装,无法访问外网的服务器安装最方便,文件列表: cluster-glue-1.0.5-6.el6.x86_64.rpm cluster-glue-libs-1.0.5-6.el6.x86_64.rpm heartbeat-3.0.4-2.el6.x86_64.rpm ...

    Linux Heartbeat安装手册.doc

    在安装Heartbeat之前,需要准备两台具有固定IP地址的服务器作为主备节点。在本例中,IP地址分别为192.168.0.128和192.168.0.130,另外还需要一个浮动IP地址(192.168.0.129),这个IP将在主服务器和备服务器之间动态...

    haresources2cib.py

    Heartbeat 2.x 和 3.x 版本是两个主要的分支,它们在某些方面存在差异。本文将详细介绍haresources2cib.py脚本的作用,以及在Heartbeat 3.0.5中如何利用它来处理haresource与cib.xml之间的转换。 haresources2cib....

    heartbeat-2.0.8.tar.gz

    "heartbeat-2.0.8.tar.gz"是一个典型的Linux或Unix环境下的软件打包文件,它包含了一个名为"heartbeat"的程序或服务的源代码或二进制文件。在这个上下文中,"heartbeat"可能指的是网络心跳监测工具,它用于监控系统...

    安装与配置Heartbeat集群系统.ppt

    接下来是安装Heartbeat,以heartbeat3.x为例。首先,创建一个名为hacluster的用户和haclient的组。在/root/.bash_profile文件中设置相应的环境变量。然后,安装Heartbeat涉及四个组件:Cluster Glue、Resource ...

    heartbeat安装配置文档.doc

    heartbeat安装配置文档.doc heartbeat安装配置文档.doc heartbeat安装配置文档.doc heartbeat安装配置文档.doc heartbeat安装配置文档.doc

    heartbeat的RPM包下载

    安装完成后,心跳服务就可以通过`/etc/init.d/heartbeat start`命令启动,`/etc/init.d/heartbeat stop`命令停止,以及`/etc/init.d/heartbeat status`命令查看运行状态。 在集群环境中,心跳系统的正确配置和维护...

    Heartbeat安装与配置.docx

    ### Heartbeat 安装与配置知识点详解 #### 一、Heartbeat 概述 Heartbeat 是一款开源的高可用性解决方案软件,主要用于构建 Linux 集群中的双机热备系统,通过心跳检测机制实现主备切换,确保关键服务的连续性和...

    heartbeat-2.0.4.tar.gz

    2. **编译与安装**:进入解压后的目录,根据readme或安装指南进行编译和安装。通常,这包括配置、编译和安装三个步骤: ``` cd heartbeat-2.0.4 ./configure --prefix=/usr/local/heartbeat make sudo make ...

    heartbeat安装配置手册

    在本文中,我们将深入探讨如何在 SUSE 10 操作系统上安装和配置 heartbeat v2.x 版本。 首先,安装 heartbeat 的顺序至关重要,因为这些 RPM 包之间存在依赖关系。以下是安装的正确顺序: 1. 安装 Perl 相关库: ...

    linux下heartbeat3.04编译安装步骤.pdf

    在Linux环境下,Heartbeat 3.0.4的编译安装是一个重要的步骤,它涉及到高可用性集群的基础构建。Heartbeat作为一个开源的网络守护进程,主要用于监控和管理集群中的节点状态,确保服务的连续性和可靠性。以下是详细...

    [MMS_044148]PLC to PLC Heartbeat Watchdog.rar

    标题 "[MMS_044148]PLC to PLC Heartbeat Watchdog.rar" 提示我们这是一个关于PLC(可编程逻辑控制器)之间心跳监控(Heartbeat Watchdog)的实例,很可能涉及到工业自动化系统中的通信协议和故障检测机制。...

    ceph_heartbeat分析.docx

    例如,OSD0 负责的 PG1.1、PG1.2 和 PG2.1,那么 OSD0 的 Heartbeat 对象就是 OSD1、OSD2、OSD3、OSD5 和 OSD6。Heartbeat 对象是 Ceph 集群中非常重要的一部分,它可以实时监控 OSD 之间的状态变化,并及时更新 OSD...

    heartbeat安装配置手册[参考].pdf

    在本文档中,我们专注于在SUSE 10操作系统上安装和配置Heartbeat 2.x的过程。 **一、安装Heartbeat** 安装Heartbeat涉及到一系列依赖的Perl库和IPVSadm工具,以及Heartbeat的不同组件。安装顺序至关重要,因为这些...

Global site tag (gtag.js) - Google Analytics