一种主、从TMC同时与BMC通信方法与流程

文档序号:11386455阅读:613来源:国知局

本发明涉及一种服务器管理技术领域,尤其是一种解决主从服务器管理模块同时访问i2c总线造成堵塞的主、从tmc同时与bmc通信方法。



背景技术:

随着用户对计算机的计算需求的提高,用户对单台计算机的计算性能要求越来越高。高端服务器在计算性能和可靠性上与传统服务器相比具有很大的优势,并在对实时性、可靠性和可用性要求苛刻的领域中应用越来越广泛。高端服务器是bmc、tmc、rmc的三级管理结构,在tray(机匣)这一层级是由tmc(traymanagementcontroller)统一监控管理各个节点的bmc,tmc一般通过i2c总线与bmc实现通信。为了保证系统的可靠性系统采用主、从tmc的备份结构设计,从tmc能够实现主tmc的所有功能。在主tmc不在位或者宕机的情况下从tmc接替主tmc实现监控管理bmc的所有功能。

虽然在正常情况下从tmc是通过串口通信从主tmc获取节点信息,但是设置bmcip、开关机、重启bmc等操作主、从tmc还是单独进行的,这样就导致了在从(主)tmc执行上述操作时主(从)tmc可能正在占用i2c总线与bmc通信中,所以导致了从(主)tmc无法正常使用i2c总线,系统卡在了ioctrl()函数中无法返回,进一步导致了ipmimain进程持续超时重启,系统崩溃。



技术实现要素:

本发明的目的是提供一种主、从tmc同时与bmc通信方法,避免主从服务器管理模块(tmc)同时通过i2c总线访问同一个节点的bmc造成服务器管理模块系统堵塞崩溃的方法。可以大大提高服务器管理系统的可靠性。

为实现上述目的,本发明采用下述技术方案:

一种主、从tmc同时与bmc通信方法,包括以下步骤:

s1、第一机匣管理控制器在访问基板管理控制器的进程开始首先向第二机匣管理控制器发送访问基板管理控制器禁止的控制命令,第二机匣管理控制器接收到控制命令跳过访问基板管理控制器进程执行;

s2、设置延时时间为t1,延时t1后转至步骤s3;

s3、主机匣管理控制模块执行访问基板管理控制器操作后设置延时时间为t2,延时t2后转至步骤s4;

s4、第一机匣管理控制器向第二机匣管理控制器发送访问基板管理控制器允许的控制命令,第二机匣管理控制器进程判断接收到访问基板管理控制器允许的控制命令后恢复对基板管理控制器的访问。

进一步地,第一机匣管理控制器为主机匣管理控制器,第二机匣管理控制器为从机匣管理控制器。

进一步地,主机匣管理控制器通过串口session向从机匣管理控制器发送控制命令。

进一步地,所述访问基板管理控制器禁止的控制命令是符合ipmi标准的oem命令,从机匣管理控制器的命令处理函数设置标志变量为1。

进一步地,所述访问基板管理控制器允许的控制命令是符合ipmi标准的oem命令,从机匣管理控制器的命令处理函数设置标志变量为0。

进一步地,第一机匣管理控制器为从机匣管理控制器,第二机匣管理控制器为主机匣管理控制器。

进一步地,从机匣管理控制器通过串口session向主机匣管理控制器发送控制命令。

进一步地,所述访问基板管理控制器禁止的控制命令是符合ipmi标准的oem命令,主机匣管理控制器的命令处理函数设置标志变量为1。

进一步地,所述访问基板管理控制器允许的控制命令是符合ipmi标准的oem命令,主机匣管理控制器的命令处理函数设置标志变量为0。

本发明的有益效果是,

本发明提出了解决主从tmc同时通过i2c总线与bmc通信造成堵塞进而导致其中一个甚至两个tmc系统崩溃的方法。通过一种给从(主)tmc发送命令的方式使主(从)tmc占用i2c总线与bmc通信的时候从(主)tmc暂停使用该i2c总线的方法,避免由于主、从tmc同时访问一条i2c总线造成堵塞,可以有效地解决通过tmc设置bmcip、开关机操作、tmc重启等操作造成的tmc系统崩溃、挂机。

具体实施方式

实施例一

一种主、从tmc同时与bmc通信方法,包括以下步骤:

s1、主机匣管理控制器(主tmc)在访问基板管理控制器(bmc)的进程开始首先通过串口session向从机匣管理控制器(从tmc)发送访问基板管理控制器禁止的控制命令,访问基板管理控制器禁止的控制命令是符合ipmi标准的oem命令,从机匣管理控制器(从tmc)的命令处理函数设置标志变量为1。从机匣管理控制器(从tmc)判断标志变量为1后,跳过通过i2c总线访问基板管理控制器(bmc)进程操作;

s2、延时1至5秒;

s3、主机匣管理控制模块执行通过i2c总线访问基板管理控制器(bmc)操作后延时一至五秒;

s4、主机匣管理控制器(主tmc)通过串口session向从机匣管理控制器(从tmc)发送访问基板管理控制器允许的控制命令,访问基板管理控制器允许的控制命令是符合ipmi标准的oem命令,从机匣管理控制器(从tmc)的命令处理函数设置标志变量为0。从机匣管理控制器(从tmc)进程判断标志变量为0后恢复通过i2c总线对基板管理控制器(bmc)的访问。

实施例二

一种主、从tmc同时与bmc通信方法,包括以下步骤:

s1、从机匣管理控制器(从tmc)在访问基板管理控制器(bmc)的进程开始首先通过串口session向主机匣管理控制器(主tmc)发送访问基板管理控制器禁止的控制命令,访问基板管理控制器禁止的控制命令是符合ipmi标准的oem命令,主机匣管理控制器(主tmc)的命令处理函数设置标志变量为1。主机匣管理控制器(主tmc)判断标志变量为1后,跳过通过i2c总线访问基板管理控制器(bmc)进程操作;

s2、延时1至5秒;

s3、从机匣管理控制模块执行通过i2c总线访问基板管理控制器(bmc)操作后延时一至五秒;

s4、从机匣管理控制器(从tmc)通过串口session向主机匣管理控制器(主tmc)发送访问基板管理控制器允许的控制命令,访问基板管理控制器允许的控制命令是符合ipmi标准的oem命令,主机匣管理控制器(主tmc)的命令处理函数设置标志变量为0。主机匣管理控制器(主tmc)进程判断标志变量为0后恢复通过i2c总线对基板管理控制器(bmc)的访问。

上述虽然对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。



技术特征:

技术总结
本发明公开了、一种主、从TMC同时与BMC通信方法,包括以下步骤:S1、第一机匣管理控制器在访问基板管理控制器的进程开始首先向第二机匣管理控制器发送访问基板管理控制器禁止的控制命令,第二机匣管理控制器接收到控制命令跳过访问基板管理控制器进程执行;S2、延时时间T1;S3、主机匣管理控制模块执行访问基板管理控制器操作后延时时间T2;S4、第一机匣管理控制器向第二机匣管理控制器发送访问基板管理控制器允许的控制命令,第二机匣管理控制器进程判断接收到访问基板管理控制器允许的控制命令后恢复对基板管理控制器的访问。

技术研发人员:王学龙;张兆义;乔英良;黄家明
受保护的技术使用者:郑州云海信息技术有限公司
技术研发日:2017.05.15
技术公布日:2017.09.05
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1