自动检测及警示计算装置组件变更的方法和系统与流程

文档序号:26746907发布日期:2021-09-25 00:46阅读:83来源:国知局
自动检测及警示计算装置组件变更的方法和系统与流程

1.本发明涉及一种计算装置中的组件检测。更具体地,本发明涉及一种系统,其允许检测和警示一数据中心中的计算装置内的组件的变更。


背景技术:

2.服务器被大量用于例如基于网络的系统或数据中心的高需求应用。用于计算应用程序的云的出现增加了对数据中心的需求。数据中心有许多服务器,用于存储数据并运行由远端连接的计算机装置使用者存取的应用程序。典型的数据中心具有物理机架结构,并带有相应的电源和通信连接。每个机架可以容纳多个计算服务器和存储服务器。每个服务器通常包括硬件组件,例如处理器、存储装置、网络接口卡、电源和其他专用硬件。每个服务器通常包括基板管理控制器,该基板管理控制器管理服务器的运作,以及将运作数据传送到管理机架式服务器的一中央管理站。
3.数据中心中的服务器为企业提供了许多服务,包括执行应用程序、提供虚拟化服务以及促进互联网商务。在此角色中,数据中心中的应用服务器和存储服务器存储必须受到保护的重要数据。因此,数据中心的安全性日益重要。一种潜在的安全隐患可能是未经授权更换服务器上的组件。服务器上的某些组件可能包含重要的存取信息,此重要的存取信息可用于渗透到数据中心。因此,从服务器上卸下的组件可能会包含一些信息,以允许未经授权的存取数据中心。通过热插拔来替换卸下的组件,服务器仍可继续正常运行,因此漏洞不会被发现。此外,一个组件也可以用另一个具有“特洛伊木马”的组件(例如恶意软件)替换,以收集敏感数据。数据中心管理员可能不知道服务器中的组件已被更换,因此危害了安全性。
4.因此,需要一种系统,其使用例如服务器的计算装置的管理控制器来检测服务器中的组件是否被变更。还需要一种系统,当服务器中的组件发生变更时,该系统会向数据中心管理员发出警示。进一步更需要一种系统,可以从远端中央管理站追踪服务器的组件。


技术实现要素:

