对集群的一点了解

最近在做mysql的高可用集群时,采用了heartbeat + drbd 来实现。在做灾难测试时发现两个问题:

1、发现当禁用网卡连接,模拟网卡失效时,主/备服务器不能实现正常的故障转移。后查资料发现,原来heartbeat 的故障切换只能在主服务器宕机或heartbeat 服务关闭的情况下,才能实现故障的正常切换。不能实现对网卡状态的监控。其实这个问题可以通过 heartbeat 中的 ipfail 功能来实现。原本我认为ipfail功能是一个可有可无的功能,有的话,对系统加多一层保障,没有的话,也不会产生影响。但经过这一次,我发现我错了,ipfail功能还是很有用的,它并不是虚设的,它是真正实用的工具。ipfail 可以实现对网络状态的监控,当 ipfail 的机制发现所监控的网络没有网络连接时,将会触发一个主/备故障转移操作。在做 ipfail 操作时,注意一点就是 ipfail 只能用于监控公网接口,不能与内部的心跳接口放在一起监听,如果在同一个接口的话,会导致 ipfail 工作失效。这或许是为什么很多朋友在网上说,ipfail不能正常工作的原因吧。网上有些朋友说,ipfail 已经过时,不能用啦。我个人觉得,这是理解错误,如果ipfail功能失效,那为什么在heartbeat安装后,还会有这个工具呢?ipfail 在Heartbeat的CRM模式下据说会与CRM有冲突,这个没有测试过,不敢发表意见。

2、当主/备之间的心跳线断开网络连接时,不能进行故障的切换。这个原本按着我对集群的理解是,当主/备之间的心跳断开连接时,就会产生一次主/备故障切换的过程。但经过这次实际的测试,发现事实并非如此,事实是当主/备之间的心跳断开连接时,此时主/备都会将自己作为主服务器,此时两台服务器都会拥有集群资源,这时,也就是发生了大家常说的“裂脑”现象。在红帽的 RHCS 中有一种专门用来解决这种“裂脑”现象的机制叫 Fence 。RHCS通过使用一种专业的 Fence 设备来对集群进行心跳监听,Fence 设备会不断对集群中的主服务器进行主跳监听,当发现集群中的主服务器没有心跳时,Fence 设备会向主服务器发送一个强制关机的信号,将失去网络连接的主服务器关机,以实现网络中只会有一台服务器拥有集群的资源。我现在终于明白,为什么我当初在学习RHCS的时候,有一位牛人说,如果RHCS中没有使用Fence 机制,RHCS 是不完美的,无法称为真正意义上的集群。现在我终于明白啦。Heartbeat 中没有这种机制,也许 Heartbeat 的CRM 模式会有,但CRM的配置太复杂了一点,而且至今没有发现有这方面的成功案例。但我想 CRM模式只是实现资源的监控,但对于这种裂脑现象,却不一定有效。目前解决这种问题的方法,我认为行之有效,而又直接便利的方法:是使用 bonded 技术,将两块网卡绑定起来,实现网卡冗余。这样当两台服务器的其中一块网卡出现故障时,不会影响到服务器之间的心跳监测。

收获:

1、对 Heartbeat 的故障切换与Heartbeat 的 ipfail 使用有一个更清晰的了解。

2、对于集群中的“裂脑”现象,认识更深刻啦。

3、终于认清了半知半懂的 Fence 机制啦。

YEAH!

时间: 2024-07-30 13:49:27

对集群的一点了解的相关文章

我的ElasticSearch集群部署总结--大数据搜索引擎你不得不知

摘要:世上有三类书籍:1.介绍知识,2.阐述理论,3.工具书:世间也存在两类知识:1.技术,2.思想.以下是我在部署ElasticSearch集群时的经验总结,它们大体属于第一类知识“techknowledge(技术)”.但其中也穿插一些我个人的理解.敬请指正. 关键词:ElasticSearch, 搜索引擎, 集群, 大数据, Solr, 大数据 三类书籍 和 两类知识: 有一些书是对某一新知识领域的介绍,将此知识领域从头到尾.从内而外剖开了分析,吸收这些知识主要在于“记忆”,(也有“领会”)

LVS集群及keepalived高可用

1.1 什么是ARP协议    ARP协议,全称"Address Resolution Protocol",中文名是地址解析协议,使用ARP协议可以实现通过IP地址获得对应主机的物理地址(MAC地址).    在TCP/IP的网络环境下,每个联网的主机都会被分配一个32位的IP地址,这种互联网地址是在国际范围标识主机的一种逻辑地址(在公网上是一个唯一的地址).为了让数据包(报文)在物理网路上传输,还必须要知道对方目的主机的物理地址(MAC)才行.这样就存在把IP地址变换成物理地址的地址

zookeeper和solr搭建集群分片查询

这几天双十一弄得不要不要的.各种困.出差有一些时间.晚上回头摆弄摆弄.白天不忙就是找个地方想想写写.就这样一周多过去了.好了.不扯了入正题. 1 .环境搭建 MacBook pro 15款840 OS X 10.10.5 solr-5.2.1.tgz zookeeper-3.4.6.tar.gz VMWare Fusion8 Centos 6.7 2 .搭建solr集群. 在之前说过zookeeper集群的搭建,所以在这就别啰嗦了.基本是一样的.不过因为之前搭建过rabbitmq集群,改了一些配

架构师之路--视频业务介绍,离线服务架构和各种集群原理

先聊聊业务.我们媒资这边目前的核心数据是乐视视频的乐视meta和专门存储电视剧,综艺节目,体育赛事这种长视频的作品库.乐视视频的数据都是多方审核的,需要很多运营.但是作品库部分却是弱运营的,运营都不超过10个人.结果做了两个app,日活都有四五百万的样子.我们其实都有各样的技术储备,很容易可以抓取人家数据,自己套上一个壳子在线解码.但是我们逼格很高,都不这么做的.乐视是个非常注重版权的公司.我名下都有近百个专利了. 撇开这个项目,先看这边一般web项目的常用JVM配置. <jvm-arg>-X

(apache+tomcat集群+memcached番外篇)单台tomcat的session信息的2种持久化方式

为什么要实现搭建tomcat集群环境呢?主要因为单个tomcat无论从吞吐量和并发数上,会达到一定的极限.如果访问量超过单个tomcat的承受能力的话,tomcat一般要么拒绝提供服务,要么直接宕掉.所以,必须要依靠tomcat集群技术.举个最简单的例子,拿"送快件"比喻,如果一个人,5分钟送一件,一小时之内,送10个,一个人完全能胜任这项工作.假设现在到了双十一,要求1小时,送100个, 那怎么办?只能安排更多的人加入"送快件"这项工作中来.这其实和集群一个道理.

集群通信应用开发吐槽(2014年)

在集群通信行业两家公司开发PC应用六年了,但在对开发的理解的道路上感觉还是挺孤独的,于是想写点东西发泄下郁闷,没想到只想了一两小时就写了几十条提纲.好话说在前面,文中的提到的现象可能不全面,甚至是误会的,文中的观点更是需要审视的看待. 产品越复杂(越多硬件)越能卖出好价钱 产品便携易用,越能解决客户问题,越给客户创造价值,才越值钱.产品成本和产品价值没有直接关系,iphone的成本如果只有1元钱,就没人花45千买了? 性能问题需要测试数据来证明 在讨论某个功能的整体设计时,做嵌入式开发的常常随意

分布式与集群的区别

转自:http://sctrack.360doc1.net/track/click/eyJ1c2VyX2lkIjogMzkwMjIsICJ0YXNrX2lkIjogIiIsICJlbWFpbF9pZCI6ICIxNDUyNzgzODgwNDI4XzM5MDIyXzI5NTM3XzE0OTkuc2MtMTBfMTBfMTI3XzUxLWluYm91bmQwJGN4emR5QHZpcC5xcS5jb20iLCAic2lnbiI6ICI2NjgyOTU1Zjg1YTZiZWNkZTNjMWNjYjlh

web集群中常用的session同步解决方案及对比

随着网站的功能越来越多,用户量越来越庞大,单节点模式已经严重不能支撑整个系统的正常运作,轻则用户页面访问时间越来越慢,重则就会导致整个系统瘫痪.这时候 就需要优化或调整目前的架构,大部分人就会采用各种负载均衡软件例如nginx.hproxy.LVS等,也有的采用分布式的方式把系统根据功能拆分成很多系统,也有的根据地域 和网络不同来实现访问不同节点部署的系统,也有的大型高流量.高负载的系统把负载均衡.分布式及根据地域.网络等这些方式都整合在一起来实现系统的正常运行. 采用负载均衡软件是目前大家采取

Hadoop集群内lzo的安装与配置

LZO压缩,可分块并行处理,解压缩的效率也是可以的. 为了配合部门hadoop平台测试,作者详细的介绍了如何在Hadoop平台下安装lzo所需要软件包:gcc.ant.lzo.lzo编码/解码器并配置lzo的文件:core-site.xml.mapred-site.xml.希望对大家有所帮助.以下是正文: 最近我们部门在测试云计算平台hadoop,我被lzo折腾了三四天,累了个够呛.在此总结一下,也给大家做个参考. 操作系统:CentOS 5.5,Hadoop版本:hadoop-0.20.2-C