磁盘故障模拟测试方法、测试装置和电子设备制造方法及图纸

技术编号:38655897 阅读:10 留言:0更新日期:2023-09-02 22:42
本申请实施例提供了一种磁盘故障模拟测试方法、测试装置和电子设备,其中,该方法包括:接收故障模拟环境下发的模拟注错测试指令;根据模拟注错测试指令对目标磁盘创建裸盘压测进程;生成与裸盘压测进程对应的模拟注错指令;对裸盘压测进程执行模拟注错指令,生成注错测试结果。通过本申请,解决了现有技术中磁盘IO过程中的各类故障无法复现的问题,达到了模拟磁盘故障的效果,且不会真的破坏目标磁盘硬件,不需要重新编译内核、安装内核、安装测试工具和重启系统等工作,方便灵活,大大提高了测试效率。了测试效率。了测试效率。

【技术实现步骤摘要】
磁盘故障模拟测试方法、测试装置和电子设备


[0001]本申请涉及计算机
,具体而言,涉及一种磁盘故障模拟测试方法、磁盘故障模拟测试装置、存储介质和电子设备。

技术介绍

[0002]在当代计算机系统中,磁盘系统和处理器、内存比较,因为硬盘离处理器距离最远而且访问磁盘涉及到一些机械操作,比如转轴、寻轨等,而机械是容易出故障的,因此,磁盘系统是计算机系统中最慢的设备,是最容易出现性能瓶颈的设备,也是最脆弱的部分。
[0003]在相关应用及系统开发测试时,有时需要进行模拟各种磁盘的读写过程(IO过程)中的故障错误码、模拟磁盘IO延时、模拟坏盘等状态的故障测试,以保证相关应用及系统在出现问题时。现有技术中为了避免受部分磁盘的异常状态,而影响整体的的稳定性及健壮性,使得整体系统的容错性降低,现有技术给出了磁盘在系统下工作时的状态监控,可以通过磁盘的S.M.A.R.T.(Self

Monitoring,Analysis and Reporting Technology)特性,在系统下通过smartmontools工具,监测硬盘的使用情况、健康状况等各类参数,并可以实现提前预警等功能,但是磁盘在磁盘IO过程中的各类故障报错、磁盘IO超时、甚至坏盘等磁盘的异常情况,却没有完整的一套模拟测试机制,这类故障一般是硬件本身的问题,存在很强的随机性,无法稳定复现,因此针对类似的磁盘故障模拟测试,成为亟需解决的问题。

技术实现思路

