Heartbeat 3与 2.x的最大差别在于,3 按模块把的原来2.x 拆分为多个子项目,并且提供了一个cluster-glue的组件,专用于Local ResourceManager 的管理。即heartbeat + cluster-glue + resouce-agent 三部分:

引用
(1)hearbeat本身是整个集群的基础(cluster messaging layer),负责维护集群各节点的信息以及它们之前通信;
(2)cluster-glue相当于一个中间层,可以将heartbeat和crm(pacemaker)联系起来,主要包含2个部分,LRM和STONITH;
(3)resource-agent,就是各种的资源的ocf脚本,这些脚本将被LRM调用从而实现各种资源启动、停止、监控等等。

通过这三部分已可构成一套完整的HA集群系统。但是,这还不够,因为没有管理工具。
而原GUI 工具Cluster Resource Manager (简称CRM)也被拆分由另一独立项目Pacemaker 负责。Pacemaker 提供了多种用户接口:

引用
(1)crm shell 基于字符的管理方式;
(2)一个使用Ajax Web配置方式的web konsole 窗口;
(3)hb_gui ,即heartbeat gui 图形配置工具,这也是原来2.x的默认GUI 配置工具;
(4)DRBD-MC,一个基于Java的配置管理工具。

Heartbeat 3.0.4 编译安装(CentOS6.5)

系统环境 CentOS 6.5   X64
nfs   192.168.181.128
node1 192.168.181.132 (node1)
node2  192.168.181.133 (node2)
VIP  192.168.181.150 (虚拟服务器IP)

1.最小化(mininal )安装系统,完成后安装gcc编译器及依赖的软件包

 yum install gcc gcc-c++ autoconf automake libtool glib2-devel libxml2-devel bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel make wget docbook-dtds docbook-style-xsl asciidoc

2. 添加 Haclient 组和 Hacluster 账户

  groupadd haclient
useradd -g haclient hacluster -M -s /sbin/nologin

3.安装Cluster-Glue
官方下载地址 http://hg.linux-ha.org/glue

tar zxf Reusable-Cluster-Components-glue--1.0.8.tar.gz

cd Reusable-Cluster-Components-glue--c69dc6ace936

./autogen.sh

./configure --prefix=/usr/local/heartbeat --sysconfdir=/etc/heartbeat libdir=/usr/local/heartbeat/lib64 CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib64 LIBS='/lib64/libuuid.so.1'
make && make install

4.安装Resource Agents
官方下载地址 https://github.com/ClusterLabs/resource-agents

tar zxf ClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz

 cd ClusterLabs-resource-agents-b735277

 ./autogen.sh

 ./configure --prefix=/usr/local/heartbeat --sysconfdir=/etc/heartbeat libdir=/usr/local/heartbeat/lib64 CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib64 LIBS='/lib64/libuuid.so.1'
  //32位环境需要将配置参数中的lib64 更改为 lib
