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. qt 获取汉字拼音首字母

    #include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug>#include ...

  2. shell脚本检查是否存在tun0虚拟网卡,若不不存在服务器更改port,并重启服务器,客户端修改port,并重新启动客户端

    openvp 客户端 /home 目录下各脚本文件名 [root@jira home]# ls openvpn_server_restart.sh openvpn_tunnel_monitor.sh ...

  3. 【MongoDB学习之五】Java中使用MongoDB

    环境 MongoDB 3.0 CentOS6.5_x64 相关jar:mongo-java-driver-3.0.0.jar package com.mongodb; import java.util ...

  4. Linux系统 关机/重启/用户切换/注销,用户管理(用户创建/修改,用户组增加/删除),Linux中 / 和 ~ 的区别

    1.关机/重启命令 shutdown命令 shutdown -h now :立即关机 shutdown -h 1 :1分钟后关机 shutdown -r now :立即重启 shutdown -r 1 ...

  5. 【leetcode】589. N-ary Tree Preorder Traversal

    题目: Given an n-ary tree, return the preorder traversal of its nodes' values. For example, given a 3- ...

  6. Scala 系列(四)—— 数组 Array

    一.定长数组 在 Scala 中,如果你需要一个长度不变的数组,可以使用 Array.但需要注意以下两点: 在 Scala 中使用 (index) 而不是 [index] 来访问数组中的元素,因为访问 ...

  7. 多次执行echarts时出现 there is a chart instance already initialized on the dom

    原因,多次使用 echarts.init(document.getElementById(this.options.zid)); 解决方案 设为全局

  8. Java中守护线程的总结

    在Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆: 只要当前JVM实例中尚存 ...

  9. Mysql表字段命令alter add

    alter add命令用来增加表的字段. alter add命令格式:alter table 表名 add字段 类型 其他; 例如,在表MyClass中添加了一个字段passtest,类型为int(4 ...

  10. TCP,UDP 通讯的helper类

    使用Tcp通讯,首先要启动tcp服务端监听客户端,客户端发送消息,服务端收到消息 1.服务端代码如下 public class TcpServerTest { public async Task Be ...