技术领域
[0001] 本公开涉及服务器技术领域,具体涉及风扇测试方法、装置、设备和存储介质。
相关背景技术
[0002] 随着服务器的算力提升,其功耗也越来越高。随着功耗增加,如何有效的给服务器散热也成了一个亟待解决的问题。
[0003] 当前的一些技术中,是在服务器中安装风扇,并通过风扇转动来为服务器散热。但是,随着服务器功耗增加,风扇的转速也越来越快。在长时间的高转速下,风扇很容易出现故障,进而导致服务器散热系统异常。在服务器的散热系统出现异常的情况下,服务器运行过程中产生的热量会使其硬件温度升高,进而引发硬件损坏或系统崩溃等问题。由此可见,风扇的可靠性与服务器的散热可靠性紧密相关。
[0004] 目前,一些技术只能对已经出现问题的风扇进行检测。基于这种检测方法,在检测到风扇出现故障时,可能服务器产生的热量已经引发硬件损坏等问题。因此,服务器的散热可靠性还有待提高。
具体实施方式
[0029] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0030] 下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0031] 在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一些实施例”或“该实施例”应当理解为“至少一些实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。
[0032] 在本文中,除非明确说明,“响应于A”执行一个步骤并不意味着在“A”之后立即执行该步骤,而是可以包括一个或多个中间步骤。
[0033] 可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获得、使用、存储或删除)应当遵循相应法律法规及相关规定的要求。
[0034] 可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及信息的类型、使用范围、使用场景等告知相关用户并获得相关用户的授权,其中,相关用户可以包括任何类型的权利主体,例如个人、企业、团体。
[0035] 例如,在响应于接收到用户的主动请求时,向相关用户发送提示信息,以明确地提示相关用户,其请求执行的操作将需要获得和使用到相关用户的信息,从而使得相关用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供信息。
[0036] 作为一种可选的但非限制性的实现方式,响应于接收到相关用户的主动请求,向相关用户发送提示信息的方式,例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或“不同意”向电子设备提供信息的选择控件。
[0037] 可以理解的是,上述通知和获得用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
[0038] 服务器中的风扇可靠性,与服务器的散热可靠性紧密相关。目前,在一些技术中,不能在风扇还处于正常运行状态时,提前检测风扇的潜在故障,进而不能提前对可能出现故障的风扇进行维修或更换,这导致在检测到风扇出现故障时,服务器可能已经因为散热故障而出现宕机等问题,这大大降低了服务器的散热可靠性。
[0039] 为解决上述问题,对风扇的运行数据进行分析后发现,在风扇真正出现故障之前,其运行数据也会出现一些异常现象。比如,电流异常突变、风扇转速的异常突变等。风扇的运行数据出现异常现象的频率越高,表示其出现故障的潜在风险也越高。
[0040] 基于此,本公开提供一种风扇测试方法,可以提高服务器的散热可靠性。风扇测试方法可应用于测试设备。测试设备可以是服务器中的基板管理控制器(Baseboard Management Controller,BMC),也可以是独立于服务器的其它设备(即测试设备可以不是服务器中的其中一个部件)。
[0041] 结合参阅图1。在风扇中,可以安装有复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)和监控模块。测试设备可以与复杂可编程逻辑器件、监控模块通信连接。测试设备通过复杂可编程逻辑器件,可以给风扇下发控制命令。比如,测试设备给复杂可编程逻辑器件下发如下命令1),可以关闭风扇的根据温度自动控速的功能:
[0042] 1)ipmitool.exe‑I lanplus‑H ip‑U username‑P password raw 0x30 0x30 0x010x00
[0043] 又比如,测试设备给复杂可编程逻辑器件下发如下命令2),可以设置风扇的转速:
[0044] 2)ipmitool.exe‑I lanplus‑H ip‑U username‑P password raw 0x30 0x30 0x020xff 0x转速的百分比的16进制
[0045] 监控模块可以包括但不限于传感器等部件,比如温度传感器、转速传感器、电流传感器等。通过监控模块,测试设备可以获取到风扇的实际温度、实际转速、实际电流大小等信息。
[0046] 基于图1所示的结构,结合参阅图2,为本公开的一些实施例提供的风扇测试方法的流程示意图。图2中,风扇测试方法可以包括如下步骤:
[0047] 步骤S201,获取风扇的最低测试转速和最高测试转速。
[0048] 在本实施例中,最低测试转速可以是在服务器处于idle状态时所对应的风扇转速。其中,idle状态是指服务器中的中央处理器或其它硬件资源没有执行任务时的状态。在idle状态时,服务器的功耗可以较低,散热可以较少,这时的风扇转速可以作为风扇运行过程中的最低转速。最高测试转速可以是风扇允许的最高转速。
[0049] 风扇允许的最高转速可以烧录在风扇的复杂可编程逻辑器件中,因此,给风扇中的复杂可编程逻辑器件下发命令获取参数,便可以获取得到该最高转速,即可以获取到上述最高测试转速。同时,可以通过服务器管理软件等,获取得到服务器处于idle状态时的风扇转速,即可以获取到上述最低测试转速。
[0050] 在其它一些实施例中,最低测试转速和最高测试转速也可以根据实际所需设置。比如,最高测试转速可以小于风扇允许的最高转速但大于最低测试转速。在这些实施例中,测试设备可以提供人机交互界面。用户通过人机交互界面,可以根据实际所需输入风扇的最低测试转速和最高测试转速。
[0051] 步骤S202,按照预设的转速变化逻辑,控制风扇的转速在最低测试转速和最高测试转速之间循环变化目标时长,并采集风扇的实际运行数据。
[0052] 在本实施例中,实际运行数据可以包括风扇的实际转速、实际电流大小、实际温度和实际振幅中的至少一个。
[0053] 转速变化逻辑,可用于指定风扇转速的变化量和风扇在各个转速的持续时长。基于不同的转速变化逻辑,可以控制风扇的转速在最低测试转速和最高测试转速之间进行不同的变化。比如,假设最低测试转速为15转/秒,最高测试转速为250转/秒。转速变化逻辑A指定风扇转速的变化量为20转/秒,以及风扇在各个转速的持续时长为25秒;转速变化逻辑B指定风扇转速的变化量按照10转/秒、20转/秒、30转/秒这样的规律逐渐增加,以及风扇在各个转速的持续时长为20秒。那么:
[0054] 1)依据转速变化逻辑A控制风扇的转速从最低测试转速变化到最高测试转速时,可以首先控制风扇按照15转/秒的转速运行25秒,然后将风扇转速增加20转/秒后,控制风扇按照35转/秒的转速运行25秒,然后将风扇转速增加20转/秒后,控制风扇按照55转/秒的转速运行25秒,如此依次类推,直至风扇转速达到最高测试转速。
[0055] 2)依据转速变化逻辑B控制风扇的转速从最低测试转速变化到最高测试转速时,可以首先控制风扇按照15转/秒的转速运行20秒,然后将风扇转速增加10转/秒后,控制风扇按照25转/秒的转速运行20秒,然后将风扇转速增加20转/秒后,控制风扇按照45转/秒的转速运行20秒,如此依次类推,直至风扇转速达到最高测试转速。
[0056] 通过上述转速变化逻辑A和转速变化逻辑B可以看出,依据不同的转速变化逻辑,风扇的转速变化规律是不同的。
[0057] 进一步的,在目标时长内,可以按照转速变化逻辑,控制风扇转速在最低测试转速和最高测试转速之间循环变化。所谓循环变化,就是按照转速变化逻辑,控制风扇从最低测试转速变换到最高测试转速,再控制风扇从最高测试转速从最低测试转速,再控制风扇从最低测试转速变换到最高测试转速,如此依次类推,直至达到目标时长。
[0058] 按照不同的转速变化逻辑,控制风扇的转速在最低测试转速和最高测试转速之间循环变化时,持续的目标时长可以相同,也可以不相同。比如,可以按照转速变化逻辑A,控制风扇的转速在最低测试转速和最高测试转速之间循环变化12小时后,按照转速变化逻辑B,控制风扇的转速在最低测试转速和最高测试转速之间循环变化10小时,再按照转速变化逻辑C,控制风扇的转速在最低测试转速和最高测试转速之间循环变化12小时。
[0059] 由于按照转速变化逻辑控制风扇的转速在最低测试转速和最高测试转速之间循环变化时,风扇的转速处于动态的变化过程中,风扇需要在目标时长内,不断的响应转速调整,以按照不同的转速转动。如此,一方面,可以有效的检测风扇的转速切换能力,以及风扇在不同的转速之间切换时,风扇的响应时间和稳定性;另一方面,相当于给风扇施加了一定的性能压力,如此,在风扇存在潜在故障问题时,基于这样的性能压力测试,风扇的实际运行数据就有可能出现异常现象,进而,依据这些异常现象,便可以确定存在潜在故障问题的风扇。
[0060] 基于以上描述,按照转速变化逻辑控制风扇的转速在最低测试转速和最高测试转速之间循环变化目标时长,又可理解为激发风扇可能存在的潜在问题。
[0061] 通常情况下,转速变化逻辑的设计是否合理,对能否成功激发风扇可能存在的潜在问题有比较直接的影响。因此,可以依据风扇可以承受的最大性能压力等,设计相对应的转速变化逻辑。在本公开后续的实施例中,提供了两种较优的转速变化逻辑,在此不赘述。
[0062] 继续参阅图1,在按照转速变化逻辑,控制风扇的转速在最低测试转速和最高测试转速之间循环变化时,可以通过复杂可编程逻辑器件和监控模块(比如电流传感器、温度传感器等),采集风扇的实际运行数据。在风扇可能存在潜在故障时,风扇的实际运行数据中可以包括较多的异常信息,比如实际电流大小出现异常突变的频率较高、实际温度过高等。在风扇未存在潜在故障时,风扇的实际运行数据中所包括的异常信息可以较少,或者不包括异常信息。
[0063] 步骤S203,获取风扇的与转速变化逻辑相匹配的理论运行数据。
[0064] 在本实施例中,理论运行数据可以包括风扇的理论转速、理论电流大小、理论温度和理论振幅中的至少一个。
[0065] 具体的,理论运行数据可以指在风扇不存在潜在故障的情况下,按照转速变化逻辑控制风扇的转速发生变化时,风扇正常的运行数据变化,比如正常的转速变化、正常的电流变化、正常的温度变化、正常的振幅变化等。比如,随着风扇的转速逐渐提高,风扇的电流也会相应的比例逐渐增大,不会出现或较少出现电流突变的情况。再比如,在控制风扇的转速从20转/秒变化到30转/秒时,风扇的转速不会出现突然变化到80转/秒的突变等等。
[0066] 由于基于转速变化逻辑,风扇的理论转速是可以已知的,因此,基于相关的理论计算公式等,可以计算得到风扇的与转速变化逻辑相匹配的理论电流大小、理论温度和理论振幅等理论运行数据。比如,根据风扇转速与电流大小之间的计算公式,可以根据风扇的理论转速,得到风扇的与理论转速相对应的理论电流大小。再比如,根据风扇的产品特性曲线等,可以根据风扇的理论转速,确定出风扇的与理论转速相对应的理论温度。
[0067] 步骤S24,根据实际运行数据与理论运行数据的差异大小,确定风扇的测试结果。
[0068] 具体的,测试结果可用于表征风扇是否存在潜在故障。根据步骤S22的相关描述可知,由于风扇在存在潜在故障时,其实际运行数据可以是与理论运行数据不完全相同的,比如,在风扇存在潜在故障的情况下,在控制风扇的转速从20转/秒变化到30转/秒时,风扇的实际转速可能会以较高的频率出现80转/秒的突变等,但在风扇的理论转速中,不会或以较低的频率出现80转/秒的突变。因此,通过将实际运行数据与理论运行数据进行比对,并根据两者的差异大小,便可以确定风扇的测试结果。
[0069] 综上,在本公开一些实施例的技术方案中,在按照转速变化逻辑,控制风扇的转速在最低测试转速和最高测试转速之间循环变化目标时长时,风扇的转速处于动态变化的过程中,使得风扇需要不断的响应转速调整,以按照不同的转速转动,这就相当于给风扇施加了一定的性能压力。这样,在风扇存在潜在故障问题时,基于这样的性能压力测试,风扇的实际运行数据就有可能出现异常现象,进而,依据这些异常现象,便可以确定存在潜在故障问题的风扇。如此,可以提前对存在潜在故障问题的风扇进行更换或配置调整,避免因风扇故障导致的服务器散热问题,因此,可以提高服务器的散热可靠性。
[0070] 结合参阅图3,为本公开的一些实施例提供的风扇转速的循环变化示意图。基于图3,步骤S202中的按照预设的转速变化逻辑,控制风扇的转速在最低测试转速和最高测试转速之间循环变化目标时长,可以包括:
[0071] 在目标时长内,控制风扇的转速逐次增加,以使风扇的转速从最低测试转速变化至最高测试转速,以及控制风扇的转速逐次减小,以使风扇的转速从最高测试转速变化至最低测试转速。
[0072] 具体的,可以按照如下方法,控制风扇的转速从最低测试转速变化至最高测试转速:
[0073] 11)获取风扇当前的第一实际转速。
[0074] 如图1所示,可以通过转速传感器等,获取风扇的第一实际转速。
[0075] 12)若第一实际转速未达到最高测试转速,则基于第一实际转速,确定风扇的转速待增加的第一目标转速。
[0076] 本实施例中,第一实际转速可以与第一目标转速成正比关系。即第一实际转速越大,第一目标转速越大;第一实际转越小,第一目标转速越小。具体的,可以将第一实际转速的第一预设比例的转速作为第一目标转速。比如,将第一实际转速的10%作为第一目标转速。即,在第一实际转速为20转/秒的情况下,第一目标转速为2转/秒;在第一实际转速为30转/秒的情况下,第一目标转速为3转/秒。如此依次类推。在第一实际转速较高的情况下,风扇待增加的第一目标转速也相应增多,使得风扇的转速变化更明显,从而有利于检测风扇潜在的故障问题。在第一实际转速较低的情况下,风扇待增加的第一目标转速也相应减少,这样,避免风扇的转速变化过大,出现潜在故障问题漏检的情况。
[0077] 13)在风扇按照第一实际转速转动第一预设时长的情况下,控制风扇的转速增加第一目标转速。
[0078] 如此,一方面,在这个时间段内,可以采集风扇各个转速下的实际运行数据,另一方面,也可以模拟风扇的性能压力检测场景。
[0079] 在一些实施例中,在第一实际转速达到最高测试转速的情况下,可以控制风扇按照最高测试转速转动第一预设时长后,控制风扇从最高测试转速变化至最低测试转速。
[0080] 具体的,可以按照如下方法,控制风扇的转速从最高测试转速变化至最低测试转速:
[0081] 21)获取风扇当前的第二实际转速。
[0082] 22)若第二实际转速未达到最低测试转速,则基于第二实际转速,确定风扇的转速待减小的第二目标转速。
[0083] 23)在风扇按照第二实际转速转动第二预设时长的情况下,控制风扇的转速减小第二目标转速。
[0084] 上述步骤21)~步骤23)为步骤11)~步骤13)的逆过程,原理基本类似,在此不赘述。
[0085] 在本实施例中,第一预设时长与第二预设时长相同。
[0086] 在其它一些实施例中,第一预设时长与第二预设时长不相同。
[0087] 结合参阅图3,在按照上述步骤21)~步骤23),控制风扇的转速从最高测试转速变化至最低测试转速后,可以判断风扇转速的循环变化时长是否达到目标时长。若达到,则测试结束,若未达到,则继续按照上述步骤11)~步骤13),控制风扇从最低测试转速变化至最高测试转速,以及继续按照上述步骤21)~23),控制风扇从最高测试转速变化至最低测试转速,如此循环,直至达到目标时长。
[0088] 在图3所示实施例中,通过控制风扇的转速在最低测试转速和最高测试转速之间逐次变化,可以检测风扇转速调整功能,进而根据风扇的实际运行数据,可以判断风扇是否存在潜在故障。
[0089] 结合参阅图4,为本公开的另一些实施例提供的风扇转速的循环变化示意图。图4与图3基本类似,主要区别在于:图4中,在每次控制风扇的转速发生变化之后,还需判断风扇的实际转速与风扇应该达到的理论转速之间的转速差异是否达到转速差异阈值,若是,则退出风扇的测试过程,并提示表征测试异常的信息,若否,则继续对风扇进行测试。
[0090] 具体的,假设第一预设比例为10%。在风扇从最低测试转速变化至最高测试转速的情况下,第一理论转速的计算公式可以如表达式(1)所示:
[0091] y1=x1+x1*10% (1)
[0092] 其中,y1表示第一理论转速,x1表示第一实际转速。表达式(1)的含义是:在第一实际转速基础上,增加10%*第一实际转速的第一目标转速后,所得到的理论转速应该是y1。若测试设备给风扇下发控制指令,控制风扇的转速增加第一目标转速后,通过传感器检测到的实际风扇转速与理论转速之间的差异大小达到转速差异阈值,表示针对风扇的转速调整失败,这种情况下,可以退出风扇的测试过程。如此,可以减少针对风扇的无效测试。
[0093] 与表达式(1)相对应的,在风扇从最高测试转速变化至最低测试转速的情况下,第二理论转速的计算公式可以如表达式(2)所示:
[0094] y2=x2‑x2*10% (2)
[0095] 其中,y2表示第二理论转速,x2表示第二实际转速。表达式(2)的含义是:在第二实际转速基础上,减小10%*第二实际转速的第二目标转速后,所得到的第二理论转速应该是y。若测试设备给风扇下发控制指令,控制风扇的转速减小第二目标转速后,通过传感器检测到的实际风扇转速与第二理论转速之间的差异大小达到差异阈值,表示针对风扇的转速调整失败,这种情况下,可以退出风扇的测试过程。如此,可以减少针对风扇的无效测试。
[0096] 结合参阅图5,为本公开的另一些实施例提供的风扇转速的循环变化示意图。
[0097] 基于图5,步骤S202中的按照预设的转速变化逻辑,控制风扇的转速在最低测试转速和最高测试转速之间循环变化目标时长,可以包括:
[0098] 确定最高测试转速与最低测试转速之间的转速差;
[0099] 在风扇按照最低测试转速转动第三预设时长的情况下,控制风扇的转速增加转速差,以将风扇的转速从最低测试转速调整到最高测试转速;
[0100] 在风扇按照最高测试转速转动第四预设时长的情况下,控制风扇的转速减小转速差,以将风扇的转速从最高测试转速调整到最低测试转速。
[0101] 图5与图3的区别在于:图3是控制风扇的转速在最低测试转速和最高测试转速之间逐次变化,图5是控制风扇的转速从最低测试转速直接跳转到最高测试转速,或者控制风扇的转速从最高测试转速直接跳转到最低测试转速。如此,以构建针对风扇的不同测试场景。基于不同的测试场景,可以检测风扇可能存在的不同潜在故障,针对风扇的检测更加精确。
[0102] 具体的,与图3类似的,图5中,在控制风扇的转速从最高测试转速变化至最低测试转速后,需要判断风扇的循环变化时长是否达到目标时长,若是,则退出,若否,则继续进行测试。相关原理在此不赘述。
[0103] 在本实施例中,第三预设时长与第四预设时长相同。
[0104] 在其它一些实施例中,第三预设时长与第四预设时长不相同。
[0105] 结合参阅图6,为本公开的另一些实施例提供的风扇转速的循环变化示意图。图6与图5基本类似,主要区别在于:在每次控制风扇的转速发生变化之后,还需判断风扇的实际转速与风扇应该达到的理论转速之间的转速差异是否达到转速差异阈值,若是,退出风扇的测试过程,并提示表征测试异常的信息,若否,继续对风扇进行测试。相关原理可参见图4描述,在此不赘述。
[0106] 进一步的,在另一些实施例中,在每次控制风扇的转速发生变化时,本公开的方法还可以包括:
[0107] 随机确定风扇转速的变化量和风扇在各个转速下的运行时长;
[0108] 按照随机确定的变化量,控制风扇的转速变化,以及按照随机确定的运行时长,控制风扇各个转速下的运行时长。
[0109] 相对于图3至图6中的按照特定的规律控制风扇的转速发生变化,在本实施例中,针对风扇转速的控制是随机的。由于测试场景不同,因此,在图3至图6所示的方法中无法检测到的潜在故障,在本实施例中有可能被检测到,针对风扇的检测更加充分。
[0110] 在一些实施例中,步骤S204中的根据实际运行数据与理论运行数据的差异大小,确定风扇的测试结果,可以包括:
[0111] 若同一转速下的实际运行数据与理论运行数据的差异大小达到数据差异阈值,确定风扇存在潜在故障;
[0112] 若同一转速下的实际运行数据与理论运行数据的差异大小未达到数据差异阈值,确定风扇不存在潜在故障。
[0113] 具体的,在出现如下任一种情况时,可以确定风扇存在潜在故障,反之,则可以确定风扇不存在潜在故障:
[0114] 在实际运行数据包括风扇的实际转速时,同一转速下的实际转速与理论转速之间的转速差异达到第一数据差异阈值;
[0115] 在实际运行数据包括风扇的实际电流大小时,同一转速下的实际电流大小与理论电流大小之间的转速差异达到第二数据差异阈值;
[0116] 在实际运行数据包括风扇的实际温度时,同一转速下的实际温度与理论温度之间的温度差异达到第三数据差异阈值;
[0117] 在实际运行数据包括风扇的实际振幅时,同一转速下的实际振幅与理论振幅之间的振幅差异达到第四数据差异阈值。
[0118] 在一些实施例中,实际运行数据包括风扇在同一转速下的多个实际运行数据;
[0119] 在根据实际运行数据与理论运行数据的差异大小,确定风扇的测试结果时,方法还包括:
[0120] 根据同一转速下的多个实际运行数据,得到风扇在相应转速下的运行数据平均值;
[0121] 根据多个实际运行数据的数据大小相对于运行数据平均值的分布情况,确定风扇的测试结果。
[0122] 具体的,以同一转速下的多个实际电流大小为例进行阐述。若在该多个实际电流大小中,超过指定数量的实际电流大小与平均电流大小的差值的绝对值大于阈值,可以认为风扇发生电流异常突变的频率较高,风扇可能存在潜在的故障问题;反之,可以认为风扇不存在潜在的故障问题。
[0123] 通过实际运行数据的分布情况来确定风扇的测试结果,结果比较准确客观。
[0124] 综上,结合参阅图7,为本公开的一些实施例提供的风扇测试的流程图。
[0125] 图7中,风扇测试包括如下步骤:
[0126] 步骤S701,搭建测试环境,并在风扇安装监控模块。
[0127] 具体的,在搭建测试环境是,需要检查测试环境的电源、接地等是否符合安全标准,确保测试环境的安全性。
[0128] 以及,需要验证监控模块是否能够准确读取和记录数据,以保证后续的测试正常进行。
[0129] 步骤S702,服务器开机进行idle状态。
[0130] 具体的,在测试前,需要保证服务器操作系统已稳定运行一段时间,无异常现象。同时,关闭所有非必要的后台服务和应用程序,以减少对测试结果的干扰。简单来说,就是避免服务器处于过热状态,从而避免在服务器过热时,基板控制管理器控制风扇加速运行,导致无法按需对风扇的转速进行控制。
[0131] 步骤S703,清除服务器操作系统(即OS)和基板控制管理器(BMC)日志,并新建风扇转速和电流监控日志。
[0132] 步骤S704,开启风扇电流监控进程和基板控制管理器(BMC)的风扇转速监控进程。
[0133] 步骤S705,控制风扇的转速逐次变化,使风扇转速在最低测试转速和最高测试转速之间循环目标时长。
[0134] 步骤S706,控制风扇的转速在最低测试转速和最高测试转速之间跳转,并循环目标时长。
[0135] 步骤S707,收集日志信息进行数据分析,得到测试结果。
[0136] 到此,完成本公开方法的相关描述。本公开的方法可以用于在服务器出厂前,对服务器中的风扇进行检测,如此,以保证出厂服务器的散热可靠性。当然,本公开的方法可以用于在服务器的日常维护中,对服务器中的风扇进行检测。在此,对本公开方法的使用场景不作限制。
[0137] 与图2中的风扇测试方法相对应的,本公开还提供一种风扇测试装置。结合参阅图8,为本公开的一些实施例提供的风扇测试装置的模块示意图。图8中,风扇测试装置包括:
[0138] 转速获取模块,用于获取风扇的最低测试转速和最高测试转速;
[0139] 转速控制模块,用于按照预设的转速变化逻辑,控制风扇的转速在最低测试转速和最高测试转速之间循环变化目标时长,并采集风扇的实际运行数据;
[0140] 计算模块,用于获取风扇的与转速变化逻辑相匹配的理论运行数据;
[0141] 测试结果生成模块,用于根据实际运行数据与理论运行数据的差异大小,确定风扇的测试结果,测试结果用于表征风扇是否存在潜在故障。
[0142] 在一些实施例中,转速控制模块具体用于:
[0143] 在目标时长内,控制风扇的转速逐次增加,以使风扇的转速从最低测试转速变化至最高测试转速,以及控制风扇的转速逐次减小,以使风扇的转速从最高测试转速变化至最低测试转速。
[0144] 在一些实施例中,转速控制模块具体用于:
[0145] 按照如下方法,控制风扇的转速从最低测试转速变化至最高测试转速:
[0146] 获取风扇当前的第一实际转速;
[0147] 若第一实际转速未达到最高测试转速,则基于第一实际转速,确定风扇的转速待增加的第一目标转速;
[0148] 在风扇按照第一实际转速转动第一预设时长的情况下,控制风扇的转速增加第一目标转速;以及
[0149] 按照如下方法,控制风扇的转速从最高测试转速变化至最低测试转速:
[0150] 获取风扇当前的第二实际转速;
[0151] 若第二实际转速未达到最低测试转速,则基于第二实际转速,确定风扇的转速待减小的第二目标转速;
[0152] 在风扇按照第二实际转速转动第二预设时长的情况下,控制风扇的转速减小第二目标转速。
[0153] 在一些实施例中,转速控制模块具体用于:
[0154] 确定最高测试转速与最低测试转速之间的转速差;
[0155] 在风扇按照最低测试转速转动第三预设时长的情况下,控制风扇的转速增加转速差,以将风扇的转速从最低测试转速调整至最高测试转速;
[0156] 在风扇按照最高测试转速转动第四预设时长的情况下,控制风扇的转速减小转速差,以将风扇的转速从最高测试转速调整至最低测试转速。
[0157] 在一些实施例中,在每次控制风扇的转速发生变化之后,转速控制模块还用于:
[0158] 判断风扇的实际转速与风扇应该达到的理论转速之间的转速差异是否达到转速差异阈值,若是,则退出风扇的测试过程,并提示表征测试异常的信息,若否,则继续对风扇进行测试。
[0159] 在一些实施例中,实际运行数据包括风扇在同一转速下的多个实际运行数据;
[0160] 在根据实际运行数据与理论运行数据的差异大小,确定风扇的测试结果时,测试结果生成模块还用于:
[0161] 根据同一转速下的多个实际运行数据,得到风扇在相应转速下的运行数据平均值;
[0162] 根据多个实际运行数据的数据大小相对于运行数据平均值的分布情况,确定风扇的测试结果。
[0163] 在一些实施例中,测试结果生成模块具体用于:
[0164] 若同一转速下的实际运行数据与理论运行数据的差异大小达到数据差异阈值,确定风扇存在潜在故障;
[0165] 若同一转速下的实际运行数据与理论运行数据的差异大小未达到数据差异阈值,确定风扇不存在潜在故障。
[0166] 本实施例中的风扇测试装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
[0167] 本公开的风扇测试装置具有与上述风扇测试方法相同的有益效果,在此不赘述。
[0168] 本公开实施例还提供一种电子设备,具有上述图8所示的风扇测试装置。
[0169] 结合参阅图9,为本公开的一些实施例提供的电子设备的结构示意图。如图9所示,该电子设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器10为例。
[0170] 处理器10可以是第一PCIe设备,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
[0171] 其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
[0172] 存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0173] 存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
[0174] 该电子设备还包括通信接口30,用于该电子设备与其他设备或通信网络通信。
[0175] 本公开实施例还提供了一种计算机可读存储介质,上述根据本公开实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
[0176] 本公开的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本公开的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
[0177] 虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。