我的RHEL 3 HA cluster的两个节点都挂载了共享存储

发布于 2022-07-05 15:05:26 字数 2478 浏览 7 评论 9

我在vmware中使用redhat 3 的clustermanager 来做2节点ha cluster。两节点的外部地址分别是172.16.1.130(cluster3)和172.16.1.140(cluster4),心跳地址分别是10.0.0.130和10.0.0.140,开机后使用clustat发现两个都挂载了共享存储。。这应该不正常啊。
在cluster3上,使用clustat -i 5,看到

Cluster Status - Red Hat Clumanager Cluster                            10:15:26
Cluster Quorum Incarnation #9
Shared State: Shared Raw Device Driver v1.2

  Member             Status   
  ------------------ ----------
  172.16.1.130       Active     <-- You are here
  172.16.1.140       Active               

  Service        Status   Owner (Last)     Last Transition Chk Restarts
  -------------- -------- ---------------- --------------- --- --------
  httpd          started  172.16.1.130     10:12:47 Dec 15   2        0
在cluster4上,我看到
Cluster Status - Red Hat Clumanager Cluster                            10:18:57
Cluster Quorum Incarnation #9
Shared State: Shared Raw Device Driver v1.2

  Member             Status   
  ------------------ ----------
  172.16.1.130       Active               
  172.16.1.140       Active     <-- You are here

  Service        Status   Owner (Last)     Last Transition Chk Restarts
  -------------- -------- ---------------- --------------- --- --------
  httpd          started  172.16.1.140     09:58:44 Dec 15   2        0
cluster3是最近一次切换的,外部httpd请求,此时响应的是cluster3。应该两个节点服务的owner一致啊,为什么会不一致呢??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

撧情箌佬 2022-07-15 18:36:08

原帖由 chenyajun5 于 2005-12-15 10:16 发表
我在vmware中使用redhat 3 的clustermanager 来做2节点ha cluster。两节点的外部地址分别是172.16.1.130(cluster3)和172.16.1.140(cluster4),心跳地址分别是10.0.0.130和10.0.0.140,开机后使用clustat发现两个都 ...

不用看后面我就知道, 你的心跳好象没用上, 不信你 disable 一下其中一个网卡试试.

浅唱ヾ落雨殇 2022-07-15 18:24:47

多谢版主解答。。如果使用network tiebreaker,需要什么要求呢?我能随便指定一个IP么?比如我局域网的网关,是不是需要在专门的网络设备上安装特定的软件来实现?。

我不吻晚风 2022-07-15 18:19:05

原帖由 chenyajun5 于 2005-12-15 13:21 发表
我的是两个节点的,是不是我cluquorumd有问题。我不明白Disk Tiebreaker和 network TieBreaker有啥区别,好像两节点的ha cluster需要使用network TieBreaker,那么那个ip该怎么设置呢?

你的问题实际上回答了很多其他急冲冲要装RHCS的人的问题.

我一直说不管RHCS还是 linux-ha 也好,采用的都是不太可靠的 Tiebreaking机制. 为什么RHCS v4你们看到了 PowerSwitch? 其实powerswitch从RHCS v2.1的时候就存在了,只不过在系统配置中一直保留不用而已. 5年前我研究Kimberlite 的时候就发现实际上,如果在2个node的HA集群环境中,如果发生heartbeat出现故障,互相不知对方节点状态的情况下,按照竞选机制,每一个node都要重新以自己为主建立一个新的集群,但是只有50%的票选,在这个时候,所有原本有序控制的共享资源,比如存储,漂移IP之类的,全部会被竞抢,出现了所谓的brain-split. Kimberlite很早就看到了这个问题,和我们熟悉的linux-ha.org的项目一样,因为自身架构上带来的缺陷,只能通过2个手段来尽可能减少这种问题,一个手段就是linux-ha.org很有代表性的heartbeat 子项目,这也是linux-ha.org把heartbeat放在了一个很主要地位的原因,另外一个有代表性的手段就是kimberlite的powerswitch.  市面上其他的低端linux HA产品,比如rose ha之类的产品,在解决brainsplit的道路上,无外乎采用了这两种手段之一。

