• HeartBeat基础配置(实现Web服务双机热备)


    Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能。

    本实验实现web服务器的主备双热备份系统

    Linux系统:Linux6.8

    规划:2台主机做集群

    image

    目录:

    1、修改主机名,并设置主机名解析

    2、建立SSH互信,ssh-keygen

    3、NTP时间同步

    4、安装heartbeat软件

    5、heartbeat服务配置

    6、启动服务,进行测试-编写网站页面

    1、修改主机名,并设置主机名解析

    配置信息

    NA1

    vim /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=na1.server.com
    vim /etc/hosts
    添加
    192.168.94.129 na1 na1.server.com
    192.168.94.130 na2 na2.server.com

    NA2

    vim /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=na2.server.com
    vim /etc/hosts
    添加
    192.168.94.129 na1 na1.server.com
    192.168.94.130 na2 na2.server.com

    测试效果

    在NA1和NA2上进行测试,ping na1 | ping na2

    image

    image

    2、建立SSH互信,ssh-keygen

    配置信息

    NA1

    ssh-keygen -t rsa -f ./.ssh/id_rsa -P ''
    ssh-copy-id -i .ssh/id_rsa.pub root@192.168.94.130

    NA2

    ssh-keygen -t rsa -f ./.ssh/id_rsa -P ''
    ssh-copy-id -i .ssh/id_rsa.pub root@192.168.94.129

    测试效果

    分别ssh对方,不需要输入密码

    image

    image

    3、NTP时间同步

    配置信息

    我们没有时间服务器,为了2台设备能够稳定,我们采用NA1作为ntp服务器。

    NA1

    vim /etc/ntp.conf

    修改内容如下

    image

    启动服务

    service ntpd start
    chkconfig ntpd on

    NA2

    NA2的时间需要和NA1进行同步,因此关闭NA2的ntp服务,同步NA1的时间。

    关闭服务

    service ntpd stop
    chkconfig ntpd off

    同步时间

    image

    由于没法每次手动同步时间,我们需要写一个计划任务,定期同步时间

    时间同步计划

    crontb -e
    添加
    */5 * * * * /sbin/ntpdate na1 &> /dev/null

    每5分钟同步一次

    4、安装heartbeat软件

    安装软件之前建议对系统备份一次,避免安装失败,又得从头再来。

    下载安装包,这里我使用epel的yum进行安装

    NA1和NA2都进行安装

    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm -y

    安装heartbeat

    yum install heartbeat*

    5、heartbeat服务配置

    heartbeat有3个主要配置文件

    1、秘钥文件 authkeys,该文件权限要为600,不然服务启动会失败。

    2、服务配置文件 ha.cf

    3、资源管理配置文件 haresources

    配置文件路径为/etc/ha.d

    默认这个路径下没有配置文件,有个配置样例,在/usr/share/doc/heartbeat-*.*.*/路径下,*是你安装的版本号。

    cd /etc/ha.d/
    cp /usr/share/doc/heartbeat-3.0.4/{authkeys,ha.cf,haresources} ./

    设置网站主备

    NA1

    1、秘钥文件设置

    vim /etc/ha.d/authkeys

    使用md5,随便计算一个md5值。

    image

    2、服务配置

    vim /etc/ha.d/ha.cf

    在eth1接口上进行广播

    image

    添加集群节点(这里的名字必须和主机uname -n一致)

    image

    3、资源管理配置

    vim /etc/ha.d/sharesources
    image

    NA2将NA1的配置文件复制过来即可。

    配置完成之后,我们将三个配置文件复制到NA2上

    scp authkeys haresources ha.cf  na2:/etc/ha.d/

    image

    7、启动服务,进行测试

    首先停止并且关闭开机自启httpd服务。

    NA1&NA2

    service httpd stop
    chkconfig httpd off

    编写网站页面

    NA1

    echo "<h1>na1.server.com</h1>" >> /var/www/html/index.html

    NA2

    echo "<h1>na2.server.com</h1>" >> /var/www/html/index.html

    启动heartbeat服务

    NA1&NA2

    service heartbeat start

    结果查看

    NA1上查看日志消息

    image

    查看端口服务

    image

    现在NA1是主服务节点

    访问VIP192.168.94.222

    image

    模拟NA1故障,使用内置脚本hb_standby,将NA1修改为从节点。

    将NA1改为从节点

    image

    访问VIP192.168.94.222

    image

    现在NA2为主,NA2提供web服务。

    查看端口状态

    NA1

    image

    NA2

    image

    现在我们NA2是主节点,我们在换回来,让NA1当主。

    NA2

    [root@na2 ~]# /usr/share/heartbeat/hb_standby
    Going standby [all].
    [root@na2 ~]#
    

    image

    模拟真实故障,我们把NA1关机测试。

    NA1关机后,NA2变为了主节点,为客户端提供服务,能够实现备双热备份系统。

    image


    读书和健身总有一个在路上

  • 相关阅读:
    Python的简单介绍/解释器/变量/变量的数据类型/用户交互及流程控制(if)
    变量
    hello python
    页面默认值显示
    java 获取时间区间
    java Set 中 removeAll 与 addAll
    命名的数据库实例
    linux 打包与解包
    缓存工作原理
    java 格式化日期(转)
  • 原文地址:https://www.cnblogs.com/Renqy/p/12958588.html
Copyright © 2020-2023  润新知