21.1、heartbeat部署规划:

本文的实验环境是虚拟机设备;

名称

接口

ip

用途

master-db(主)

eth0

10.0.0.16/24

用于服务器之间的心跳连接(直连)

eth1

172.16.1.16/24

管理ip用于数据转发

vip

172.16.1.26/24

提供对外访问的ip

slave-db(从)

eth0

10.0.0.17/24

用于服务器之间的心跳连接(直连)

eth1

172.16.1.17/24

管理ip用于数据转发

vip

172.16.1.26/24

提供对外的访问的ip

21.2、关闭selinux和防火墙:

master-db和slave-db的操作相同;

1、关闭selinux:

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

grep "SELINUX=disabled" /etc/selinux/config

setenforce 0

2、关闭防火墙:

/etc/init.d/iptables stop

chkconfig iptables off

21.3、修改主机名:

1、master-db:

[root@master-db ~]#sed -i "s#HOSTNAME=.*#HOSTNAME=master-db#g" /etc/sysconfig/network

[root@master-db ~]#hostname master-db

[root@master-db ~]#hostname

master-db

2、slave-db:

[root@slave-db ~]#sed -i "s#HOSTNAME=.*#HOSTNAME=slave-db#g" /etc/sysconfig/network

[root@slave-db ~]#hostname slave-db

[root@slave-db ~]#hostname

slave-db

21.4、配置master-db和slave-db之间的直连心跳线路由:

主从之间的关系全靠心跳线进行联系;

1、master-db:

[root@master-db ~]#route add -host 10.0.0.17 dev eth0

[root@master-db ~]#route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.0.0.17 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

[root@master-db ~]#echo '/sbin/route add -host 10.0.0.17 dev eth0' >>/etc/rc.local

2、slave-db:

[root@slave-db ~]#route add -host 10.0.0.16 dev eth0

[root@slave-db ~]#route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.0.0.16 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

[root@slave-db ~]#echo '/sbin/route add -host 10.0.0.16 dev eth0' >>/etc/rc.local

21.5、修改域名解析文件:

master-db和slave-db的操作相同;

vim /etc/hosts

10.0.0.16 master-db

10.0.0.17 slave-db

ping域名看是否可以ping通;

21.6、安装heartbeat:

master-db和slave-db的操作相同;

1、安装:

yum install heartbeat -y

rpm -qa heartbeat

heartbeat-3.0.4-2.el6.x86_64

2、heartbeat配置模板拷贝:

cd /usr/share/doc/heartbeat-3.0.4/

cp -a ha.cf haresources authkeys /etc/ha.d/

21.7、heartbeat配置文件配置:

master-db和slave-db的操作相同;

1、ha.cf配置文件:

vim /etc/ha.d/ha.cf

debugfile /var/log/ha-debug

#heartbeat调试日志的存放位置;

logfile /var/log/ha-log

#heartbeat日志存放位置;

logfacility local0

#在syslog服务中配置通过local1设备接收日志;

keepalive 2

##############################################

#指定心跳间隔为2秒,即每2秒发送在监听的网

#卡上发送一次广播,单播或组播

##############################################

deadtime 30

##############################################

#指定备用节点在30秒内没有收到主节点的心跳信号,则

#立即接管主节点的服务资源;

##############################################

warntime 10

##############################################

#指定心跳延迟时间为10秒,当10秒钟内备份节点不能接收到

#主节点的心跳信号时,会网日志中写入一个警告日志,但此时

#不会切换服务;

##############################################

initdead 60

##############################################

#指定在heartbeat首次运行后,需要等待60秒才能启动主服务器

#的任何资源,取值至少为datatime时间的2倍;

##############################################

udpport 694

#heartbeat心跳通信端口;

mcast eth0 225.0.0.1 694 1 0

##############################################

#多播:直连网卡eth0,多播范围(224-239),udp通信端口,ttl值

#为1,关闭本地回环;

#单播:ucast eth0 10.0.0.17,包被发送到的对等的IP地址;

#广播:bcast eth0

##############################################

