zoukankan      html  css  js  c++  java
  • CentOS6.5_x64上简单编译配置Heartbeat3.0.4

    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 2        
     
        # 设置心跳间隔
     
        
     
        deadtime 30             
     
        # 在30秒后宣布节点死亡
     
        warntime 10             
     
        # 在日志中发出“late heartbeat“警告之前等待的时间,单位为秒
     
        
     
        initdead 120            
     
        # 网络启动时间
     
        
     
        udpport  694      
     
        # 广播/单播通讯使用的udp端口
         
     
        #baud   19200
     
        #serial  /dev/ttyS0     
     
        # 使用串口heartbeat
     
        
     
        bcast   eth0            
     
        # 使用网卡heartbeat,并在eth0接口上使用广播heartbeat
     
        
     
        auto_failback on        
     
        # 当主节点从故障中恢复时,将自动切换到主节点
     
        
     
        watchdog /dev/watchdog  
     
        # 该指令是用于设置看门狗定时器,如果节点一分钟内都没有心跳,那么节点将重新启动
     
        
     
        node HA-01
     
        node HA-02        
     
        # 集群中机器的主机名,与“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情况
     

  • 相关阅读:
    【转】属性与字段的区别
    学习C/C++的经验谈(转)
    [C++语法] 关键字typedef用法(转)
    让我们习惯在底层用C++宏生成代码 (转)
    C/C++笔试题 (二)【转】
    C/C++笔试题 (三)【转】
    C语言 printf格式控制符 完全解析
    C/C++笔试题 (一)【转】
    C++内存管理详解(转)
    【转】 Source Insight设置
  • 原文地址:https://www.cnblogs.com/kankanhua/p/4762266.html
Copyright © 2011-2022 走看看