21、部署heartbeat
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的更多相关文章
- (转)heartbeat原理及部署
原文:http://yjy724.blog.51cto.com/10897133/1840794---------------------------------------------------h ...
- Heartbeat部署
部署环境:CentOS 7 1.Heartbeat介绍 Heartbeat是Linux-HA项目中的一个组件,它实现了一个高可用集群系统.心跳检测和集群通信是高可用的两个关键组件,在Heartbeat ...
- Heartbeat使用梳理
在日常的集群系统架构中,一般用到Heartbeat的主要就2种:1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为"双机热备", &qu ...
- Heartbeat基础知识-运维小结
在日常的集群系统架构中,一般用到Heartbeat的主要就2种:1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为”双机热备”, “双机互备”, “双机”: ...
- LVS+Heartbeat 高可用集群方案操作记录
之前分别介绍了LVS基础知识和Heartbeat基础知识, 今天这里简单说下LVS+Heartbeat实现高可用web集群方案的操作说明. Heartbeat 项目是 Linux-HA 工程的一个组成 ...
- CentOS7数据库架构之NFS+heartbeat+DRBD(亲测,详解)
目录 参考文档 理论概述 DRBD 架构 NFS 架构部署 部署DRBD 部署heartbeat 部署NFS及配合heartbeat nfs切记要挂载到别的机器上不要为了省事,省机器 参考文档 htt ...
- Linux-HA实战(1)— Heartbeat安装
接触Heartbeat主要是因为之前项目中使用了TFS,最近想给nameserver做HA,因为TFS官方用的Heartbeat,所以刚好了解下,参考了网络上很多内容,这里简单记录下. 内容 环境和软 ...
- HeartBeat的一些介绍和功能上的一些总结
HeartBeat的作用: 通过HeartBeat,可以将资源(IP以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务,一般称之为高可用的服务.在实际的生产应用场景 ...
- 高可用集群heartbeat全攻略
heartbeat的概念 Linux-HA的全称是High-Availability Linux,它是一个开源项目,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(r ...
随机推荐
- [bug] Springboot JPA使用Sort排序时的问题
参考 https://blog.csdn.net/qq_44039966/article/details/102713779
- [bug] idea 导入多个 maven 项目
参考 https://www.cnblogs.com/qinxu/p/9649267.html
- [Java] 分布式消息队列(MQ)
概述 场景 服务解耦 削峰填谷 异步化缓冲:最终一致性/柔性事务 MQ应用思考点 生产端可靠性投递 消费端幂等:消息只能消费一次 高可用.低延迟.可靠性 消息堆积能力 可扩展性 业界主流MQ Acti ...
- win10系统U盘读取不了怎么解决 三种方法快速解决"文件或目录损坏且无法读取& 发布时间:2020-06-05 09:19:46 作者:佚名 我要评论
win10系统U盘读取不了怎么解决 三种方法快速解决"文件或目录损坏且无法读取& 发布时间:2020-06-05 09:19:46 作者:佚名 我要评论 win10电脑 ...
- Job for ssh.service failed because the control process exited with error code. See "systemctl status ssh.service" and "journalctl -xe" for details.
1.按照提示 systemctl status ssh.service 查看报错原因 sshd -t 2.结果 /etc/ssh/sshd_config line 34: missing argume ...
- shell基础之函数
shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数.给这段代码起个名字称为函数名,后续可以直接调用该段代码. 格式: func() { #指定函数名 command # ...
- 云计算OpenStack环境搭建(4)
准备工作: 准备3台机器,确保yum源是可用的,分别为控制节点(192.168.11.3).计算节点(192.168.11.4)和存储节点(192.168.11.5) 控制节点:OpenStack日常 ...
- DOCKER学习_011:使用Dockerfile制作docker镜像
前面使用commit的方式,制作一个docker镜像,本次介绍使用Dockerfile制作一个dockers镜像 [root@docker-server3 ~]# mkdir /openssh [ro ...
- visudo
修改sudo配置 sudo visudo 上面的意思是执行visudo这个命令, visudo其实就是用vi编辑器来编辑/etc/sudoers, 这个文件只能通过visudo来修改 或者在/etc/ ...
- 深入浅出Promise
Abstract Promise的意思是承诺(在红宝书中翻译为期约),新华字典:(动)对某项事务答应照办. Promise最早出现在Commn JS,随后形成了Promise/A规范. Promise ...