发生brainsplit的时候, kimberlite 就通过一个后台service, 强行控制一个node的powerswitch 然后poweroff一个node, 即便这个node reboot之后,也不会正常启动cluster service, 这样就保证了出现 50-50的资源竞抢的时候,可以保护共享资源,并且让一个优先节点来重组cluster.

network tiebreaker 是很多高端ha系统广泛采用的方法,通过把一个仲裁单位放在网络的一个设备上(pc, pc server, server, network device),出现50-50的竞抢之后,让网络上的这个设备来投票参与竞抢,2对1的选择的结果永远不会出现50-50的brain-split.所以也比较可靠。

另外一种稍微差一点的做法是用Quorum LUN/disk,  一般用LUN的会多一点,这样quorum不会出现单点故障.  微软的MSCS用的就是这种方法。相对前面的network tiebreak来说  lun/disk tierbreaker成本相对比较低,可靠性也比较差.

你的这个httpd的问题,我觉得首先要做的就是你要仔细阅读手册,不要有遗漏。第二个是要严格检查httpd service的配置. 不要有任何违反系统要求的配置项存在。 看我置顶的帖子,我认为大部分的看似奇怪的问题,都是因为配置和环境与程序本身的要求不一致造成的。软件本身的缺陷也是要考虑的因素之一。

愚人国度 2022-07-15 18:13:28

谢谢大家。。我是采用七月飞雪的那个文章啊,给两个机器分配一块共享硬盘,

可是我不能没有你 2022-07-15 17:54:50

楼柱说是在vmware中做的实验,那共享存储是怎么做的,我估计就是quorum分区的问题,要是改用实际设备就不会有上面的问题

反差帅 2022-07-15 14:16:19

2个节点都把共享盘mount上了,这是最可怕啊,做双机最怕这个。同时mount上共享分区,数据基本就毁了。
network TieBreaker 设定的IP地址最好是网络中永远不会down的IP地址,如双核心交换机的vrrp虚拟地址等。

夏末 2022-07-14 23:13:05

我的是两个节点的,是不是我cluquorumd有问题。我不明白Disk Tiebreaker和 network TieBreaker有啥区别,好像两节点的ha cluster需要使用network TieBreaker,那么那个ip该怎么设置呢?

雪花飘飘的天空 2022-07-14 08:01:42

很奇怪的是有时候每个节点的clustat 命令显示的httpd owner是相同的,有时候又不同。
把两个节点的httpd都disable以后,两个节点都没有挂载共享存储。
在cluster3上,
Cluster Status - Red Hat Clumanager Cluster                            13:21:36
Cluster Quorum Incarnation #18
Shared State: Shared Raw Device Driver v1.2

  Member             Status   
  ------------------ ----------
  172.16.1.130       Active     <-- You are here
  172.16.1.140       Active               

  Service        Status   Owner (Last)     Last Transition Chk Restarts
  -------------- -------- ---------------- --------------- --- --------
  httpd          disabled (172.16.1.130)   13:18:34 Dec 15   2        0

在cluster4上,
Cluster Status - Red Hat Clumanager Cluster                            13:22:10
Cluster Quorum Incarnation #18
Shared State: Shared Raw Device Driver v1.2

  Member             Status   
  ------------------ ----------
  172.16.1.130       Active               
  172.16.1.140       Active     <-- You are here

  Service        Status   Owner (Last)     Last Transition Chk Restarts
  -------------- -------- ---------------- --------------- --- --------
  httpd          disabled (172.16.1.140)   13:18:22 Dec 15   2        0
重新enable以后两个节点又挂上去了。

[ 本帖最后由 chenyajun5 于 2005-12-15 13:21 编辑 ]

如梦 2022-07-11 16:03:55

原帖由 chenyajun5 于 2005-12-15 10:16 发表
我在vmware中使用redhat 3 的clustermanager 来做2节点ha cluster。两节点的外部地址分别是172.16.1.130(cluster3)和172.16.1.140(cluster4),心跳地址分别是10.0.0.130和10.0.0.140,开机后使用clustat发现两个都 ...

disable掉httpd服务,然后就是单独看cluster service的状态.

集群启动后,察看你的shared storage的状态,如果2个node都mount上了,配置就有问题了.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文