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 ...
随机推荐
- Linux命令nohup实现命令后台运行并输出到或记录到日志文件
Linux命令nohup实现命令后台运行并输出到或记录到日志文件 导读 我们在调试程序的时候,免不了要去抓一些 log ,然后进行分析.如果 log 量不是很大的话,那很简单,只需简单的复制粘贴就好. ...
- LVM 相关知识
LVM 相关知识 一.示例图 二.概念 名词 全称 释义 PV Physical Volume 物理硬盘.硬盘分区或者RAID磁盘阵列,先要创建pv VG Volume Group 卷组建立在物理卷之 ...
- windows怎么访问linux的samba共享目录
windows怎么访问linux的samba共享目录 听语音 原创 | 浏览:6976 | 更新:2018-07-31 13:20 | 标签:LINUX WINDOWS 1 2 3 4 5 6 7 分 ...
- Windows 10 创建虚拟网卡
想把虚拟机桥接到我的电脑,但我连的是无线网电脑没查网线,所以就创建个虚拟网卡吧. 1.win + x 打开设备管理器 2.网络适配器 + 操作 + 添加过时硬件 3.下一步 4.选-->安 ...
- 064.Python开发虚拟环境
在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题:亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难.此时,我们需要对于不同的工程使用不同 ...
- java 实现简单的单点登录
https://my.oschina.net/leamon/blog/266711 https://serviceturbo-cloud-cn.huawei.com/serviceturbocloud ...
- Winsock2使用记录
本文地址:https://www.cnblogs.com/oberon-zjt0806/p/14814144.html WinSock 2 MSDN文档:https://docs.microsoft. ...
- @JSONField与@DateTimeFormat 注解(Day_21)
@JSONField的常用参数说明 @JSONField(ordinal = 1) //指定json序列化的顺序 @JSONField(serialize = false) //json序列 ...
- lua type 获取 类型
lua中的类型作一小记 print(type("Hello world")) --> string print(type(10.4*3)) --> number pri ...
- 八、Pandas 表格处理
pandas有两个数据结构,一个是series 另一个是DataFrame from matplotlib import pyplot as plt import numpy as np import ...