CN107391333A - 一种osd磁盘故障测试方法及*** - Google Patents

一种osd磁盘故障测试方法及*** Download PDF

Info

Publication number
CN107391333A
CN107391333A CN201710692073.5A CN201710692073A CN107391333A CN 107391333 A CN107391333 A CN 107391333A CN 201710692073 A CN201710692073 A CN 201710692073A CN 107391333 A CN107391333 A CN 107391333A
Authority
CN
China
Prior art keywords
osd
node
disks
test
script
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710692073.5A
Other languages
English (en)
Other versions
CN107391333B (zh
Inventor
李军站
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710692073.5A priority Critical patent/CN107391333B/zh
Publication of CN107391333A publication Critical patent/CN107391333A/zh
Application granted granted Critical
Publication of CN107391333B publication Critical patent/CN107391333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明提供了一种OSD磁盘故障测试方法,应用于分布式文件***,包括:在接收到故障测试指令后,根据分布式文件***数据池的冗余规则确定测试脚本类型;根据测试脚本类型确定分布式文件***各个节点对应的测试用例及与测试用例一一对应的故障脚本;其中,故障脚本包括模拟拔出和模拟***对象存储OSD磁盘的命令;根据各个节点的名称和OSD磁盘的ID对各个节点上的OSD磁盘执行相应的故障脚本直至完成各个节点对应的测试用例,以实现故障测试。可见,本申请提供的OSD磁盘故障测试方法减少了人力劳动量,提高了测试效率,同时增加了测试覆盖度和测试准确度。本发明还提供了一种OSD磁盘故障测试***,与上述方法具有相同的有益效果。

Description

一种OSD磁盘故障测试方法及***
技术领域
本发明涉及数据存储***领域,特别是涉及一种OSD磁盘故障测试方法。本发明还涉及一种OSD磁盘故障测试***。
背景技术
分布式文件***中,数据按照规定的冗余规则分散存储到集群节点的OSD(Object-based Storage Device,对象存储)磁盘上。在实际应用中一个节点通常有12~36块磁盘,与其它硬件相比,磁盘发生故障的概率明显更高。分布式文件***在规定的冗余规则范围内,允许集群节点的一块或多块磁盘故障,但必须保证集群能正常使用且数据不丢失,因此在产品开发的过程中进行OSD磁盘故障测试至关重要。
现有技术中通常使用手工方式拔出某块或者某些块OSD磁盘,然后判断拔出磁盘后的集群能否正常使用及数据有无丢失,从而得出分布式文件***的磁盘故障测试结果。然而手工拔盘的方式适用于节点和磁盘个数不多的集群,当集群中节点和磁盘的数目增加时,手工拔盘的方式人力劳动量大且测试效率较低。此外,节点和磁盘的数目较多时测试用例也会相应的增加,人工操作可能出现测试用例的遗漏或混淆,影响了测试准确度。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种OSD磁盘故障测试方法,测试效率较高;本发明的另一目的是提供一种OSD磁盘故障测试***,测试准确度较高。
为解决上述技术问题,本发明提供了一种OSD磁盘故障测试方法,应用于分布式文件***,包括:
在接收到故障测试指令后,根据分布式文件***数据池的冗余规则确定测试脚本类型;
根据所述测试脚本类型确定所述分布式文件***各个节点对应的测试用例及与所述测试用例一一对应的故障脚本;其中,所述故障脚本包括模拟拔出和模拟***对象存储OSD磁盘的命令;
根据各个节点的名称和OSD磁盘的ID对各个节点上的OSD磁盘执行相应的故障脚本直至完成所述各个节点对应的测试用例,以实现所述故障测试。
优选地,每次对OSD磁盘执行完成所述故障脚本后,该方法还包括:
记录所述分布式文件***写入文件的消息摘要算法Md5值,并作为当前Md5值;
判断所述当前Md5值与初始Md5值是否一致,如果是,则所述故障脚本本次执行通过;如果否,所述故障脚本本次执行失败;
其中,所述初始Md5值为所述分布式文件***配置完成及被写入文件后、对所述各个节点上的OSD磁盘进行故障测试前记录的Md5值。
优选地,所述判断所述当前Md5值与初始Md5值是否一致之后,故障脚本本次执行通过之前,该方法还包括:
检测集群状态和所述分布式文件***节点的OSD状态,判断所述集群状态和所述节点的OSD状态是否正常,如果是,则进入后续步骤,如果否,所述故障脚本本次执行失败。
优选地,所述对各个节点上的OSD磁盘执行相应的故障脚本之前,该方法还包括:
检测集群状态和所述分布式文件***节点的OSD状态,判断所述集群状态和所述节点的OSD状态是否正常,如果否,调试到正常为止,所述集群状态和所述节点的OSD状态正常后,开始对所述各个节点上的OSD磁盘执行相应的故障脚本。
优选地,所述对各个节点上的OSD磁盘执行相应的故障脚本之前,该方法还包括:
判断所述各个节点上的OSD磁盘是否有数据读写,如果是,确定有数据读写的OSD磁盘;
则对所述各个节点上的OSD磁盘执行相应的故障脚本的过程具体为:
对所述各个节点上的有数据读写的OSD磁盘执行相应的故障脚本。
优选地,所述根据分布式文件***数据池的冗余规则确定测试脚本类型的过程具体为:
获取分布式文件***数据池的名称;
根据所述名称得到所述分布式文件***数据池的冗余规则;
根据所述冗余规则确定测试脚本类型。
优选地,所述模拟拔出所述OSD磁盘的命令为echo 1>/sys/block/X/device/delete命令;其中,所述X为所述OSD磁盘的盘符;
所述模拟***所述OSD磁盘的命令为echo“---”>包括host和scan的文件绝对路径的命令;其中,所述包括host和scan的文件绝对路径为通过find/sys/-name“scan”|grep“host”命令获取的路径。
为解决上述技术问题,本发明还提供了一种OSD磁盘故障测试***,应用于分布式文件***,包括:
接收模块,用于在接收到故障测试指令后,根据分布式文件***数据池的冗余规则确定测试脚本类型;
确定模块,根据所述测试脚本类型确定所述分布式文件***各个节点对应的测试用例及与所述测试用例一一对应的故障脚本;其中,所述故障脚本包括模拟拔出和模拟***所述OSD磁盘的命令;
测试模块,用于根据各个节点的名称和OSD磁盘的ID对各个节点上的OSD磁盘执行相应的故障脚本直至完成所述各个节点对应的测试用例,以实现所述故障测试。
优选地,所述模拟拔出所述OSD磁盘的命令为echo 1>/sys/block/X/device/delete命令;其中,所述X为所述OSD磁盘的盘符;
所述模拟***所述OSD磁盘的命令为echo“---”>包括host和scan的文件绝对路径的命令;其中,所述包括host和scan的文件绝对路径为通过find/sys/-name“scan”|grep“host”命令获取的路径。
优选地,所述接收模块具体用于在接收到故障测试指令后,获取分布式文件***数据池的名称;
根据所述名称得到所述分布式文件***数据池的冗余规则;
根据所述冗余规则确定测试脚本类型。
本发明提供了一种OSD磁盘故障测试方法,应用于分布式文件***,包括:在接收到故障测试指令后,根据分布式文件***数据池的冗余规则确定测试脚本类型;根据测试脚本类型确定分布式文件***各个节点对应的测试用例及与测试用例一一对应的故障脚本;其中,故障脚本包括模拟拔出和模拟***对象存储OSD磁盘的命令;根据各个节点的名称和OSD磁盘的ID对各个节点上的OSD磁盘执行相应的故障脚本直至完成各个节点对应的测试用例,以实现故障测试。
可见,本申请提供的OSD磁盘故障测试方法依次对分布式***中的各节点上的磁盘进行故障测试,由于故障脚本中包括了模拟拔出和模拟***OSD磁盘的命令,省去了手工拔盘的繁琐步骤,减少了人力劳动量,缩短了测试周期,提高了测试效率。同时降低了由于节点、磁盘多出现测试用例遗漏或混淆的可能性,从而可以尽可能多的覆盖不同节点、不同磁盘故障的场景,增加了测试覆盖度和测试准确度。
本发明还提供了一种OSD磁盘故障测试***,与上述方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种OSD磁盘故障测试方法的过程流程图;
图2为本发明提供的一种OSD磁盘故障测试***的结构示意图。
具体实施方式
本发明的核心是提供一种OSD磁盘故障测试方法,测试效率较高;本发明的另一核心是提供一种OSD磁盘故障测试***,测试准确度较高。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种OSD磁盘故障测试方法的过程流程图,应用于分布式文件***,该方法包括:
步骤S11:在接收到故障测试指令后,根据分布式文件***数据池的冗余规则确定测试脚本类型;
具体地,实际应用中分布式文件***中数据按照规定的冗余规则存储在各个节点上的OSD磁盘中,基于此,进行OSD磁盘故障测试时,为了使得测试结果更准确的同时缩短测试周期,可以先根据该冗余规则选择测试脚本类型。相应的,测试脚本类型根据不同的冗余规则可以分为四种,分别是:单节点的一个OSD磁盘故障、单节点的多个OSD磁盘故障、多节点的各一个OSD磁盘故障和多节点的多个OSD磁盘故障。假设分布式文件***的冗余规则是两副本,那么可以选择单节点的一个OSD磁盘故障和单节点的多个OSD磁盘故障这两种测试脚本类型中的一种或者两种,具体可以根据数据在OSD磁盘中存储的实际情况来选择。可见,对OSD磁盘进行故障测试之前先选择测试脚本类型可以使得测试过程更加条理清晰,还可以减少工作量,缩短测试周期。
步骤S12:根据测试脚本类型确定分布式文件***各个节点对应的测试用例及与测试用例一一对应的故障脚本;其中,故障脚本包括模拟拔出和模拟***对象存储OSD磁盘的命令;
具体地,考虑到本发明的OSD磁盘故障测试需要对各个节点上的部分或者全部OSD磁盘进行测试,各个节点上的测试用例与本节点的OSD磁盘故障脚本一一对应。假设分布式文件***的集群中包括6个节点,每个节点上包括10块需要进行故障测试的OSD磁盘。根据该分布式文件***数据池的冗余规则选择了单节点的一个OSD磁盘故障的测试脚本类型,那么就会相应的生成6个测试用例,每个测试用例与相应的节点一一对应,每个节点对应的测试用例与本节点的OSD故障脚本一一对应。一个节点上需要进行测试的10块OSD磁盘依次执行完成故障脚本后,该节点对应的测试用例完成,然后再进行下一个节点的测试用例,直至完成各个节点对应的测试用例,OSD磁盘故障测试结束。另外,OSD故障脚本可以是节点1中的sdb盘故障、节点2中的sdb磁盘故障和节点1中的sdc盘故障等如此类似的脚本,其中sdb、sdc是OSD磁盘在其所属节点上的盘符。
此外,考虑到现有技术中进行OSD故障测试时,为了查看拔出的磁盘对文件***的影响通常使用手工方式拔出某块或者某些块OSD磁盘,人力劳动量较大,测试准确度和效率较低。基于此,为了提高测试效率,本申请在故障脚本中包括模拟拔出和模拟***OSD磁盘的命令,OSD磁盘执行脚本时可以自动模拟拔出磁盘,不需要进行手工拔盘操作,省去了手工拔盘的繁琐步骤,减少了人力劳动量,缩短了测试周期,提高了测试效率。
步骤S13:根据各个节点的名称和OSD磁盘的ID对各个节点上的OSD磁盘执行相应的故障脚本直至完成各个节点对应的测试用例,以实现故障测试。
具体地,考虑到通常情况下分布式文件***中不止一个节点、各个节点上不止一块OSD磁盘,因此,在执行各个节点对应的测试用例的过程中可能会出现遗漏或者混淆,基于此,为了使得各个节点的OSD磁盘可以有序的执行相应的故障脚本,根据所在节点的名称和该OSD磁盘的ID确定相应节点及该节点上的OSD磁盘,然后对确定的OSD磁盘执行相应的故障脚本。其中,OSD磁盘的ID是该磁盘在分布式文件***中的标识,本申请通过lsblk命令得到节点磁盘挂载目录信息,再通过磁盘挂载目录来获取OSD ID。可见,本发明执行故障脚本的过程为程序化执行,降低了由于节点、磁盘多出现测试用例遗漏或混淆的可能性,从而可以尽可能多的覆盖不同节点、不同磁盘故障的场景,增加了测试覆盖度和测试准确度。
本发明提供了一种OSD磁盘故障测试方法,应用于分布式文件***,包括:在接收到故障测试指令后,根据分布式文件***数据池的冗余规则确定测试脚本类型;根据测试脚本类型确定分布式文件***各个节点对应的测试用例及与测试用例一一对应的故障脚本;其中,故障脚本包括模拟拔出和模拟***对象存储OSD磁盘的命令;根据各个节点的名称和OSD磁盘的ID对各个节点上的OSD磁盘执行相应的故障脚本直至完成各个节点对应的测试用例,以实现故障测试。
可见,本申请提供的OSD磁盘故障测试方法依次对分布式***中的各节点上的磁盘进行故障测试,由于故障脚本中包括了模拟拔出和模拟***OSD磁盘的命令,省去了手工拔盘的繁琐步骤,减少了人力劳动量,缩短了测试周期,提高了测试效率。同时降低了由于节点、磁盘多出现测试用例遗漏或混淆的可能性,从而可以尽可能多的覆盖不同节点、不同磁盘故障的场景,增加了测试覆盖度和测试准确度。
在上述实施例的基础上:
作为一种优选地实施例,每次对OSD磁盘执行完成故障脚本后,该方法还包括:
记录分布式文件***写入文件的消息摘要算法Md5值,并作为当前Md5值;
判断当前Md5值与初始Md5值是否一致,如果是,则故障脚本本次执行通过;如果否,故障脚本本次执行失败;
其中,初始Md5值为分布式文件***配置完成及被写入文件后、对各个节点上的OSD磁盘进行故障测试前记录的Md5值。
具体地,实际应用中根据分布式文件***拔出某块或者某些块OSD磁盘后的集群情况和数据丢失情况,来得出分布式文件***的OSD磁盘故障测试结果。基于此,本发明每次对OSD磁盘执行完成故障脚本后,比较故障脚本执行前后文件***的数据,根据比较结果可以得出数据有无丢失,从而得到测试结果。具体地,可以在每次对OSD磁盘执行完成故障脚本后记录写入文件的Md5(Message-Digest Algorithm 5,消息摘要算法)值,然后使用Md5值校验工具对当前记录的Md5值和写入文件后初始记录的Md5值进行对比校验,如果Md5值相同,则数据一致性校验通过即数据没有丢失,故障脚本本次执行顺利通过,如果Md5值不同,则数据有丢失,那么该OSD磁盘故障对其所在的分布式文件***有影响。
此外,本发明写入文件后初始记录的Md5值包括每个写入文件一一对应的Md5值,这些Md5值保存在一个文本里。当前记录的每个写入文件的Md5值需要与其进行对比校验时,调用与每个写入文件一一对应的初始记录的Md5值,然后进行比较,从而可以根据比较结果清楚地得出OSD磁盘故障测试结果,提高了测试准确度。
作为一种优选地实施例,判断当前Md5值与初始Md5值是否一致之后,故障脚本本次执行通过之前,该方法还包括:
检测集群状态和分布式文件***节点的OSD状态,判断集群状态和节点的OSD状态是否正常,如果是,则进入后续步骤,如果否,故障脚本本次执行失败。
具体地,考虑到本发明每次对OSD磁盘执行完成故障脚本后,即使没有对数据的一致性造成影响即数据没有丢失,然而如果影响了文件***的状态使得文件***不能正常使用,那么该故障脚本本次执行仍然是失败的。因此,本发明在判断当前Md5值与初始Md5值是否一致之后,故障脚本本次执行通过之前,还会检测集群的状态和各节点的OSD状态是否正常,只有状态正常,文件***是可以正常使用的,那么故障脚本本次执行才可以通过。
当然,本发明也可以先进行状态检测再进行Md5值校验,本发明在此不做特别的限定,根据实际情况来定。
作为一种优选地实施例,对各个节点上的OSD磁盘执行相应的故障脚本之前,该方法还包括:
检测集群状态和分布式文件***节点的OSD状态,判断集群状态和节点的OSD状态是否正常,如果否,调试到正常为止,集群状态和节点的OSD状态正常后,开始对各个节点上的OSD磁盘执行相应的故障脚本。
具体地,实际应用中分布式文件***可能由于本身存在某些问题而不可以正常使用,基于此,为了避免此种情况对测试结果的影响,在对各个节点上的OSD磁盘执行相应的故障脚本之前,本发明还会检测分布式文件***的集群状态和节点的OSD状态,如果状态正常,说明文件***可以正常使用,则进入后续的测试步骤,如果状态不正常,说明文件***本身存在问题,则先不进行测试过程而是对文件***进行调试,直至状态正常后才进入后续的测试步骤,从而可以避免***本身存在问题而对故障测试结果造成影响,提高了测试准确度。
作为一种优选地实施例,对各个节点上的OSD磁盘执行相应的故障脚本之前,该方法还包括:
判断各个节点上的OSD磁盘是否有数据读写,如果是,确定有数据读写的OSD磁盘;
则对各个节点上的OSD磁盘执行相应的故障脚本的过程具体为:
对各个节点上的有数据读写的OSD磁盘执行相应的故障脚本。
具体地,通常实际应用中一般是有数据读写的OSD磁盘才会发生故障,基于此,为了提高测试效率,本发明重点关注有读写的OSD磁盘故障。对各个节点上的OSD磁盘执行相应的故障脚本之前,先确定出有数据读写的OSD磁盘,只对有数据读写的OSD磁盘进行后续的测试,无数据读写的OSD磁盘由于故障的可能性较小不再进行后续的测试,从而避免了不必要的测试过程,缩短了测试周期。
作为一种优选地实施例,根据分布式文件***数据池的冗余规则确定测试脚本类型的过程具体为:
获取分布式文件***数据池的名称;
根据名称得到分布式文件***数据池的冗余规则;
根据冗余规则确定测试脚本类型。
具体地,考虑到测试脚本类型与分布式文件***的冗余规则相对应,由于分布式文件***的数据池的名称与该文件***的冗余规则一一对应,基于此,为了准确的得到规定的冗余规则,可以先获取文件***数据池的名称,再根据数据池名称获取相应的冗余规则。本发明中通过执行ceph osd dump|grep pool命令准确简便的获取了文件***数据池的名称,接下来可以根据文件***数据池名称获取到该文件***的冗余规则,提高了测试效率和准确度。
作为一种优选地实施例,模拟拔出OSD磁盘的命令为echo 1>/sys/block/X/device/delete命令;其中,X为OSD磁盘的盘符;
模拟***OSD磁盘的命令为echo“---”>包括host和scan的文件绝对路径的命令;其中,包括host和scan的文件绝对路径为通过find/sys/-name“scan”|grep“host”命令获取的路径。
具体地,考虑到为了提高测试效率本发明故障脚本中包括了模拟拔出和模拟***磁盘的命令,由于分布式文件***中每个节点上不止一块OSD磁盘,基于此,模拟拔出和***的命令需要与每块OSD磁盘一一对应。由于每个节点上的磁盘在该节点中具有一一对应的盘符,本发明使用包括盘符的模拟拔出命令来拔出相对应的磁盘。此外,在***磁盘时,每块磁盘具有一一对应的文件绝对路径,因此,本发明使用包括host和scan的文件绝对路径的命令来模拟***磁盘,从而使得在对各个节点上的磁盘进行故障测试时有顺序性,不会遗漏或者混淆磁盘,提高了测试的准确度。
作为一种优选地实施例,执行完各个节点对应的测试用例,完成OSD磁盘故障测试后,还可以获取每条故障脚本执行的日志信息并输出OSD磁盘故障测试报告,方便用户直观的获取测试结果。
请参照图2,图2为本发明提供的一种OSD磁盘故障测试***的结构示意图,该***包括:
接收模块1,用于在接收到故障测试指令后,根据分布式文件***数据池的冗余规则确定测试脚本类型;
确定模块2,根据测试脚本类型确定分布式文件***各个节点对应的测试用例及与测试用例一一对应的故障脚本;其中,故障脚本包括模拟拔出和模拟***OSD磁盘的命令;
测试模块3,用于根据各个节点的名称和OSD磁盘的ID对各个节点上的OSD磁盘执行相应的故障脚本直至完成各个节点对应的测试用例,以实现故障测试。
作为一种优选地实施例,模拟拔出OSD磁盘的命令为echo 1>/sys/block/X/device/delete命令;其中,X为OSD磁盘的盘符;
模拟***OSD磁盘的命令为echo“---”>包括host和scan的文件绝对路径的命令;其中,包括host和scan的文件绝对路径为通过find/sys/-name“scan”|grep“host”命令获取的路径。
作为一种优选地实施例,接收模块具体用于在接收到故障测试指令后,获取分布式文件***数据池的名称;
根据名称得到分布式文件***数据池的冗余规则;
根据冗余规则确定测试脚本类型。
对于本发明提供的***的介绍请参照上述方法实施例,本发明在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种OSD磁盘故障测试方法,应用于分布式文件***,其特征在于,包括:
在接收到故障测试指令后,根据分布式文件***数据池的冗余规则确定测试脚本类型;
根据所述测试脚本类型确定所述分布式文件***各个节点对应的测试用例及与所述测试用例一一对应的故障脚本;其中,所述故障脚本包括模拟拔出和模拟***对象存储OSD磁盘的命令;
根据各个节点的名称和OSD磁盘的ID对各个节点上的OSD磁盘执行相应的故障脚本直至完成所述各个节点对应的测试用例,以实现所述故障测试。
2.如权利要求1所述的方法,其特征在于,每次对OSD磁盘执行完成所述故障脚本后,该方法还包括:
记录所述分布式文件***写入文件的消息摘要算法Md5值,并作为当前Md5值;
判断所述当前Md5值与初始Md5值是否一致,如果是,则所述故障脚本本次执行通过;如果否,所述故障脚本本次执行失败;
其中,所述初始Md5值为所述分布式文件***配置完成及被写入文件后、对所述各个节点上的OSD磁盘进行故障测试前记录的Md5值。
3.如权利要求2所述的方法,其特征在于,所述判断所述当前Md5值与初始Md5值是否一致之后,故障脚本本次执行通过之前,该方法还包括:
检测集群状态和所述分布式文件***节点的OSD状态,判断所述集群状态和所述节点的OSD状态是否正常,如果是,则进入后续步骤,如果否,所述故障脚本本次执行失败。
4.如权利要求1所述的方法,其特征在于,所述对各个节点上的OSD磁盘执行相应的故障脚本之前,该方法还包括:
检测集群状态和所述分布式文件***节点的OSD状态,判断所述集群状态和所述节点的OSD状态是否正常,如果否,调试到正常为止,所述集群状态和所述节点的OSD状态正常后,开始对所述各个节点上的OSD磁盘执行相应的故障脚本。
5.如权利要求1所述的方法,其特征在于,所述对各个节点上的OSD磁盘执行相应的故障脚本之前,该方法还包括:
判断所述各个节点上的OSD磁盘是否有数据读写,如果是,确定有数据读写的OSD磁盘;
则对所述各个节点上的OSD磁盘执行相应的故障脚本的过程具体为:
对所述各个节点上的有数据读写的OSD磁盘执行相应的故障脚本。
6.如权利要求1所述的方法,其特征在于,所述根据分布式文件***数据池的冗余规则确定测试脚本类型的过程具体为:
获取分布式文件***数据池的名称;
根据所述名称得到所述分布式文件***数据池的冗余规则;
根据所述冗余规则确定测试脚本类型。
7.如权利要求1-6任一项所述的方法,其特征在于,所述模拟拔出所述OSD磁盘的命令为echo 1>/sys/block/X/device/delete命令;其中,所述X为所述OSD磁盘的盘符;
所述模拟***所述OSD磁盘的命令为echo“---”>包括host和scan的文件绝对路径的命令;其中,所述包括host和scan的文件绝对路径为通过find/sys/-name“scan”|grep“host”命令获取的路径。
8.一种OSD磁盘故障测试***,应用于分布式文件***,其特征在于,包括:
接收模块,用于在接收到故障测试指令后,根据分布式文件***数据池的冗余规则确定测试脚本类型;
确定模块,根据所述测试脚本类型确定所述分布式文件***各个节点对应的测试用例及与所述测试用例一一对应的故障脚本;其中,所述故障脚本包括模拟拔出和模拟***所述OSD磁盘的命令;
测试模块,用于根据各个节点的名称和OSD磁盘的ID对各个节点上的OSD磁盘执行相应的故障脚本直至完成所述各个节点对应的测试用例,以实现所述故障测试。
9.如权利要求8所述的***,其特征在于,所述模拟拔出所述OSD磁盘的命令为echo 1>/sys/block/X/device/delete命令;其中,所述X为所述OSD磁盘的盘符;
所述模拟***所述OSD磁盘的命令为echo“---”>包括host和scan的文件绝对路径的命令;其中,所述包括host和scan的文件绝对路径为通过find/sys/-name“scan”|grep“host”命令获取的路径。
10.如权利要求8所述的***,其特征在于,所述接收模块具体用于在接收到故障测试指令后,获取分布式文件***数据池的名称;
根据所述名称得到所述分布式文件***数据池的冗余规则;
根据所述冗余规则确定测试脚本类型。
CN201710692073.5A 2017-08-14 2017-08-14 一种osd磁盘故障测试方法及*** Active CN107391333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710692073.5A CN107391333B (zh) 2017-08-14 2017-08-14 一种osd磁盘故障测试方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710692073.5A CN107391333B (zh) 2017-08-14 2017-08-14 一种osd磁盘故障测试方法及***

Publications (2)

Publication Number Publication Date
CN107391333A true CN107391333A (zh) 2017-11-24
CN107391333B CN107391333B (zh) 2020-10-16

Family

ID=60354744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710692073.5A Active CN107391333B (zh) 2017-08-14 2017-08-14 一种osd磁盘故障测试方法及***

Country Status (1)

Country Link
CN (1) CN107391333B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669794A (zh) * 2018-12-03 2019-04-23 郑州云海信息技术有限公司 一种磁盘数据一致性测试方法、装置、终端及存储介质
CN110018980A (zh) * 2017-12-25 2019-07-16 北京金风科创风电设备有限公司 从风机控制器的仿真数据搜索故障数据的方法和设备
CN110568346A (zh) * 2019-10-08 2019-12-13 东信和平科技股份有限公司 一种智能卡的老化测试方法及***
CN111104274A (zh) * 2019-12-19 2020-05-05 广东浪潮大数据研究有限公司 Ssd硬盘自动化测试方法、装置、设备及可读存储介质
CN111124724A (zh) * 2019-11-15 2020-05-08 苏州浪潮智能科技有限公司 一种分布式块存储***的节点故障测试方法及装置
CN111221672A (zh) * 2019-12-26 2020-06-02 曙光信息产业股份有限公司 用于分布式存储***的数据一致性校验方法及装置
CN111400117A (zh) * 2020-03-12 2020-07-10 山东汇贸电子口岸有限公司 一种自动化测试Ceph集群的方法
CN112667453A (zh) * 2020-12-25 2021-04-16 深圳创新科技术有限公司 一种踢盘测试方法、终端及计算机存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1635478A (zh) * 2003-12-30 2005-07-06 英业达股份有限公司 跨平台的计算机测试***及方法
US20080270841A1 (en) * 2007-04-11 2008-10-30 Quilter Patrick J Test case manager
CN101819547A (zh) * 2010-03-25 2010-09-01 浪潮电子信息产业股份有限公司 一种针对存储子***稳定性和可靠性的测试方法
CN103000228A (zh) * 2011-09-08 2013-03-27 上海宝信软件股份有限公司 存储设备的测试方法及***
CN104899119A (zh) * 2015-05-21 2015-09-09 浪潮电子信息产业股份有限公司 一种自动检测硬盘异常的方法
CN105760267A (zh) * 2016-02-25 2016-07-13 上海斐讯数据通信技术有限公司 存储设备读写对cpu消耗的对比检测方法
CN106844119A (zh) * 2017-01-25 2017-06-13 郑州云海信息技术有限公司 一种设备的检测方法、装置和***
CN106875980A (zh) * 2017-02-17 2017-06-20 紫光华山信息技术有限公司 硬盘测试方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1635478A (zh) * 2003-12-30 2005-07-06 英业达股份有限公司 跨平台的计算机测试***及方法
US20080270841A1 (en) * 2007-04-11 2008-10-30 Quilter Patrick J Test case manager
CN101819547A (zh) * 2010-03-25 2010-09-01 浪潮电子信息产业股份有限公司 一种针对存储子***稳定性和可靠性的测试方法
CN103000228A (zh) * 2011-09-08 2013-03-27 上海宝信软件股份有限公司 存储设备的测试方法及***
CN104899119A (zh) * 2015-05-21 2015-09-09 浪潮电子信息产业股份有限公司 一种自动检测硬盘异常的方法
CN105760267A (zh) * 2016-02-25 2016-07-13 上海斐讯数据通信技术有限公司 存储设备读写对cpu消耗的对比检测方法
CN106844119A (zh) * 2017-01-25 2017-06-13 郑州云海信息技术有限公司 一种设备的检测方法、装置和***
CN106875980A (zh) * 2017-02-17 2017-06-20 紫光华山信息技术有限公司 硬盘测试方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018980A (zh) * 2017-12-25 2019-07-16 北京金风科创风电设备有限公司 从风机控制器的仿真数据搜索故障数据的方法和设备
CN109669794A (zh) * 2018-12-03 2019-04-23 郑州云海信息技术有限公司 一种磁盘数据一致性测试方法、装置、终端及存储介质
CN110568346A (zh) * 2019-10-08 2019-12-13 东信和平科技股份有限公司 一种智能卡的老化测试方法及***
CN111124724A (zh) * 2019-11-15 2020-05-08 苏州浪潮智能科技有限公司 一种分布式块存储***的节点故障测试方法及装置
CN111124724B (zh) * 2019-11-15 2023-01-10 苏州浪潮智能科技有限公司 一种分布式块存储***的节点故障测试方法及装置
CN111104274A (zh) * 2019-12-19 2020-05-05 广东浪潮大数据研究有限公司 Ssd硬盘自动化测试方法、装置、设备及可读存储介质
CN111104274B (zh) * 2019-12-19 2023-07-14 广东浪潮大数据研究有限公司 Ssd硬盘自动化测试方法、装置、设备及可读存储介质
CN111221672A (zh) * 2019-12-26 2020-06-02 曙光信息产业股份有限公司 用于分布式存储***的数据一致性校验方法及装置
CN111400117A (zh) * 2020-03-12 2020-07-10 山东汇贸电子口岸有限公司 一种自动化测试Ceph集群的方法
CN111400117B (zh) * 2020-03-12 2023-07-11 山东汇贸电子口岸有限公司 一种自动化测试Ceph集群的方法
CN112667453A (zh) * 2020-12-25 2021-04-16 深圳创新科技术有限公司 一种踢盘测试方法、终端及计算机存储介质

Also Published As

Publication number Publication date
CN107391333B (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN107391333A (zh) 一种osd磁盘故障测试方法及***
US7917895B2 (en) Automated software testing and validation system
CN110008129B (zh) 一种存储定时快照的可靠性测试方法、装置及设备
CN103473158A (zh) 一种Linux服务器的磁盘压力测试方法
CN109992274A (zh) 烧录设备、烧录程序的方法和可读存储介质
CN107133244B (zh) 一种数据库迁移的测试方法和装置
CN107729238A (zh) 一种插件调试方法、***、装置及计算机可读存储介质
CN111767226A (zh) 一种云计算平台资源的测试方法、***及设备
CN103678116A (zh) 用于促进自动化程序测试的方法和***
CN111124894B (zh) 代码覆盖率的处理方法、装置和计算机设备
CN108572895A (zh) 一种Linux下自动检查软硬件配置的稳定性测试方法
US6012157A (en) System for verifying the effectiveness of a RAM BIST controller's ability to detect faults in a RAM memory using states indicating by fault severity information
US20060190234A1 (en) Property generating method, verification method and verification apparatus
US20070180369A1 (en) Method and apparatus for automatically formatting data based on a best match test result type
CN108959078A (zh) 一种Windows端软件自动化测试方法及***
CN109582513A (zh) 一种基于通用服务器的jbod测试方法及***
CN107423185A (zh) 一种磁盘阵列和主机兼容适配的测试方法及装置
CN109829083A (zh) Spd数据自动验证方法、装置、计算机设备及存储介质
CN109344023B (zh) 一种服务器usb3.0接口稳定性的测试***及方法
JP2007328447A (ja) ソフトウェア試験項目選択装置、ソフトウェア試験項目選択プログラム、ソフトウェア試験項目選択プログラムが格納された記憶媒体およびソフトウェア試験項目選択方法
CN104090845B (zh) 一种游戏自动测试方法、***及相关设备
US11874764B2 (en) Method and system for guaranteeing game quality by using artificial intelligence agent
CN110795297B (zh) 一种电子设备的测试方法及装置
CN110348244A (zh) 基于仲裁的多校验和验证方法、***、装置及存储介质
CN115571202B (zh) 一种列控中心***的复盘方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200917

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant