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. zabbix自带的模板监控mysql

    科技小能手 2017-11-12 1208浏览量 简介: zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,还需要经过额外的设置才可以使用.如果只需要对mysql数据库做简单的监控, ...

  2. 电脑无法开机,用一个U盘先备份C盘部分重要文件并重装Win10系统的教程?

    电脑无法开机,用一个U盘先备份C盘部分重要文件并重装Win10系统的教程.? 这应该是修电脑的万能方法,重装系统能解决绝大多数非硬件导致的电脑故障,但之前要备份一下桌面的一些个人文件.所以想学一下,以 ...

  3. Docker Swarm(四)Volume 数据(挂载)持久化

    前言 为了获得最佳的性能和可移植性,应该避免将重要数据直接写入容器的可写层,而应使用数据卷或绑定挂载. 可以为集群中的服务创建两种类型的挂载,数据卷挂载(volume mounts)或绑定挂载(bin ...

  4. 完全理解Python 迭代对象、迭代器、生成器

    在了解Python的数据结构时,容器(container).可迭代对象(iterable).迭代器(iterator).生成器(generator).列表/集合/字典推导式(list,set,dict ...

  5. kylin优化的思想

    kylin的核心优势在于使用额外的空间存储预计算的结果,以换取查询时间的缩减. 所以我们要对额外的空间进行优化,并且在空间优化之后,cuboid无法完全命中时,对查询时间进行优化. 空间优化的思路就是 ...

  6. x轴滚动

    #region 设置x轴滚动      XYDiagram diagram = (XYDiagram)chartRoomUserAnalysisHis.Diagram;      diagram.Ax ...

  7. 通过git将项目传到github上

    lenovo@LAPTOP-3KMEN0B2 MINGW64 /e/Users/lenovo/springboot-project/forum $ ls forum.iml HELP.md mvnw* ...

  8. Sqlflow 之隐私政策(Privacy plolicy)介绍

    在大数据技术流行的今天,SQLFlow 可以通过分析各种数据库对象的定义给开发和管理者带来很大的助力.能够让您在大数据时代应对自如,如虎添翼. 在之前的文章中我们已经详细介绍过SQLFlow是什么.能 ...

  9. Step By Step(userdata)

    Step By Step(userdata) 在Lua中可以通过自定义类型的方式与C语言代码更高效.更灵活的交互.这里我们通过一个简单完整的示例来学习一下Lua中userdata的使用方式.需要说明的 ...

  10. Go语言web开发---Beego基础

    一.框架 框架:可复用的设计组件,它规定了应用的体系结构,明确了整个设计,协作各个组件之间的依赖关系,责任分配,和流程控制.通俗解释框架就是一堆代码的集合,为了提高软件的开发效率和质量,一般都会使用框 ...