一种测试硬盘热插拔稳定性的方法及装置的制造方法

文档序号:10488848阅读:279来源:国知局
一种测试硬盘热插拔稳定性的方法及装置的制造方法
【专利摘要】本发明提供了一种测试硬盘热插拔稳定性的方法及装置,该方法包括:分别获取各个所述硬盘的盘符、序列号及容量,并形成包括各个所述硬盘的盘符与序列号及容量对应关系的标准状态文件;实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入;如果是,分别获取所述各个硬盘的盘符、序列号及容量,并根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的当前状态文件;判断所述当前状态文件是否与所述标准状态文件相同;如果是,发送所述服务器未发生硬盘乱序的通知消息,否则发送所述服务器发生硬盘乱序的通知消息。该方案能够提高对硬盘热插拔稳定性进行测试的效率。
【专利说明】
一种测试硬盘热插拔稳定性的方法及装置
技术领域
[0001]本发明涉及计算机技术领域,特别涉及一种测试硬盘热插拔稳定性的方法及装置。
【背景技术】
[0002]随着计算机技术的不断发展与进步,传统信息化服务以及日益强大的云计算服务对服务器的存储需求也越来越高,因而服务器上一般都设置有多个硬盘。为了保证服务器上业务不下线,服务器都支持硬盘热插拔技术,从而能够在不停机的情况下对硬盘进行更换。
[0003]对于支持硬盘热插拔技术的服务器,在对硬盘进行热插拔操作时,可能造成硬盘乱序,硬盘乱序造成服务器操作系统发生异常,进而导致服务器发生宕机,造成服务器上运行的业务下线。为了保证服务器在更换硬盘时不发生硬盘乱序,需要对服务器的硬盘热插拔稳定性进行测试。
[0004]目前,在测试硬盘热插拔稳定性时,反复对硬盘进行热插拔操作,记录热插拔操作的次数,并检测是否发生硬盘乱序。
[0005]针对于现有技术测试硬盘热插拔稳定性的方法,每一次热插拔操作后通过手动查看各个硬盘序列号的方式检测各个硬盘是否发生硬盘连续,这样每一个检测循环都需要耗费较长的时间,而对硬盘热插拔稳定性进行测试需要进行多个检测循环,因而对硬盘热插拔稳定性进行测试的效率较低。

【发明内容】

