heartbeat

HeartBeat高可用学习笔记

馋奶兔 提交于 2020-03-05 18:27:36
一、 heartbeat和KeepAlived一样都是服务器级别的,不是业务级别的。业务宕机不会切换,需要对业务做监控。 二、heartbeat消息类型: 1. 心跳消息 150字节左右,可以单播,多播和广播,控制心跳频率和故障接管等待时间。 2. 集群转换消息 1. ip-request 主机恢复正常后发送该消息要求接管的备机释放资源。 2. ip-request-resp 备机释放资源后通知主机不再拥有资源。 3. 重传请求(略)rexmit-request控制重传心跳请求 以上消息均通过UDP协议发送到/etc/ha.d/ha.cf文件中指定的端口或多播地址。 三、heartbeat的IP接管和故障转移 heartbeat是通过IP地址接管和ARP广播来转移的。 四、配置VIP,增加心跳线主机路由 route add -host 192.168.1.45 dev eth1 route add -host 192.168.1.44 dev eth1 五、centos6已经无法yum install heartbeat,需要先安装epel源。 yum install heartbeat 如果是centos5.8,一定要yum安装两遍才能成功。 六、配置 ha的yum安装默认模板文件在/usr/share/doc/heartbeat-3.0.4/目录 安装目录在/etc/ha.d

linux双机热备份

不想你离开。 提交于 2020-03-03 02:18:17
使用HeartBeat实现高可用HA的配置过程详解 一、写在前面 HA即(high available)高可用,又被叫做双机热备,用于关键性业务。简单理解就是,有2台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至B机器继续提供服务。常见的实现高可用的开源软件有 heartbeat 和 keepalived。 这样,一台 web 服务器一天24小时提供web服务,难免会存在 web 服务挂掉或服务器宕机宕机的情况,那么用户就访问不了服务了,这当然不是我们期望的。如果这样,有2台服务器,A对外提供 web 服务,B作为备用,如果A挂掉,那么B立刻替代A的位置去提供 web 服务,这样对用户来说是透明的。但是有个问题,服务器A的 ip 是 10.0.0.100,服务器B的 ip 是 10.0.0.101,显然向用户提供A或B的ip地址是不可行的,因为用户总不能去切换ip来访问的吧。这时heartbeat或keepalived可以提供一个虚拟IP:10.0.0.102,用户只需要访问 10.0.0.102,当A提供服务时,VIP 会设置在A服务器上,当B提供服务时,VIP会设置在B服务器上,这样就可以让用户通过访问 10.0.0.102 来获取web服务,即使A或B服务器切换也不影响用户的正常访问。 下面我们使用 heartbeat 来做 HA 集群

heartbeat + pacemaker实现pg流复制自动切换

*爱你&永不变心* 提交于 2020-03-02 09:07:26
heartbeat + pacemaker + postgres_streaming_replication 说明: 该文档用于说明以 hearbeat +pacemaker 的方式实现 PostgreSQL 流复制自动切换。注意内容包括有关 hearbeat /pacemaker 知识总结以及整个环境的搭建过程和问题处理。 一、介绍 Heartbeat 自 3 版本开始, heartbeat 将原来项目拆分为了多个子项目(即多个独立组件),现在的组件包括: heartbeat 、 cluster-glue 、 resource-agents 。 各组件主要功能: heartbeat :属于集群的信息层,负责维护集群中所有节点的信息以及各节点之间的通信。 cluster-glue :包括 LRM (本地资源管理器)、 STONITH ,将 heartbeat 与 crm (集群资源管理器)联系起来,属于一个中间层。 resource-agents :即各种资源脚本,由 LRM 调用从而实现各个资源的启动、停止、监控等。 Heartbeat 内部组件关系图: Pacemaker Pacemaker ,即 Cluster Resource Manager ( CRM ),管理整个 HA ,客户端通过 pacemaker 管理监控整个集群。 常用的集群管理工具: ( 1 )基于命令行

安装Heartbeat相关的报错信息

狂风中的少年 提交于 2020-03-02 08:38:50
#############################报错信息########################### You must have autoconf installed to compile the cluster-glue package. Download the appropriate package for your system, or get the source tarball at: ftp://ftp.gnu.org/pub/gnu/autoconf/ 解决方法: yum install automake Download the appropriate package for your system, or get the source tarball at: ftp://ftp.gnu.org/pub/gnu/automake/ 解决方法: yum install autoconf You must have libtool installed to compile the cluster-glue package. Download the appropriate package for your system, or get the source tarball at: ftp://ftp.gnu.org/pub/gnu/libtool/

