19、高可用工具heartbeat介绍
19.1、heartbeat的作用:
heartbeat的官方网站地址是:http://linux-ha.org/wiki/Main_Page
19.2、heartbeat工作原理:
19.3、heartbeat切换的条件:
1、和keepalived服务一样,heartbeat高可用是服务器级别的,不是服务级别的;
2、切换的条件是:
(1)服务器宕机;
(2)heartbeat服务本身故障;
(3)心跳连接故障(网络连接故障);
(4)可以通过停掉heartbeat服务实现切换;
19.4、heartbeat心跳连接:
要部署heartbeat服务,至少需要两台主机来完成;
1、两台主机如何做到相互监测:
(1)串行电缆(串口)(首选);
(2)一根以太网电缆两网卡直连;(推荐)
(3)以太网电缆,通过交换机等网络设备连接(次要);
1)缺点:增加了交换机故障点;
2)线路不是专用心跳线,容易受其他数据传输的影响,
导致心跳报文发送问题;
19.5、heartbeat裂脑:
1、什么是裂脑:
2、发生裂脑的原因:
(1)高可用服务器之间心跳链路故障,导致无法通信;
1)心跳线坏了(包括断了,老化);
2)网卡及相关的驱动故障,ip配置冲突,心跳间设备故障;
(2)高可用服务器对上开启了防火墙阻挡了心跳消息传输;
(3)高可用服务器对上心跳网卡地址等信息配置不正确,导致心跳发送失败;
(4)其它服务配置不当的原因,如心跳的方式不同,心跳广播冲突,软件bug等;
3、预防脑裂的方法:
19.6、heartbeat消息类型:
1、消息类型:
(1)心跳消息;
(2)集群转换消息;
(3)重传消息;
2、心跳消息:
3、集群转换消息:
4、重传消息:
19.7、heartbeat的ip接管和故障转移原理:
19.8、vip(ip别名,辅助ip)介绍:
ifconfig eth1:0 192.168.0.111/24 up
#创建网卡别名,heartbeat 2版本用;
ip addr add 10.0.0.3/24 dev eth0 label eth0:0
#创建辅助ip,heartbeat 3版本起使用;
ifconfig eth0:0 down #删除网卡别名或辅助ip;
19.9、heartbeat脚本默认目录:
1、启动目录:
/etc/init.d/
2、资源目录:
/etc/ha.d/resource.d/
3、heartbeat控制脚本的要求:
(1)把脚本放到上面两个路径其中任意一个下面,然后在/etc/ha.d/haresource配置
文件中配置脚本名称就能够调用到该脚本,进而控制资源和服务的启动和关闭;
(2)脚本要有执行的权限;
(3)脚本执行需要以/etc/init.d/httpd stop|start 的方式;
(4)/etc/init.d/httpd名字要和/etc/ha.d/haresource中配置的启动服务名相同;
(5)/etc/ha.d/resource.d/目录为heartbeat的默认脚本存放目录;
(6)master-db IPaddr::172.16.1.26/24/eth1 httpd #使用heartbeat管理http服务;
19.10、heartbeat的配置文件:
19.11、高可用软件使用的场景:
1、使用的条件:
高可用服务器对之间数据要时时同步,否则高可用切换时数据会不一致;
2、web代理的高可用:
keeplived+lvs/nginx/haproxy
heartbeat+nginx/haproxy
控制vip资源的漂移,不负责服务资源的启动及停止;
3、存储和数据库的高可用方案:
(1)数据库:
heartbeat+drbd+mysql
(2)存储:
heartbeate+drbd+nfs
也可以使用keepalived/heartbeat+(inotify+rsync)+nfs
(3)注意事项:
heartbeat既控制vip资源的漂移同时又控制服务资源启动及停止,heartbeat控制服务资源
启动及停止时,服务资源不要设置为开机自启动;
19.12、heartbeat修改配置文件要点:
heartbeat常见的情况就是修改配置文件,主要有三个配置文件,分别是ha.cf、authkey、haresource;
在修改配置文件之前需要执行/etc/init.d/heartbeat stop或者是/usr/lib64/heartbeat/hb_standby,把
本机业务推到备节点工作,当确认被节点工作正常后才开始修改本地的配置,修改好后执行/etc/init.d/heartbeat start
命令把资源服务接管回来;
确定资源接管的命令:
ifconfig | grep "vip地址"
wget url
[root@master-db ~]#/etc/init.d/heartbeat
Usage: /etc/init.d/heartbeat {start|stop|status|restart|reload|force-reload}
19.13、一个局域网中多组heartbeat服务同时开启的问题:
mcast eth0 255.0.0.1 694 1 0
即使在一个局域网中是多组heartbeat服务同时使用,多播方式也是没有问题的,前提是
多播地址不能够相同(多播地址段是224.0.0.0 - 239.255.255.255),不用多播用单播也是可以的;
19、高可用工具heartbeat介绍的更多相关文章
- mysql高可用方案MHA介绍
mysql高可用方案MHA介绍 概述 MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常10-30秒内),完成故障切换,部署MHA, ...
- Nginx之keepalived高可用工具
1.创建两台虚拟机,分别为主机和从机,区别两台虚拟机的IP地址 2. 将keepalived上传到linux系统当中 3. cd /usr/local目录 4. tar -zxvf keepalive ...
- MySQL高可用工具--orchestrator
orchestrator是一款MySQL高可用工具,其支持: 集群拓扑探测 集群拓扑重塑 故障恢复 提供3种使用方式: 命令行 HTTP API web页面 orchestator github地址
- 高可用-软件heartbeat的入门介绍
注:参考互联网整理. 一.简介Linux-HA的全称是High-Availability Linux,它是一个开源项目,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(r ...
- 高可用群集HA介绍与LVS+keepalived高可用群集
一.Keepalived介绍 通常使用keepalived技术配合LVS对director和存储进行双机热备,防止单点故障,keepalived专为LVS和HA设计的一款健康检查工具,但演变为后来不仅 ...
- Keepalived高可用集群介绍
1.Keepalived服务介绍 Keepalived起初是专为LVS设计的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入了VRRP的功能,因此除了配合LVS服务外,也可以为其他服务(n ...
- 高可用工具keepalived学习笔记
keepalived完全遵守VRRP协议包括竞选机制,至于VRRP是什么这里不说了参考http://wenku.baidu.com/link? url=1UbkmHuQlGECgC90P7zF6u2x ...
- mysql 高可用方案MHA介绍
概述 MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常10—30秒内),完成故障切换,部署MHA,可避免主从一致性问题,节约购买新 ...
- keepalived高可用工具
1.准备俩台虚拟机,一台主机,一台备机 我这里模拟的是 主机ip: 192.168.42.66 masternginx 备机ip: 192.168.42.77 slavenginx 虚拟ip: 192 ...
随机推荐
- 有没有一种组合字体,中文是宋体,英文是times new roman?
有没有一种组合字体,中文是宋体,英文是times new roman? 由于日常科研工作书写需要,想问问各位大神有没有一种字体,中文是宋体,西文是times new roman,这样写论文好方便啊有没 ...
- 实战-加密grub防止黑客通过单用户系统破解root密码
基于Centos8进行grub加密 加密grub 实战场景:给grub加密,不让别人通过grub进入单用户. 使用grub2-mkpasswd-pbkdf2创建密文 [root@localhost ~ ...
- 046.Python协程
协程 1 生成器 初始化生成器函数 返回生成器对象,简称生成器 def gen(): for i in range(10): #yield 返回便能够保留状态 yield i mygen = gen( ...
- 7.json&pickle及软件目录结构规范
json(可以序列化简单数据类型,用于不同语言之间的数据交换传输)import jsonjson.dumps() 写入json.loads() 读取json.dump(info,f) == f.wri ...
- fcntl详解
功能描述:根据文件描述词来操作文件的特性. #include <unistd.h>#include <fcntl.h> int fcntl(int fd, int cmd); ...
- MyBatis-框架使用和分析
一.基础知识 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBatis 可 ...
- 限流&熔断的考量
限流的原则,是尽量在流量源头限,并且是需要依据现有团队所掌握的技能来. 如上最左侧便是主要流量的来源入口,首先就要限制的地方就是slb节点的income流量 slb节点的流量特点是啥?加限流怎么加?限 ...
- Paddle Release Note
Paddle Release Note 重要更新 飞桨paddle框架2.0.0版本有如下重要更新: 编程范式:默认开启动态图模式进行模型开发和训练,通过动转静的方式进行模型部署和训练加速.如果需要使 ...
- 神经网络AI加速器技术
神经网络AI加速器技术 能够直接加速卷积神经网络,还能够直接运行常见的网络框架,如TensorFlow.Caffe.PyTorch,DarkNet等,支持用户定制化的网络和计算类型. 功能特点: ● ...
- Excel创建序列号1000个
一.输入1,并且选择 二.开始-填充 三.选择序列 四.选择列-等差序列-步张值输入1 终止值输入1000 点击确定 五.查看结果,选中这一列 六.快捷键 Ctrl+下键 则跳转到最下方,上键则是最上 ...