热贴讨论:RHCS中的fence设备讨论

在linux-ha项目中,开始越来越关注io fence设备。
并且在rhes4中ha也支持更多的io fence设备。
1.为什么要用io fence设备:因为纯粹用软件的方式并不能够提供完全意义上的HA。所以需要额外的硬件来进行支持。
IXDBA.NET技术社区
2.那些设备能作为io fence:
eg: SCSI/FC 磁盘阵列;
   Power swith;
      LAN/FC swith;
      Network adapter; 等。
3.io fence设备最根本的作用是防止split-brain
RHAS4+RHCS4,拔掉电源会资源不切换
其他没什么可说的,fence device 用的是IBM BMC,用的是IPMI LAN,
现在问题是,拔网线什么的都能正常切换,备机会将主机重起并把服务和资源接管过来
但是拔掉一台的电源后,显示:
fence node db2:
然后总显示
fence node db2 failed,
然后服务也不发生切换
什么问题呢,谢谢解答,高手帮忙

fence device应该没问题,因为我做拔网线的测试时,拔掉A机的网线,B机会发送fence信号,然后A机会重起,然后B机会正常接管服务的。
我用的是主版集成的IPMI设备,可以把fence device选成IPMI LAN,直接用RHAS4。4自带的IPMI服务就能驱起来,并且能工作,2台机器的IPMI网口直连,另一网口接交换机,
测试时,拔掉A机接交换机的网线,B机能够用fence信号将A机重起,返回成功信息,并将服务和资源接管过来;A机起来后,同样拔掉B机接交换机的网线,A机能够用fence信号将B机重起,返回成功信息,并将服务和资源接管过来;
但是,如果拔掉A机电源线的话,切换就会有问题,B机同样会发出fence 信号,但是因为A机的电源已断,不能重起,也不能有成功信号返回,结果备机就会一直显示fence failed,而不去接管服务,这是不是RHCS的一个BUG呢?还是IPMI device就不支持拔电源呢,楼主请指教。
附上cluster.conf文件,帮看一下有没问题,谢谢斑竹

<?xml version="1.0"?>
<cluster alias="dbcluster" config_version="2" name="alpha_cluster">
        <fence_daemon post_fail_delay="0" post_join_delay="3"/>
        <clusternodes>
                <clusternode name="netview1" votes="1">
                        <fence>
                                <method name="1">
                                        <device name="bmc"/>
                                </method>
                        </fence>
                </clusternode>
                <clusternode name="netview2" votes="1">
                        <fence>
                                <method name="1"> <device name="bmc"/>
                                </method>
                        </fence>
                </clusternode>
        </clusternodes>
        <cman expected_votes="1" two_node="1"/>
        <fencedevices>
                <fencedevice agent="fence_ipmilan" auth="none" ipaddr="10.10.10.100" login="USERID" name="bmc" passwd="PASSW0RD"/>
        </fencedevices>
        <rm>
                <failoverdomains>
                        <failoverdomain name="sybase" ordered="0" restricted="1">
                                <failoverdomainnode name="netview2" priority="1"/>
                                <failoverdomainnode name="netview1" priority="1"/>
                        </failoverdomain>
                </failoverdomains>
                <resources>
                        <fs device="/dev/sdb1" force_fsck="0" force_unmount="1" fsid="57438" fstype="ext3" mountpoint="/sybasedata" name="shdisk" options="" self_fence="0"/>
                        <ip address="192.168.10.91" monitor_link="1"/>
                        <ip address="192.168.16.92" monitor_link="1"/>
                        <ip address="192.168.16.93" monitor_link="1"/>
                        <script file="/cluster/dbstart.sh" name="dbscript"/>
                </resources>
                <service autostart="1" domain="sybase" name="sybase"> <ip ref="192.168.16.93">
                                <fs ref="shdisk"/>
                                <script ref="dbscript"/>
                        </ip>
                </service>
        </rm>
