一种服务器的硬盘状态监控方法、设备和计算机设备与流程

专利2022-06-29  68


本领域涉及计算机领域,并且更具体地涉及一种服务器的硬盘状态监控方法、设备和计算机设备。



背景技术:

随着云计算的兴起,核心计算资源由分散式向集中式发展,即核心计算任务在一个或多个数据中心中完成,比如公有云环境,租户租赁计算资源、存储资源和网络资源等来运行业务系统、存放业务数据。这种方式可以极大的降低租户维护设备的成本及精力,同时又能保证业务系统的正常运行。但这种方式又引入了新的问题,云服务租户的业务数据存放在云端,租户无法感知数据是否被窃取。

计算机数据的最终存放形式是在硬盘中,而现阶段使用具备数据冗余功能硬盘管理技术可以做到实时更换硬盘又不会影响业务系统,比如raid5技术采用奇偶校验的方式,当阵列中的一块盘被替换后,可以根据校验信息恢复原有硬盘中的数据。这就给云服务租户的数据带来风险,一旦云数据中心中的运维人员非法替换租户的硬盘,租户无法第一时间知悉,也就无法第一时间做出响应。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种服务器的硬盘状态监控方法、设备和计算机设备,通过使用本发明的方法,能够确保硬盘安全,当主机硬盘被替换后可以及时通知用户,使用户第一时间知悉以尽快采取应对措施。

基于上述目的,本发明的实施例的一个方面提供了一种服务器的硬盘状态监控方法,包括以下步骤:

根据硬盘信息计算得到校验基准值;

响应于服务器处于启动阶段,获取当前硬盘信息并计算得到第一比较值,并将第一比较值与校验基准值进行比较得到第一比较结果;

响应于服务器处于系统引导阶段,获取当前硬盘信息并计算得到第二比较值,并将第二比较值与第一比较值进行比较得到第二比较结果;

响应于服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将第三比较值与校验基准值进行比较得到第三比较结果;

根据第一比较结果、第二比较结果和第三比较结果对硬盘状态进行监控。

根据本发明的一个实施例,根据硬盘信息计算得到校验基准值包括:

分别获取所有硬盘的sn信息;

根据所有sn信息计算摘要值以得到校验基准值。

根据本发明的一个实施例,还包括:将校验基准值存储到可信根的第一区域中。

根据本发明的一个实施例,还包括:响应于第一比较值与校验基准值相同,将第一比较值存储到可信根第二区域中。

根据本发明的一个实施例,将第一比较值与校验基准值进行比较包括:

将第一比较值中的摘要值与校验基准值中的摘要值进行比较;

响应于第一比较值中的摘要值与校验基准值中的摘要值不同,将第一比较值中的每个硬盘的sn信息与校验基准值中的相应硬盘的sn信息进行比较。

根据本发明的一个实施例,将第二比较值与第一比较值进行比较包括:

将第二比较值中的摘要值与第一比较值中的摘要值进行比较;

响应于第二比较值中的摘要值与第一比较值中的摘要值不同,将第二比较值中的每个硬盘的sn信息与第一比较值中的相应硬盘的sn信息进行比较。

根据本发明的一个实施例,响应于服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将第三比较值与校验基准值进行比较得到第三比较结果包括:

每经过阈值时间获取当前硬盘信息并计算得到第三比较值,将第三比较值与校验基准值进行比较得到第三比较结果。

根据本发明的一个实施例,根据第一比较结果、第二比较结果和第三比较结果对硬盘状态进行监控包括:

响应于第一比较结果、第二比较结果和第三比较结果中的至少一个为不一致,提示硬盘状态为不可信。

本发明的实施例的另一个方面,还提供了一种服务器的硬盘状态监控设备,设备包括:

计算模块,计算模块配置为根据硬盘信息计算得到校验基准值;

第一比较模块,第一比较模块配置为响应于服务器处于启动阶段,获取当前硬盘信息并计算得到第一比较值,并将第一比较值与校验基准值进行比较得到第一比较结果;

第二比较模块,第二比较模块配置为响应于服务器处于系统引导阶段,获取当前硬盘信息并计算得到第二比较值,并将第二比较值与第一比较值进行比较得到第二比较结果;

第三比较模块,第三比较模块配置为响应于服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将第三比较值与校验基准值进行比较得到第三比较结果;

