文档章节

关于HA的心跳与Ping

s
 start0cheng
发布于 2015/02/09 23:13
字数 1214
阅读 26
收藏 0

 


  
  1. 个人理解:  
  2.  
  3. 一、关于HA的心跳与Ping:    
  4. 心跳:检测节点是否间是否存活。    
  5. ping : 检测节点的其他接口网络是否正常,如果被ping的IP不能,则表示该接口出现问题。   
  6. 心跳+Ping :检测心跳连接与其他接口是否出现问题。    
  7.  
  8. ping group : 用于侦测ipfail的地址,这应该是个常用固定地址,如网关,建立设置多个!防止被ping的设置出现故障!  
  9. 当ping group里的IP全部不能被ping通时:,  
  10. ==>如果一方能通,一方不通时HA将会failover 
  11. ==>如果两方都不能,HA不会failover  
  12.  
  13. 二、测试环境中可能出现的问题:  
  14.    
  15. a、使用虚拟网络作为心跳网络时,断开心跳的节点网卡,应用不会切换。    
  16. 解决方法:尝试将心跳网络桥接到本地网卡。      
  17. 原因:可能是使用了虚拟网络,节点间发送的包在接收与发送上有问题.    
  18. 同理,有时候使用了虚拟网络,节点断了,也不能切!  
  19.  
  20. HA的测试最好是使用真实网卡,搞虚拟网卡,这些那些问题真让人很难相信这是高可用啊!  
  21.  
  22. 三、HA脑裂开始与恢复过程   
  23. a、断开心跳线,开始脑裂了。  
  24. b、插上网线, 通过HA的状态检测,双方的节点会出现对方节点存活了。  
  25. c、资源管理器会释放资源,关闭应用。  
  26. d、关闭浮动IP  
  27. e、重启heartbeat服务  
  28. f、ha的节点相互检测状态,发现双方都正常。  
  29. g、取得资源、VIP、启应用  
  30.  
  31. =============================================================  
  32. 四、双心跳的测试  
  33.      HA1         HA2  
  34.    eth0  <==心跳==>  eth0        <vmware bridge 1> 
  35.    eth1  <==心跳==>  eth1        <vmware bridge 2> 
  36.    eth2  <==内网==>  eth2        <hostonly> 
  37.  
  38. # tail -2 /etc/ha.d/haresources   
  39. ha1.example.com IPaddr::2.2.2.100/24/eth2:0 httpd  
  40. ha2.example.com IPaddr::2.2.2.101/24/eth2:1 vsftpd  
  41.  
  42. [root@ha1 ~]# ip addr | grep eth2  
  43. 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000  
  44.     inet 2.2.2.10/24 brd 2.2.2.255 scope global eth2  
  45.     inet 2.2.2.100/24 brd 2.2.2.255 scope global secondary eth2:0  
  46.  
  47.  
  48. [root@ha2 ~]# ip addr | grep eth2  
  49. 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000  
  50.     inet 2.2.2.20/24 brd 2.2.2.255 scope global eth2  
  51.     inet 2.2.2.101/24 brd 2.2.2.255 scope global secondary eth2:0  
  52.  
  53. 这只是在原有的基础上,增加一根心跳线!关于这个,我认为,断一根心跳线不会让HA出现脑裂。  
  54.  
  55. 测试项目:  
  56. a、两机正常的情况下,断开节点ha2的eth1网线。  
  57. 结果:  
  58. ha2的日志里提示ha1的网卡eth1死掉了!但对应用访问没有影响!从日志里可以看到没有VIP抢夺的过程。  
  59. heartbeat[7696]: 2011/07/26_17:42:48 info: Link ha2.example.com:eth1 dead.  
  60. ipfail[7723]: 2011/07/26_17:42:48 info: Link Status update: Link ha2.example.com/eth1 now has status dead  
  61. ipfail[7723]: 2011/07/26_17:42:51 info: Asking other side for ping node count.  
  62. ipfail[7723]: 2011/07/26_17:42:51 info: Checking remote count of ping nodes.  
  63. ipfail[7723]: 2011/07/26_17:42:53 info: Ping node count is balanced.  
  64. ipfail[7723]: 2011/07/26_17:42:54 info: No giveup timer to abort.  
  65.  
  66. b、在a的情况下,再拔掉eth2,这个是内网节点的网卡,断开应该直接会切的。  
  67. 结果:应用已经成功切换了。   
  68. 日志详情:  
  69. ipfail[6570]: 2011/07/26_17:49:47 info: Telling other node that we have more visible ping nodes.  
  70. heartbeat[6543]: 2011/07/26_17:49:55 info: ha1.example.com wants to go standby [all]  
  71. heartbeat[6543]: 2011/07/26_17:50:00 info: standby: acquire [all] resources from ha1.example.com  
  72. heartbeat[7021]: 2011/07/26_17:50:00 info: acquire all HA resources (standby).  
  73. ResourceManager[7034]:  2011/07/26_17:50:00 info: Acquiring resource group: ha1.example.com IPaddr::2.2.2.100/24/eth2:0 httpd  
  74. IPaddr[7061]:   2011/07/26_17:50:00 INFO:  Resource is stopped  
  75. ResourceManager[7034]:  2011/07/26_17:50:00 info: Running /etc/ha.d/resource.d/IPaddr 2.2.2.100/24/eth2:0 start  
  76. IPaddr[7159]:   2011/07/26_17:50:00 INFO: Using calculated netmask for 2.2.2.100: 255.255.255.0  
  77. IPaddr[7159]:   2011/07/26_17:50:01 INFO: eval ifconfig eth2:1 2.2.2.100 netmask 255.255.255.0 broadcast 2.2.2.255  
  78. IPaddr[7130]:   2011/07/26_17:50:01 INFO:  Success  
  79. ResourceManager[7034]:  2011/07/26_17:50:01 info: Running /etc/init.d/httpd  start  
  80. ResourceManager[7300]:  2011/07/26_17:50:01 info: Acquiring resource group: ha2.example.com IPaddr::2.2.2.101/24/eth2:1 vsftpd  
  81. IPaddr[7328]:   2011/07/26_17:50:01 INFO:  Running OK  
  82. heartbeat[7021]: 2011/07/26_17:50:02 info: all HA resource acquisition completed (standby).  
  83. heartbeat[6543]: 2011/07/26_17:50:02 info: Standby resource acquisition done [all].  
  84. heartbeat[6543]: 2011/07/26_17:50:03 info: remote resource transition completed.  
  85.  
  86.  
  87. [root@ha2 ~]# ip addr | grep eth2  
  88. 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000  
  89.     inet 2.2.2.20/24 brd 2.2.2.255 scope global eth2  
  90.     inet 2.2.2.101/24 brd 2.2.2.255 scope global secondary eth2:0  
  91.     inet 2.2.2.100/24 brd 2.2.2.255 scope global secondary eth2:1  
  92.  
  93. c、因为b的环境中,已经断了两块网块。  
  94. ==>如果ha1中网卡eht2恢复连接了,如果你的ha.cf启用了auto_failback,那么此时应用就回来了!  
  95. ==>如果ha1与ha2的我两根心跳线全断,那就开始脑裂了。  
  96. ==>如果ha1.ha2心跳线间失去连接后,又恢复连接了。这时候,双方开始重启hearbeat!  
  97.  
  98. ========================================================  