auto_failback on

#当主节点恢复后从备节点接管资源;

node master-db

#主节点主机名,通过命令uname -n进行查看;

node slave-db

#备用节点主机名,通过命令uname -n进行查看;

crm no

#不开启集群资源管理功能;

2、authkeys配置文件:

(1)生成sha1字符串;

echo heartbeat|sha1sum

1c81b56e0878d42e95064acfe07613edd5c6c29d

(2)修改参数:

vim /etc/ha.d/authkeys

auth 1

1 sha1 1c81b56e0878d42e95064acfe07613edd5c6c29d

(3)设置权限:

chmod 600 /etc/ha.d/authkeys

3、haresources配置文件:

vim /etc/ha.d/haresources

master-db IPaddr::172.16.1.26/24/eth1

#slave-db IPaddr::172.16.1.27/24/eth1

#master-db #表示主节点的主机名

#IPaddr::172.16.1.26/24/eth1#表示使用IPaddr脚本创建浮动ip在eth1网卡上;

21.8、测试:

[root@master-db ~]#/etc/init.d/heartbeat start

Starting High-Availability services: INFO: Resource is stopped

Done.

[root@slave-db ~]#/etc/init.d/heartbeat start

[root@master-db ~]#ip addr

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:5c:f0:d0 brd ff:ff:ff:ff:ff:ff

inet 172.16.1.16/24 brd 172.16.1.255 scope global eth1

inet 172.16.1.26/24 brd 172.16.1.255 scope global secondary eth1

inet6 fe80::20c:29ff:fe5c:f0d0/64 scope link

valid_lft forever preferred_lft forever

[root@slave-db ~]#ip addr

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:4a:99:4c brd ff:ff:ff:ff:ff:ff

inet 172.16.1.17/24 brd 172.16.1.255 scope global eth1

inet6 fe80::20c:29ff:fe4a:994c/64 scope link

valid_lft forever preferred_lft forever

[root@master-db ~]#/etc/init.d/heartbeat stop

[root@slave-db ~]#ip addr

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:4a:99:4c brd ff:ff:ff:ff:ff:ff

inet 172.16.1.17/24 brd 172.16.1.255 scope global eth1

inet 172.16.1.26/24 brd 172.16.1.255 scope global secondary eth1

inet6 fe80::20c:29ff:fe4a:994c/64 scope link

valid_lft forever preferred_lft forever

21.9、总结:

1、heartbeat安装后默认是自启动的;

chkconfig --list heartbeat

heartbeat 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

在生产环境中是不需要开机自启动的,进行手动启停,比较安全;

chkconfig heartbeat off

2、互为主备模式:

(1)配置参数;

cat /etc/ha.d/haresource

master-db IPaddr::172.16.1.26/24/eth1

slave-db IPaddr::172.16.1.27/24/eth1

(2)配置说明:

master-db和slave-db上的heartbeat启动后,各自都会配置一个vip地址,当其中一台宕机

后所有的vip都会漂移到一台服务器上;

个人认为实质是按照浮动ip前的主机名定义浮动ip的主从的;

(3)将本地置从的命令是(主):/usr/share/heartbeat/hb_standby

(4)接管自己的资源的命令是(主):/usr/share/heartbeat/hb_takeover local