监控模块,监控模块配置为根据第一比较结果、第二比较结果和第三比较结果对硬盘状态进行监控。

本发明的实施例的另一个方面,还提供了一种计算机设备,其特征在于,包括:

至少一个处理器;以及

存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行上述任意一项的方法。

本发明具有以下有益技术效果:本发明实施例提供的服务器的硬盘状态监控方法,通过根据硬盘的信息计算得到校验基准值;响应于服务器处于启动阶段,获取当前硬盘信息并计算得到第一比较值,并将第一比较值与校验基准值进行比较得到第一比较结果;响应于服务器处于系统引导阶段,获取当前硬盘信息并计算得到第二比较值,并将第二比较值与第一比较值进行比较得到第二比较结果;响应于服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将第三比较值与校验基准值进行比较得到第三比较结果;根据第一比较结果、第二比较结果和第三比较结果对硬盘状态进行监控的技术方案,能够确保硬盘安全,当主机硬盘被替换后可以及时通知用户,使用户第一时间知悉以尽快采取应对措施。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为根据本发明一个实施例的服务器的硬盘状态监控方法的示意性流程图;

图2为根据本发明一个实施例的服务器的硬盘状态监控设备的示意图;

图3为根据本发明的一实施例在服务器启动阶段进行监控的流程图;

图4为根据本发明的一实施例在系统引导阶段进行监控的流程图;

图5为根据本发明的一实施例在系统运行阶段进行监控的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

基于上述目的,本发明的实施例的第一个方面,提出了一种服务器的硬盘状态监控方法的一个实施例。图1示出的是该方法的示意性流程图。

如图1中所示,该方法可以包括以下步骤:

s1根据硬盘信息计算得到校验基准值;

s2响应于服务器处于启动阶段,获取当前硬盘信息并计算得到第一比较值,并将第一比较值与校验基准值进行比较得到第一比较结果;

s3响应于服务器处于系统引导阶段,获取当前硬盘信息并计算得到第二比较值,并将第二比较值与第一比较值进行比较得到第二比较结果;

s4响应于服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将第三比较值与校验基准值进行比较得到第三比较结果;

s5根据第一比较结果、第二比较结果和第三比较结果对硬盘状态进行监控。

每一硬盘在出厂时由厂商生成唯一serialnumber(后文简称sn号)作为唯一识别码,因此可以使用硬盘的sn号作为每一硬盘的身份信息。服务器在出厂时已经完成了硬盘的装配,出厂时的硬盘信息已经固定,因此由服务器厂商完成硬盘基准值的部署作为后续验证的基准。

可信根作为一种密码设备,具备可信存储的功能,其访问权限独立于物理硬盘,其中的数据只能被授权读写,因此使用可信根作为硬盘基准信息的存储位置。同时,bios在执行到dxe(driverexecutionenvironment,驱动执行环境)阶段时,已经可以访问可信根及硬盘,因此bios可在dxe阶段后验证硬盘是否被替换。同时,每次bios运行时将实时提取的硬盘sn信息存放至可信存储中作为后续阶段的验证基准。

本发明提出的服务器硬盘状态监控系统,从服务器启动到服务器运行三个阶段分别对硬盘状态进行监控,当主机硬盘被替换后可以通过带内和带外两种途径通知用户,使用户第一时间知悉以尽快采取应对措施。

上述三个阶段主要包括服务器启动阶段、系统引导阶段及系统运行阶段硬盘状态监控,其中:

1)服务器启动阶段监控:该阶段由bios负责采集本次启动时的硬盘sn信息,并根据校验基准值完成校验,校验的结果传递至bmc作为带外监控的数据;

2)系统引导阶段监控:该阶段由bootloader(启动引导程序)提取bios采集的硬盘sn信息,并根据校验基准值完成校验,校验的结果作为带内监控的数据;

3)系统运行阶段监控:该阶段为系统运行时的校验,实时提取当前的硬盘sn信息,并根据校验基准值完成校验,产生校验结果并反馈给系统用户。

通过本发明的技术方案,能够确保硬盘安全,当主机硬盘被替换后可以及时通知用户,使用户第一时间知悉,尽快采取应对措施。

在本发明的一个优选实施例中,根据硬盘信息计算得到校验基准值包括:

分别获取所有硬盘的sn信息;

根据所有sn信息计算摘要值以得到校验基准值。根据所有硬盘的sn信息进行哈希计算或摘要算法得出一个摘要值,该摘要值和每个sn信息共同作为校验基准值,在每一个过程的校验时先比对摘要值是否一致,当一致时说明所有的硬盘信息都正确,直接进行后面的其他监控,当摘要值不一致时再分别对比每一硬盘的sn信息,找到sn信息不一致的硬盘,检查该硬盘是否出现异常。该步骤可以在服务器出厂前完成,也可以在服务器的硬盘是安全状态时计算得到校验基准值。

在本发明的一个优选实施例中,还包括:将校验基准值存储到可信根的第一区域中。还可以设置访问权限,设置可信根存储的访问权限是为了实现访问控制,只允许管理人员在部署基准值时执行写操作,其他模块只允许读操作,防止基准值被篡改。

在本发明的一个优选实施例中,还包括:响应于第一比较值与校验基准值相同,将第一比较值存储到可信根第二区域中。由于bootloader和bios一样,只在服务器启动时运行,这两个阶段都很短暂且是连续的,因此bootloader可以使用在服务器启动阶段的第一比较值作为临时的校验基准值,为了保证第一比较值的安全,因此需要将第一比较值存入可信根中。

在本发明的一个优选实施例中,将第一比较值与校验基准值进行比较包括:

将第一比较值中的摘要值与校验基准值中的摘要值进行比较;

响应于第一比较值中的摘要值与校验基准值中的摘要值不同,将第一比较值中的每个硬盘的sn信息与校验基准值中的相应硬盘的sn信息进行比较。根据所有硬盘的sn信息计算出一个摘要值,该摘要值和每个sn信息共同作为校验基准值,在每一个过程的校验时先比对摘要值是否一致,当一致时说明所有的硬盘信息都正确,直接进行后面的其他监控,当摘要值不一致时再分别对比每一硬盘的sn信息,找到sn信息不一致的硬盘,检查该硬盘是否出现异常。

在本发明的一个优选实施例中,将第二比较值与第一比较值进行比较包括:

将第二比较值中的摘要值与第一比较值中的摘要值进行比较;

响应于第二比较值中的摘要值与第一比较值中的摘要值不同,将第二比较值中的每个硬盘的sn信息与第一比较值中的相应硬盘的sn信息进行比较。

在本发明的一个优选实施例中,响应于服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将第三比较值与校验基准值进行比较得到第三比较结果包括:

每经过阈值时间获取当前硬盘信息并计算得到第三比较值,将第三比较值与校验基准值进行比较得到第三比较结果。一般而言,服务器一旦启动后很少会执行重启,因此该阶段监控时,要实时获取硬盘信息作为校验对象,而不能像系统引导阶段一样使用bios采集的值作为验证对象,一般来说提取硬件的信息会有一定的性能损耗,因此,该过程的具体使用场景并不做限制,并不限制是使用周期性执行的方式还是由其他对象调用执行的方式。

在本发明的一个优选实施例中,根据第一比较结果、第二比较结果和第三比较结果对硬盘状态进行监控包括:

响应于第一比较结果、第二比较结果和第三比较结果中的至少一个为不一致,提示硬盘状态为不可信。三个阶段的监控中,任一比较结果出现不一致时就需要向用户提示。

实施例

本发明以tpm2.0作为可信根,以grub作为bootloader,以linux系统作为操作系统为例。在系统运行阶段周期性执行校验过程如下:

首先,校验基准值的确定在服务器出厂前完成操作:

1)获取sn信息:服务器出厂前一般不预装操作系统,可以根据每台服务器的配置信息获取硬盘sn信息,也可使用bios中内置的uefishell命令行获取当前环境中的硬盘sn信息;

2)计算sn信息摘要值:获取当前服务器中所有的硬盘sn信息,使用摘要算法计算sn信息的摘要值(如md5、sha1、sha256等);

3)开辟存储信息空间:tpm2.0中使用tpm2_nvdefinespace命令可以在tpm2.0芯片中开辟存储空间,且设置只有使用特定的授权码才能对该空间执行写操作(只有服务器厂商和bios才能在该空间中执行写操作),而开放读权限,使得后续阶段可以正常读取基准值;

4)写入基准值信息:tpm2.0中使用tpm2_nvwrite命令可以向tpm2.0芯片的存储区域中写入数据,将步骤2)中计算得到的摘要值、摘要算法信息及步骤1)中的硬盘sn详细信息写入步骤3)开辟的存储空间中。

如图3所示,在服务器启动阶段进行监控如下:

1)硬件初始化:bios在dxe阶段完成服务器上所有硬件的自检、内存映射等操作,初始化结束后bios才可正常访问tpm芯片及硬盘;

2)检测基准值是否部署:tpm2.0中可以使用tpm2_getcapability命令查询已开辟存储空间索引号,如果存放基准值的存储空间已定义,则说明基准值已经部署,可以执行校验过程,如存储空间未定义,则基准值未部署,无须进行校验过程;

3)获取sn信息并计算摘要值:硬件初始化后,bios可通过读取硬盘的固件信息获取每一硬盘的sn信息,tpm2.0中可以通过tpm2_nvread命令读取存储空间中内容,先读取基准值信息中的的摘要算法信息,使用对应算法计算sn的摘要值;

4)记录摘要值:通过tpm2_nvwrite将步骤3)中计算的sn摘要值写入tpm2.0芯片的存储空间中,该信息为本次启动阶段获取的硬盘信息,供系统引导阶段grub校验使用;

5)校验硬盘sn信息:通过tpm2_nvread读取基准值信息中的摘要信息部分,与步骤3)中结算的摘要信息对比,如果两者一致,则说明本次启动时硬盘与出厂时一致,如不一致,则通过tpm2_nvread读取详细的sn基准值信息,并与步骤3)中得到的sn信息对比确定不可信的硬盘;

6)反馈校验信息:将步骤5)的验证结果通过ipmi工具传递至bmc,供带外管理者使用。

如图4所示,在系统引导阶段进行监控如下:

1)获取本次启动过程硬盘sn信息:通过tpm2_nvread读取bios存储的本次启动中的硬盘sn信息;

2)获取硬盘sn信息基准值(该值在启动阶段存储在tpm芯片中):通过tpm2_nvread读取基准值信息的中摘要信息;

3)信息校验:对比步骤1)和步骤2)中的信息,对比结果一致则可信,对比结果不一致则为不可信,并输出对比结果供带内管理员使用。

如图5所示,在系统运行阶段进行监控如下:

1)周期性获取当前的硬盘sn信息:在linux系统中可以通过smartctl工具实时获取硬盘的sn信息;

2)周期性获取硬盘sn信息基准值:通过tpm2_nvread读取基准值信息中sn详细信息,并与步骤1)中得到的实时信息进行周期性对比,对比结果一致则可信,对比结果不一致则为不可信,输出返回结果,供操作系统使用者使用。

通过本发明的技术方案,能够确保硬盘安全,当主机硬盘被替换后可以及时通知用户,使用户第一时间知悉以尽快采取应对措施。

