Chinaunix

标题: RHCS集群切换问题。求教!! [打印本页]

作者: yfort    时间: 2008-07-01 18:49
标题: RHCS集群切换问题。求教!!
我的两台IBM3850服务器。fence设备用的bmc芯片。即ipmilan模式的。现在配置好后,加载服务能够起来,浮动ip。盘柜都能起来,用命令切换是正常的(5.1的版本图形界面有bug)。但如果进行以下测试就切换不过来。麻烦大家分析一下大概问题在哪?我看了下日志,好像是fence设备有问题。系统检测到cluster有问题。但却fence不了那台服务器。
(1)       正常切换测试:使用集群软件进行集群切换,查看切换后数据库状态

测试切换正常



(2)       灾难切换测试:强制关闭Online状态服务器,查看切换后数据库状态

测试失败:

关闭Oline状态服务器后,集群服务不能够切换到备机,通过集群服务管理软件侦测到的备用服务器的集群状态如下。

[root@hfdb02 init.d]# clustat

Member Status: Quorate



  Member Name                        ID   Status

  ------ ----                        ---- ------

  hfdb01                                1 Offline

  hfdb02                                2 Online, rgmanager



  Service Name         Owner (Last)                   State         

  ------- ----         ----- ------                   -----         

  serviceracled      hfdb01                         started  

集群软件虽然已经侦测到hfdb01已经故障,但是集群服务oracled还是在hfdb01上运行,但此时hfdb01已经被强制关机。



(3)       网卡冗余测试:断开数据库服务器online状态服务器的1个网口

测试失败:

断开Oline状态服务器的网口后,处于Oline状态的服务器已经没有网络和生产网通讯,但是集群软件也不能够切换到网络状态正常的备机。

通过集群服务管理软件侦测到的备用服务器的集群状态如下

[root@hfdb02 init.d]# clustat

Member Status: Quorate



  Member Name                        ID   Status

  ------ ----                        ---- ------

  hfdb01                                1 Offline

  hfdb02                                2 Online, rgmanager



  Service Name         Owner (Last)                   State         

  ------- ----         ----- ------                   -----         

serviceracled      hfdb01                         started
作者: jerrywjl    时间: 2008-07-01 22:33
照你这么说,我感觉还真是见了鬼了!哈哈!

不过我还是提醒一下你:
首先你提供的信息不能说明任何问题。因为没有日志,没有配置文件,没有拓扑结构图,没有操作说明。

这种情况下的猜测只是在做无用功,所以我建议你把我说的这些东西都提供一下吧,如果你真想解决问题的话。
作者: yfort    时间: 2008-07-02 09:07
标题: 回复 #2 jerrywjl 的帖子
配置文件如下:我做了两套cluster。这个配置文件是应用服务器的,不过故障现象一样。
<?xml version="1.0" ?>
<cluster config_version="9" name="hfcard_cluster">
        <fence_daemon post_fail_delay="0" post_join_delay="3"/>
        <clusternodes>
                <clusternode name="hfapp01" nodeid="1" votes="1">
                        <fence>
                                <method name="1">
                                        <device name="fence1"/>
                                </method>
                        </fence>
                </clusternode>
                <clusternode name="hfapp02" nodeid="2" votes="1">
                        <fence>
                                <method name="1">
                                        <device name="fence2"/>
                                </method>
                        </fence>
                </clusternode>
        </clusternodes>
        <cman expected_votes="1" two_node="1"/>
        <fencedevices>
                <fencedevice agent="fence_ipmilan" auth="none" ipaddr="10.0.1.23" login="root" name="fence1" passwd="111111"/>
                <fencedevice agent="fence_ipmilan" auth="none" ipaddr="10.0.1.24" login="root" name="fence2" passwd="111111"/>
        </fencedevices>
        <rm>
                <failoverdomains>
                        <failoverdomain name="hfcard" ordered="0" restricted="1">
                                <failoverdomainnode name="hfapp01" priority="1"/>
                                <failoverdomainnode name="hfapp02" priority="1"/>
                        </failoverdomain>
                </failoverdomains>
                <resources>
                        <fs device="/dev/emcpowerb1" force_fsck="0" force_unmount="1" fsid="34178" fstype="ext3" mountpoint="/app" name="emcpowerb1" options="" self_fence="1"/>
                        <ip address="10.0.1.15" monitor_link="1"/>
                        <script file="/etc/init.d/hfcardd" name="hfcardd"/>
                </resources>
                <service autostart="1" domain="hfcard" exclusive="1" name="hfcardd">
                        <ip ref="10.0.1.15"/>
                        <fs ref="emcpowerb1"/>
                        <script ref="hfcardd"/>
                </service>
        </rm>
