• Heartbeat实现热备


    1、环境准备:
    1)主节点:master
    eth0:192.168.0.201
    eth1:192.168.0.03
    2)备节点:slave
    eth0 :192.168.0.215
    eth1:192.168.0.110
    3)vipIP:192.168.0.188

    2、安装heartbeat软件:
    1)安装epel扩展源(两台机器都要安装)
    yum install -y epel-release
    2)安装heartbeat软件(两台机器都要安装)
    yum install -y heartbeat*

    3、主节点配置
    1)拷贝文件
    # cd /usr/share/doc/heartbeat-3.0.4/
    # cp authkeys ha.cf haresources /etc/ha.d/
    # cd /etc/ha.d
    2)修改authkeys文件
    # vim authkeys
    更改或增加如下内容:
    auth 3
    3 md5 Hello!
    然后修改其权限
    # chmod 600 authkeys
    3)修改haresources文件
    # vim haresources
    加入下面一行:
    master 192.168.0.38/24/eth0:0 nginx
    4)修改ha.cf文件
    # vim ha.cf
    修改为如下内容:
    debugfile /var/log/ha-debug         该文件保存heartbeat的调试信息。
    logfile /var/log/ha-log             heartbeat的日志文件。
    logfacility local0
    keepalive 2                         心跳的时间间隔,默认时间单位为秒s。
    deadtime 30                         超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。
    warntime 10                         超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。
    initdead 60                         在某系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔,取值至少为deadtime的2倍。
    udpport 694                         设置广播通信使用的端口,694为默认使用的端口号。
    ucast eth1 192.168.0.110            设置对方机器心跳检测的网卡和IP。
    auto_failback on                    heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。
    node master
    node slave
    ping 192.168.0.1
    respawn hacluster /usr/lib64/heartbeat/ipfail                  指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。如果你的系统是64bit,请注意该文件的路径。

    4、把主节点上的三个配置文件拷贝到备节点
    # cd /etc/ha.d
    # scp authkeys ha.cf haresources slave:/etc/ha.d
    1)、修改备节点的ha.cf文件
    # vim /etc/ha.d/ha.cf
    只需要更改一个地方如下:
    ucast eth1 192.168.0.110改为ucast eth1 192.168.0.3

    5、启动heartbeat
    /etc/init.d/heartbeat start

  • 相关阅读:
    用spring的InitializingBean作初始化
    LinkedList源码分析
    CgLib动态代理
    DB2删除表分区
    spring aop搭建redis缓存
    List怎么遍历删除元素
    线程池ExecutorService和完成服务CompletionService的使用获取线程的返回结果
    synchronized与static synchronized 的区别
    将spring管理的bean使用注解的方式注入到servlet中
    eclipse右击打war包class没打上去的问题
  • 原文地址:https://www.cnblogs.com/allenclare/p/8445661.html
Copyright © 2020-2023  润新知