【源码安装】Heartbeat3.0.9

1.概述
1.1 关于Heartbeat
1.2 本篇博客实践环境
2. 部署基础环境
2.1 通过YUM安装依赖环境
2.2 创建Heartbeat用户和组
3. 编译安装
3.1下载源码包
3.2 编译安装
3.2.1 编译cluster-glue
3.2.2 编译resource agents
3.2.3 编译安装heartbeat
4.相关文件复制
5.配置和测试
5.1 node11配置
5.2 node12配置
5.3 启动

1.概述

1.1 关于Heartbeat

Heartbeat是Linux-HA工程的组成部分,它实现了一个高可用集群系统。通过Heartbeat可以实现双机热备,以实现服务的持续性。

Heartbeat工作原理:Heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分。心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉自己当前状态,如果在指定的时间未收到对方发送的报文,那么就认为对方死亡,这时启动资源接管模块来接管运行对方主机上的资源或者服务。

Heartbeat3和Heartbeat2的最大差别在于:3按照模块把原来2拆分成多个子项目,并且提供了一个cluster-glue组件,专门用于ResoureManger的管理。

即:Heartbeat+cluster-glue+resource-agent

1.2 本篇博客实践环境

本篇博客主要在共享存储上安装Heartbeat的主体软件部分,配置部分分别放置在各个需要配置Heartbeat的节点上。由于这种做法,会需要几个特殊的细节处理。

即:将Heartbeat的三类源码包安装在/opt上,然后在node11.node12上进行/etc/heartbeat配置

注:本篇博客参考:http://www.cnblogs.com/knitmesh/p/5439665.html

2. 部署基础环境

2.1 通过YUM安装依赖环境

yum install -y gcc gcc-c++ autoconf automake libnet  libtool glib2-devel libxml2-devel bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel docbook-dtds docboot-style-xsl 

2.2 创建Heartbeat用户和组

注:这里采用了LDAP认证方式,在LDAP服务器上执行一下创建用户和组的操作,在其他节点上都能够认证该用户

groupadd haclient #创建组haclient
useradd -g haclient hacluster -M -s /sbin/nologin  #创建用户hacluster

3. 编译安装

3.1下载源码包

Heartbeat的官方地址:http://www.linux-ha.org/wiki/Download

下载Cluster-Glue wget http://hg.linux-ha.org/glue/archive/glue-1.0.9.tar.bz2

下载Resource Agents wget https://github.com/ClusterLabs/resource-agents/tarball/v3.9.2

下载Heartbeat wget http://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/958e11be8686.tar.bz2

3.2 编译安装

3.2.1 编译cluster-glue

#解压
tar -jxvf glue-1.0.9.tar.bz2
#进入解压后的目录
cd Reusable-Cluster-Components-glue--glue-1.0.9
#执行脚本
./autogen.sh
#执行configure
./configure  --prefix=/opt/heartbeat/  --sysconfdir=/etc/heartbeat  libdir=/opt/heartbeat/lib64  LIBS=‘/lib64/libuuid.so.1‘
#编译
make
#安装
make install

3.2.2 编译resource agents

resource agents就是各种资源的ocf脚本,这些脚本被LRM调用从而实现各种资源的启动,停止,监控等

#解压
tar -zxvf v3.9.2
#进入解压后的目录
cd ClusterLabs-resource-agents-b735277
#执行脚本
./autogen.sh
#执行configure
./configure    --prefix=/opt/heartbeat/    --sysconfdir=/etc/heartbeat    libdir=/opt/heartbeat/lib64    CFLAGS=-I/opt/heartbeat/include    LDFLAGS=-I/opt/heartbeat/lib64    LIBS=‘/lib64/libuuid.so.1‘
#编译
make
#安装
make install

3.2.3 编译安装heartbeat

