• 用Heartbeat实现HA集群



    HA即高可用(high avaliable),又被叫做双机热备,用于关键性业务,简单理解就是,有两台机器A和B,正常是A提供服务,B待机闲置,当A宕机或服务宕掉,会切换到B机器继续提供服务。常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡的功能。
    图:

    下面我们使用heartbeat来做HA集群,并且把nginx服务器作为HA对应的服务。

    实验准备:
    两台机器,都是centos6.5,网卡eth0,ip如下:
    aming 192.168.31.166
    aming1 192.168.31.100
    两个eth1 ip如下:
    aming 192.168.21.166
    aming1 192.168.21.100

    要弄两个网卡,在本实验中使用了同一张网卡配置不同IP,可以参考上一篇文章

    下面操作1-5都是在两个机器上操作的

    1.hostname设置好,分别为aming aming1
    2.关闭防火墙iptables -F
    关闭selinux setenforce 0
    3.vi /etc/hosts //内容如下
    192.168.31.166 aming
    192.168.31.100 aming1

    4.安装epel拓展源
    yum install -y epel-release

    5.两个机器上都安装heartbeat/libnet
    yum install -y heartbeat* libnet nginx

    6.主上(aming)配置
    cd /usr/share/doc/heartbeat-3.0.4/
    cp authkeys ha.cf haresorces /etc/ha.d/
    cd /etc/ha.d
    vi authkeys //加入
    auth 3
    3 md5 Hello!

    chmod 600 authkeys

    vi haresorces
    用来指定主节点,虚拟IP,网段,网卡名字,掌控的服务
    如果针对nginx 做HA
    那就加入:
    aming 192.168.31.110(对外提供服务的IP)/24/eth0:0 nginx(必须要把服务放到/etc/init.d/)

    vi ha.cf
    //改为如下内容
    打开debugfile 
    logfile
    keepalive 表示多长时间检测一次
    auto_failback on
    warntime 警告时间
    initdead 秒死掉了就真的死掉了
    uddport 广播
    baud 串口(如果要用到串口才打开)
    ubast 广播形式
    ucast 用IP找
    ucast eth1 192.138.21.100 (这个要)
    respawn hacluster /usr/lib32/heartbeat/ipfail
    ping 192.168.21.1
    node aming主节点
    node aming1从节点


    7.然后就拷贝上面三个文件给从
    然后从,

    8.从上编辑ha.cf
    ucast eth1 改成对方的IP

    9.启动heartbeat:
    先主后从
    service heartbeat start

    10.检查测试
    ifconfig 看看是否有eth1:0
    ps aux|grep nginx 看看有没有进程

    11.测试1
    主上故意禁止ping
    iptables -I INPUT -p icmp -j DROP

    12.测试2
    主上停止heartbeat服务
    service heartbeat stop

    13.测试脑裂
    主从上都down掉eth1网卡
    ifdown eth1

    拓展学习:
    关于heartbeat配置文件参考文档:http://blog/chinaunix.net/uid-20749043-id-1878328.html
    heartbeat和keepalived的比较:
    http://blog.csdn.net/yunhua_lee/article/details/9788433
    http://zhengdl126.iteye.com/blog/1738012
    DRBD工作原理和配置:http://502245466.51cto.com/7559397/1298945

  • 相关阅读:
    创建zabbix监控,添加监控机(server、agent、windows)
    KVM虚拟化平台简介及环境部署
    利用nginx的stream模块实现内网端口的转发代理
    Mysql主主同步+keepalived实现高可用
    基于 MHA 的 MySQL 高可用方案
    mysql基于Amoeba(变形虫)实现读写分离
    mysql主从异步复制
    基于mysqld_multi实现MySQL多实例多进程配置
    基于Haproxy+Keepalived构建高可用负载均衡集群
    yum 安装报错The GPG keys listed for the "CentOS-7
  • 原文地址:https://www.cnblogs.com/ImJerryChan/p/6574264.html
Copyright © 2020-2023  润新知