参考:

https://www.cnblogs.com/wuzejian/p/7bafa47ddbb5f969c412f8124800f3c9.html HA双机热备的实现(heartbeat)

https://blog.csdn.net/weixin_34117211/article/details/92336917?utm_medium=distribute.pc_relevant.none-task-blog-title-8&spm=1001.2101.3001.4242  centOS 7下安装与配置heartbeat高可用集群

关闭防火墙: systemctl stop firewalld.service

一、前提准备

在每个节点做以下配置:
  1. 关闭firewall: systemctl stop firewalld.service
  2. 同步时间:ntpdate 10.0.0.100
  3. 配置主机名:echo "node1" >> /etc/hostname
  4. 修改/etc/hosts
[root@node1 /]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain610.21.144.113 node2
10.21.144.112 node1

5.配置主机间ssh互信,免秘钥认证

[root@node1 ~]# ssh-keygen -q -t rsa -N '' -f ~/.ssh/id_rsa
[root@node1 ~]# ssh-copy-id root@10.21.144.113

二、安装  node1与node2节点都需要操作

1、安装基础环境包
yum install gcc gcc-c++ autoconf automake libtool glib2-devel libxml2-devel bzip2 bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel asciidoc

2、创建用户与组

groupadd haclient
useradd -g haclient hacluster

3、下载软件包:Reusable-Components-glue、resource-agents、heartbeat

下载路径: http://www.linux-ha.org/wiki/Downloads
4、安装glue
tar xf 0a7add1d9996.tar.bz2
cd Reusable-Cluster-Components-glue--0a7add1d9996/
./autogen.sh
./configure --prefix=/usr/local/heartbeat --with-daemon-user=hacluster --with-daemon-group=haclient --enable-fatal-warnings=no LIBS='/lib64/libuuid.so.1'
make && make install

5、安装Resource Agents