[0004]本申请的主要目的在于提供一种磁盘故障模拟测试方法、磁盘故障模拟测试装置、存储介质和电子设备,以至少解决现有技术中磁盘IO过程中的的各类故障无法复现的问题。
[0005]为了实现上述目的,根据本申请的一个方面,提供了一种磁盘故障模拟测试的方法,包括以下步骤:接收故障模拟环境下发的模拟注错测试指令;根据模拟注错测试指令对目标磁盘创建裸盘压测进程;生成与裸盘压测进程对应的模拟注错指令;对裸盘压测进程执行模拟注错指令,生成注错测试结果。
[0006]在一个示例性实施例中,方法还包括:采集目标磁盘对应的磁盘设备信息,并上报磁盘设备信息至故障模拟环境。
[0007]在一个示例性实施例中,目标磁盘包括多个,接收故障模拟环境下发的模拟注错测试指令,包括:接收与多个磁盘设备信息一一对应的多个模拟注错测试指令,多个模拟注错测试指令构成模拟注错测试指令库。
[0008]在一个示例性实施例中,成与裸盘压测进程对应的模拟注错指令,包括:获取目标磁盘对目标函数的访问状态;根据访问状态和磁盘设备信息,确定模拟故障代码;将模拟故障代码注入至目标函数,以生成与裸盘压测进对应的模拟注错指令。
[0009]在一个示例性实施例中,在模拟故障代码表征目标磁盘为坏盘的情况下,将模拟故障代码注入至目标函数,包括:注入第一模拟故障代码至目标函数,第一模拟故障代码表
征裸盘压测进程存在以下至少一种情况:裸盘压测进程挂起,裸盘压测进程阻塞,以及裸盘压测进程超时无响应。
[0010]在一个示例性实施例中,在模拟故障代码表征目标磁盘出现错误的情况下,将模拟故障代码注入至目标函数,包括:注入第二模拟故障代码至目标函数,第二模拟故障代码为目标磁盘的目标返回值,目标返回值为目标磁盘在出现异常错误的情况下产生的返回值。
[0011]在一个示例性实施例中,在模拟故障代码表征目标磁盘延迟响应的情况下,将模拟故障代码注入至目标函数,包括:注入第三模拟故障代码至目标函数,第三模拟故障代码表征裸盘压测进程存在延迟响应的情况。
[0012]在一个示例性实施例中,该方法包括:上报注错测试结果至故障模拟环境。
[0013]根据本申请的另一个实施例,提供了一种磁盘故障模拟测试的装置,包括:接收模块,用于接收故障模拟环境下发的模拟注错测试指令;创建模块,用于根据模拟注错测试指令对目标磁盘创建裸盘压测进程;生成模块,用于生成与裸盘压测进程对应的模拟注错指令;执行模块,用于对裸盘压测进程执行模拟注错指令,生成注错测试结果。
[0014]根据本申请的再一实施例,提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设备为运行时执行上述任一项方法实施例中的步骤。
[0015]根据本申请的又一实施例,提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0016]通过本申请,由于模拟注错指令中包括对目标磁盘进行模拟注错测试的模拟注错内容,从而通过接收故障模拟环境下发的模拟注错测试指令,以及客户端根据该模拟注错测试指令对目标磁盘创建裸盘压测进程之后,客户端能够基于模拟测试指令生成模拟注错指令,且由于模拟注错指令与裸盘压测进程对应,目标磁盘与裸盘压测进程对应,从而该模拟注错指令与目标磁盘对应,进而在将上述模拟注错指令注入裸盘压测进程之后,该裸盘压测进程能够执行上述模拟注错指令,从而模拟出目标磁盘遇到与上述注错指令预设结果一致的注错测试结果。解决了现有技术中磁盘IO过程中的的各类故障无法复现的问题,达到了模拟磁盘故障的效果,且不会真的破坏目标磁盘硬件,且不需要重新编译内核、安装内核、安装测试工具和重启系统等工作,方便灵活,大大提高了测试效率。
附图说明
[0017]构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0018]图1示出了根据本申请的实施例中提供的一种执行磁盘故障模拟测试方法的移动终端的硬件结构框图;
[0019]图2示出了根据本申请的实施例提供的一种磁盘故障模拟测试方法的流程示意图;
[0020]图3示出了根据本申请的另一实施例提供的一种磁盘故障模拟测试方法的流程示意图;
[0021]图4示出了根据本申请的又一实施例提供的一种磁盘故障模拟测试方法的流程示意图;
[0022]图5示出了根据本申请的实施例提供的一种磁盘故障模拟测试装置的结构框图。
具体实施方式
[0023]下文中将参考附图并结合实施例来详细说明本申请的实施例。
[0024]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0025]本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种磁盘故障模拟测试方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种磁盘故障模拟测试的方法,其特征在于,包括以下步骤:接收故障模拟环境下发的模拟注错测试指令;根据所述模拟注错测试指令对目标磁盘创建裸盘压测进程;生成与所述裸盘压测进程对应的模拟注错指令;对所述裸盘压测进程执行所述模拟注错指令,生成注错测试结果。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:采集所述目标磁盘对应的磁盘设备信息,并上报所述磁盘设备信息至所述故障模拟环境。3.根据权利要求2所述的方法,其特征在于,所述目标磁盘包括多个,所述接收故障模拟环境下发的模拟注错测试指令,包括:接收与多个所述磁盘设备信息一一对应的多个所述模拟注错测试指令,多个所述模拟注错测试指令构成模拟注错测试指令库。4.根据权利要求2或3所述的方法,其特征在于,所述生成与所述裸盘压测进程对应的模拟注错指令,包括:获取所述目标磁盘对目标函数的访问状态;根据所述访问状态和所述磁盘设备信息,确定模拟故障代码;将所述模拟故障代码注入至所述目标函数,以生成与所述裸盘压测进程对应的模拟注错指令。5.根据权利要求4所述的方法,其特征在于,在所述模拟故障代码表征所述目标磁盘为坏盘的情况下,所述将所述模拟故障代码注入至所述目标函数,包括:注入第一模拟故障代码至所述目标函数,所述第一模拟故障代码表征所述裸盘压测进程存在以下至少一种情况:所述裸盘压测进程挂起,所述裸盘压测进程阻塞,以及所述裸盘压测进程超时无响应。6.根据权利要求4所述的方法,其特征在于,在所述模拟故障代码表征所述目标磁盘出现错误的情况下,所述将所述模...

【专利技术属性】
技术研发人员:刘骏张旭芳
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1