问题描述
某局点VIS6600T4节点双活局点,客户配置心跳交换机导致sys和SF集群脑裂, SYS集群脑裂为(0,1)和(2,3)两个集群,SF脑裂成(0,1,3)和(2)两个集群,节点2在脑裂仲裁后重启,0,1,3节点存活,但是此时SYS集群变成了(0,1)和(3)两个集群,节点2重启后,往两个SYS集群发加入请求,加入失败。如图是其中一个节点的状态信息:

告警信息
无告警信息
处理过程
首先检查SF集群状态:在每一个节点的CLI下执行vxfenadm –d查看集群状态,确保SF集群状态正常,如图所示 其次检查仲裁盘状态:在每一个节点的CLI下执行vxappend shwfendsk查看仲裁盘状态,确保每个节点仲裁盘状态正常,如图所示 最后重启脑裂的一个集群,切换IO路径,确保要重启的节点的卷上无IO通过在ISM界面上,修改卷归属控制器,将IO切换到不重启的节点上。
根因
由于Hima和SF集群使用的心跳包不一致,SYS心跳使用的是网络层UDP广播包,SF使用的LLT(MAC层的包)心跳包,虽然两个集群判断节点离开集群的标准是心跳丢失8S,但是由于心跳包使用的网络层不同,计时的线程不同,可能导致心跳链路异常时,Hima集群脑裂,VCS(正常的情况,且sys集群执行vxfenadm检查仲裁驱动正常时就不做任何操作,导致心跳恢复后不自动修复。
解决方案
|