</cluster>

[ 本帖最后由 yfort 于 2008-7-2 09:11 编辑 ]
作者: yfort    时间: 2008-07-02 09:15
日志文件大概意思是说,备节点发现主节点失效,但fence主节点的时候失败。用fence_ipmilan命令是可以控制服务器开关机的。当时fence_ipmilan  reboot的时候确是关机。
作者: jerrywjl    时间: 2008-07-02 09:16
从配置文件上看,基本上没有问题,不过信息不全,继续等。
作者: txl829    时间: 2008-07-02 09:33
我感觉楼主的问题应该跟我的那个问题差不多,同样都是ipmi作fence的问题,关键是网线怎么接的问题,我想知道服务与心跳怎么可以都放在eth0上?
作者: yfort    时间: 2008-07-02 10:03
两台服务器分别连交换机分配10网段的地址,管理口在bios里设置了地址也是10段的,同时连接交换机。这样可以在服务器上ping通fence设备(即管理口,不过延时比一般网口大)。不过问了800.这种内置的fence是不能做拔电源测试的。详细的日志下午去客户那抓一些回来。
作者: jerrywjl    时间: 2008-07-02 10:46
原帖由 txl829 于 2008-7-2 09:33 发表
我感觉楼主的问题应该跟我的那个问题差不多,同样都是ipmi作fence的问题,关键是网线怎么接的问题,我想知道服务与心跳怎么可以都放在eth0上?


为什么不行?恰恰相反我还是推荐这么做。
作者: txl829    时间: 2008-07-02 16:51
我的差不多搞定了,不能切换是xen内核的原因;
我发现重启服务所在机器,并不会发生fence的动作;
如果用直连线作心跳,拔掉心跳后,两个节点都会有fence的动作。我这边的fence还是不能成功。
我尝试把心跳和服务都做在eth0上,但是互相都检测不到心跳,这又回到我几天前发贴问的那个问题。另外,我的主机的第三块网卡eth2接到一台备用交换机,主备交换机用直连线相连。我尝试用eth2 做心跳,也还是互相都检测不到心跳。不知道会不会是交换机的问题
作者: jerrywjl    时间: 2008-07-02 18:20
xen内核在启动的时候改变一些网络参数,包括防火墙的配置;
重启服务所在的机器,只要心跳丢失,肯定产生fence动作。
直连心跳有可能会造成错误fence的问题。如果fence不能成功,需要检查fence的链路和你的fence设备配置。
至于互相检测不到心跳,原因很多:检查硬件、防火墙,以及你使用的kernel等。
作者: yfort    时间: 2008-07-04 09:33
我现在重启机器服务能够切换,不过把业务网断开后,服务不切换。是不是服务网口和心跳口不在一个网口上的原因呢?还有在5.0上bug是不是很多啊?
作者: jerrywjl    时间: 2008-07-04 09:57
5.0上没有你想象那么多的bug,我不清楚你的物理结构到底是怎么样的。
作者: txl829    时间: 2008-07-04 10:05
我现在就遇到手工停到服务所在机器的rgmanager使其发现切换后,再起原来那台机器的rmganager就起不来了,看不到任何日志,看rgmanager的状态是“rgmanager已死,但pid文件仍存”,根据Pid文件里的进程号也找不到进程,删了那个文件也起不来。800说没有日志不能定位问题,我在怀疑是不是BUG。
作者: yfort    时间: 2008-07-04 10:38
楼上的问题我也遇到过,最后没办法,两台机子重启。。重启是cluster服务还停不了。最后强制关机。被这软件搞晕了。
作者: yfort    时间: 2008-07-04 10:40
我的物理结构也不是很复杂啊.就两台服务器做cluster。每台服务器3条网线都联交换机。一条跑心跳,一跳跑业务,还有条连fence。
作者: huzi1986    时间: 2008-07-23 00:45
fence

是什么意思?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2