参考:

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. 9名华人当选,包揽总人数1/6!2017 ACM Fellow名单公布,华人强势亮相
  2. vecm模型怎么写系数_经典传染病的SIR模型(基于MATLAB)
  3. vim之格式化代码功能——gg=G
  4. Leetcode中单链表题总结
  5. 一种全新的点击率建模方案
  6. AdPlayBanner:功能丰富、一键式使用的图片轮播插件
  7. 【通俗易懂】手把手带你实现DeepFM!
  8. Crontab中文表达式解析
  9. 咸菜可以吃吗,对健康有害吗?
  10. Python的那些隐藏特性
  11. 0505.Net基础班第二十天(基础加强总复习)
  12. SuperWebSocket发布0.1版本
  13. nideshop小程序商城部署
  14. push declined due to email privacy restrictions (GH007 error code) 解决方法
  15. 码农十分钟的音律概述 纯律 五度相生律 十二平均律
  16. 云服务器1M带宽表示什么意思,购买服务器时如何选择服务器带宽?
  17. 一堆Offer怎么选?这样做就不纠结了
  18. SSD网络接口介绍(包含完整代码)
  19. 第三期:如何通过知晓云处理微信卡券消息
  20. java bidi_Java Bidi toString()用法及代码示例

热门文章

  1. 滚珠丝杆高效测量方案
  2. Linux系统安装腾讯会议
  3. 向SpreadSheetDocument中的LineChart添加新的数据
  4. Python中的else用法
  5. PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——PHP SDK中Demo程序简析
  6. Materialize——扁平化卡片式网页模板
  7. DOS分区表项实例分析
  8. 海量数据下,如何优雅设计mysql数据库
  9. asp.net控件PlaceHolder简介
  10. 2017-2018-11 20155307刘浩 20155338常胜杰 20155335俞昆 实验三 实时系统实验报告