重启MCNA后出现MAC地址漂移现象导致已下发配置好的节点变为加载状态并最终加载失败

发布时间:  2013-07-05 浏览次数:  123 下载次数:  0
问题描述
桌面云项目交付中, 在安装Galax8800时,将规划好的MNConfigurationTool_ZH表导入MNPortal经过数据校验¬—加载物理节点—下发配置后;所有规划好的物理节点均下发配置成功。之后现场出现问题需要重启MCNA服务器,重启后发现在MNPortal页面上显示已经下发配置好的一个IMGS和一个CNA节点状态变为加载状态并最后加载失败。
告警信息
处理过程
1.分析系统日志:
系统误发现的mac地址
dggvdi1403cna  10:1B:54:95:D2:6C
dggvdi1003img  10:1B:54:95:D2:60            
目前实际正确的mac地址
dggvdi1003img          10:1B:54:95:D1:54
dggvdi1403cna          FC:48:EF:2C:71:26
交换机上的mac及端口,交换机为:dgg62aslhw3b
101b-5495-d154 300         -      -      GE0/0/5      dynamic   -    
fc48-ef2c-7126 300         -      -      GE0/0/7         dynamic   -
数据库日志:
dggvdi1403cna 数据库信息变化
<134> 6 2012-08-30T11:16:40.277208+08:00   [2-1] 2012-08-30 11:16:40 CST xcatdb galax LOG:  execute dbdpg_p10311_368: UPDATE mac set mac = $1 where "node" = 'dggvdi1403cna'
<134> 6 2012-08-30T11:16:40.277225+08:00   [2-2] 2012-08-30 11:16:40 CST xcatdb galax DETAIL:  parameters: $1 = '10:1B:54:95:D2:6C'
chain表状态变化
<134> 6 2012-08-30T11:17:36.627116+08:00   [15-1] 2012-08-30 11:17:36 CST xcatdb galax LOG:  execute dbdpg_p10311_790: UPDATE chain set chain = $1,node = $2,currchain =
<134> 6 2012-08-30T11:17:36.627156+08:00   [15-2]  $3,currstate = $4 where "node" = 'dggvdi1403cna'
<134> 6 2012-08-30T11:17:36.627165+08:00   [15-3] 2012-08-30 11:17:36 CST xcatdb galax DETAIL:  parameters: $1 = 'runcmd=bmcsetup,install,boot', $2 = 'dggvdi1403cna', $3 =
<134> 6 2012-08-30T11:17:36.627192+08:00   [15-4]  'install,boot', $4 = 'runcmd=bmcsetup'
dggvdi1003img 数据库信息变化
<134> 6 2012-08-30T11:16:40.648660+08:00   [7-1] 2012-08-30 11:16:40 CST xcatdb galax LOG:  execute dbdpg_p10311_490: UPDATE mac set mac = $1 where "node" = 'dggvdi1003img'
<134> 6 2012-08-30T11:16:40.648679+08:00   [7-2] 2012-08-30 11:16:40 CST xcatdb galax DETAIL:  parameters: $1 = '10:1B:54:95:D2:60'
chain表状态变化
<134> 6 2012-08-30T11:17:24.065712+08:00   [12-3] 2012-08-30 11:17:24 CST xcatdb galax DETAIL:  parameters: $1 = 'runcmd=bmcsetup,install,boot', $2 = 'dggvdi1003img', $3 =
<134> 6 2012-08-30T11:17:24.065720+08:00   [12-4]  'install,boot', $4 = 'runcmd=bmcsetup'
<134> 6 2012-08-30T11:17:24.255828+08:00   [13-1] 2012-08-30 11:17:24 CST xcatdb galax LOG:  execute dbdpg_p10311_654: UPDATE bootparams set kcmdline = $1,kernel = $2,initrd = $3
<134> 6 2012-08-30T11:17:24.255854+08:00   [13-2]  where "node" = 'dggvdi1003img'
从系统日志中可以看出来,xcat误将DB及ISM节点的MAC地址当成是ISM及CNA节点的地址,别且重新下发配置,但是由于这两个MAC地址并不在规划的MN配置表中导致最终加载失败。
2. 将未规划的DB及ISM节点服务器下电。
3. 将出错的两个节点的租约关系解除,利用PUTTY登录MCNA上执行指令:
TMOUT=0
tabdump chain |grep img    获取所有的img节点名称复制所需的
tabdump chain |grep can    获取所有的can节点名称复制所需的
makedhcp –d dggvdi1003img
makedhcp –d dggvdi1403cna
reboot。
4. 重启IMGS及CNA节点服务器,在浏览器中输入http://MCNA节点管理IP地址:8080/MNPortal登录MNPortal。
在“安装配置”页面左侧“节点加载&下发配置”区域框,单击“下发配置”。 右侧显示下发配置页面。
在“节点信息”区域框中,勾选“节点类型”前的复选框。选中所有要加载的节点(dggvdi1003img和dggvdi1403cna)。
在“节点信息”区域框上方,单击“下发配置”。 弹出确认提示框。单击“是”,开始下发配置。 弹出查看提示框。单击“确定”,开始下发节点配置。
下发配置状态列出现
两个节点下发配置成功。
根因
通过分析系统日志发现,MCNA重启后有三个没有规划到MN配置表中的MAC地址一直在进行节点发现,如图1所示:其中两个MAC地址所对应的DB及ISM节点服务器在机柜1且其eth0端口分别连接在本机柜交换机的0/0/5及0/0/7口,而状态改变的IMGS及CNA节点在机柜2,其eth0端口同样连接在本机柜交换机的0/0/5及0/0/7口。
目前的节点发现流程主要是通过交换机和端口来唯一确定发现节点的。当重启MCNA后,发生MAC地址漂移现象,DB及ISM的MAC地址错误的漂移到IMGS及CNA所连接的端口上。
Linux系统的xcat误将这两个没有规划到MN配置表中的MAC地址判断为已知节点,发现成功并且修改了xcat表;导致下发配置成功的IMGS及CNA节点在MNPortal页面显示为加载状态,之后因为流程无法进行下去超时最后加载失败。

图1:设备位置图
建议与总结

END