</cluster>
有了结果了
下午找了REDHAT 800,终于问出了个结果,
REDHAT的fence device有两种,内部fence设备(如IBM RSAII卡,HP的iLO卡,还有IPMI的设备等)和外部fence 设备(如UPS,SAN SWITCH,NETWORK SWITCH等)。
IXDBA.NET技术社区
对于外部fence 设备,可以做拔电源的测试,因为备机可以接受到fence device返回的信号,备机可以正常接管服务,
对于内部fence 设备,不能做拔电源的测试,因为主机断电后,备机接受不到主板芯片做为fence device返备的信号,就不能接管服务,clustat会看到资源的属主是unknow,查看日志会看到持续报fence failed的信息。

所以以后在做项目时要分清楚,写测试报告时不要给自己下套,在内部fence时写拔电源可以切换
RHAS4+RHCS4,问个问题做双机热备,但现在没有另加fence设备,是不是只能配成手动模式啊?
还有配成其他模式,一般都需要些什么设备啊?能否介绍以下,谢谢!

最近对fence device看了很多,只讲一下自己理解的,
如果没有fence device就只能配成manual fence,这种fence device在切换侧室时,要手动的在备机上输入fence_man_alk(好象是这个,在日志中能看到,自己确认一下)那个命令,备机才能接管资源,启动服务。
至于支持的fence设备,可以在rhcs的官方文档中看到,
还告诉大家一个消息,对于主版集成IPMI设备的机器,可以把fence device选成IPMI LAN,直接用RHAS4。4自带的IPMI服务就能驱起来,并且能工作,2台机器的IPMI网口直连,但是,如果有一台机器完全拔掉电源的话,切换就会有问题,估计是RHCS的一个问题,因为备机只有在fence命令必须等到一个成功的返回后才去接管服务,可是主机电源线都把了,不可能有回复了,结果备机就会一直显示fence failed,而不去接管服务,这是不是RHCS的一个BUG呢?

据我理解,fence device就是起如下的作用,当意外原因导致主机的服务停止或当机时,LINUX为了保证数据的完整性,在主机的服务重起之前,由备机发出重起机器的信号,将主机机器重新启动,这个过程中,备机会接管服务。fence device就是发出这个重起信号的设备。
我自己配了一个用HP-iLO实现的,感觉就是为了保证共享盘的独占,只有等到收到故障机器已经开始重启的信号,备机才开始接管服务。就是先向故障机器的iLO口发一个reboot信号,然后开始阶段性从故障机器iLO取机器状态,直到取到状态为DOWN。

这个帖子是为了答复simonocn的问题,同时给大家共享一下
ibm pc server + rhas4.4 + rhcs4.4 配置fence的方法如下:
硬件:
1、在2台服务器上,在BIOS里配置BMC的IP地址,如192.168.10.100,两台机器一样
2、把2台机器的1网口用一根直连线连起来,或接到同一交换机上或同一VLAN中,

软件:
1、在2台服务器上,配置系统中1网口对应的网卡(ethx),将IP地址配为192.168.10.101和192.168.10.102 ,两台机器不能一样,然后都ping 一下192.168.10.100看能通就OK了,2、在服务中将IPMI服务启动,用
service ipmi start
设成开机自启动
chkconfig ipmi on
3、在cluster中设置fence device时,
选IPMI
名称:bmc(随便起的,什么都行)地址输入:192.168.10.100
用户名:USERID
密码:PASSW0RD(注意,默认就是PASSWORD把‘O’换成‘0’,如果改了就自己填一下)
认证方式:空着,不填就行
这样就可以了,其他的CLUSTER该怎么设就怎么设吧
最后还是注意,测试时不能拔电源测试,这种内部fence device不支持拔电源测试。因为拔掉电源后备机就不能和主机通信了,cluster就不能正常工作了,即使再插上电源也不管用。只能重起cluster服务了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值