需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存取存储器(randomaccessmemory,ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,根据本发明实施例公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。

基于上述目的,本发明的实施例的第二个方面,提出了一种服务器的硬盘状态监控设备,如图2所示,设备200包括:

计算模块,计算模块配置为根据硬盘信息计算得到校验基准值;

第一比较模块,第一比较模块配置为响应于服务器处于启动阶段,获取当前硬盘信息并计算得到第一比较值,并将第一比较值与校验基准值进行比较得到第一比较结果;

第二比较模块,第二比较模块配置为响应于服务器处于系统引导阶段,获取当前硬盘信息并计算得到第二比较值,并将第二比较值与第一比较值进行比较得到第二比较结果;

第三比较模块,第三比较模块配置为响应于服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将第三比较值与校验基准值进行比较得到第三比较结果;

监控模块,监控模块配置为根据第一比较结果、第二比较结果和第三比较结果对硬盘状态进行监控。

基于上述目的,本发明的实施例的第三个方面,提出了一种计算机设备,其特征在于,包括:

至少一个处理器;以及

存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行上述任意一项的方法。

需要特别指出的是,上述系统的实施例采用了上述方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到上述方法的其他实施例中。

此外,上述方法步骤以及系统单元或模块也可以利用控制器以及用于存储使得控制器实现上述步骤或单元或模块功能的计算机程序的计算机可读存储介质实现。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。


技术特征:

1.一种服务器的硬盘状态监控方法,其特征在于,包括以下步骤:

根据硬盘信息计算得到校验基准值;

响应于所述服务器处于启动阶段,获取当前硬盘信息并计算得到第一比较值,并将所述第一比较值与所述校验基准值进行比较得到第一比较结果;

响应于所述服务器处于系统引导阶段,获取当前硬盘信息并计算得到第二比较值,并将所述第二比较值与所述第一比较值进行比较得到第二比较结果;

响应于所述服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将所述第三比较值与所述校验基准值进行比较得到第三比较结果;

根据所述第一比较结果、所述第二比较结果和所述第三比较结果对所述硬盘状态进行监控。

2.根据权利要求1所述的方法,其特征在于,根据硬盘信息计算得到校验基准值包括:

分别获取所有所述硬盘的sn信息;

根据所有所述sn信息计算摘要值以得到所述校验基准值。

3.根据权利要求1所述的方法,其特征在于,还包括:将所述校验基准值存储到可信根的第一区域中。

4.根据权利要求1所述的方法,其特征在于,还包括:响应于所述第一比较值与所述校验基准值相同,将所述第一比较值存储到可信根第二区域中。

5.根据权利要求1所述的方法,其特征在于,将所述第一比较值与所述校验基准值进行比较包括:

将所述第一比较值中的摘要值与所述校验基准值中的摘要值进行比较;

响应于所述第一比较值中的摘要值与所述校验基准值中的摘要值不同,将所述第一比较值中的每个所述硬盘的sn信息与所述校验基准值中的相应硬盘的sn信息进行比较。

6.根据权利要求1所述的方法,其特征在于,将所述第二比较值与所述第一比较值进行比较包括:

将所述第二比较值中的摘要值与所述第一比较值中的摘要值进行比较;

响应于所述第二比较值中的摘要值与所述第一比较值中的摘要值不同,将所述第二比较值中的每个所述硬盘的sn信息与所述第一比较值中的相应硬盘的sn信息进行比较。

7.根据权利要求1所述的方法,其特征在于,响应于所述服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将所述第三比较值与所述校验基准值进行比较得到第三比较结果包括:

每经过阈值时间获取当前硬盘信息并计算得到第三比较值,将所述第三比较值与所述校验基准值进行比较得到第三比较结果。

8.根据权利要求1所述的方法,其特征在于,根据所述第一比较结果、所述第二比较结果和所述第三比较结果对所述硬盘状态进行监控包括:

响应于所述第一比较结果、所述第二比较结果和所述第三比较结果中的至少一个为不一致,提示所述硬盘状态为不可信。

9.一种服务器的硬盘状态监控设备,其特征在于,所述设备包括:

计算模块,所述计算模块配置为根据所述硬盘的信息计算得到校验基准值;

第一比较模块,所述第一比较模块配置为响应于所述服务器处于启动阶段,获取当前硬盘信息并计算得到第一比较值,并将所述第一比较值与所述校验基准值进行比较得到第一比较结果;

第二比较模块,所述第二比较模块配置为响应于所述服务器处于系统引导阶段,获取当前硬盘信息并计算得到第二比较值,并将所述第二比较值与所述第一比较值进行比较得到第二比较结果;

第三比较模块,所述第三比较模块配置为响应于所述服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将所述第三比较值与所述校验基准值进行比较得到第三比较结果;

监控模块,所述监控模块配置为根据所述第一比较结果、所述第二比较结果和所述第三比较结果对所述硬盘状态进行监控。

10.一种计算机设备,其特征在于,包括:

至少一个处理器;以及

存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行如权利要求1-8任意一项所述的方法。

技术总结
本发明提供了一种服务器的硬盘状态监控方法、设备和计算机设备,该方法包括以下步骤:根据硬盘信息计算得到校验基准值;响应于服务器处于启动阶段,获取当前硬盘信息并计算得到第一比较值,并将第一比较值与校验基准值进行比较得到第一比较结果;响应于服务器处于系统引导阶段,获取当前硬盘信息并计算得到第二比较值,并将第二比较值与第一比较值进行比较得到第二比较结果;响应于服务器处于系统运行阶段,获取当前硬盘信息并计算得到第三比较值,并将第三比较值与校验基准值进行比较得到第三比较结果;根据第一比较结果、第二比较结果和第三比较结果对硬盘状态进行监控。通过使用本发明的方法,能够确保硬盘安全。

技术研发人员:许鑫;吴保锡
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2020.01.10
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-27420.html

最新回复(0)