tar xf resource-agents-3.9.6.tar.gz
cd resource-agents-3.9.6/
./autogen.sh
export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"
./configure --prefix=/usr/local/heartbeat --with-daemon-user=hacluster --with-daemon-group=haclient --enable-fatal-warnings=no LIBS='/lib64/libuuid.so.1'
ln -s  /usr/local/heartbeat/lib/* /lib/
ln -s  /usr/local/heartbeat/lib/* /lib64/
make && make install

6、安装Heartbeat

tar xf 958e11be8686.tar.bz2
cd Heartbeat-3-0-958e11be8686/
./bootstrap
export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"
./configure --prefix=/usr/local/heartbeat --with-daemon-user=hacluster --with-daemon-group=haclient --enable-fatal-warnings=no LIBS='/lib64/libuuid.so.1'
make && make installln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/RAExec/* /usr/local/heartbeat/lib/heartbeat/plugins/RAExec/
ln -svf /usr/local/heartbeat/lib64/heartbeat/plugins/* /usr/local/heartbeat/lib/heartbeat/plugins/

7、配置网卡支持插件文件

mkdir -pv /usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/
cp /usr/lib/ocf/lib/heartbeat/ocf-* /usr/local/heartbeat/usr/lib/ocf/lib/heartbeat/

三、配置heartbeat

#拷贝三个模板配置文件到 /usr/local/heartbeat/etc/ha.d/目录下
1、配置ha.cf文件:#该配置文件用于配置 心跳的核心配置
vi /usr/local/heartbeat/etc/ha.d/ha.cf
debugfile /var/log/ha-debug  #表示调试的日志文件 一般测试建议开启
logfile /var/log/ha-log            #表示系统的的日志文件路径
logfacility     local0                #表示使用系统日志与上面只能开启一个
keepalive 2                           #主备之间的心跳间隔时间单位:s
deadtime 30                         #表示如果连接对方30s还无法连接,表示节点死亡需要考虑vip转移
warntime 10                        #表示10s时间未收到心跳时发出警告日志
initdead 120                        #有时机器启动后需要一段时间网卡才能正常工作 需要预留一定的时间后,再开始判断心跳检测
udpport 694                        #多播的udp端口
#baud   19200                    #串行端口的波特率
#serial /dev/ttyS0        # Linux  #串口的接口名
#serial /dev/cuaa0      # FreeBSD
#serial /dev/cuad0      # FreeBSD 6.x
#serial /dev/cua/a      # Solaris
bcast   ens33             #设置广播通信所使用的网络接口卡。(我们这里设置为ens33,专门用来探测心跳)
#bcast  eth0               # Linux #传播心跳的广播网卡信息
#bcast  eth1 eth2       # Linux
#bcast  le0                 # Solaris
#bcast  le1 le2           # Solaris
#mcast eth0 225.0.0.1 694 1 0   #多播传送心跳的网卡 多播组 端口 跃点数 是否回环内传送
ucast ens33 192.168.146.150    #设置单播心跳,设置对方的ip地址,此处使用单播
auto_failback on               #表示如果主机停止后,从机接管设置为on,当主机从新启动后,主机立即接管vip off从机不会释放vip给主机
node    node1                  #配置主从的节点信息,要与uname -n保持一致
node    node2
2、配置authkeys文件: # 该文件表示发送心跳时,机器用于验证的key的hash算法,节点之间必须配置成一致的密码
vi /usr/local/heartbeat/etc/ha.d/authkeys
auth 3                 #表示使用id为3的算法,下面需定义一个3的验证算法
#1 crc
#2 sha1 HI!       #三种算法安全性逐渐增强,我们这里选择的md5,Hello为密码,也可以  
3 md5 Hello!     #自己使用生成的md5密码。

更改权限为600: chmod 600 /usr/local/heartbeat/etc/ha.d/authkeys
3、配置haresources文件: # 该文件表示资源的管理,如果是主机,当主机启动后自动加载该文件中配置的所有启动资源,资源脚本默认在haresources同级目录下的resource.d目录下
vi /usr/local/heartbeat/etc/ha.d/haresources
# 指定节点主机名,和VIP地址,以双冒号分隔资源,此处以apache为例进行配置
node1 10.21.144.115 apache::/etc/httpd/conf/httpd.conf
4、node2节点上也要进行步骤1、2、3的配置

四、安装httpd资源服务

#在 每个节点上安装httpd服务并测试
[root@node1 ]# yum install httpd
[root@node1 ]# echo "node1 test page" > /var/www/html/index.html
[root@node1 ]# service httpd start

测试是否可用:

#测试httpd服务正常后关闭httpd服务并关闭自启动:

[root@node1 ]# systemctl stop httpd
[root@node1 ]# systemctl disable httpd

node2节点上做如上相同操作

五、启动heartbeat服务

#在 每个节点上分别启动heartbeat服务
[root@node1 ]# systemctl enable heartbeat
[root@node1 ]# systemctl start heartbeat
[root@node1 ]# ssh node2 'systemctl start heartbeat'

通过 systemctl status heartbeat分别在节点node1、node2上检查服务状态,若是ok,此时可以用浮动IP 10.21.144.115访问httpd服务

可以模拟宕机测试,看访问浮动IP 10.21.144.115会不会在node1与node2上自动切换。

五、启动heartbeat服务

centos7 双机设备实现相关推荐

  1. 防火墙双机设备(旁挂组网),HRP双主原因

    拓扑 FW1地址配置 [USG6000V1]in g0/0/0 [USG6000V1-GigabitEthernet0/0/0]undo ip binding vpn-instance default ...

  2. centos7双机搭建_Centos7 Mysql 双机热备实现数据库高可用

    mysql双主热备,也称主主互备,目的是mysql数据库高可用,只支持双机,原因是mysql的复制是一主多从,但一个从服务器只能有一个主服务器. 双机热备的条件是双机mysql版本必须一致. 服务器分 ...

  3. centos7双机搭建_centos7 DHCP搭建双机热备 集群

    Centos7搭建Dhcp服务说明 2020年8月 目录 项目背景 1.1 网络DHCP的现状 1.2 新网络DHCP的设计 搭建DHCP环境说明 2.1 准备实验环境 1 准备服务器硬件搭建环境 2 ...

  4. redis 4.0.9 centos7 双机集群安装

    开启limits限制 sudo bash -c 'cat >> /etc/security/limits.conf <<-EOF * soft nofile 65536 * h ...

  5. centos7双机搭建_CentOS 7 配置 Keepalived 实现双机热备

    前言 Keepalived 是集群管理中保证集群高可用的一个服务软件,其功能类似于 heartbeat,用来防止单点故障. 本例演示 CentOS 7 下安装和配置 Keepalived 的基本步骤. ...

  6. juniper srx 3400 双机 配置

    单位最近更新防火墙,打算把10年前的2台juniper换成现在的2台juniper srx 3400,利用juniper的jsrp技术实现,双机设备,一台坏了,另一台自动接替.觉得这次juniper命 ...

  7. 等保2.0相关安全设备

    网络安全等级保护2.0国家标准(等保2.0)自2019年12月1日正式实施以来,很多企业都在努力准备过保工作.但如何能顺利过保,怎样进行等保合规建设仍然是企业面临的难题. 通过等保测评主要看企业在信息 ...

  8. 部署LVS-DR(LVS+Keepalived)群集

    文章目录 部署LVS-DR群集 LVS DR模式的流程大概如下: LVS-DR数据包流向分析 LVS-DR中的ARP问题 Keepalived简介及原理 Keepalived简介 服务应用场景 Kee ...

  9. su切换特别慢 linux,秋明 | 系统su切换用户时间非常长

    今天同事提了一个问题,一台centos7的设备,在用户su的时候发现时间非常的长,然后交给了:我首先判断环境变量,比如:.bashrc等,发现不是这个问题,所以就猜测是认证pam模块的问题,然后开始排 ...

最新文章

  1. 一次I/O问题引发的P0重大故障[改版重推]
  2. 【Groovy】Groovy 脚本调用 ( Groovy 脚本中调用另外一个 Groovy 脚本 | 调用 evaluate 方法执行 Groovy 脚本 | 参数传递 )
  3. JAVA API1.7中文手册
  4. Android内存分析和调优(上)
  5. matlab神经网络3:模式分类
  6. multisim 12.0安装教程
  7. 图像纹理合成_EnhanceNet:通过自动纹理合成实现单图像超分辨率
  8. jdk1.6的项目可以用1.8吗_摩托车链条的保养项目有哪些?可以用高压水枪清洗吗?...
  9. 在PS里怎样使图层居中对齐?
  10. 多条件and查询遇到的问题
  11. 前端性能优化不完全手册 【已更新至React、原生JS懒加载和Nginx负载均衡】
  12. python发outlook邮件_python对outlook邮件整理
  13. AVR单片机ATMEGA16编译软件ICCAVR的使用技巧与应用示例
  14. 11.9 至 11.17 四道典型题记录: Counter 弹出 | map函数 | 子集求取 | 有序字符桶分装
  15. 基于Python-OpenCV的图片覆盖技术——即把一个图片P到另一个图片上
  16. 鸿蒙曰蜉蝣不知所求,【经典金句408 · 庄子】:浮游,不知所求;猖狂,不知所往;游者鞅掌,以观无妄。...
  17. PhotonServer中日志的配置
  18. 连接手表_用EMUI11连接华为手机与手表 出门不用全程盯着手机
  19. R数据分析|可视化|dplyr|Kaggle奥运会数据集(一)
  20. 经典幽默的计算机名人名言

热门文章

  1. python检测吸烟的算法_yolov3+tensorflow+keras实现吸烟的训练全流程及识别检测
  2. 爱普生Epson EP-804AR 一体机驱动
  3. 给准备自考本科想学汉语言专业的一些建议
  4. 经济基础决定上层建筑!
  5. 宝塔监控必应API定时进行站点地图提交php教程
  6. 2020电工(初级)模拟考试及电工(初级)实操考试视频
  7. 手把手教你打造一套最牛的知识管理系统
  8. HTML+CSS实训——Day06——发现页的用JavaScript修改
  9. oracle evaluate,Oracle BIEE EVALUATE系列使用数据库函数
  10. VS 2022新特性_Visual Studio2022新功能