#解压
tar -jxvf 958e11be8686.tar.bz2
#进入解压目录
cd Heartbeat-3-0-958e11be8686
#执行脚本
./bootstarp
#执行configure
./configure    --prefix=/opt/heartbeat    --sysconfdir=/etc/heartbeat    CFLAGS=-I/opt/heartbeat/include    LDFLAGS=-L/opt/heartbeat/lib64    LIBS=‘/lib64/libuuid.so.1‘
#创建库文件链接
ln -s /opt/heartbeat/lib64/\*    /lib64
#修改源码文件,否则会make报错
vim /opt/heartbeat/include/heartbeat/glue_config.h,注释或者删除最后一行内容
vim lib/hbclient/Makefile,删掉-Werror字段
#编译
make
#安装
make install

4.相关文件复制

#复制配置源码中的配置文件到配置目录
cp doc/{ha.cf,haresource,authkeys} /etc/heartbeat/ha.d/
#拷贝heartbeat到/etc/init.d目录
#添加服务启动项
chkconfig --add heartbeat
chkconfig heartbeat on
#修改认证文件及属性
chmod 600 authkeys
#修改配置文件中软件启动路径
sed -i ‘s#/usr/lib/ocf#/opt/heartbeat/usr/lib/ocf#g‘ /etc/heartbeat/ha.d/shellfuncs
sed -i ‘s#/usr/lib/ocf#/opt/heartbeat/usr/lib/ocf#g‘ /etc/heartbeat/ha.d/resource.d/hto-mapfuncs
sed -i ‘s#/usr/lib/ocf#/opt/heartbeat/usr/lib/ocf#g‘ /opt/heartbeat/usr/lib/ocf/lib/heartbeat/ocf-shellfuncs
#创建脚本链接
ln -s /opt/heartbeat/usr/lib/ocf    /usr/lib/ocf
#测试
service heartbeat status

5.配置和测试

5.1 node11配置

#进入配置目录
cd /etc/heartbeat/ha.d
#修改authkeys,内如如下:
auth 1
1 crc
#编辑ha.cf文件,内容如下:
debugfile /var/log/ha-debug
logfile    /var/log/ha-log
logfacility    local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport    694
ucast eth1 192.168.10.12
auto_failback off
watchdog /dev/watchdog
node node11
node node12
ping 192.168.10.12
respawn hacluster /opt/heartbeat/libexec/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster
#编辑haresources文件,最后一行添加:
node11    192.168.10.100    mysqld

5.2 node12配置

#进入配置目录
cd /etc/heartbeat/ha.d
#修改authkeys,内如如下:
auth 1
1 crc
#编辑ha.cf文件,内容如下:
debugfile /var/log/ha-debug
logfile    /var/log/ha-log
logfacility    local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport    694
ucast eth1 192.168.10.11
auto_failback off
watchdog /dev/watchdog
node node11
node node12
ping 192.168.10.11
respawn hacluster /opt/heartbeat/libexec/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster
#编辑haresources文件,最后一行添加:
node11    192.168.10.100    mysqld

5.3 启动

node11上执行:service heartbeat start

node12上执行:service heartbeat start

任何节点上执行:ping 192.168.10.100

来自为知笔记(Wiz)

原文地址:https://www.cnblogs.com/liwanliangblog/p/8367372.html

时间: 2024-10-02 22:09:18

【源码安装】Heartbeat3.0.9的相关文章

图解Linux下源码安装PHP7.0.9 +Nginx

上一次,在<Linux下源码安装php7.0.6>,安装过PHP7.0.3,本文将记录安装PHP7.0.9过程. 测试环境 Linux 2.6.32-279.el6.i686 nginx-1.9.15.tar http://nginx.org/download/nginx-1.9.15.tar.gz php-7.0.9.tar.gz http://am1.php.net/distributions/php-7.0.9.tar.gz 安装Nginx wget http://nginx.org/d

centos7.2源码安装openssl1.0.2

centos7.2默认是安装了opensll软件包的,但是部署个别服务时,由于版本太低.会影响服务的正常部署.只能使用源码安装提高openssl软件版本. 因为之前有openssl软件包,所以要先移除之前版本: 删除旧版本: yum remove -y openssl openssl-devel 源码安装openssl需要perl环境编译,如果没有perl环境还是需要安装: yum -y install perl perl-devel 现在新版本openssl: wget https://www

