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 ...
随机推荐
- 攻防世界(十一)warmup
攻防世界系列 :warmup 1.打开题目,一个贱贱的滑稽表情 F12看到注释内容source.php 2.访问source.php <?php highlight_file(__FILE__) ...
- 基于多主机的Web服务
[Centos7.4版本] !!!测试环境我们首关闭防火墙和selinux [root@localhost ~]# systemctl stop firewalld [root@localhost ~ ...
- 如何在我的EC2实例状态更改时获取自定义电子邮件通知
具体详情,请参见: https://amazonaws-china.com/cn/premiumsupport/knowledge-center/ec2-email-instance-state-ch ...
- 回车与换行的区别:CRLF、CR、LF
引言 以下是 MySQL 8 导出数据的窗口,导出数据时需要选择记录分隔符,这就需要你明白 CRLF.CR 和 LF 分别代表什么,有何区别,否则可能导出数据会出现莫名其米的问题. 名词解释 CR:C ...
- Linux中级之负载均衡(lvs,nginx,haproxy)、中间件
一.负载均衡的概念 1.系统的扩展方式: scale up:向上扩展 scale out:向外扩展 2.集群类型: LB(Load Balancing).HA(high availability) ...
- Module not found: Error: Can't resolve 'less-loader' in ' xxx' (Day_40)
1. 错误代码: 2. 解决方法: 删除项目文件夹下的node_modules文件夹 执行npm install命令
- 【三】Kubernetes学习笔记-Pod 生命周期与 Init C 介绍
一.容器生命周期 Init C(初始化容器)只是用于 Pod 初始化的,不会一直随着 Pod 生命周期存在,Init C 在初始化完成之后就会死亡. 一个 Pod 可以有多个 Init C,也可以不需 ...
- MongoDB(8)- 文档删除操作
删除方法 db.collection.deleteOne() 删除单条文档 db.collection.deleteMany() 删除多条文档 db.collection.remove() 删除单条或 ...
- Jmeter- 笔记4 - 参数化 、函数
参数化 调用变量的用法: ${变量名} 参数化第一 二种. 定义变量的两种方法: 配置元件(Config Element) -> 用户定义的变量(User Defined Variables) ...
- Supervisor 开始
Supervisor 是 Linux/Unix 操作系统上的进程管理工具.本文介绍了于 Ubuntu 18 上如何使用 Supervisor 开机启动.保活守护自己的服务进程. 安装 建议系统方式安装 ...