• 【源码安装】Heartbeat3.0.9


    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





  • 相关阅读:
    octotree神器 For Github and GitLab 火狐插件
    实用篇如何使用github(本地、远程)满足基本需求
    PPA(Personal Package Archives)简介、兴起、使用
    Sourse Insight使用过程中的常使用功能简介
    Sourse Insight使用教程及常见的问题解决办法
    github 遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts问题解决
    二叉查找树的C语言实现(一)
    初识内核链表
    container_of 和 offsetof 宏详解
    用双向链表实现一个栈
  • 原文地址:https://www.cnblogs.com/liwanliangblog/p/8367372.html
Copyright © 2020-2023  润新知