上一张总结的图:

如有问题,欢迎拍砖啊!呵呵!

本文出自 “潜入技术的海洋” 博客,请务必保留此出处http://myhat.blog.51cto.com/391263/623546

本文转载自:http://myhat.blog.51cto.com/391263/623546

s
粉丝 3
博文 260
码字总数 0
作品 0
广州
私信 提问
Linux上的heartbeat双机热备服务架设

【一】 安装前环境设定 两台主机硬件环境(不必完全一致): CPU: Xeon 3G *2 (EM64T) MEM: 2G NIC: Intel 1G *2 eth0: 对外IP eth1: 对内IP(HA专用) 两台主机的eth1使用双机对联线直接连接。 ...

范堡
2009/05/07
918
0
高可用集群之heartbeat安装配置

1. 准备工作 (本文永久地址:http://woymk.blog.51cto.com/10000269/1923285) 配置环境:centos6.9, nginx1.10, heartbeat-3.0.4 先安装、配置两台服务器: 主机名: web1 eth0 ip: 192.168...

woymk
2017/05/08
0
0
heartbeat双机热备实现Web服务的高可用

防伪码:没有相当程度的孤独是不可能有内心的平和。 1、概述 Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,...

达日来
2017/08/29
0
0
自己的简单HEARTBEAT笔记

HEARTBEAT 系统环境:rhel6 x8664 selinux and iptables disabled heartbeat-3.0.4-2.el6.x86_64.rpm 100% 161KB 161.4KB/s 00:00 heartbeat-devel-3.0.4-2.el6.x86_64.rpm 100% 123KB 123.0K......

亚特璐
2016/07/23
0
0
Linux高可用集群方案之heartbeat基础原理及逻辑架构

这篇文章我们主要学习heartbeat高可用集群的基础原理及逻辑架构 ll 本文导航 · heartbeat之基本原理 · heartbeat之版本介绍 · heartbeat之相关术语 · heartbeat之集群组件 · heartbeat之...

ccs_Chan
2017/05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JAVA 编写redisUtils工具类,防止高并发获取缓存出现并发问题

import lombok.extern.slf4j.Slf4j;import org.springframework.data.redis.core.BoundHashOperations;import org.springframework.data.redis.core.BoundValueOperations;import org.......

huangkejie
25分钟前
3
0
JMM内存模型(一)&volatile关键字的可见性

在说这个之前,我想先说一下计算机的内存模型: CPU在执行的时候,肯定要有数据,而数据在内存中放着呢,这里的内存就是计算机的物理内存,刚开始还好,但是随着技术的发展,CPU处理的速度越...

走向人生巅峰的大路
42分钟前
86
0
你对AJAX认知有多少(2)?

接着昨日内容,我们几天继续探讨ajax的相关知识点 提到ajax下面几个问题又是必须要了解的啦~~~ 8、在浏览器端如何得到服务器端响应的XML数据。 通过XMLHttpRequest对象的responseXMl属性 9、 ...

理性思考
51分钟前
4
0
正则表达式基础(一)

1.转义 转义的作用: 当某个字符在表达式中具有特殊含义,例如字符串引号中出现了引号,为了可以使用这些字符本身,而不是使用其在表达式中的特殊含义,则需要通过转义符“\”来构建该字符转...

清自以敬
54分钟前
4
0
idea中@Data标签getset不起作用

背景:换电脑以后在idea中有@data注解都不生效 解决办法:idea装个插件 https://blog.csdn.net/seapeak007/article/details/72911529...

栾小糖
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部