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. [DB] Kafka

    介绍 一种高吞吐量的分布式发布订阅消息系统 消息类型:主体Topic(广播).队列Queue(一对一) 消息系统类型:同步消息系统.异步消息系统 常见消息产品:Redis.Kafka.JMS 术语 P ...

  2. linux初级之总结复习

    一.linux命令复习 1.ls:列出当前目录下的文件 -h: -l: -d: -a: 2. man: 命令帮助手册 3. cd: 切换目录 -:  ~: ..: cd: 4. pwd: 显示当前工作 ...

  3. 「 刘一哥与GIS的故事 」专业技术博文专栏目录索引

    刘一哥,多年研究地图学.地理信息系统.遥感.摄影测量和GPS等应用,精通ArcGIS.MapGIS.ENVI.Erdas.CASS.Pix4d.CC.PhotoScan.Inpho.EPS.Globa ...

  4. IDEA 通过ctrl+滚轮缩放字体大小

    能用图解决的问题,尽量简单粗暴通俗易懂 1.第一种方式 2.第二种方式

  5. rman备份出现ORA-19625

    [oracle@hear adump]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Mon Jun 17 0 ...

  6. 北汽极狐ARCFOX与华为合作

    北汽极狐ARCFOX与华为合作 全球首款激光雷达量产车 2021年,是激光雷达"上车"的元年. 曾经价格高不可攀,只能用于Robotaxi.无人车测试的激光雷达,终于彻底具备商业化 ...

  7. Linux架构思维导图

    Linux架构思维导图 GUI(Graphical User Interface,图形用户界面) Linux学习路径 软件框架 Linux桌面介绍 FHS:文件系统目录标准 Linux需要特别注意的目 ...

  8. Django(59)验证和授权

    验证和授权概述   Django有一个内置的授权系统.他用来处理用户.分组.权限以及基于cookie的会话系统.Django的授权系统包括验证和授权两个部分.验证是验证这个用户是否是他声称的人(比如用 ...

  9. 看懂redis配置文件

    看懂redis 配置文件: https://blog.csdn.net/liqingtx/article/details/60330555 redis 数据库缓存双写一致性解决方案: https:// ...

  10. 用java实现图书管理系统。

    图书管理系统. 一.项目设计到的知识 1.MVC设计模式思想(分包) >项目分包 >MVC简单介绍 2.GUI(图形化界面) 3.JDBC连接MySql数据库 4.I/O流 5.面向对象思 ...