drbd异常导致FC portal 中断或登录不上

发布时间:  2015-09-07 浏览次数:  229 下载次数:  4
问题描述

现象:
本地
pc登录到FC portal, 有时登录不上,有时登录上以后很快就连接中断,FC portal页面提示:
 



用本地PC ping FC portal的浮动IP时发现,每间隔3min 左右能ping通, 然后就不能ping通, 非常的有规律。



软件环境、组网及配置:

两台E6000,两台E6000的A1 A2槽位均配置NX112 交换板,框内A1,A2槽位交换板堆叠;使用光纤上行到 S6700 汇聚交换机,S6700交换机上行到S9706核心交换机;FC 的管理平面网关配置在S9706核心交换机上,环境中S6700、E6000 交换板均走的二层网络。 本地PC直连E6000的A1交换板, 配置一个FC管理平面的空闲IP。

FusionCompute: V100R003C10SPC610

处理过程

           1、故障现象出现后,首先检查PC ping VRM虚拟机的浮动IP是否正常:

     结果: 每大约3分钟ping通后,接下来15s 左右无法ping通。

2、防止本地PC配置的IP地址可能冲突,更换FC管理平面另外的空闲IP, 重试, 现象依旧;

3、让网络工程师排查S97、S67 交换机的配置,自行排查E6000交换板的配置均没有发现异常;

4、在主VRM上ping PC,一直都是ping通的,即使PC pingVRM 浮动IP不通的情况下;
     
从以上4点看,不是网络冲突、网络异常导致的问题;

5、检查VRM上服务的状态: vrmd 服务正常; drbd服务状态不正常。
 

 

Vrmd服务

检查命令

预期结果

实际结果

VRM

 

Service vrmd status

Running

Running

VRM

 

 

Unused

Unused

 

 

drbd服务

检查命令

预期结果

实际结果

VRM

 

Service drbd status

Running

Running

VRM

 

 

Unused

Unused

 
局点的drbd服务状态如下:
 

VRM主:
 


 

VRM备:
 


 

可以看到VRM主的drbd服务不正常(r_patch cs域为StandAlone,而不是Connected)。

根因
FusionCompute环境长时间(实际局点超过半年)没有上电使用,且下一次上电使用时 VRM的主备节点并没有同时上电(仅主VRM 所在的主机先上电,备VRM所在的主机迟了大约5h 上电),系统上电启动过程中会有自检、修复过程; 研发人员定位可能是长期安放及只上电使用一台VRM,导致两台VRM机器的drbd元数据不一致,drbd服务异常,导致FusionCompute portal概率性登录失败。
解决方案

一、按照指导书重新在主VRM上执行:

drbdadm connect 异常的资源名称
查询drbd 服务的状态,仍然为WFConnection”“StandAlone”状态。

二、断定系统的VRM节点DRBD故障导致的问题,需要修复DRBD服务。具体可参考: FusionCompute GTS产品文档(GPI)》的 VRM节点DRBD故障 章节。

 

 大致过程如下:

(1)   VRM主节点上查看drbd的哪些资源不正常。本例中为 r_patch 不正常:

 



(2)VRM主节点上重新执行drbdadm connect r_patch 重新连接 r_patch:

(3)再次检查连接状态是否为connected -- 不是


(4)判断需要舍弃数据的节点。在需要舍弃数据的VRM 上执行service watchdog stop 停止监控进程;

(5)再执行perl /opt/galax/gcs/watchdog/script/drbd/changeDrbdMode.pl secondary, 确保该节点DRBDro状态为Secondary

(6)在需要保留数据的VRM上执行service watchdog stop 停止监控进程;再执行perl /opt/galax/gcs/watchdog/script/drbd/changeDrbdMode.pl primary

(7)再在需要保留的数据的VRM 上,连接异常的资源:

drbdadm connect 异常的资源名称
查看异常资源的cs状态是否为WFConnection

(8)在需舍弃数据的节点上,执行以下命令,清理异常资源并重新创建该资源。

sh /opt/galax/gcs/watchdog/script/drbd/drbd_template/creatdrbdres.sh  异常的资源名称

(9)在主备VRM上查看数据同步结果。

(10)DRBD数据同步完成后,分别在VRM主备节点上执行以下命令,启动软件监控进程。

service watchdog start

(11)VRM主节点上,执行以下命令,查看DRBD的状态。

service drbd status

显示如下信息,表示DRBD
的状态正常。
 

drbd driver loaded OK; device status:

version: 8.3.11 (api:88/proto:86-96)

GIT-hash: 0de839cee13a4160eed6037c4bddd066645e23c5 build by root@linux, 2012-07-05 15:56:56

m:res       cs         ro                 ds                 p  mounted             fstype

0:r_pgsql   Connected  Primary/Secondary  UpToDate/UpToDate  C  /var/lib/pgsql      ext3

1:r_config  Connected  Primary/Secondary  UpToDate/UpToDate  C  /etc/galax          ext3

2:r_patch   Connected  Primary/Secondary  UpToDate/UpToDate  C  /opt/galax/upgrade  ext3

  

(12)  在备VRM节点上执行service drbd status 检查drbd的状态是否如下:

drbd driver loaded OK; device status:

version: 8.3.11 (api:88/proto:86-96)

GIT-hash: 0de839cee13a4160eed6037c4bddd066645e23c5 build by root@vm1014511297, 2014-06-26 18:41:50

m:res       cs         ro                 ds                 p  mounted  fstype

0:r_pgsql   Connected  Secondary/Primary  UpToDate/UpToDate  C

1:r_config  Connected  Secondary/Primary  UpToDate/UpToDate  C

2:r_patch   Connected  Secondary/Primary  UpToDate/UpToDate  C

 
均正常后,登录FC portal查看是否正常,是否还出现登录后自动中断的情况。

建议与总结
由于drbd服务异常后同时会导致主备VRM节点的HA功能不正常,因此在确认drbd 服务正常后,最好做一次VRM HA功能的测试,确保OK。

测试方法如下:在主VRM上执行reboot,5min后查看备VRM是否升主,同时能否正常的登录FC portal,若一切正常,则drbd修复成功。

END