APP下载

基于国产平台VPX架构的IPMC控制器设计

2018-07-04,,,

计算机测量与控制 2018年6期
关键词:主控板板卡机箱

,, ,

(华北计算技术研究所, 北京 100083)

0 引言

军用环境的复杂多变对军事化设备的维护和管理提出很高的要求,如何保证军用设备运行的稳定性并进一步降低日常的管理维护成本已经成为各个相关领域研究的热点之一。广泛应用于对高可靠性有极大需求的服务器制造行业、电信业、工业控制以及军事等领域的IPMI管理技术,为提高系统的整体智能化管理、自适用管理和高可靠性提供一种开放的、低成本的解决方案。

本设计适用于军用国产平台功能板卡上,满足VPX VITA46.11标准和IPMI2.0协议,设计目的是实现系统管理员能够在单一的控制台上实现对不同软、硬件平台的功能板卡模块进行监视和管理,同时可以对各个功能板卡(主要包括计算功能模块、制冷模块、供电模块、交换模块)电源、电流、CPU、制冷单元等各个部件的工作状态进行有效的实时监控。

作为IPMI管理的重要组成部分,合理的IPMC控制器设计,特别是控制器管理软件如何设计出满足协议标准又能实现接口灵活,现场维护能及时有效地避免各种事件给系统造成宕机带来的损失,从而提高系统的可维护性和稳定性是实现上述系统管理的关键[1]。

1 机箱管理系统架构

VPX机箱管理系统分为三个子系统:系统管理子系统、机箱管理子系统和板卡管理子系统[2]。其中,系统管理子系统运行于机箱外,通过SNMP协议接口对机箱进行系统级别管理;机箱管理子系统运行于机箱内的主控板卡上,对上通过SNMP协议处理系统管理软件对机箱的配置请求,ChMC(板级管理控制器)通过IPMB总线收发IPMI消息实现对机箱内FRU模块的管理配置;板卡管理子系统运行于各个功能板以及电源模块、制冷模块的IPMC控制器上,其控制器IPMC通过IPMB总线收发IPMI消息,处理对本地板卡的配置管理请求以及将各类事件进行上报[3]。

VPX机箱管理系统整体架构[4]如图1所示。

图1 VPX机箱管理系统架构图

2 IPMC控制器设计与实现

2.1 板卡管理子系统功能

作为机箱管理系统的重要组成部分,板卡管理子系统承担机箱内多个不同类型功能模块的IPMI管理控制任务[5]。为机箱管理提供访问本地FRU的管理接口。板卡管理子系统主要实现下列管理功能:

1)实现功能板卡的插入检测、通断电、自检、冷热启动等相关控制;

2)响应主控板卡通过IPMB总线发送的命令及错误处理;

3)实现温度、电压传感器的实时监测;

4)实现机箱管理访问控制FRU和SDR信息;

5)向机箱管理软件上报各类信息,包括负载电源自检、现场可替换单元状态切换、各类传感器告警事件的实时上报。

机箱管理子系统通过IPMB总线向功能板卡发送IPMI管理命令,IPMC控制器内的命令解析模块实现收发消息包的解析组包功能。命令处理模块根据IPMI协议标准将解析后的数据进行处理,包括SDR和FRU相关信息的存储读取;命令处理模块在处理命令时调用底层硬件访问接口实现上层主控板卡需求数据的采集计算。此外,IPMC控制器内集成了CONSOLE命令解释器,通过串口实现命令行管理。板卡IPMC控制器管理的各模块组成见图2。

图2 管理功能模块示意图

板卡管理软件自上而下分为三层,分别是:业务层、中间件和外设层。业务层实现主要板卡管理功能;中间件提供通信、控制和硬件读写接口;外设层为底层硬件驱动。各层详细情况见图3。

图3 管理功能层次划分

2.2 板卡状态管理

按VITA46.11标准规定[6],将VPX机箱内板卡的工作状态分为:M0、M1、M4、M6和M7。工作状态定义及描述见表1。

表1 板卡工作状态定义

2.2.1 工作状态转换

按照VITA46.11标准,将功能板卡总体管理流程分为四个主要阶段,各个阶段模块的工作状态之间的转换关系见图4。

1)IPMC上电初始化阶段:工作状态M0->M1;

2)功能板卡负载电源加载阶段:工作状态M1->M4;

3)功能板卡负载电源掉电阶段:工作状态:M4->M6->M1;

4)功能板卡信息丢失阶段,对应工作状态M7。

图4 工作状态转换过程示意图

2.2.2 上电初始化阶段管理流程

板卡管理的关键过程在于控制其上电、断电系列流程,当板卡插入到插槽中,备用电源驱动IPMC工作,首先进行硬件地址的自检,此时板卡工作状态为M1,IPMC与ChMC之间进行一系列的消息握手,包括设备ID的获取、设备出厂信息的获取、IPMB总线冗余设置、事件接收地址设置、VSO版本获取等信息。上电初始化阶段IPMC与主控板卡ChMC之间的信息交互见图5。

图5 上电初始化阶段信息交互

2.2.3 上电阶段管理流程

上电初始化阶段命令响应完毕后,功能板卡进入加载负载电阶段。板卡在这一阶段需要完成负载电源自检并将自检结果以事件信息的方式上报给主控板卡;此外,IPMC将工作状态转换事件上报给主控板卡,收到主控板卡的相应信息后,加载负载电,功能板卡进入到正常运行状态M4;在M4阶段,IPMC周期性对本板各个传感器进行轮询,同时读取EEPROM中存入的SDR信息进行解析,将轮询到的传感器实时数值与对应的SDR阈值进行比较判断,如果数值超限,IPMC以告警事件信息方式上报给主控板卡。上电阶段的信息交互图见图6。

图6 加载负载电阶段信息交互

2.2.4 负载电卸载阶段管理流程

正常运行于M4状态的功能板卡接收到主控板卡卸载负载电源命令,关闭负载电源并响应回复主控板卡;负载电关闭后,IPMC将板卡工作状态转换信息(M4-M6)以事件上报给主控板卡;IPMC在M6 状态接收主控板卡周期性发送的轮询设备ID命令并响应上报板卡是否在线信息。负载电卸载过程见图7。

图7 卸载负载电阶段信息交互

2.3 平台事件处理

2.3.1 平台事件信息分类

事件信息是指在管理软件系统探测到重要或者危急系统管理事件时由管理控制器发送的一组专用消息。事件具体到计算机系统中包括超越温度阈值、超过电压/电流阈值、电源报错等。VPX机箱的事件信息包括内部事件和外部事件,外部事件主要由BIOS事件、SMS系统管理软件事件、IPMB事件和总线事件组成[7-8]。不同的事件信息通过不同接口上报给主控板卡事件接收器。机箱管理系统的事件分类及产生来源请求路径示意图见图8。

图8 事件产生请求示意图

板卡上报事件属于IPMB事件,即IPMC通过IPMB总线向主控板卡上报的一系列消息。根据板卡的具体业务和控制流程,此类消息共分为三类:负载电源自检结果事件、板卡工作状态转换事件、各类板卡传感器告警事件。

2.3.2 IPMB事件消息格式

IPMC在进行事件请求前需要先响应主控板卡的事件接收地址设置命令,按照IPMI2.0的协议标准[9],事件接收方的地址即IPMB总线的从地址,标准设置为20 h。事件信息格式遵循IPMI协议中IPMB事件格式,事件信息封装IPMI和IPMB两层协议包头,其中IPMI协议包头与上报数据部分共同进行校验。事件信息由IPMC主动上报给主控板卡的ChMC,事件信息使用02h作为统一的命令码,详细的信息格式如图9所示。

图9 事件消息协议格式

2.3.3 事件处理策略

VPX机箱系统中会存在各种复杂的情况,如果当各种事件同时发生的时候,事件处理核心如何去设定一个执行策略是事件告警处理设计中的核心问题。策略设计的是否高效率,处理结果是否合理会直接影响到系统整体的工作效率。针对系统内的三类事件,事件上报采取不同的策略。

传感器告警事件上报分两种情况,当板卡模块运行在M4状态时,IPMC会周期性地对其所在模块的各个传感器状态进行轮询,并将轮询到的数值与其阈值进行比较,如果产生告警事件,将事件上报给主控板卡;当主控板卡下发获取传感器实时数值命令时,IPMC将采集到的传感器数值阈值比对后,将数值和状态信息以响应命令的形式进行回复;同时判断状态位的值,若不是正常值,则调用事件信息发送,将请求告警信息发给事件接收方。

工作状态类型转换是第二类需要请求上报的事件,此处的工作状态指上述M0-M7的状态转换。此类事件主要产生于系统控制板卡上、下电过程中。当功能板卡完成每一个工作状态切换时,需要将事件转换情况和原因进行上报。

第三类需要及时进行上报的事件是负载电源的自检结果事件。为提高板卡及系统的稳定性,硬件平台为IPMC提供了一系列负载电源状态自检的方法,能够确保负载电源运行结果完全受控。IPMC对负载电源进行周期性检测,并将自检结果以事件信息形式进行上报。

事件处理设置重传机制,针对不同类型事件的紧急程度设置重传次数和重传周期。建立重传队列,将需要重传的信息放入重传队列。针对传感器数据需要倒摄比对的情况,事件告警系统为传感器告警信息预留单条记录。由于信息刷新频率较高,为避免主控板卡过于密集地受到相同类型的告警事件。传感器事件告警设置滞回值,以百分比的形式存入板卡的SDR信息中。并设置正向参数和负向参数,告警策略设计将本次读取数值与上次数值进行比对,并结合参数和滞回值进行判断是否触发事件上报[10]。

阈值滞回策略见图10,当读取数据超上线时,如果参数是正向的,则进行超上线持续告警;如果参数是负向的,则结合滞回值进行判断,当数据低于滞回值则取消上报。当读取数值超下限时,当参数为负向时,则触发负向持续告警;若参数为负向时,则结合滞回值来判断,高于滞回值范围,不再进行事件告警。

图10 阈值滞回策略示意

2.4 参数设计及阈值判断策略

2.4.1 传感器参数设计

IPMC管理内容中的核心部分是各类板级传感器 数据的实时采集和超限告警事件上报。根据IPMI标准协议的规定,IPMC需要将底层各个接口读取的原始数据(Raw value)上报给主控板卡,主控板卡读取SDR信息中的参数表结合原始寄存器数值进行计算得到最终值。这样做的原因是由于标准的IPMI协议中命令或者事件上报的值均为一个字节长度,无法满足浮点型数据上报的实际需求,系统通过参数设计解决上述问题以适应实际数据的精度要求。

经过对IPMI标准及VITA46.11规范的解析,得出读取值与实际值得转换数学公式:

y=L[(Mx+(B*10k1))*10k2]uints

其中:x为原始数据值,L[]为线性类型函数,M和B为有符号整型系数,k1和k2为有符号整型指数。这四个参数对于不同类型传感器设定不同,设计中进行一一计算比对,得到相对准确的参数填入SDR数据中,SDR数据根据不同的sensor_number进行分类逐条存储,当主控板卡读取到原始数据后结合上述参数机型计算取值。

2.4.2 阈值判断策略

IPMI标准中事件触发类型,事件可分为事件产生、事件消除、正常状态三类。根据所监控的传感器特点,将其引发事件主动上报的阈值设置为上限下限各三条,分别为:UNR、UC、UNC和LNC、LC、LNR。即不可恢复超上限、一般超上限、轻微超上限,与其对应的是不可恢复超下限、一般超下限、轻微超下限。并在正常数值两侧加入2.3节中的滞回值设计。

阈值判断策略具体流程是:首先建立全局变量表,将各个SDR信息填入表中,表中的val值作为上次数值,条用底层接口函数读取的数值作为此次值,根据此次数值所在的区间(6条阈值界定界限划分)并结合与上次的数值比对,确定传感器状态和变化方向。当状态与上次不同并且没有回到滞回值范围内,则触发事件发生标志位;如果此次数值回到滞回值区间内,则触发事件消除标志位;此次与上次状态一致时不予上报事件。

此阈值判断策略经过实际应用验证,将数值设置在不同区间和状态下,能够覆盖到全部可能值的判断,精确地上报超限事件。

2.5 FRU与SDR设计

FRU与SDR数据存储和解析设计作为IPMI管理的重要组成部分。VPX架构整机中全部的FRU信息,概括起来可分为两大类:机箱FRU信息和板卡FRU信息。具体到板卡模块中,板卡FRU信息被固定存储在各个板卡的EEPROM中,按照板卡模块分类,FRU信息分为三类:功能板卡FRU信息、CU(制冷单元)FRU信息和PM (电源模块)FRU信息。

各个模块的FRU通用信息包括:FRU模块产品信息、地址信息、设备ID、热交换信息、最大电流值等信息。上述FRU信息被各自存储在各自模块的EEPROM中。

2.5.1 FRU数据设计

FRU数据区域划分为三部分:Chassis Area、Board Area、Product Area。Chassis Area区域存储机箱相关的信息数据,包括机箱类型、机箱生产相关信息等;Board Area区域存储板卡模块的信息数据,包括设备ID号码、板卡生产日期、板卡序列号等;Product Area区域的重要信息是厂家初始化信息。上述信息需要在响应主控板卡获取设备号的命令时读取并解析,将解析后的数据发送给ChMC 处理。

为了方便解析FRU数据,设计32字节FRU数据包头,将包头分为区域标记和偏移量标记部分。前一个标记用于指示具体存储数据的区域,偏移量指示相关数据存储的具体地址。管理软件设计了较为灵活的接口函数用于初始化、生成、存储、读取和解析FRU信息,便于后期进行设备信息的添删改操作。

2.5.2 SDR数据设计

SDR信息主要存储设备传感器相关监控信息,包括模块上各个关键指标的监控,包括各个关键参数的阈值设置。SDR存储数据包括条目号、关键电压、电流、温度、风扇转速、负载电源自检结果传感器、工作状态转换传感器等相关值,传感器ID、传感器类型、传感器数量、传感器接收地址、实体ID、传感器阈值设定、滞回值设定、正负参数设定等。

按照IPMI协议规定,一条SDR信息容量为固定64字节。每一条传感器条目对应存储一个传感器信息,由于同样类型的传感器根据不用的位置和作用,阈值设定不尽相同,设计时在预留字符串加注标识用以区分同一类型不同实体的传感器条目。

3 设计实现与应用

本文设计的IPMC控制器已经成功应用于某自主可控国产服务器机箱内的十块不同类型包括电源模块、制冷模块、交换模块、存储模块和计算模块的功能板卡上。应用实践表明,该IPMC控制器的设计能够满足服务器内各类板卡的集成数据通信管理,管理接口设计灵活,能够方便地在各个板卡进行移植。图11是主控板卡用一款通用的IPMI管理图形界面监控的界面截图,图中是计算板卡上3.3 V电压的监控信息,左侧视窗列表中显示机箱内各个板卡信息,展开信息为该计算模块上所有传感器的信息;右侧视窗里显示传感器编号为0x15的传感器监控信息,六种不同颜色的线是传感器上下六条阈值界限,黄色的线是实际检测到的电压。

图11 板卡管理界面演示

利用本文提出的板卡IPMC控制器的设计和实现方法,可实现VPX架构服务器平台的标准IPMI管理,利用通用的IPMI监控图形界面可实现运行高效、界面美观的服务器机箱管理系统。

4 结束语

本文设计并实现了一个基于VPX架构和IPMI管理协议的IPMC控制器。本文在分析IPMI智能管理系统结构、板卡管理子系统功能、板卡工作状态管理、事件信息上报策略设计、设备信息与传感器信息存储和解析等方面对IPMC控制器进行设计,并验证了该方法的可行性,为其他系统IPMI智能管理的开发提供非常好的技术借鉴。

本设计与之前设计的提升在于各类传感器数值处理策略设计。IPMC板级管理软件对于读取的传感器数据设置合理的阈值判断标准,对于不同精度类型的数据,管理软件建立不同的列表用相应的容错值和滞回值配合上下限阈值进行精确地判断,触发事件上发并设计重传机制,以完成传感器数据处理。

参考文献:

[1] 梅建超. IPMI在ATCA系统中的应用与架构设计[J].数字技术,2011:56-58.

[2] 朱红育. IPMI在VPX系统中的应用与设计[J].火控雷达技术,2013:66-69.

[3] 孙博文.基于ARM9的通用IPMC载板设计[J].计算机测量与控制,2014(6): 1926-1928,1931.

[4] 洪 艳.基于VPX高速综合信息处理平台设计[J].导弹与航天运载技术,2011:58-61.

[5] 裴骁衢.智能管理平台接口研究及实现[J].计算机技术与发展,2006.

[6] 46.11, VITA 46.11 System Management on VPX[S].全本,2013.11.18.

[7] 黄泳铭.基于VPX总线的车载计算平台设计[J]. 测控技术,2011(4):94-96,103.

[8] 郑东卫.VPX总线的技术规范及应用[J].火控雷达技术,2009:73-77.

[9] V2.0.IPMI Intelligent Platform Management Interface Specification Second Generation[S].全本.2013.9.1.

[10] 王 波.一种数学形态学的哈特曼-夏克传感器阈值选取方法[J]. 光电子技术,2008:227-231.

猜你喜欢

主控板板卡机箱
一种快速可靠的主控冗余及切换机制的设计与实现
HCM3000板卡固件智能化下载系统设计与实现
壁挂炉主控板工装测试系统设计
RTX系统下并行I/O卡驱动程序的开发
重庆轨道交通闸机三杆机芯主控板的技术自主化探究
基于FC-AE-ASM协议的两种通讯板卡对比及应用
新型食堂点菜结算装置的设计研究
小而美——航嘉MVP MINI Ⅱ机箱
大学MM你爱谁迷你机箱Party Show
冷与静 2009上半年中高端机箱的舞台秀