[0006]本发明实施例提供了一种测试硬盘热插拔稳定性的方法及装置,能够提高对硬盘热插拔稳定性进行测试的效率。
[0007]本发明实施例提供了一种测试硬盘热插拔稳定性的方法,应用于具有至少两个硬盘的服务器,包括:
[0008]分别获取各个所述硬盘的盘符、序列号及容量;
[0009]根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的标准状态文件;
[0010]实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入;
[0011]如果是,分别获取所述各个硬盘的盘符、序列号及容量,并根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的当前状态文件;
[0012]判断所述当前状态文件是否与所述标准状态文件相同;
[0013]如果是,发送所述服务器未发生硬盘乱序的通知消息,否则发送所述服务器发生硬盘乱序的通知消息。
[0014]优选地,在所述实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入之后进一步包括:
[0015]针对于每一个被插入的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被插入的总次数,并发送包括该硬盘的盘符以及被插入总次数的通知消息。
[0016]优选地,该方法进一步包括:
[0017]实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被拔出,如果是,针对于每一个被拔出的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被拔出的总次数,并发送包括该硬盘的盘符以及被拔出总次数的通知消息。
[0018]优选地,所述实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入包括:
[0019]实时检测所述服务器系统是否出现预设的第一关键字,如果是,判断存在至少一个硬盘通过热插拔的方式被插入,否则判断没有硬盘通过热插拔的方式被插入,其中所述第一关键字包括于硬盘通过热插拔方式被插入后系统产生的提示信息之中。
[0020]优选地,所述实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被拔出包括:
[0021]实时检测所述服务器系统是否出现预设的第二关键字,如果是,判断存储至少一个硬盘通过热插拔的方式被拔出,否则判断没有硬盘通过热插拔的方式被拔出,求中所述第二关键字包括于硬盘通过热插拔方式被拔出后系统产生的提示信息之中。
[0022]优选地,该方法进一步包括:
[0023]将所述标准状态文件以及各个所述当前状态文件存储到预设的测试结果文件中。
[0024]本发明实施例还提供了一种测试硬盘热插拔稳定性的装置,应用于具有至少两个硬盘的服务器,包括:第一获取单元、检测单元、第二获取单元、判断单元及执行单元;
[0025]所述第一获取单元,用于分别获取各个所述硬盘的盘符、序列号及容量,并根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的标准状态文件;
[0026]所述检测单元,用于所述检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入;
[0027]所述第二获取单元,用于根据所述检测单元的检测结果,如果是,分别获取所述各个硬盘的盘符、序列号及容量,并根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的当前状态文件;
[0028]所述判断单元,用于判断所述第二获取单元形成的当前状态文件与所述第一获取单元形成的标准状态文件是否相同;
[0029]所述执行单元,用于根据所述判断单元的判断结果,如果是,发送所述服务器未发生硬盘乱序的通知消息,否则发送所述服务器发生硬盘乱序的通知消息。
[0030]优选地,所述检测单元,进一步用于针对于每一个被插入的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被插入的总次数,并发送包括该硬盘的盘符以及被插入总次数的通知消息。
[0031]优选地,所述检测单元,进一步用于实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被拔出,如果是,针对于每一个被拔出的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被拔出的总次数,并发送包括该硬盘的盘符以及被拔出总次数的通知消息。
[0032]优选地,所述检测单元,用于实时检测所述服务器系统是否出现预设的第一关键字,如果是,判断存在至少一个硬盘通过热插拔的方式被插入,否则判断没有硬盘通过热插拔的方式被插入,其中所述第一关键字包括于硬盘通过热插拔方式被插入后系统产生的提示信息之中。
[0033]优选地,所述检测单元,用于实时检测所述服务器系统是否出现预设的第二关键字,如果是,判断存在至少一个硬盘通过热插拔的方式被拔出,否则判断没有硬盘通过热插拔的方式被拔出,其中所述第二关键字包括于硬盘通过热插拔方式被拔出后系统产生的提示信息之中。
[0034]优选地,该装置进一步包括:存储单元;
[0035]所述存储单元,用于将所述第一获取单元形成的标准状态文件以及所述第二获取单元形成的各个当前状态文件存储到预设的测试结果文件中。
[0036]本发明实施例提供了一种测试硬盘热插拔稳定性的方法及装置,获取各个硬盘的盘符、序列号及容量,形成包括各个硬盘的盘符与序列号及容量对应关系的标准状态文件,在对硬盘进行热插拔操作过程中,实时检测是否有硬盘通过热插拔的方式被插入,每一次硬盘被插入都获取一次各个硬盘的盘符、序列号及容量,根据获取到的各个硬盘的盘符、序列号及容量形成包括各个硬盘的盘符与序列号及容量对应关系的当前状态文件,将当前状态文件与标准状态文件进行比较,如果当前状态文件与标准状态文件相同,说明该次硬盘插入没有造成硬盘乱序,发送服务器未发生硬盘乱序的通知消息,如果当前状态文件与标准状态文件不同,说明该次硬盘插入造成了硬盘乱序,发送服务器发生硬盘乱序的通知消息。这样,根据通知消息便可以确定每一次热插拔是否发生硬盘乱序,无需在每一次热插拔硬盘后通过手动对比硬盘序列号的方式判断是否发生硬盘乱序,减少每一个测试循环所需的时间,从而提高了对硬盘热插拔稳定性进行测试的效率。
【附图说明】
[0037]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1是本发明一个实施例提供的一种测试硬盘热插拔稳定性的方法流程图;
[0039]图2是本发明另一个实施例提供的一种测试硬盘热插拔稳定性的方法流程图;
[0040]图3是本发明一个实施例提供的一种测试硬盘热插拔稳定性的装置所在设备的示意图;
[0041 ]图4是本发明一个实施例提供的一种测试硬盘热插拔稳定性的装置示意图;
[0042]图5是本发明另一个实施例提供的一种测试硬盘热插拔稳定性的装置示意图。
【具体实施方式】
[0043]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]如图1所示,本发明实施例提供了一种测试硬盘热插拔稳定性的方法,应用于包括至少两个硬盘的服务器,该方法可以包括以下步骤:
[0045]步骤101:分别获取各个所述硬盘的盘符、序列号及容量;
[0046]步骤102:根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的标准状态文件;
[0047]步骤103:实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入,如果是,执行步骤104,否则继续执行步骤103;
[0048]步骤104:分别获取所述各个硬盘的盘符、序列号及容量,并根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的当前状态文件;
[0049]步骤105:判断所述当前状态文件是否与所述标准状态文件相同,如果是执行步骤106,否则执行步骤107;
[0050]步骤106:发送所述服务器未发生硬盘乱序的通知消息,并结束当前流程;
[0051]步骤107:发送所述服务器发生硬盘乱序的通知消息。
[0052]本发明实施例提供了一种测试硬盘热插拔稳定性的方法,获取各个硬盘的盘符、序列号及容量,形成包括各个硬盘的盘符与序列号及容量对应关系的标准状态文件,在对硬盘进行热插拔操作过程中,实时检测是否有硬盘通过热插拔的方式被插入,每一次硬盘被插入都获取一次各个硬盘的盘符、序列号及容量,根据获取到的各个硬盘的盘符、序列号及容量形成包括各个硬盘的盘符与序列号及容量对应关系的当前状态文件,将当前状态文件与标准状态文件进行比较,如果当前状态文件与标准状态文件相同,说明该次硬盘插入没有造成硬盘乱序,发送服务器未发生硬盘乱序的通知消息,如果当前状态文件与标准状态文件不同,说明该次硬盘插入造成了硬盘乱序,发送服务器发生硬盘乱序的通知消息。这样,根据通知消息便可以确定每一次热插拔是否发生硬盘乱序,无需在每一次热插拔硬盘后通过手动对比硬盘序列号的方式判断是否发生硬盘乱序,减少每一个测试循环所需的时间,从而提高了对硬盘热插拔稳定性进行测试的效率。
[0053]在本发明一个实施例中,在检测到有硬盘通过热插拔的方式被插入后,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被插入的总次数,并发送包括该硬盘的盘符以及被插入总次数的通知消息。这样,根据该通知消息便可以确定硬盘已经进行热插拔测试的次数,从而可以确定对硬盘稳定性进行测试的次数是否已经达到要求的次数,避免通过人工记录测试次数造成的劳动强度大以及数据不准确等情况,降低了测试人员的劳动强度,并提高了测试的准确性。
[0054]在本发明一个实施例中,还可以实时检测是否有硬盘通过热插拔的方式被拔出,当检测到有硬盘通过热插拔的方式被拔出后,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被拔出的总次数,并发送包括该硬盘的盘符以及被查出总次数的通知消息。这样,通过该通知消息可以确定被拔出硬盘的盘符以及对该硬盘进行热插拔测试的循环次数,根据该硬盘的盘符可以确保再次将同一个硬盘插回对应的硬盘接口,提示用户应该插入的硬盘,防止存在多个硬盘时出现插入的硬盘与拔下的硬盘不是同一个硬盘的情况出现,从而实现对同一个硬盘进行连续热插拔,提高了对硬盘热插拔稳定性进行测试的准确性。
[0055]在本发明一个实施例中,在检测是否有硬盘通过热插拔的方式被插入时,预先在硬盘通过热插拔方式被插入时服务器系统产生的提示信息中确定第一关键字,实时检测服务器系统是否出现第一关键字,如果是,判断有硬盘通过热插拔的方式被插入,否则判断没有硬盘通过热插拔的方式被插入。这样,实现了自动检测通过热插拔方式被插入的硬盘,保证后续判断是否发生硬盘乱序能够正常进行。
[0056]在本发明一个实施例中,在检测是否有硬盘通过热插拔的方式被拔出时,同样可以预先在硬盘通过热插拔方式被拔出时服务器系统产生的提示信息中确定第二关键字,实时检测服务器系统是否出现第二关键字,如果是,判断有硬盘通过热插拔的方式被拔出,否则判断没有硬盘通过热插拔的方式被拔出。这样,实现了自动检测通过热插拔方式被拔出的硬盘,从而可以提示用户需要进行插入的硬盘以及已经对该硬盘进行热插拔操作的循环次数,提高了该测试硬盘热插拔稳定性的方法的易用性。
[0057]在本发明一个实施例中,可以将形成的标准状态文件以及每一个硬盘插入时产生的当前状态文件存储中预先创建的测试结果文件中。这样,可以将对硬盘热插拔稳定性进行测试过程中硬盘的状态信息保存下来,方便后期对测试过程进行查看,并可以根据测试结果文件判断硬盘热插拔稳定性是否合格。
[0058]下面以对一个包括多个硬盘的服务器进行硬盘热插拔稳定性进行测试为例,对本发明实施例提供的测试硬盘热插拔稳定性的方法进行说明。如图2所示,本发明实施例提供了一种测试硬盘热插拔稳定性的方法,该方法可以包括以下步骤:
[0059]步骤201:分别获取各个硬盘的盘符、序列号及容量。
[0060]在本发明一个实施例中,在对一个服务器上的硬盘热插拔稳定性进行测试之前,首先分别获取服务器上各个硬盘的盘符、序列号以及容量,以确定服务器上各个硬盘在没有发生硬盘乱序情况下的状态。
[0061]例如,一个需要对硬盘热插拔稳定性进行测试的服务器上设置有10个硬盘,分别为硬盘I至硬盘10,分别获取10个硬盘的盘符、序列号以及容量。
[0062]在本发明实施例中,可以通过脚本程序实现对硬盘热插拔稳定性进行测试,获取各个硬盘盘符、序列号及容量的脚本程序如下:
[0063]funct1n generate—baseline()
[0064]{
[0065]echo"Disk—name">base.txt
[0066]echo"Serial—Number">>base.txt
[0067]echo"Capacity">>base.txt
[0068]fdisk-1|grep"Disk/dev/sd"|awk,{print$2|"cut_b8"}’ |sort>/root/disk.txt2>&l
[0069]for Dev—name in' cat/root/disk.txt'
[0070]do[0071 ] echo//sd$Dev_name//>$Dev_name.txt
[0072]smartct1-a/dev/sd$Dev_name|grep-1"serial number"|awk’{print$3}'>>$Dev_name.txt
[0073]smartctl-a/dev/sd$Dev_name|grep-1ncapacity^|awk’{print$3}’ >>$Dev_name.txt
[0074]done
[0075]通过上述脚本程序,每一个硬盘生成一个对应的$Dev_name.txt文件,该文件中记录该对应硬盘的盘符、序列号以及容量。
[0076]步骤202:根据各个硬盘的盘符、序列号及容量,形成包括各个硬盘的盘符与序列号及容量对应关系的标准状态文件。
[0077]在本发明一个实施例中,根据步骤201中获取到的各个硬盘的盘符、序列号及容量,形成一个标准状态文件,在该标准状态文件中记录有每一个盘符对应的硬盘序列号以及硬盘容量,该标准状态文件中记录的盘符与硬盘序列号及硬盘人容量的对应关系即为服务器上各个硬盘处于正常状态时盘符与序列号及容量的对应关系,作为后续判断是否发生硬盘乱序的标准。
[0078]例如,根据10个硬盘的盘符、序列号及容量,形成一个文件名为baseline.xls的标准状态文件,在baseline.xls中记录有10个硬盘的盘符与硬盘序列号及容量的对应关系,其中硬盘I的序列号I及容量I与盘符I相对应,硬盘2的序列号2及容量2与盘符2相对应,以此类推,硬盘10的序列号10及容量10与盘符10相对应。
[0079]在本发明实施例中,可以通过脚本程序形成标准状态文件baseline.xls,具体的脚本程序如下:
[0080]echo
[0081]for Dev_name in cat/root/disk.txt'
[0082]do
[0083]paste_d""base.txt$Dev_ name.txt>temp_base.txt
[0084]cat temp_base.txt>base.txt
[0085]done
[0086]cat base.txt>>baseline.xls
[0087]}
[0088]通过上述脚本程序,将各个硬盘对应的$Dev_name.txt文件进行合并,形成baseline.xls文件。
[0089]步骤203:对服务器上的一个或多个硬盘进行循环热插拔操作。
[0090]在本发明一个实施例中,通过手动或借助相关设备对服务器上的一个或多个硬盘反复进行循环热插拔操作。
[0091]例如,反复对服务器上的硬盘I进行热插拔操作。
[0092]步骤204:实时检测服务器系统是否出现第一关键字或第二关键字,如果是,执行步骤205,否则继续执行步骤204 ;
[0093]在本发明一个实施例中,循环检测服务器系统中是否出现第一关键字或第二关键字,其中第一关键字包括于硬盘通过热插拔方式被插入时服务器系统产生的提示信息之中,第二关键字包括与硬盘通过热插拔方式被拔出时服务器系统产生的提示信息之中,只有硬盘通过热插拔方式被插入时服务器系统才会出现第一关键字,相应地只有硬盘通过热插拔方式被拔出时服务器系统才会出现第二关键字。当服务器系统出现第一关键字时,说明有硬盘通过热插拔的方式被插入,当服务器系统出现第二关键字时,说明有硬盘通过热插拔的方式被拔出,相应地均执行步骤205,否则说明没有硬盘通过热插拔的方式被插入或被拔出,继续检测第一关键字及第二关键字,相应地执行步骤204。
[0094]例如,预先设定第一关键字为Attached SCSI disk,设定第二关键字为removing,实时检测服务器系统中是否出现Attached SCSI disk或removing,当服务器系统中出现Attached SCSI disk或removing后执行步骤205,否则继续执行步骤204。
[0095]步骤205:判断服务器系统中出现的是否为第一关键字,如果是,执行步骤206,否则执行步骤210。
[0096]在本发明一个实施例中,当服务器系统中出现第一关键字或第二关键字后,进一步判断服务器系统中出现的是否为第一关键字,如果是,说明有硬盘通过热插拔的形式被插入,相应地执行步骤206;如果否,说明有硬盘通过热插拔的形式被拔出,相应地执行步骤210。
[0097]例如,当检测到服务器系统中出现Attached SCSI disk后执行步骤206,当检测到服务器系统中出现removing后执行步骤210 ο
[0098]步骤206:获取被插入硬盘的盘符以及该硬盘通过热插拔方式被插入的总次数,并发送包括该硬盘的盘符及被插入总次数的通知消息。
[0099]在本发明一个实施例中,当检测到有硬盘通过热插拔的方式被插入后,获取被插入硬盘的盘符,并获取对该硬盘进行循环热插拔操作而被插入的总次数,将获取到该硬盘的盘符及被插入总次数以通知消息的形式发送到服务器的显示器上,在服务器的实现上显示该硬盘的盘符以及被插入的总次数。
[0100]例如,当检测到硬盘I通过热插拔的方式被插入后,获取硬盘I的盘符A,以及从测试开始到当前时间硬盘I通过热插拔方式被插入的总次数X,将盘符A以及总次数X显示在服务器的显示器上。
[0101]在本发明实施例中,获取及显示被插入硬盘的盘符及被插入总次数可以通过脚本程序实现,具体的脚本程序如下:
[0102]funct1n plug_in()
[0103]{
[0104]local i ;
[0105]In = $(tail-n 3/var/log/messages | grep-1/'Attached SCSI disk" | awk’{print$8},);
[0106]length_in = $(echo"$In" I awk,{print length($0)}');
[0107]i = $(expr$length_in-l);
[0108]DEV_name_in = $(echo"$In" I cut_b 2-$i);
[0109]echo-e"\033[44;37;5m$DEV_name_in\033[0m is pluged in";
[0110]f lag_plug = I ;
[0111]通过上述脚本程序,将被插入硬盘的盘符以蓝底白字、并闪烁的形式显示在服务器的显示器上;
[0112]DEV—name—in—temp—2 = $DEV—name—in—temp—I;
[0113]DEV—name—in—temp—I = $DEV—name—in;
[0114]if ["$DEV—name—in"x = "$DEV—name—in—temp—2"x]; then
[0115]i = $(expr$i+l);
[0116]echo_e"This is\033[44;37;5m$i\033[0m times";
[0117]else
[0118]i = l;
[0119]echo_e"This is\033[44;37;5m$i\033[0m times";
[0120]fi
[0121]continue;
[0122]fi
[0123]done
[0124]通过上述脚本程序,将被插入硬盘的被插入总次数以蓝底白字并闪烁的形式显示在服务器的显示器上;
[0125]步骤207:获取各个硬盘的盘符、序列号及容量,形成包括各个硬盘的盘符与序列号及容量对应关系的当前状态文件。
[0126]在本发明一个实施例中,当判断有硬盘通过热插拔的方式被插入后,重新获取各个硬盘的盘符、序列号以及容量,根据重新获取到的各个硬盘的盘符、序列号以及容量形成一个当前状态文件,在当前状态文件中记录有当前时间每一个盘符对应的硬盘序列号以及硬盘容量。
[0127]例如,当检测到服务器系统中出现Attached SCSI disk后,获取当前时间服务器上10个硬盘的盘符、序列号及容量,根据该10个硬盘的盘符、序列号及容量形成一个文件名为1.txt的当前状态文件,1.txt文件中记录有10盘符对应的硬盘序列号以及硬盘容量。
[0128]在本发明实施例中,形成当前状态文件1.txt的过程可以通过脚本程序实现,具体的脚本程序如下:
[0129]echo"Disk—name"〉1.txt
[0130]echo"Serial—Number">>l.txt
[0131]echo"Capacity">>l.txt
[0132]fdisk-1|grep"Disk/dev/sd"|awk,{print$2|"cut_b8"}’ |sort>/root/disk.txt2>&l
[0133]for Dev—name in' cat/root/disk.txt'
[0134]do
[0135]echo"sd$Dev—name">$Dev—name.txt
[0136]smartctl-a/dev/sd$Dev_name|grep-1^serial number"|awk’{print$3}’>>$Dev—name.txt
[0137]smartctl-a/dev/sd$Dev_name|grep-1ncapacity^|awk’{print$3}’ >>$Dev_name.txt
[0138]done
[0139]echo
[0140]for Dev_name in cat/root/disk.txt'
[0141]do
[0142]paste-fl.txt$Dev_name.txt>temp_in.txt
[0143]cat temp_in.txt>1.txt
[0144]done
[0145]通过上述脚本程序,形成包括当前时间各个盘符与硬盘序列号及硬盘容量对应关系的1.txt文件。
[0146]步骤208:判断当前状态文件与标准状态文件是否相同,如果相同发送服务器未发生硬盘乱序的通知消息,如果不同发送服务器发生硬盘连续的通知消息。
[0147]在本发明一个实施例中,将步骤207中形成的当前状态文件与步骤202中形成的标准状态文件进行对比,判断当前状态文件中各个盘符与硬盘序列号及硬盘容量的对应关系是否均与标准状态文件中各个盘符与硬盘序列号及硬盘容量的对应关系相同,如果是,说明没有发生硬盘乱序,向服务器的显示器发送服务器未发生硬盘乱序的通知消息,在服务器显示器上显示服务器未发生硬盘乱序的提示信息;如果否,说明发生了硬盘连续,向服务器的显示器发送服务器发生硬盘乱序的通知消息,在服务器的显示器上显示服务器发生硬盘乱序的提示信息。
[0148]例如,将1.txt文件与baseline.xls文件进行对比,如果1.txt文件中硬盘I的序列号I及容量I与盘符I相对应,硬盘2的序列号2及容量2与盘符2相对应,以此类推,硬盘10的序列号10及容量10与盘符10相对应,S卩1.txt文件与baseline.xls文件完全相同,则在服务器的显示器上显示OK字符;如果1.txt文件存在至少一个硬盘序列号及容量对应的盘符与baseline.xls文件中同一个硬盘序列号及容量对应的盘符不同,则在服务器的显示器上显示ERROR字符。
[0149]在本发明实施例中,可以通过脚本程序判断1.txt文件与baseline.xls文件是否相同,并在显示器上显示对应的字符,具体的脚本程序如下:
[0150]diff baseline.xls 1.txt
[0151]if[!$?-eq 0];then
[0152]echo〃error〃>>status.txt
[0153]echo_e"\033[41;37;5m erro;r\033[0m"
[0154]else
[0155]echo"0K">>status.txt
[0156]echo-e"\033[42;37;5m 0K\033[0m"
[0157]fi
[0158]paste 1.txt status.txtHemp_in.txt
[0159]cat temp_in.txt>1.txt
[Ο??Ο] 通过上述脚本程序,当1.txt文件与baseline.xls文件相同时,以红底白字闪烁显示ERROR字符;当1.txt文件与baseline.xls文件不同时,以绿底白字闪烁显示OK字符。
[0161]步骤209:将标准状态文件及当前状态文件存储到预设的测试结果文件中,并结束当前流程。
[0162]在本发明一个实施例中,每次硬盘通过热插拔的方式被插入后形成一个当前状态文件,将形成的各个当前状态文件以及标准状态文件存储的预先创建的测试结果文件中。
[0163]例如,将baseline.xls文件以及每次生成的1.txt文件均存储到预先创建的测试结果文件plug, log中。
[0164]在本发明实施例中,对baseline.xls文件及1.txt文件进行存储的过程可以通过脚本程序实现,具体的脚本程序如下:
[0165]echo〃Below is the data when$DEV_name_in is pluged out&in for onecycle!〃>>plug.log
[0166]date>>plug.log
[0167]cat I.txt>>plug.log
[0168]}
[0169]通过上述脚本程序将每次形成的当前状态文件1.txt存储到测试结果文件plug.log中 ο
[0170]步骤210:获取被拔出硬盘的盘符以及该硬盘通过热插拔方式被拔出的总次数,并发送包括该硬盘的盘符及被拔出总次数的通知消息。
[0171]在本发明一个实施例中,当检测到有硬盘通过热插拔的方式被拔出后,获取被拔出硬盘的盘符,并获取对该硬盘进行循环热插拔操作而被拔出的总次数,将获取到的该硬盘的盘符及被拔出总次数以通知消息的形式发送到服务器的显示器上,在服务器的实现上显示该硬盘的盘符以及被拔出的总次数。
[0172]例如,当检测到硬盘2通过热插拔的方式被拔出后,获取硬盘2的盘符B,以及从测试开始到当前时间为止硬盘2通过热插拔方式被拔出的总次数Y,将盘符B以及总次数Y显示在服务器的显示器上。
[0173]在本发明实施例中,获取及显示被拔出硬盘的盘符及被拔出总次数可以通过脚本程序实现,具体的脚本程序如下:
[0174]funct1n plug_out()
[0175]{
[0176]local i ;
[0177]Out = $ (tail_n 3/var/log/messages|sed_n ’{/removing/{g;p}};h ’ |awk’{print$8}’);
[0178]length_out = $(echo"$0ut" I awk’{print length($0)}');
[0179]i = $(expr$length_out-l);
[0180]DEV_name_out = $(echo"$0ut" I cut_b 2-$i);
[0181]echo-e"\033[44;37;5m$DEV_name_out\033[0m is pluged out";
[0182]f lag_p Iug = O ;
[0183]}
[0184]通过上述脚本程序,以蓝底白字并闪烁的形式在服务器的显示器上显示当前被拔出的盘符;
[0185]DEV_name_out_temp_2 = $DEV_name_out_temp_l;
[0186]DEV_name_out_temp_l = $DEV_name_out;
[0187]if ["$DEV—name—out"x = "$DEV—name—out—temp—2"x]; then
[0188]j = $(expr$j+l);
[0189]echo_e"This is\033[44;37;5m$j\033[0m times";
[0190]else
[0191]j = l;
[0192]echo_e"This is\033[44;37;5m$j\033[0m times""
[0193]fi
[0194]continue;
[0195]fi
[0196]通过上述脚本程序,以蓝底白字并闪烁的形式在服务器的显示器上显示当前被拔出的硬盘的被拔出总次数。
[0197]在本发明一个实施例中,测试硬盘热插拔稳定性的方法可以通过脚本程序实现,下面给出一种可以对硬盘热插拔稳定性进行测试的脚本程序,其中#后所示内容为注释内容:
[0198]#main
[ΟΙ"]flag—plug = I 用来辅助判断硬盘的插入和拔出
[0200]j = 0;
[0201]i = 0;
[0202]DEV—name—out—temp—I = I;
[0203]DEV—name—out—temp—2 = I;
[0204]DEV—name—in—temp—I = I;
[0205]DEV—name—in—temp—2 = I;
[0206]# 调用generate—baseline 函数生成 baseline.xls 文件
[0207]generate—baseline;
[0208]echo"Baseline is generated successfully!,,
[0209]#进入死循环,持续监测是否有硬盘被拔出或者插入。
[0210]while:;
[0211]do
[0212]#当有removing关键字同时flag—plug的值为I时说明有硬盘被拔出,调用plug—out函数,然后计算此硬盘是连续的第几次被拔出。
[0213]Temp_out = $(tail-n 1/var/log/messages | grep-1,,removing,,);
[0214]if [_n"$Temp—out"]&&["$f lag—plug"x = lx]; then
[0215]plug—out;
[0216]DEV—name—out—temp—2 = $DEV—name—out—temp—I;
[0217]DEV—name—out—temp—I = $DEV—name—out;
[0218]if ["$DEV—name—out"x = "$DEV—name—out—temp—2"x]; then
[0219]j = $(expr$j+l);
[0220]echo_e"This is\033[44;37;5m$j\033[0m times";
[0221]else
[0222]j = l;
[0223]echo_e"This is\033[44;37;5m$j\033[0m times""
[0224]fi
[0225]continue;
[0226]fi
[0227]#当有Attached SCSI disk关键字同时flag—plug的值为0时说明有硬盘被插入,调用plug—in函数,然后计算此硬盘是连续的第几次被插入。
[0228]Temp_in=$(tail-n 1/var/log/messages|grep-1^Attached SCSI disk");
[0229]if [_n"$Temp—in"]&&["$f lag—plug"x = 0x]; then
[0230]plug—in;
[0231 ]DEV—name—in—temp—2 = $DEV—name—in—temp—I;
[0232]DEV—name—in—temp—I = $DEV—name—in;
[0233]if ["$DEV—name—in"x = "$DEV—name—in—temp—2"x]; then
[0234]i = $(expr$i+l);
[0235]echo_e"This is\033[44;37;5m$i\033[0m times";
[0236]else
[0237]i = l;
[0238]echo_e"This is\033[44;37;5m$i\033[0m times";
[0239]fi
[0240]continue;
[0241]fi
[0242]done
[0243]其中,生成base line.xls 文件的函数 generate—base line 如下:
[0244]funct1n generate—baseline()
[0245]{
[0246]echo"Disk—name">base.txt
[0247]echo"Serial—Number">>base.txt
[0248]echo"Capacity">>base.txt
[0249]#每个盘符对照如上三条生成一个文件。
[0250]fdisk-1|grep"Disk/dev/sd"|awk,{print$2|"cut_b8"}’ |sort>/root/disk.txt2>&l
[0251]for Dev—name in cat/root/disk.txt
[0252]do
[0253]echo"sd$Dev—name">$Dev—name.txt
[0254]smartct1-a/dev/sd$Dev_name|grep-1^serial number"|awk’{print$3}’>>$Dev—name.txt
[0255]smartctl-a/dev/sd$Dev_name|grep-1ncapacity"|awk,{print$3},>>$Dev_name.txt
[0256]done
[0257]# 合并文件生成 baseline.xls。
[0258]echo
[0259]for Dev—name in cat/root/disk.txt
[0260]do
[0261 ]paste_d""base.txt$Dev_ name.txt>temp—base.txt
[0262]cat temp—base.txt>base.txt
[0263]done
[0264]cat base.txt>>baseline.xls
[0265]}
[0266]其中,针对有硬盘被拔出后的操作的函数plug—out如下:
[0267]funct1n plug_out()
[0268]{
[0269]local i;
[0270]#根据关键字removing判断是否有硬盘拔出,并识别拔出的硬盘的盘符,然后打印出来。
[0271 ]Out = $(tail-n 3/var/log/messages|sed_n ’{/removing/{g;p}};h ’ |awk’{print$8},);
[0272]length—out = $(echo"$0ut" | awk,{print length($0)} ’);
[0273]i = $(expr$length_out-l);
[0274]DEV—name—out = $(echo"$0ut" I cut_b 2-$i);
[0275]#蓝底白字、并闪烁显示当前被拔出的盘符
[0276]echo_e"\033[44;37;5m$DEV—name—out\033[0m is pluged out";
[0277]flag—plug = 0;
[0278]}
[0279]其中,针对有硬盘插入后的操作的函数plug—in如下:
[0280]funct1n plug—in()
[0281]{
[0282]#根据关键字Attached SCSI disk判断是否有硬盘插入,并识别插入的硬盘的盘符,然后打印出来。
[0283]local i;
[0284]In=$(tail-n 3/var/log/messages|grep-1^Attached SCSI disk"|awk’{print$8},);
[0285]length—in = $(echo"$In" | awk,{print length($0)} ’);
[0286]i = $(expr$length_in-l);
[0287]DEV—name—in = $(echo"$In" I cut_b 2-$i);
[0288]#蓝底白字、并闪烁显示当前被拔出的盘符
[0289]echo_e"\033[44;37;5m$DEV—name—in\033[0m is pluged in";
[0290]flag—plug = I;
[0291]様头
[0292]echo"Disk—name"〉1.txt
[0293]echo"Serial—Number">>l.txt
[0294]echo"Capacity">>l.txt
[0295]#每个盘符对照如上三条生成一个文件
[0296]fdisk-1|grep"Disk/dev/sd"|awk,{print$2|"cut_b8"}’ |sort>/root/disk.txt2>&l
[0297]for Dev—name in' cat/root/disk.txt'
[0298]do
[0299]echo"sd$Dev—name">$Dev—name.txt
[0300]smartctl-a/dev/sd$Dev_name|grep-1^serial number"|awk’{print$3}’>>$Dev—name.txt
[0301 ]smartctl-a/dev/sd$Dev_name|grep-1^capacity^|awk’{print$3}’ >>$Dev_name.txt
[0302]done
[0303]#合并文件。
[0304]echo
[0305]for Dev—name in' cat/root/disk.txt'
[0306]do
[0307]pasteH.txt$Dev_name.txt>temp_in.txt
[0308]cat temp_in.txt>l.txt
[0309]done
[0310]#判断新生成的文件是否跟base line, xls—致,如果是就输出OK,否则输出ERROR。
[0311]diff baseline.xls 1.txt
[0312]if[!$?-eq 0];then
[0313]echo〃error〃>>status.txt
[0314]#红底白字、闪烁显示ERROR字符。
[0315]echo_e"\033[41;37;5m error\033[0m"
[0316]else
[0317]echo"0K">>status.txt
[0318]#绿底白字、闪烁显示OK字符D
[0319]echo-e"\033[42;37;5m 0K\033[0m"
[0320]fi
[0321]paste 1.txt status.txt>temp_in.txt
[0322]cat temp_in.txt>l.txt
[0323]#最后所有的信息汇总文件中。
[0324]echo〃Below is the data when$DEV_name_in is pluged out&in for onecycle!〃>>plug.log
[0325]date>>plug.log
[0326]cat 1.txt>>plug.log
[0327]}
[0328]如图3、图4所示,本发明实施例提供了一种测试硬盘热插拔稳定性的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的测试硬盘热插拔稳定性的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的测试硬盘热插拔稳定性的装置,包括:第一获取单元401、检测单元402、第二获取单元403、判断单元404及执行单元405;
[0329]第一获取单元401,用于分别获取各个硬盘的盘符、序列号及容量,并根据各个硬盘的盘符、序列号及容量,形成包括各个硬盘的盘符与序列号及容量对应关系的标准状态文件;
[0330]检测单元402,用于检测至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入;
[0331 ]第二获取单元403,用于根据检测单元402的检测结果,如果是,分别获取各个硬盘的盘符、序列号及容量,并根据各个硬盘的盘符、序列号及容量,形成包括各个硬盘的盘符与序列号及容量对应关系的当前状态文件;
[0332]判断单元404,用于判断第二获取单元403形成的当前状态文件与第一获取单元401形成的标准状态文件是否相同;
[0333]执行单元405,用于根据判断单元404的判断结果,如果是,发送服务器未发生硬盘乱序的通知消息,否则发送服务器发生硬盘乱序的通知消息。
[0334]在本发明一个实施例中,检测单元402,进一步用于针对于每一个被插入的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被插入的总次数,并发送包括该硬盘的盘符以及被插入总次数的通知消息。
[0335]在本发明一个实施例中,检测单元402,进一步用于实时检测至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被拔出,如果是,针对于每一个被拔出的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被拔出的总次数,并发送包括该硬盘的盘符以及被拔出总次数的通知消息。
[0336]在本发明一个实施例中,检测单元402,用于实时检测服务器系统是否出现预设的第一关键字,如果是,判断存在至少一个硬盘通过热插拔的方式被插入,否则判断没有硬盘通过热插拔的方式被插入,其中第一关键字包括于硬盘通过热插拔方式被插入后系统产生的提示信息之中。
[0337]在本发明一个实施例中,检测单元402,用于实时检测服务器系统是否出现预设的第二关键字,如果是,判断存在至少一个硬盘通过热插拔的方式被拔出,否则判断没有硬盘通过热插拔的方式被拔出,其中第二关键字包括于硬盘通过热插拔方式被拔出后系统产生的提示信息之中。
[0338]在本发明一个实施例中,如图5所示,该装置进一步包括:存储单元406;
[0339]存储单元406,用于将第一获取单元401形成的标准状态文件以及第二获取单元403形成的各个当前状态文件存储到预设的测试结果文件中。
[0340]上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0341]本发明提供的各个实施例,至少具有如下有益效果:
[0342]1、本发明实施例中,获取各个硬盘的盘符、序列号及容量,形成包括各个硬盘的盘符与序列号及容量对应关系的标准状态文件,在对硬盘进行热插拔操作过程中,实时检测是否有硬盘通过热插拔的方式被插入,每一次硬盘被插入都获取一次各个硬盘的盘符、序列号及容量,根据获取到的各个硬盘的盘符、序列号及容量形成包括各个硬盘的盘符与序列号及容量对应关系的当前状态文件,将当前状态文件与标准状态文件进行比较,如果当前状态文件与标准状态文件相同,说明该次硬盘插入没有造成硬盘乱序,发送服务器未发生硬盘乱序的通知消息,如果当前状态文件与标准状态文件不同,说明该次硬盘插入造成了硬盘乱序,发送服务器发生硬盘乱序的通知消息。这样,根据通知消息便可以确定每一次热插拔是否发生硬盘乱序,无需在每一次热插拔硬盘后通过手动对比硬盘序列号的方式判断是否发生硬盘乱序,减少每一个测试循环所需的时间,从而提高了对硬盘热插拔稳定性进行测试的效率。
[0343]2、本发明实施例中,获取被插入硬盘的盘符以及该硬盘连续被插入的总次数,将盘符及被插入总次数通过显示器显示等方式展示给用户,用户通过显示器显示的内容可以确定硬盘已经进行热插拔测试的次数,从而可以确定对硬盘稳定性进行测试的次数是否已经达到要求的次数,避免通过人工记录测试次数造成的劳动强度大以及数据不准确等情况,降低了测试人员的劳动强度。
[0344]3、本发明实施例中,除了获取被插入硬盘的盘符及被插入总次数外,还可以获取被拔出硬盘的盘符以及该硬盘连续被拔出的总次数,通过显示器实现等途径展示给用户,用户根据显示器上显示的被拔出硬盘的盘符,可以确保再次将同一个硬盘插回对应的硬盘接口,防止存在多个硬盘时出现插入的硬盘与拔下的硬盘不是同一个硬盘的情况出现,起防呆作用,从而实现对同一个硬盘进行连续热插拔,提高了对硬盘热插拔稳定性进行测试的准确性。
[0345]4、本发明实施例中,最终将标准状态文件以及各个当前状态文件存储到预先创建的测试结果文件中,可以将对硬盘热插拔稳定性进行测试过程中硬盘的状态信息保存下来,方便后期对测试过程进行查看,并可以根据测试结果文件判断硬盘热插拔稳定性是否合格。
[0346]需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0347]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
[0348]最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种测试硬盘热插拔稳定性的方法,其特征在于,应用于具有至少两个硬盘的服务器,包括: 分别获取各个所述硬盘的盘符、序列号及容量; 根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的标准状态文件; 实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入; 如果是,分别获取所述各个硬盘的盘符、序列号及容量,并根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的当前状态文件; 判断所述当前状态文件是否与所述标准状态文件相同; 如果是,发送所述服务器未发生硬盘乱序的通知消息,否则发送所述服务器发生硬盘乱序的通知消息。2.根据权利要求1所述的方法,其特征在于, 在所述实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入之后进一步包括: 针对于每一个被插入的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被插入的总次数,并发送包括该硬盘的盘符以及被插入总次数的通知消息。3.根据权利要求1所述的方法,其特征在于,进一步包括: 实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被拔出,如果是,针对于每一个被拔出的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被拔出的总次数,并发送包括该硬盘的盘符以及被拔出总次数的通知消息。4.根据权利要求3所述的方法,其特征在于, 所述实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入包括: 实时检测所述服务器系统是否出现预设的第一关键字,如果是,判断存在至少一个硬盘通过热插拔的方式被插入,否则判断没有硬盘通过热插拔的方式被插入,其中所述第一关键字包括于硬盘通过热插拔方式被插入后系统产生的提示信息之中; 和/或, 所述实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被拔出包括: 实时检测所述服务器系统是否出现预设的第二关键字,如果是,判断存储至少一个硬盘通过热插拔的方式被拔出,否则判断没有硬盘通过热插拔的方式被拔出,求中所述第二关键字包括于硬盘通过热插拔方式被拔出后系统产生的提示信息之中。5.根据权利要求1至4中任一所述的方法,其特征在于,进一步包括: 将所述标准状态文件以及各个所述当前状态文件存储到预设的测试结果文件中。6.一种测试硬盘热插拔稳定性的装置,其特征在于,应用于具有至少两个硬盘的服务器,包括:第一获取单元、检测单元、第二获取单元、判断单元及执行单元; 所述第一获取单元,用于分别获取各个所述硬盘的盘符、序列号及容量,并根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的标准状态文件; 所述检测单元,用于所述检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被插入; 所述第二获取单元,用于根据所述检测单元的检测结果,如果是,分别获取所述各个硬盘的盘符、序列号及容量,并根据各个所述硬盘的盘符、序列号及容量,形成包括各个所述硬盘的盘符与序列号及容量对应关系的当前状态文件; 所述判断单元,用于判断所述第二获取单元形成的当前状态文件与所述第一获取单元形成的标准状态文件是否相同; 所述执行单元,用于根据所述判断单元的判断结果,如果是,发送所述服务器未发生硬盘乱序的通知消息,否则发送所述服务器发生硬盘乱序的通知消息。7.根据权利要求6所述的装置,其特征在于, 所述检测单元,进一步用于针对于每一个被插入的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被插入的总次数,并发送包括该硬盘的盘符以及被插入总次数的通知消息。8.根据权利要求6所述的装置,其特征在于, 所述检测单元,进一步用于实时检测所述至少两个硬盘中是否存在至少一个硬盘通过热插拔的方式被拔出,如果是,针对于每一个被拔出的硬盘,获取该硬盘的盘符以及从检测开始到当前时间为止该硬盘通过热插拔的方式被拔出的总次数,并发送包括该硬盘的盘符以及被拔出总次数的通知消息。9.根据权利要求8所述的装置,其特征在于, 所述检测单元,用于实时检测所述服务器系统是否出现预设的第一关键字,如果是,判断存在至少一个硬盘通过热插拔的方式被插入,否则判断没有硬盘通过热插拔的方式被插入,其中所述第一关键字包括于硬盘通过热插拔方式被插入后系统产生的提示信息之中; 和/或, 所述检测单元,用于实时检测所述服务器系统是否出现预设的第二关键字,如果是,判断存在至少一个硬盘通过热插拔的方式被拔出,否则判断没有硬盘通过热插拔的方式被拔出,其中所述第二关键字包括于硬盘通过热插拔方式被拔出后系统产生的提示信息之中。10.根据权利要求6至9中任一所述的装置,其特征在于,进一步包括:存储单元; 所述存储单元,用于将所述第一获取单元形成的标准状态文件以及所述第二获取单元形成的各个当前状态文件存储到预设的测试结果文件中。
【文档编号】G06F11/22GK105843720SQ201610318411
【公开日】2016年8月10日
【申请日】2016年5月12日
【发明人】闫硕
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1