ln -s /usr/local/heartbeat/lib64/* /lib64/
make && make install

5.安装Heartbeat
官方下载地址 http://hg.linux-ha.org

tar xf Heartbeat-3-0-7e3a82377fa8.tar.bz2

    cd Heartbeat-3-0-7e3a82377fa8

    ./bootstrap

    ./configure --prefix=/usr/local/heartbeat --sysconfdir=/etc/heartbeat CFLAGS=-I/usr/local/heartbeat/include LDFLAGS=-L/usr/local/heartbeat/lib64 LIBS='/lib64/libuuid.so.1'

    vi /usr/local/heartbeat/include/heartbeat/glue_config.h

    // 删除 glue_config.h 第50行和最后一行定义的配置文件路径,避免编译时产生的路径重复定义错误,Shift+g 跳到末行,dd删除   :wq保存完成.

    make && make install

将配置文件复制到 /etc/heartbeat/ 下

cp doc/ha.cf /etc/heartbeat/ha.d/

    cp doc/haresources /etc/heartbeat/ha.d/

    cp doc/authkeys /etc/heartbeat/ha.d/

    chkconfig --add heartbeat

    chkconfig heartbeat on

    chmod 600 /etc/heartbeat/ha.d/authkeys

6. 进行配置(只简单说明下提供参考)
# vi /etc/heartbeat/ha.d/ha.cf
编辑Heartbeat 检测参数配置文件,以下文件作为参考

debugfile /var/log/ha-debug  

    # 用于记录heartbeat的调试信息

    logfile /var/log/ha-log      

    # 用于记录heartbeat的日志信息

    logfacility     local0

    keepalive         

    # 设置心跳间隔

    deadtime              

    # 在30秒后宣布节点死亡

    warntime              

    # 在日志中发出“late heartbeat“警告之前等待的时间,单位为秒

    initdead             

    # 网络启动时间

    udpport        

    # 广播/单播通讯使用的udp端口

    #baud   

    #serial  /dev/ttyS0     

    # 使用串口heartbeat

    bcast   eth0            

    # 使用网卡heartbeat,并在eth0接口上使用广播heartbeat

    auto_failback on        

    # 当主节点从故障中恢复时,将自动切换到主节点

    watchdog /dev/watchdog  

    # 该指令是用于设置看门狗定时器,如果节点一分钟内都没有心跳,那么节点将重新启动

    node HA-

    node HA-        

    # 集群中机器的主机名,与“uname –n”的输出相同。

    ping 192.168.0.254

    # ping 网关或路由器来检测链路正常

    respawn hacluster /usr/local/heartbeat/lib64/heartbeat/ipfail

    # respawn调用/usr/lib/heartbeat/ipfail来主动进行切换

    apiauth ipfail gid=haclient uid=hacluster  

    # 设置启动ipfail的用户和组

编辑认证加密配置

vi /etc/heartbeat/ha.d/authkeys

 auth 1
1 md5 a1bd4f86904
#后面加盐随机数 echo $RANDOM | md5sum

编辑ha.cf节点简单配置可以参考上面文件

vi /etc/heartbeat/ha.cf
bcast eth0 # Linux
auto_failback on
node node1.test.com
node node2.test.com
ping 10.10.10.254

编辑资源配置文件
vi /etc/heartbeat/ha.d/haresources

#IPaddr::192.168.181.150/24/eth0
#设置资源代理,VIP 子网掩码 接口 广播地址
node1.test.com IPaddr::192.168.181.150/24/eth0 node1.test.com IPaddr::192.168.181.150/32/eth1 Filesystem::192.168.181.128:/web/htdocs/::/var/www/html::nfs http
#主节点 VIP 资源1 资源2 系统服务

同样的三个配置文件复制到在节点2上

节点1关闭heartbeat 观察节点2情况

CentOS6.5_x64上简单编译配置Heartbeat3.0.4的更多相关文章

  1. CentOS6.5上golang环境配置

    CentOS6.5上golang环境配置 一.下载和解压go环境包 >>cd /usr/local/src/ >>wget -c http://golangtc.com/sta ...

  2. CentOS6.5 Nginx优化编译配置[续]

    继续上文CentOS6.5 Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务.磁盘操作.文件描述符.内核调整 ...

  3. Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(无数截图)

    [文章作者:张宴 本文版本:v1.0 最后修改:2011.03.30 转载请注明原文链接:http://blog.s135.com/libevent_windows/] 本文介绍了如何在 Window ...

  4. Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(图文并茂,还有实例下载)

    [文章作者:张宴 本文版本:v1.0 最后修改:2011.03.30 转载请注明原文链接:http://blog.s135.com/libevent_windows/] 本文介绍了如何在 Window ...

  5. 在ensp上简单的配置交换机

    在ensp中我们经常用到交换机,但是我们还没有配置过,下面我们来学习一下怎样简单的配置交换机的速率,双工模式等. 全双工:同时发送和接收数据  半双工:只能在一个时间做一件事     速率:交换机每秒 ...

  6. CentOS6.5 Nginx优化编译配置

    说到Nginx,它真的算是我在运维工作中的好朋友,它优异的性能和极高的工作效率实在是让人大爱,来自internet的报告称其epoll模型能够支持高达50000个并发连接数. Epoll[维基百科]: ...

  7. centos6.2 下安装并配置hadoop1.0.4(32位安装)

      一,环境准备 1.  集群内所有电脑需要设置防火墙,下面以master为例说明: 切换到root用户下,执行setup指令:

  8. Hadoop学习之路(三)Hadoop-2.7.5在CentOS-6.7上的编译

    下载Hadoop源码 1.登录官网 2.确定你要安装的软件的版本 一个选取原则: 不新不旧的稳定版本 几个标准: 1)一般来说,刚刚发布的大版本都是有很多问题 2)应该选择某个大版本中的最后一个小版本 ...

  9. [原创]Debian9 从零编译配置Redis4.0

    序言 Redis 一.准备工作 1.1 更新系统安装包列表 没啥,就他喵想用个最新的. # apt update 1.2 创建需要使用的目录 创建目录source和web,分别用来放源码和编译后的文件 ...

随机推荐

  1. (二)Java数据结构和算法——数组

    一.数组的实现 上一篇博客我们介绍了一个数据结构必须具有以下基本功能: ①.如何插入一条新的数据项 ②.如何寻找某一特定的数据项 ③.如何删除某一特定的数据项 ④.如何迭代的访问各个数据项,以便进行显 ...

  2. 使用pkg打包node.js项目(egg框架)为可执行包

    问题: 公司有个工具型项目使用node.js 开发,需要部署到客户的服务器中,遇到的问题: 1.客户的服务器没有外网.环境配置,依赖安装等都比较麻烦,只能手工上传,最好能一个文件直接搞定: 2.直接包 ...

  3. 2019年新加坡之行 Day 1

    又到了公司每年一次的年度旅游,继前几年的香港.日本.韩国游后,今年公司选择了新加坡.由于之前曾在新加坡公司The Adventus Consultants工作过2年时间,所以对于这次重返新加坡,我还是 ...

  4. Java IO 与 NIO 服务器&客户端通信小栗子

    本篇包含了入门小栗子以及一些问题的思考 BIO package com.demo.bio; import java.io.*; import java.net.ServerSocket; import ...

  5. Elasticsearch进阶篇(一)~head插件的安装与配置

    1.安装node.js 1.1.通过官网下载二进制安装包 https://nodejs.org/en/download/ 选择对应的版本,右键复制下载链接,进入linux目录,切换到要安装目录的磁盘. ...

  6. 【C++/C】指针基本用法简介-A Summary of basic usage of Pointers.

    基于谭浩强老师<C++程序设计(第三版)>做简要Summary.(2019-07-24) 一.数组与指针 1. 指针数组 一个数组,其元素均为指针类型数据,该数组称为指针数组.(type_ ...

  7. c++11多线程记录6:条件变量(condition variables)

    https://www.youtube.com/watch?v=13dFggo4t_I视频地址 实例1 考虑这样一个场景:存在一个全局队列deque,线程A向deque中推入数据(写),线程B从deq ...

  8. svg 直线水平渐变为什么没有效果,必须得是一条倾斜的不水平的直线才有渐变效果呢??

    参考:https://blog.csdn.net/u012260672/article/details/80905631 对x1=x2(没有宽度)或者y1=y2(没有高度)的直线(line以及path ...

  9. Java自学-类和对象 构造方法

    怎么使用 Java 构造方法? 通过一个类创建一个对象,这个过程叫做实例化 实例化是通过调用构造方法(又叫做构造器)实现的 步骤 1 : 什么是构造方法 方法名和类名一样(包括大小写) 没有返回类型 ...

  10. pandas-04 多级index操作

    pandas-04 多级index操作 在pandas中可以为series和dataframe设置多个index,也就是说可以有多级index和column.这样可以对pandas的操作更加灵活. i ...