“Heartbeats” from client to server in PHP/JS

假如想象 提交于 2020-02-29 06:13:23
问题 I am trying create a small web application that allows a user to "login" and "logout." What I am currently having a problem with is allowing the client to send constant "heartbeats" or messages to the server to notify that it is still active. This is more of a logical question. What I want to do is have a while(1) loop in php that checks if n number of heartbeats have been skipped. I still want the client and server to be able to interact while this loop is going on (essentially I want the

“Heartbeats” from client to server in PHP/JS

被刻印的时光 ゝ 提交于 2020-02-29 06:12:51
问题 I am trying create a small web application that allows a user to "login" and "logout." What I am currently having a problem with is allowing the client to send constant "heartbeats" or messages to the server to notify that it is still active. This is more of a logical question. What I want to do is have a while(1) loop in php that checks if n number of heartbeats have been skipped. I still want the client and server to be able to interact while this loop is going on (essentially I want the

“Heartbeats” from client to server in PHP/JS

我只是一个虾纸丫 提交于 2020-02-29 06:11:28
问题 I am trying create a small web application that allows a user to "login" and "logout." What I am currently having a problem with is allowing the client to send constant "heartbeats" or messages to the server to notify that it is still active. This is more of a logical question. What I want to do is have a while(1) loop in php that checks if n number of heartbeats have been skipped. I still want the client and server to be able to interact while this loop is going on (essentially I want the

PCS集群的一些命令总结!非常好!

亡梦爱人 提交于 2020-02-27 23:40:51
https://blog.csdn.net/hhhh2012/article/details/48313909 使用pcs shell配置corosync & pacemaker群集 Pacemaker Pacemaker,即Cluster Resource Manager(CRM),管理整个HA,客户端通过pacemaker管理监控整个集群。 CRM支持ocf和lsb两种资源类型: ocf格式的启动脚本在/usr/lib/ocf/resource.d/下面。 lsb的脚本一般在/etc/rc.d/init.d/下面。 1、常用的集群管理工具: (1)基于命令行 crm shell/pcs (2)基于图形化 pygui/hawk/lcmc/pcs 2、相关的资源文件: (1)/usr/lib/ocf/resource.d,pacemaker资源库文件位置,可安装资源包:resource-agents 获取更多ocf格式的资源。 (2)/usr/sbin/fence_***,Fencing设备的执行脚本名称,可安装资源包:fence-agents 获取更多Fencing设备资源。 3、查看使用说明: [shell]# man ocf heartbeat ## 查看OCF资源说明,man ocf_heartbeat apache [shell]# man fence ##

mina服务端检测客户端心跳实例

五迷三道 提交于 2020-02-27 18:35:06
还有相关的帖子: https://blog.csdn.net/m0_37619559/article/details/79504710 https://www.iteye.com/blog/wandejun1012-2065941 (有代码) https://blog.csdn.net/kkk0526/article/details/51732437 https://blog.csdn.net/hannuotayouxi/article/details/78685334 (服务端和客户端代码都有) 服务端代码 public class MyServer { /** 30秒后超时 */ private static final int IDELTIMEOUT = 30; /** 15秒发送一次心跳包 */ private static final int HEARTBEATRATE = 15; /** 心跳包内容 */ private static final String HEARTBEATREQUEST = "xixixi";//预设请求内容 private static final String HEARTBEATRESPONSE = "hahaha";//预设应答内容(记得客户端在接收到预设请求内容回复给服务端一定也是这个内容哦) public static void

Heartbeat基础知识

拈花ヽ惹草 提交于 2020-02-25 22:16:37
在日常的集群系统架构中,一般用到Heartbeat的主要就2种: 1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为”双机热备”, “双机互备”, “双机”; 2)负载均衡群集(Load Balance Cluster),使用Linux Virtual Server(LVS)实现; Heartbeat 的介绍 Heartbeat是Linux-HA项目中的一个组件,它实现了一个高可用集群系统。 心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat项目里,由heartbeat模块实现了这两个功能 。Heartbeat是目前开源HA项目中十分成功的一个例子,它提供了所有 HA 软件所需要的基本功能,比如 心跳检测和资源接管、监测群集中的系统服务、在群集中的节点间转移共享 IP 地址的所有者 等,自1999年开始到现在,Heartbeat在行业内得到了广泛的应用。heartbeat最核心的功能包括两个部分,心跳监测和资源接管。心跳监测可以通过网络链路和串口进行,而且支持冗 余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。 Hearbeat和Keepalived区别 1)