一、简介

    heartbeat v2 版的资源管理器(CRM)就是crm,废弃了haresouce。由于crm的配置文件都是xml格式的,没有xml功底的很难驾驭,因此我们可以使用gui的方式来配置,从而让gui来帮我们将配置文件转化为xml格式的。heartbeat保存cib.xml的位置如下:/var/lib/heartbeat/crm/cib.xml

    heartbeat-ldirectord是专门为lvs设计的,它可以实现lvs的配置,不需要通过ipvsadm去管理,ldirectord的配置文件可以定义创建lvs的规则,并且还可以提供对realserver的健康监测。因此将ldirectord配置为高可用服务即可实现lvs的高可用。



二、配置

  1.配置MESSAGE Layer的通信秘钥(同authkys)

  2.配置MESSAGE Layer的属性信息(同ha.cf)

     为了是实现是以crm来作为资源管理器的,需要在ha.cf中加入一行如下:            

    crm  respawn 或者 crm  on

      开启heartbeat的服务

 # service  heartbeat start


   3.ldirectord的配置(安装heartbeat-ldirectord)

      ① heartbeat-ldirectord软件包的组成:

/etc/ha.d/resource.d/ldirectord   #在heartbeat的lsb的RA中加入服务
/etc/init.d/ldirectord             #启动脚本
/etc/logrotate.d/ldirectord         #日志轮转
/usr/lib/ocf/resource.d/heartbeat/ldirectord
/usr/sbin/ldirectord
/usr/share/doc/heartbeat-ldirectord-2.1.3
/usr/share/doc/heartbeat-ldirectord-2.1.3/ldirectord.cf  #配置样例
/usr/share/man/man8/ldirectord.8.gz        #帮助手册

        因此只要将/usr/share/doc/heartbeat-ldirectord-2.1.3/ldirectord.cf拷贝到/etc/ha.d/ldirectord.cf  

 #cp /usr/share/doc/heartbeat-ldirectord-2.1.3/ldirectord.cf /etc/ha.d/ldirectord.cf

    ② 配置ldirectord.cf      

# Global Directives   ##全局配置参数
checktimeout=3          #健康监测超时时间
checkinterval=1        #监测间隔
fallback=127.0.0.1:80    #sorryserver
autoreload=yes           #配置文件是否每隔时间自动reload加载
#logfile="/var/log/ldirectord.log"    #日志位置
#logfile="local0"                #日志的设备
#emailalert="admin@x.y.z"        #邮件告警收件人
#emailalertfreq=3600              #邮件告警间隔
#emailalertstatus=all               
quiescent=yes

# Sample for an http virtual service
virtual=192.168.192.223:80            #Vip地址和端口
        real=192.168.112.100:80 gate 4   #rs的地址,端口,权重
        real=192.168.112.200:80 gate 5
        real=192.168.112.201:80 gate 7
        fallback=127.0.0.1:80 gate        #sorryserver的配置
        service=http                      #服务类型,支持众多类型,详见man
        request="index.html"
        receive="Test Page"
        scheduler=wrr                    #调度算法
        #persistent=600
        #netmask=255.255.255.255          
        protocol=tcp
        checktype=negotiate
        checkport=80                            
        request="index.html"
        receive="Test Page"

     ldirectord.cf里面有很多的配置样例,参照修改即可,有问题可以直接man  ldirectord


     ③配置CRM,实现lvs的高可用

 # hb_gui  &    ##开启图形配置接口,需要先安装heartbeat-gui

      由于登录图形控制台是通过用户名:hacluster,因此需要先给hacluster加上密码  

 # echo “123456” | passwd  hacluster  --stdin

    启动后的图形界面如下:

  

           Heartbeat v2 + CRM + heartbeat-ldirectord实现LVS高可用_资源管理器

           Heartbeat v2 + CRM + heartbeat-ldirectord实现LVS高可用_配置文件_02

           Heartbeat v2 + CRM + heartbeat-ldirectord实现LVS高可用_crm_03  

        

    验证服务是否起来:node1已经起来了;

            Heartbeat v2 + CRM + heartbeat-ldirectord实现LVS高可用_heartbeat-ldirectord_04


    node2没有启动,正常。

           Heartbeat v2 + CRM + heartbeat-ldirectord实现LVS高可用_配置文件_05



    crm_mon可以查看集群的状态:

        Heartbeat v2 + CRM + heartbeat-ldirectord实现LVS高可用_heartbeat-ldirectord_06