21、部署heartbeat的更多相关文章

  1. (转)heartbeat原理及部署

    原文:http://yjy724.blog.51cto.com/10897133/1840794---------------------------------------------------h ...

  2. Heartbeat部署

    部署环境:CentOS 7 1.Heartbeat介绍 Heartbeat是Linux-HA项目中的一个组件,它实现了一个高可用集群系统.心跳检测和集群通信是高可用的两个关键组件,在Heartbeat ...

  3. Heartbeat使用梳理

    在日常的集群系统架构中,一般用到Heartbeat的主要就2种:1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为"双机热备", &qu ...

  4. Heartbeat基础知识-运维小结

    在日常的集群系统架构中,一般用到Heartbeat的主要就2种:1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为”双机热备”, “双机互备”, “双机”: ...

  5. LVS+Heartbeat 高可用集群方案操作记录

    之前分别介绍了LVS基础知识和Heartbeat基础知识, 今天这里简单说下LVS+Heartbeat实现高可用web集群方案的操作说明. Heartbeat 项目是 Linux-HA 工程的一个组成 ...

  6. CentOS7数据库架构之NFS+heartbeat+DRBD(亲测,详解)

    目录 参考文档 理论概述 DRBD 架构 NFS 架构部署 部署DRBD 部署heartbeat 部署NFS及配合heartbeat nfs切记要挂载到别的机器上不要为了省事,省机器 参考文档 htt ...

  7. Linux-HA实战(1)— Heartbeat安装

    接触Heartbeat主要是因为之前项目中使用了TFS,最近想给nameserver做HA,因为TFS官方用的Heartbeat,所以刚好了解下,参考了网络上很多内容,这里简单记录下. 内容 环境和软 ...

  8. HeartBeat的一些介绍和功能上的一些总结

    HeartBeat的作用: 通过HeartBeat,可以将资源(IP以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务,一般称之为高可用的服务.在实际的生产应用场景 ...

  9. 高可用集群heartbeat全攻略

    heartbeat的概念   Linux-HA的全称是High-Availability Linux,它是一个开源项目,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(r ...

随机推荐

  1. 分析Red Hat sosreport输出的方法

    分析Red Hat sosreport输出的方法? Modified on: Fri, 31 May 2019 20:20:02 +0800 有一段时间(自EL 4.6以来),Red Hat嵌入了sy ...

  2. 使用ps、top、ps_mem命令找出Linux中的最大内存消耗过程

    使用ps.top.ps_mem命令找出Linux中的最大内存消耗过程 2020-02-08 16:06:59作者:自力稿源:云网牛站 您可能已经看到Linux系统多次消耗过多的内存,如果是这种情况,那 ...

  3. 无法开机 如果您的手机黑屏无法开机,可以按照以下方式操作尝试: 如果是,使用原装充电器或使用弱电流方式充电(例如使用电脑USB接口充电)充电15-30分钟后尝试重新开机;注意:电量过低引起的无法开机,刚插入充电器时可能不亮屏但呼吸灯闪烁状态。

    https://www.mi.com/service/support/startup 无法开机 如果您的手机黑屏无法开机,可以按照以下方式操作尝试: 技术支持 如何刷机 无法开机 手机自动关机.重启 ...

  4. nginx 的三种虚拟主机配置方法

    nginx三种虚拟主机配置的方法. 基于端口 在生产环境中一般使用端口或者域名. [root@web01 /etc/nginx/conf.d]# cat web01.conf server { lis ...

  5. Spark SQL 之 RDD、DataFrame 和 Dataset 如何选择

    引言 Apache Spark 2.2 以及以上版本提供的三种 API - RDD.DataFrame 和 Dataset,它们都可以实现很多相同的数据处理,它们之间的性能差异如何,在什么情况下该选用 ...

  6. 在浏览器上运行 VS Code——GitHub 热点速览 v.21.22

    作者:HelloGitHub-小鱼干 和小程序类似,如果平时开发所用到的软件也能运行在浏览器中,"用完即走"岂不妙哉?code-server 便是一个让人在浏览器运行 VS Cod ...

  7. vue相关面试知识点总结

    vue v-for循环中为什么要用key?为什么index不能作为key? key 的特殊 attribute 主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes.如 ...

  8. Python+Selenium - js操作

    js操作:日期框 本部分涉及两个知识点:DOM树和js DOM树教程链接: https://www.w3school.com.cn/htmldom/index.asp js教程链接 https://w ...

  9. 深度学习加速器堆栈Deep Learning Accelerator Stack

    深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...

  10. 不是都需要ARM吗?

    不是都需要ARM吗? ARM系统架构简介 什么是ARM处理器,为什么没有听说? ARM-缩写:Advanced RISC Machines 该处理器起源于1984年的英格兰.在成立之初,ARM代表Ac ...