zoukankan      html  css  js  c++  java
  • heartbeat安装配置(ubuntu)

    拓扑图

    eth0网络设备用于连接公用网络,eth1网络设备用于连接私用网络,而eth0:0网络设备是HA集群虚拟出来的服务IP地址,用于对外提供应用程序服务。基本的拓扑结构如图

     

    环境(ubuntu14.04)

    服务器A(主)  192.168.152.133

    服务器B(从)  192.168.152.134

    虚拟IP(VIP) 192.168.152.200

    安装HA(两台机器都要配置)

    1. 安装

    sudo apt-get install heartbeat

    2.复制3个配置文件到/etc/ha.d/并解压

    cd /usr/share/doc/heartbeat

    cp authkeys /etc/ha.d/

    cp ha.cf.gz /etc/ha.d/

    cp haresources.gz /etc/ha.d/

    cd /etc/ha.d/

    gunzip ha.cf.gz

    gunzip haresources.gz

    3./etc/ha.d/目录结构

     

    4.配置文件详解

    heartbeat主要的配置文件有3个,aukeys,ha.cf和haresources。下面具体说一下这3个文件的具体功能以及配置。
    在说明配置之前先大致阐述一下heartbeat的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,目前1.2.3版本只支持2个节点间的监测和备份(
    release 2将支持多个节点,可惜正在开发之中),它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未受到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。 

    1. authkeys(heartbeat的认证配置文件,主从服务器配置一样)

     

    #auth 1
    #1 crc
    #2 sha1 HI!
    #3 md5 Hello!
    注释说得很清楚,在这里我还是解释一下,该文件主要是用于集群中两个节点的认证,采用的算法和密钥(如果有的话)在集群中节点上必须相同,目前提供了3种算法:md5,sha1和crc。其中crc不能够提供认证,它只能够用于校验数据包是否损坏,而sha1,md5需要一个密钥来进行认证,从资源消耗的角度来讲,md5消耗的比较多,sha1次之,因此建议一般使用sha1算法。
    我们如果要采用sha1算法,只需要将authkeys中的auth 指令(去掉注释符)改为2,而对应的2 sha1行则需要去掉注释符(#),后面的密钥自己改变(两节点上必须相同)。改完之后,保存,同时需要改变该文件的属性为600,否则heartbeat启动将失败。具体命令为:chmod 600 authkeys 

    1. haresource(heartbeat的资源配置文件,主从配置一样)

    配置文件只有一句(lijh1为主节点名,和uname -u输出相同,192.168.152.200为虚拟的ip)

     

    1. ha.cf(heartbeat的主要配置文件 )

     

    logfile /var/log/ha-log 用于记录heartbeat的日志信息 

    keepalive 2  发送心跳报文的间隔,默认单位为秒,如果你毫秒为单位,那么需要在后面跟ms单位,如1500ms即代表1.5s 
    deadtime 30 用于配置认为对方节点菪掉的间隔 
    warntime 10 发出最后的心跳警告报文的间隔 
    initdead 120 #网络启动的时间 
    udpport 694 #广播/单播通讯使用的udp端口 

    ucast eth0 192.168.152.133 如果采用单播,那么可以配置其网络接口以及所使用的ip地址 (主服务器该配置写从服务器ip,从服务器写主服务器ip)

    auto_failback on  用于决定,当拥有该资源的属主恢复之后,资源是否变迁:是迁移到属主上,还是在当前节点上继续运行,直到当前节点出现故障。

    node lijh1设置集群中的节点(这里有2个node节点,主lijh1和从),注意:节点名必须与uname –n相匹配

    ping 192.168.152.1   ping指令以及下面的ping_group指令是用于建立伪集群成员,它们必须与下述#的ipfail指令一起使用,它们的作用是监测物理链路,也就是说如果集群节点与上述伪设备不相通,那么该节点也将无权接管资源或服务,它将释放掉资源。 

    1. 启动与停止

    service heartbeat start

    service heartbeat stop

    实例

    1.同时开启(service heartbeat start)主从服务器heartbeat,输入192.168.152.200访问结果(装的apache2服务器做测试用,如果是显示LIJH1就是主服务器在运行,LIJH2就是从服务器在运行)

     

    2.关闭(service heartbeat stop)主服务器heartbeat,刷新刚才页面

  • 相关阅读:
    LOGO在线制作网站
    ueditor和thinkphp框架整合修改版
    WAMP允许外部访问的修改方法
    javascript复习笔记
    ajax技术整理总结(1)
    图解——表和表之间的三种关系
    搭建自己的PHP框架心得——转载
    PHP 5 MySQLi 函数总结
    phpmywind调用方法大全
    phpmywind目录结构
  • 原文地址:https://www.cnblogs.com/lijiahong/p/6649954.html
Copyright © 2011-2022 走看看