centos7.2源码安装php7.0.9和nginx1.10.3服务器

下载nginx-1.10.3.tar.gz,php-7.0.9.tar.gz.也可以去nginx官网,php官网下载想要的版本.我选择nginx1.10.3稳定版和php7.0.9最新版.php源码包下载速度可能会很慢,建议使用迅雷等工具,下载完成后通过stfp工具把源码包上传到服务器上,为方便测试,我直接放置在root家目录下: 使用源码安装要确保服务器安装好gcc(编辑工具)和make(安装工具),若没安装可以执行命令安装: # yum install gcc # yum install m

ubuntu16.04下源码安装onos1.0.2

由于工作需要,下载安装onos1.0.2的版本,大家看需求可以下载安装更高级的版本 参考链接:http://www.sdnlab.com/14650.html 1.系统环境 Ubuntu16.04 LTS 64bit 下载地址:https://www.ubuntu.com/download/desktop(桌面版) 2.安装依赖(这里的版本选择根据ONOS版本确定的,在上述参考链接中作者有提到----"关于Maven和Karaf版本的说明:此处建议使用推荐的karaf-3.0.3和Maven-3

centos7源码安装MySQL8.0.12

MySQL官方的安装布局是:/usr/local/mysql{bin,docs,man,include,lib,share,support-files} 对于编译布尔选项,可以将值指定为1或ON启用该选项,0或OFF表示禁用该选项.许多选项配置可在服务器启动时覆盖编译时的默认值的. 1.前期准备: 卸载系统自带的mysql及配置文件和库,运行rpm -qa|grep -i mysq和rpm -qa|grep -i mariadb,使用rpm -e --nodes前两个名利筛选出来的包,再看看/e

centos7源码安装vim8.0

centos 6和7通过yum安装的vim版本仍为7.4,若想尝鲜,可获取源码包编译安装. 准备工作 1.检查vim旧版本,若已存在,将其卸载. $ vim$ yum remove vim* -y 2.安装终端字符处理库nucrses $ yum install ncurses-devel -y 编译安装 $ cd /usr/local/src/$ wget https://codeload.github.com/vim/vim/tar.gz/v8.0.0134$ tar zxf v8.0.01

源码安装redis-3.0.5

##### 安装redis-server ##### # 创建运行用户 useradd redis -s /sbin/nologin -M # 上传软件到指定位置,我的软件保存位置为 mkdir -p /server/tools/ # 解压,配置,编译,安装 cd /server/tools/ tar -zxf redis-3.0.5.tar.gz  cd redis-3.0.5 make PREFIX=/usr/local/redis make PREFIX=/usr/local/redis 

源码安装vsftp3.0.3

1.安装依赖包 rpm -ivh libcap-2.16-5.5.el6.x86_64.rpm rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm 2.卸载旧版 rpm -qa |grep vsftp service vsftpd stop rpm -e vsftpd-2.2.2-11.el6.x86_64 3.安装新版 vsftpd3.0.3下载http://fossies.org/linux/misc/vsftpd-3.0.3.tar.gz [[ema

linux 源码安装php7.0 yum

PHP7和HHVM比较PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM.HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂了, 并且它不会自动重启.另外它采用JIT, 那么意味着, 重启以后要预热, 没有预热的情况下, 性能较为糟糕.并且多线程模型调试困难, 这对于追求稳定来说的Web服务来说, 是非常不适合的. 下载 # wget  http://php.uberglobalmirror.com/distributi

centos6.9源码安装wine3.0稳定版

使用源代码安装Wine 3.0 第1步:安装依赖包 我们需要用一些核心开发工具,如gcc, flex, bison, debuggers等来安装'Development Tools',这些软件必须要编译和构建新的包,使用YUM命令来安装. # yum -y groupinstall 'Development Tools' # yum -y install libX11-devel libxml2-devel libxslt-devel freetype-devel flex bison 第2步: