一种带外管理服务器资产信息的方法

文档序号:8415431阅读:679来源:国知局
一种带外管理服务器资产信息的方法
【技术领域】
[0001]本发明涉及服务器监控管理技术领域,具体涉及一种带外管理服务器资产信息的方法,用于带外管理服务器资产信息,包括CPU、内存、PCIE设备、硬盘、网卡等设备,服务器开机后自动同步资产信息到带外设备,用户通过IPMI协议远程查看服务器资产信息。
【背景技术】
[0002]服务器管理员往往希望通过带外远程的方式获取和查看服务器资产信息,以对服务器的整体配置和运行状态作出相应的规划和处置。
[0003]服务器监控管理芯片(BMC)具有带外管理功能,但是它无法直接访问诸如CPU、内存等设备,而B1S (Basic Input/Output System基本输入/输出系统)会在系统启动阶段对所有设备进行初始化和扫描并掌握所有设备资产信息。为了系统与带外设备的交互,服务器普遍支持通过LPC通道与BMC通信,所以通过B1S将资产信息传递给BMC可以达到资产信息带外管理的目的。IPMI协议是BMC常用的带外管理协议,通过扩展IPMI命令实现资产信息的带外同步。
[0004]本发明提供了一种资产信息带外传输的方法和规范,B1S和BMC按照约定的数据格式和传输规范进行资产信息的同步。运用本发明提供的通信规范,可以实现不同设备信息带外传输的标准化,容易扩展。对于数据量大的设备信息可以进行多次传输,保证数据完整性。

【发明内容】

[0005]本发明要解决的技术问题是:提供一种制定基于IPMI协议的数据传输规范和数据传输格式,此规范和数据格式要通用于任何系统设备;IPMI协议每次传输的数据量是有限的,如何实现大数据信息的多次传输,并能保证数据完整性。
[0006]本发明所采用的技术方案为:
一种带外管理服务器资产信息的方法,服务器搭配BMC监控管理芯片,B1S通过LPC通道连接到BMC,B1S和BMC按照约定的数据格式和传输规范进行资产信息的同步。
[0007]所述约定的数据格式包括:
O制定设备资产信息数据结构体:
B1S和BMC要约定每种设备的资产信息数据结构,并且软件上都要设置相同的数据压缩模式,以保证B1S和BMC两侧的数据是同步的,避免解析错误,数据结构要精简;
2)制定数据传输包头结构体:
数据传输包头结构体包含设备类型字段”、“设备编号数组”、“数据传输完成标志”、“数据完整性字段”,其中:
设备类型字段,以标示不同的设备,其目的是为了实现不同设备资产数据传输的标准化和一致性,通用于所有设备;B10S和BMC要维护相同的设备类型编号;
设备编号数组,标示本次传输的数据中携带了哪些在位设备数据; 数据传输完成标志,标示这个设备类型下的设备数据传输完毕,该字段主要用于一种设备类型下有多个设备、需要分多次传输的情形,最后一次数据传输将此字段设置为1,表明该设备类型数据传输完成;
数据完整性字段,该字段用于数据完整性检查,以确保数据解析后与原始数据同步,如果检查失败通知发送方重发。
[0008]所述传输规范包括:
1)B1S资产信息组包、发送:
每次发送的资产信息数据包由两部分组成:数据包头+N个设备信息结构体;B10S对每个设备类型分别进行数据发送:
a)每次发送要设置该设备的设备类型编号到“设备类型字段”;此字段用于接收端识别设备类型,并采用相应的设备数据结构体解析设备数据;
b)设置设备编号数组,该数组包含了本次传输的设备编号表;如果该设备信息有多个条目,一次无法传输完成,可将条目进行分组,每次发送一组设备编号;
c)设置数据传输完成标志,如果设备数据只需要一次传输,设置该字段为I;如果设备数据需要分多次传输,前几次数据传输该字段设为0,最后一次数据传输设置为I ;
d)设置数据完整性字段,此字段填充本次传输数据的整体校验码,B1S和BMC两端维护相同的校验码计算方法,以保证两端数据的完整性;
e)根据b)设置的编号数组,将相应编号的资产数据填充到设备信息结构体,并将该结构体依次增加到数据包头后面;
f)通过以上步骤完成数据的设置和打包,通过已扩展的IPMI命令将数据发送到BMC;
g)检查IPMI命令返回字段,如果返回正确,继续下一个设备的扫描和数据发送;如果返回错误,进行该设备数据的重发;
2)BMC资产信息数据解析与保存:
BMC接收到B1S发来的数据后进行数据解析:
a)进行数据完整性检查,读取数据完整性字段并计算整体数据校验码,如果不一致,返回错误给B1S发送端;如果一致,则继续数据解析;
b)根据设备类型字段得知此次传输的设备类型;
c)读取设备编号数组得知此次传输数据对应哪几个设备编号;根据已获知的设备类型开辟N (N为设备编号个数)个相应设备信息结构体大小的内存区域,以暂时保存设备信息;
d)根据已获知的设备类型采用相应设备信息结构体,并按照已获知的设备编号数组的编号,依次获取包头后面的设备信息结构体数据,存储到已开辟的内存区域;
e)读取数据传输完成标志,如果该字段为I说明数据传输完成,将内存中保存的设备数据保存或更新到非易失设备中相应设备区域(对于多次传输的设备信息,要进行数据整合);如果字段为O说明还会有此设备的剩余数据随后发来,等待下一次数据接收;
3)资产信息展示:
BMC提供IPMI协议命令查看资产信息,用户可以通过命令行发送IPMI命令,指定设备类型和设备编号,获取相应设备的资产信息结构体。
[0009]所述方法总体流程如下:
I)服务器开机; 2)B1S扫描设备,收集资产信息;
3)B1S将资产信息组包,发送IPMI命令;
4)BMC接收IPMI消息,解析数据并保存;
5)资产信息展示;
6)结束。
[0010]所述B1S资产信息组包发送流程如下:
1)服务器开机;
2)B1S扫描设备,收集资产信息;
3)资产信息组包:设置设备类型字段;设置设备编号数组;设置数据传输完成标志;设置数据完整性字段;填充对应于设备类型的资产信息结构体数据;
4)IPMI命令发送或重发数据;
5)重发数据增加I;
6)判断重发次数是否超过MAX,如是,则跳转步骤8),如否,则进行步骤7);
7)判断命令返回是否0K,如否,则返回步骤4),如是,则步骤8);
8)重发次数置成O;
9)判断所有设备是否扫描完毕,如是,则结束,如否,则返回步骤2)。
[0011]所述BMC资产信息接收解析流程如下:
DBMC开机;
2)IPMI命令处理进程,等待接收IPMI命令;
3)BMC接收数据包;
4)判断数据校验是否成功,如否,则返回步骤2),如是则步骤5);
5)数据解析,存储设备数据到内存,包括:获取设备类型字段识别设备;获取设备编号数组;获取数据传输完成标志;基于设备类型,采用相应的资产数据结构体解析对应编号的设备数据结构体;保存数据到内存;
6)判断该设备数据传输是否完成,如否,则返回步骤2),如是则步骤7);
7)设备数据保存到非意识设备;
8)重复步骤2)。
[0012]本发明的有益效果为:本发明公开的方法可以实现不同设备信息带外传输的标准化,容易扩展,对于数据量大的设备信息可以进行多次传输,保证数据完整性。
【附图说明】
[0013]图1为本发明带外资产信息管理总体流程图;
图2为本发明B1S资产信息组包发送流程图;
图3为本发明BMC资产信息接收解析流程图。
【具体实施方式】
[0014]下面参照附图所示,通过【具体实施方式】对本发明进一步说明:
一种带外管理服务器资产信息的方法,服务器搭配BMC监控管理芯片,B1S通过LPC通道连接到BMC,B1S和BMC按照约定的数据格式和传输规范进行资产信息的同步。
[0015]所述约定的数据格式包括:
O制定设备资产信息数据结构体:
B1S和BMC要约定每种设备的资产信息数据结构,并且软件上都要设置相同的数据压缩模式,以保证B1S和BMC两侧的数据是同步的,避免解析错误。数据结构要精简,这主要考虑到IPMI数据传输的长度限制。以CPU为例,结构体可定义CPU编号、型号、最大支持频率、当前频率、核心数目、LICache、L2Cache、L3Cache、功率等。
[0016]2)制定数据传输包头结构体:
数据传输包头结构体包含设备类型字段”、“设备编号数组”、“数据传输完成标志”、“数据完整性字段”,其中:
设备类型字段,以标示不同的设备,其目的是为了实现不同设备资产数据传输的标准化和一致性,通用于所有设备;B10S和BMC要维护相同的设备类型编号;
设备编号数组,标示本次传输的数据中携带了哪些在位设备数据。例如本次传输了 5条内存数据(内存编号为0-4),则设备编号数组为[0,1,2,3,4];此编号数组中的设备编号可以不连续,根据实际情况将在位设备的编号依次放入该数组;该设备数据分成几组发送根据总体设备数据大小,只要保证单次数据量不超过IPMI协议规范即可。
[0017]数据传输完成标志,标示这个设备类型下的设备数据传输完毕,该字段主要用于一种设备类型下有多个设备、需要分多次传输的情形,最后一次数据传输将此字段设置为I,表明该设备类型数据传输完成;
数据完整性字段,该字段用于数据完整性检查,以确保数据解析后与原始数据同步,如果检查失败通知发送方重发。
[0018]所述传输规范包括:
I)B1S资产信息组包、发送:
每次发送的资产信息数据包由两部分组成:数据包头+N个设备信息结构体;B10S对每个设备类型分别进行数据发送:
a)每次发送要设置该设备的设备类型编号到“设备类型字段”;此字段用于接收端识别设备类型,并采用相应的设备数据结构体解析设备数据;
b)设置设备编号数组,该数组包含了本次传输的设备编号表;如果该设备信息有多个条目,一次无法传输完成,可将条目进行分组,每次发送一组设备编号;例如,有10条内存数据,可分为3组:[O, I, 2,3]、[4,5,6]和[7,8,9],则每次数据传输设置相应的编号表到设备编号数组;
c)设置数据传输完成标志,如果设备数据只需要一次传输,设置该字段为I
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1