zoukankan      html  css  js  c++  java
  • 【源码安装】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





  • 相关阅读:
    记一次腾讯云服务器被黑
    mui学习笔记
    Maven(二)名词、命令、仓库、依赖、私服
    MySQL触发器
    SSL证书安装(Tomcat)腾讯云服务器
    Maven(一)简介安装
    HTML多图片压缩上传
    Gradle(一)安装配置
    dubbo本地服务化实现(dubbo三)
    Object is not a function
  • 原文地址:https://www.cnblogs.com/liwanliangblog/p/8367372.html
Copyright © 2011-2022 走看看