5.根据本发明的一实施例,提出一种用于确定远端计算装置的多个组件的系统。该系统包括一远端管理站以及与该远端管理站通信的一网络。该系统包括一计算装置、一控制器及一存储器。该计算装置具有多个组件。该存储器存储这些组件中的至少一组件的一识别信息。该控制器耦接至该网络并确定该至少一硬件组件的该识别信息。该控制器通过将存储的该识别信息与确定的该识别信息进行比较,来检查该组件是否被变更。
6.根据本发明的另一实施例的系统,其中控制器是基板管理控制器。在一实施例中,计算装置是服务器。在一实施例中,当该组件被变更时,控制器发出一警示。在一实施例中,该警示是一电子邮件、一文字讯息、一智能型平台管理接口(ipmi)平台事件陷阱(pet)协议警示或一简单网络管理(snmp)陷阱协议警示其中之一。在一实施例中,该警示可以包括一时间戳、该控制器之一ip地址、该计算装置之一id、该组件的该存储的识别信息、该组件的
该确定的识别信息、或该计算装置中该组件的位置其中之一。在一实施例中,该系统包括一bios。该存储的识别信息是由该bios提供,该bios在一初始开机期间从该组件收集该识别信息,并传送该识别信息至该控制器。在一实施例中,该识别信息由该bios确定,该bios在该计算装置的一后续开机期间从该组件收集该识别信息。在一实施例中,该存储的识别信息是由该控制器提供,该控制器在该计算装置之一初始开机期间从该组件收集该识别信息,并存储该识别信息至该存储器。该控制器在该计算装置的一后续开机期间从该组件收集该识别信息。在一实施例中,该识别信息为一序号、一零件号、一型号id、一制造商名称或id、一制造日期、或该计算装置中的一位置其中之一。在一实施例中,该控制器周期性地重复确定该至少一组件的该识别信息,并检查该组件是否被变更。
7.根据本发明的另一实施例,提出一种确定一计算装置上的多个组件的方法。将一组件的一识别信息存储在一存储器中。通过一控制器确定该组件的该识别信息。将该组件的该确定的识别信息与该存储的识别信息进行比较,以确定该组件是否被变更。
8.根据本发明的另一实施例的方法,其中该控制器是一基板管理控制器,且该计算装置是一服务器。在一实施例中,在该组件被变更时,发出一警示。在一实施例中,该警示是一电子邮件、一文字讯息、一智能型平台管理接口(ipmi)平台事件陷阱(pet)协议警示或一简单网络管理(snmp)陷阱协议警示其中之一。在一实施例中,该警示可以包括一时间戳、该控制器的一ip地址、该计算装置的一id、该组件的该存储的识别信息、该组件的该确定的识别信息、或该计算装置中该组件的位置其中之一。在一实施例中,该方法还包括以下步骤。该计算装置被初始开机。在该初始开机期间,通过一bios或基板管理控制器从该组件中收集识别信息;以及将该收集的识别信息发送给该控制器进行存储。在一实施例中,该识别信息由该bios或该控制器确定,该bios或该控制器在该计算装置的一后续开机期间从该组件收集该识别信息。在一实施例中,该识别信息为一序号、一零件号、一型号id、一制造商名称或id、一制造日期、或该计算装置中的一位置其中之一。在一实施例中,该方法还包括周期性地重复该确定该组件的该识别信息,并检查该组件是否被变更的步骤。
9.根据本发明的另一实施例,提出一种计算装置,该计算装置具有多个硬件组件。每一这些硬件组件包括一识别信息。至少一总线,耦接至这些硬件组件。一存储器装置,存储与每一这些硬件组件对应的该识别信息。一管理控制器,耦接至该总线及该存储器装置。该管理控制器用以通过该总线周期性地从每一这些硬件组件要求该识别信息。该控制器从每一这些硬件组件接收该要求的识别信息。该控制器将该接收的识别信息与该存储的识别信息进行比较,以确定这些硬件组件是否被变更。
10.以上发明内容并非旨在表示本发明的每个实施例或每个方面。而是,前述发明内容提供本文阐述一些新颖方面和特征的示例。为了对本发明的上述特征及优点及其他特征及优点有更佳的了解,下文特举实施例,并配合附图详细说明如下。
附图说明
11.为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合附图详细说明如下:
12.图1绘示根据本发明的一实施例的允许一远端管理站追踪计算装置的组件的数据中心的方块图。
13.图2绘示根据本发明一实施例的图1中的数据中心系统的一计算装置的组件,包括可检查组件的识别信息的一管理控制器的方块图。
14.图3绘示根据本发明一实施例的用于周期性地检查一计算装置的组件的识别信息的流程图。
15.图4绘示根据本发明一实施例的用于确定计算装置中的组件的识别信息的bios和基板管理控制器的启动例程的流程图。
16.本发明可进行各种修改和替代形式。本发明已通过示例的方式在附图中示出了一些代表性的实施例,并且在此将对其进行详细描述。然而,应当理解的是,本发明并不限于所公开的特定形式。相反地,本发明将涵盖由所附权利要求书所限定的本发明的精神和范围内的所有修改、均等形式及替代形式。
17.【符号说明】
18.100:数据中心系统
19.102:远端管理
20.104:网络
21.112,114,116:机架
22.120,122:服务器
23.124:交换器
24.128:基板管理控制器
25.130:安全例程
26.210:中央处理器
27.212:中央处理器
28.214:fpga卡
29.216:psu
30.220:基板管理控制器
31.222:pch
32.224:快闪存储器
33.226:固件
34.228:表
35.230:硬盘/固态硬盘
36.232:nvme固态硬盘
37.234:raid卡
38.236:dimm
39.240:网络接口卡
40.250:基本输入输出系统
41.252:pmbus
42.254:i2c/smbus
43.256:pcie
44.300,400:流程图
45.310~328,410~416:步骤
具体实施方式
46.本发明可以许多不同的形式实施。代表性实施例在附图中示出,并且将在本文中详细描述。本发明用以示例或说明原理,并非将本发明限于所示出的实施例。例如在摘要、发明内容和实施方式部分中公开但在权利要求书中未明确提出的要素和限制,不应通过暗示、推论,单独或共同地并入权利要求书中。为了本发明详细描述的目的,除非特别声明,否则单数包括复数,反之亦然。“包括”一词的意思是“包括但不限于”。此外,在本文中可以使用诸如“大约”、“几乎”、“实质上”、“近似”等的近似词来表示例如“在...处”、“邻近...”或“在...附近”或“3-5%之内”或“在可接受的制造公差之内”或其任意的逻辑组合。
47.本文公开的示例包括追踪计算装置中的硬件组件的系统和方法。计算装置(例如服务器)的管理控制器会定期确定计算装置中的组件是否已变更。每个组件的标识讯息在开机例行程序期间由bios或bmc收集,并由管理控制器存储。管理控制器定期获取每个组件的标识讯息,并将此标识讯息与相应的存储讯息进行比较。如果收集的标识讯息与计算装置上存储的组件的标识讯息不匹配,则系统允许管理控制器向管理员发出警示。
48.请参照图1,其绘示数据中心系统100。数据中心100包括管理站102,管理站102通过网络104连接到机架112、114和116上的服务器组。每个机架(例如机架112)包括计算装置(例如应用服务器120及一存储服务器122)。机架112、114和116还各包括一机架交换器124。在此实施例中,服务器120和122可各自包括一专用控制器,例如基板管理控制器(bmc)128,其可经由机架交换器124通过网络104将操作数据传递到远端管理站102。每个计算装置,例如服务器120和122,检查计算装置的组件的识别信息。在此实施例中,机架交换器124连接至服务器120和122中的每一个基板管理控制器,以允许其连接到网络104。
49.在数据中心系统100中,除了机架112、114和116之外,还可以有更多个机架。虽然仅示出服务器120和122,但应理解的是,数据中心系统100中的每个机架可支持不同类型的多个服务器。远端管理站102可以监视多个机架上的多个服务器的运作。
50.在一实施例中,安全例程130可以在管理站102上被执行,以确保机架112、114和116中的计算装置不会被擅自变更。当计算装置中的任何组件被变更时,计算装置都会向安全例程130发出警示。更进一步解释,每个计算装置包括一例程,该例程可通过组件的识别信息周期性地追踪组件。且该例程可向管理站102发出计算装置中的组件的任何变更的警示。
51.在一实施例中,硬件组件可包括网络接口卡(nic)、容错式磁盘阵列(raid)卡、现场可编程门阵列(fpga)卡、电源供应单元(psu)、硬盘(hdd)、固态硬盘(ssd)、双列直插式存储器模块(dimm)、中央处理器(cpu)和图形处理器(gpu)。如果在计算装置上的任何组件被替换,则计算装置上的bmc 128都会向安全例程130发出警示。安全例程130警示操作员并提供信息,例如计算装置的位置(机架和实际位置)、被变更的组件、以及时间戳的信息。
52.图2绘示一实施例的计算装置(如图1中的应用服务器120)的方块图。应用服务器120包括两个中央处理器(cpu)210和212,其执行计算操作和执行应用程序。虽然仅示出了两个中央处理器,但是应用服务器120可以支持附加的中央处理器。如可以由安装在现场可编程门阵列(fpga)卡214上的图形处理器(gpu)或现场可编程门阵列(fpga)之类的专用处理器来执行专用功能。应用服务器120上的组件由电源供应单元(psu)216供电。应用服务器120的操作由基板管理控制器(bmc)220管理。平台路径控制器(pch)222辅助控制数据路径
并支持中央处理器210和212。基板管理控制器220耦接到存储基板管理控制器的固件226的非易失性存储器224。一组件识别表228也存储在非易失性存储器224中。在此实施例中,非易失性存储器224可为快闪存储器,但不限于此,可以是任何适当的非易失性存储器。
53.其他组件包括存储器装置,例如sata存储器装置230,可为硬盘或固态硬盘、nvme固态硬盘232和容错式磁盘阵列(raid)卡234。中央处理器210和212可以由双列直插式存储器模块(dimm)236形式的快速存储器支持。网络接口卡(nic)240提供与外部装置(如远端管理站102或交换机和路由器)的通信。基本输入输出系统(bios)250是在应用服务器120开机之后在启动过程(boot-up process)中使用的固件。基本输入输出系统250包括多个例程,其当组件被初始化成为应用服务器120的启动过程的一部分时,这些例程从硬件组件收集信息。
54.应用服务器120包括不同的总线,其允许服务器120中的组件之间交换数据。总线还允许基板管理控制器220从应用服务器120中的不同组件接收状态信息。举例来说,应用服务器120可包括一电源管理总线(pmbus)252,其允许基板管理控制器220与电源供应单元216交换电源管理数据。i2c协议系统管理总线(i2c/smbus)254可用于在基板管理控制器220与装置(例如fpga卡214、sata存储器230、nvme存储器232、raid卡234和dimm 236)之间交换数据。pcie总线256允许处理组件(例如中央处理器210和212、pch 222)之间交换数据,pcie装置例如nvme固态硬盘232、nic 240、raid卡234、fpga卡214和基板管理控制器220。各个总线252、254和256使用相应的软件协议。其他硬件总线,例如i3c、peci、uart、usb或rmii/rgmii也可被使用。其他软件协议,例如mctp、nc-si、pldm、dcmi和自定义协议也可被使用。
55.图2中所示的应用服务器120,在应用服务器120开机之后,由基板管理控制器220执行的固件226周期性地从每个硬件组件收集识别信息。在此实施例中,固件226使基板管理控制器220通过硬件总线252、254和256向每个组件发送命令以获得组件的识别信息。该识别信息通过相应的软件协议被发送到基板管理控制器220。
56.在此实施例中,组件识别信息可以是序号、零件号、型号id、制造商名称或id、制造日期或计算装置中的位置。识别信息可以是任何单个信息或这些信息的组合。在此实施例中,序号是首选,但是其他信息可能对数据中心管理员有帮助。组件可通过适当的总线从基板管理控制器220接收命令,并响应此命令来回传识别信息。固件226可以将所收集的组件识别信息与组件信息表228中的所存储的组件识别信息进行比较。收集的信息与存储的信息之间的任何差异都表示组件已被变更。
57.存储在组件信息表228中的初始信息是由基本输入输出系统250或基板管理控制器220所执行的固件226在应用服务器120的初始开机例程期间收集的。组件的某些识别信息仅能被基本输入输出系统250或基板管理控制器220获得,因此基本输入输出系统250或基板管理控制器220之一或二者可以收集此识别信息。例如,基本输入输出系统250可以从仅连接到基本输入输出系统250的组件中排他地收集信息,例如通过sata总线排他地连接到平台路径控制器(例如平台路径控制器222)的存储装置。在另一实施例中,基板管理控制器220可以排他地从基本输入输出系统250无法存取的电源供应单元216收集信息。在此实施例中,在初始开机例程期间,作为bios uefi过程的一部分,例如pre-efi初始化环境(pei)或驱动程序执行环境(dxe)在平台初始化时,基本输入输出系统250获得关于每个组件的识别信息。在此实施例中,基本输入输出系统250接着在开机例程期间将收集的组件识
别信息发送到基板管理控制器220。基板管理控制器220通过将收集的组件识别信息写入组件信息表228中来存储该组件识别信息。可选地,基板管理控制器220可以在初始开机例程期间从组件收集识别信息。
58.在开机例程和启动之后,应用服务器120开始运作。在应用服务器120运作期间,固件226周期性地(例如每分钟)获取每个组件的识别信息。固件226使基板管理控制器220将收集的组件识别信息存储到存储器224。固件226将收集的组件识别信息与组件识别表228中的对应的组件识别信息进行比较。如果任何信息与保存的信息不匹配(例如,序号不同),则基板管理控制器220将该事件记录到非易失性存储器224,因为这表示原始组件已被变更。当信息与表228不匹配时,固件226更产生一警示。该警示被发送到图2中的安全例程130,以提醒数据中心操作员。可选地,安全例程130可向基板管理控制器220发送关于组件的变更被授权的回复。如果安全例程130发送了授权回复,则基板管理控制器220将用变更后组件的新识别信息来更新组件表228。
59.接下来应用服务器120开机时,基本输入输出系统250将应用服务器120中每个组件的信息发送到基板管理控制器220,如上所述。另外或可选地,组件信息也可以在开机期间由基板管理控制器220收集。固件226使基板管理控制器220将从基本输入输出系统250接收的每个组件的收集的识别信息与组件表228中对应的保存的识别信息进行比较。如果比较结果不同,则基板管理控制器220确定组件被变更。基板管理控制器220将该事件记录到存储在存储器224中的日志中。基板管理控制器220更警示管理员或使用者,例如远端管理站102的操作员。
60.警示可以以多种格式发出。该警示可以采用智能型平台管理接口(ipmi)平台事件陷阱(pet)协议和格式。该警示可以采用简单网络管理(snmp)陷阱协议和格式。该警示可以采用电子邮件(smtp)协议的形式。事件讯息可以采用文字讯息的形式发送至手机文字讯息服务器,然后该服务器将文字讯息发送至管理员的手机。
61.警示讯息可包含有用的信息,包括时间戳、基板管理控制器的ip地址、计算装置(例如服务器)id、组件名称或id、有关变更后组件和原始组件的差异信息、以及在计算装置内部的标记的组件的位置。任何或所有信息可与其他有用信息一起包含在警示讯息中。
62.举例来说,存储器装置230可以是具有产品id intel ssdsc2kg96和序号btyg937001dv960cgn00的intel sata ssd。在初始开机时,基本输入输出系统250收集该序号及产品id的识别信息,并将其存储在组件识别表228中。接着基板管理控制器220周期性地通过raid卡234从存储器装置230收集序号识别,并将其与存储的序号进行比较。如果所收集的序号不同,则基板管理控制器220产生存储器装置230已被变更的一警示。
63.类似地,nvme装置232可以是序号为55-cd-2e-41-4d-26-e9-a8且物理插槽为17的intel pcie ssd(nvme)。在初始开机时,基板管理控制器220收集此识别信息并将其存储在组件识别表228中。然后基板管理控制器220周期性地从nvme存储装置232收集序号识别和插槽号,并将其与存储的序号和插槽号进行比较。如果收集的序号或插槽号不同,则基板管理控制器220会产生nvme存储器装置232已被变更的一警示。
64.在另一个实施中,可以是网络接口卡240,其可以是具有部件号mcx456a-ecat和序号mt1750k08257的mellanox nic。在初始开机时,基板管理控制器220收集此识别信息并将其存储在组件识别表228中。然后基板管理控制器220周期性地从网络接口卡240收集序号
标识和部件号,并将其与存储的序号和部件号进行比较。如果收集的序号或部件号不同,则基板管理控制器220会产生网络接口卡240已被变更的一警示。
65.图3及图4中的流程图表示机器可读指令的一实施例,该机器可读指令用于周期性地检查组件识别并检查图2中的应用服务器120的开机。在此实施例中,机器可读指令包括一算法,可由处理器、控制器、和/或一个或多个其他合适的处理装置所执行。该算法可由存储在有形介质(例如快闪存储器、cd-rom、软盘、硬盘、dvd或其他存储器装置)上的软件实现。但是,本领域普通技术人员将容易想到,整个算法和/或其部分可以可选地由处理器以外的装置执行和/或以众所周知的方式实现在固件或专用硬件中,例如可以由专用集成电路(asic)、可编程逻辑装置(pld)、现场可编程逻辑装置(fpld)、现场可编程门阵列(fpga)、离散逻辑等实现。举例来说,任何或全部的接口的组件可以通过软件、硬件和/或固件来实现。而且,流程图所示的一些或全部的机器可读指令可以手动实现。此外,尽管图3和图4所示的流程图描述了一实施例的算法。但本领域普通技术人员将容易理解,可选地也可使用许多其他方法实现机器可读指令。例如,可以改变区块的执行顺序,和/或可以改变、删除或组合所描述的一些区块。
66.图3中的流程图300的步骤如下所示。当计算装置被开机时,例如图2中的应用服务器120被开机时(310),流程图300开始。基板管理控制器220在开机例程期间从每个硬件组件收集识别信息数据,并将其存储在组件识别表228中(312)。基本输入输出系统250在开机例程期间从每个硬件组件收集识别信息数据(314)。识别信息数据被发送到基板管理控制器220,并且被加到由基板管理控制器220收集的识别信息中(316)。基板管理控制器220将收集的信息数据与存储在存储器224中的组件表228中的信息数据进行比较(318)。
67.如果收集的信息数据与存储的信息数据匹配,则基板管理控制器220在正常运作期间通过各种总线(例如总线252、254和256)周期性地从每个硬件组件要求识别信息(320)。然后,基板管理控制器220将接收到的每个组件的识别信息与在存储器224中存储的识别信息进行比较(322)。如果每个组件的识别信息都相同(324),则步骤流程返回到周期性地收集识别信息(320)。
68.在开机(318)之后或在周期性收集(320)期间,如果接收的任何组件的识别信息与存储在存储器224中的识别信息不同,则表示该组件已被变更。然后,基板管理控制器220记录组件已被变更的事件(326)。接着,基板管理控制器220例如通过与图1中的远端管理站102的通信来向管理员发送警示(328)。以此方式,可以警示管理员计算装置的潜在篡改。步骤流程然后返回到周期性地收集识别信息(320)。
69.图4绘示在初始开机时,基本输入输出系统250和基板管理控制器220在例如图1中的应用服务器120的计算装置中收集和存储每个组件的识别的流程图400。首先,计算装置开机(410)。基本输入输出系统250被启动并作为初始化例程的一部分从每个组件收集识别信息(412)。基本输入输出系统250将识别信息发送到基板管理控制器220(414)。基板管理控制器220接收组件信息并建立组件表228。然后,基板管理控制器220将组件和对应的组件识别信息填入组件表228(416)。
70.本发明中所使用的术语“组件”、“模块”、“系统”等通常是指与计算机有关的实体、或者是硬件(例如电路)、硬件和软件的组合、软件、或与具有一个或多个特定功能的操作机器有关的实体。例如,组件可以是但不限于在一处理器(例如,数字信号处理器)上运行的一
程序、一处理器、一物件、一可执行文件、一可执行线程、一程序和/或一计算机。作为说明,在控制器上运行的应用程序以及控制器都可以是组件。一个或多个组件可以在程序和/或执行线程中,并且组件可以位于一台计算机上和/或分布在两个或多个计算机之间。此外,“装置”可以采用专门设计的硬件形式、通过在其上执行软件使之专门化的通用硬件,其能够执行特定功能;存储在计算机可读取介质上的软件、或其组合。
71.在此使用的术语仅出于描述特定实施例为目的,而不是限制本发明。除非上下文另外明确指出,否则如本文所使用的单数形式的“一”、“一个”和“该”也意图包括复数形式。此外,在详细描述和/或请求项中所使用的术语“包括”、“包含”、“具有”、“具”或其变形而言,这些术语旨在于以类似于术语“包含”的方式包含在内。
72.除非另有定义,否则本文中使用的所有术语(包括技术和科学术语)与本发明所属领域的普通技术人员通常所理解的具有相同含义。此外,诸如在常用字典中定义的那些术语应被解释为与相关领域中它们的含义一致的含义,并且除非在此明确地定义,否则将不以理想化或过于正式的意义来解释。
73.尽管上面已经描述了本发明的各种实施例,但是应当理解的是,它们仅是示例,并非限制本发明。尽管已经在一个或多个实施方式示出和描述了本发明,但是本领域的其他技术人员在阅读和理解本说明书和附图之后将想到同等的变更和修改。另外,尽管仅针对多种实施方式中的一种实施方式公开了本发明的特定特征,但是根据任何给定或特定的应用的优点,这种特征可以与其他实施方式的一个或多个其他特征组合。因此,本发明的广度和范围不应受到任何上述实施例的限制。而是,本发明的范围应根据所附请求项及其同等物来限定。
74.综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视所附权利要求书界定范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1