CN112667453A - 一种踢盘测试方法、终端及计算机存储介质 - Google Patents
一种踢盘测试方法、终端及计算机存储介质 Download PDFInfo
- Publication number
- CN112667453A CN112667453A CN202011566109.3A CN202011566109A CN112667453A CN 112667453 A CN112667453 A CN 112667453A CN 202011566109 A CN202011566109 A CN 202011566109A CN 112667453 A CN112667453 A CN 112667453A
- Authority
- CN
- China
- Prior art keywords
- distributed storage
- storage equipment
- disk
- test
- disks
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000013500 data storage Methods 0.000 claims abstract description 12
- 230000003993 interaction Effects 0.000 claims abstract description 9
- 238000013515 script Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000010998 test method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提出了一种踢盘测试方法、终端及计算机存储介质,该方法包括:步骤1、通过控制客户端与分布式存储设备进行数据交互,并选择分布式存储设备中的一个存储节点作为测试节点;步骤2、确定测试节点中用于进行数据存储的各磁盘;步骤3、基于踢盘命令从测试节点剩余的磁盘中选择一个或多个进行踢出;步骤4、判断分布式存储设备是否正常;步骤5、若判断结果为是,则执行步骤3,直到测试节点中剩余的磁盘数量为0。本申请实现了踢盘的自动化,提高了效率,不需要额外的设备,成本很低,且测试的时机可控,从而提高了测试的灵活性,也不会对分布式存储设备的存储服务造成干扰。
Description
技术领域
本发明涉及分布式存储设备的测试技术领域,特别涉及一种踢盘测试方法、终端及计算机存储介质。
背景技术
分布式存储产品在测试过程中,为确保产品的稳定性,一般需要硬盘进行剔盘测试(也称拔盘测试),也即将硬盘拔出或踢出与整个***中断数据连接;
而目前拔盘测试有几种实现方式:一种是人工拔盘、还一种则是机械臂剔盘。但是现有的这几种方式都存在一些缺陷,具体的,人工拔盘方式中的缺点在于效率不高,且费时费力,需要消耗大量的人力,且人工的方式由于需要人,在例如比较恶劣的环境下,将无法实现人工拔盘;至于机械臂拔盘,虽然测试效率高但费用投入很大,且需额外设置机械臂,需要占用额外的空间。
由此,目前需要有一种更好的方案来解决现有技术中的问题。
发明内容
针对现有技术中的缺陷,本发明提出了一种踢盘测试方法、终端及计算机存储介质,本申请的方案,以脚本的方式,通过在软件层次中断与硬盘连接的方式实现踢盘,不需要物理拔出,进而检测分布式存储设备是否正常的方式,实现了踢盘的自动化,提高了效率,不需要额外的设备,成本很低,且测试的时机可控,从而提高了测试的灵活性,也不会对分布式存储设备的存储服务造成干扰。
具体的,本发明提出了以下具体的实施例:
本发明实施例提出了一种踢盘测试方法,应用于为客户端提供存储服务的分布式存储设备,所述分布式存储设备中包括多个存储节点,该方法包括:
步骤1、通过控制所述客户端与所述分布式存储设备进行数据交互,并选择所述分布式存储设备中的一个所述存储节点作为测试节点;
步骤2、确定所述测试节点中用于进行数据存储的各磁盘;
步骤3、基于踢盘命令从所述测试节点剩余的所述磁盘中选择一个或多个进行踢出;
步骤4、判断所述分布式存储设备是否正常;
步骤5、若判断结果为是,则执行步骤3,直到所述测试节点中剩余的所述磁盘数量为0。
在一个具体的实施例中,该方法还包括:
步骤6、若判断结果为否,则停止踢盘测试。
在一个具体的实施例中,所述步骤1,包括:
在通过控制所述客户端与所述分布式存储设备进行数据交互时,随机选择所述分布式存储设备中的一个所述存储节点作为测试节点。
在一个具体的实施例中,所述步骤2,包括:
通过部署在所述测试节点上的踢盘脚本确定所述测试节点中用于进行数据存储的磁盘的数量,以及各所述磁盘的标识。
在一个具体的实施例中,所述标识为磁盘设备名称。
在一个具体的实施例中,所述步骤3,包括:
基于踢盘命令每隔预设时间从所述测试节点剩余的所述磁盘中选择一个或多个进行踢出流程。
在一个具体的实施例中,所述预设时间为用户自定义的。
在一个具体的实施例中,所述步骤4,包括:判断所述分布式存储设备运行是否正常,以及所述客户端输入输出所述分布式存储设备的数据是否正常;
若都为正常,则确定所述分布式存储设备正常;
若不都为正常,则确定所述分布式存储设备异常。
本发明实施例还提出了一种终端,包括存储器与处理器,其中,所述处理器在运行所述存储器中的程序时执行上述的方法。
本发明实施例还提出了一种计算机存储介质,所述计算机存储介质中存储有用于执行上述方法的程序。
以此,本发明实施例提出了一种踢盘测试方法、终端及计算机存储介质,应用于为客户端提供存储服务的分布式存储设备,所述分布式存储设备中包括多个存储节点,该方法包括:步骤1、通过控制所述客户端与所述分布式存储设备进行数据交互,并选择所述分布式存储设备中的一个所述存储节点作为测试节点;步骤2、确定所述测试节点中用于进行数据存储的各磁盘;步骤3、基于踢盘命令从所述测试节点剩余的所述磁盘中选择一个或多个进行踢出;步骤4、判断所述分布式存储设备是否正常;步骤5、若判断结果为是,则执行步骤3,直到所述测试节点中剩余的所述磁盘数量为0。本申请的方案,以脚本的方式,通过在软件层次中断与硬盘连接的方式实现踢盘,不需要物理拔出,进而检测分布式存储设备是否正常的方式,实现了踢盘的自动化,提高了效率,不需要额外的设备,成本很低,且测试的时机可控,从而提高了测试的灵活性,也不会对分布式存储设备的存储服务造成干扰。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提出的一种踢盘测试方法的流程示意图;
图2为本发明实施例提出的具体场景下的一种踢盘测试方法的流程示意图;
图3为本发明实施例提出的一种终端的框架结构示意图;
图4为本发明实施例提出的一种计算机存储介质的框架结构示意图。
具体实施方式
在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。
在本公开的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本公开的各种实施例。如在此所使用,单数形式意在也包括复数形式,除非上下文清楚地另有指示。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本公开的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本公开的各种实施例中被清楚地限定。
实施例1
本发明实施例1公开了一种踢盘测试方法,应用于为客户端提供存储服务的分布式存储设备,所述分布式存储设备中包括多个存储节点,如图1以及图2所示,该方法包括以下步骤:
步骤1、通过控制所述客户端与所述分布式存储设备进行数据交互,并选择所述分布式存储设备中的一个所述存储节点作为测试节点;
步骤2、确定所述测试节点中用于进行数据存储的各磁盘;
步骤3、基于踢盘命令从所述测试节点剩余的所述磁盘中选择一个或多个进行踢出;
步骤4、判断所述分布式存储设备是否正常;
步骤5、若判断结果为是,则执行步骤3,直到所述测试节点中剩余的所述磁盘数量为0。
此外,该方法还包括:
步骤6、若判断结果为否,则停止踢盘测试。
具体的,分布式存储设备提供存储服务时,一般采用双副本(甚至3副本)模式,由此,需要模拟磁盘掉线的异常情况处理机制,在模拟磁盘掉线场景下,整个分布式集群正常且数据安全可靠。可以采用在分布式存储产品的其中一个节点上部署脚本,具体的,基于该脚本执行步骤1-步骤5的测试过程。
所述步骤1,包括:
在通过控制所述客户端与所述分布式存储设备进行数据交互时,随机选择所述分布式存储设备中的一个所述存储节点作为测试节点。
具体的,在分布式存储设备的***环境搭建好后,客户端与分布式存储设备之间进行IO(输入与输出)读写。具体的,由于测试的时机是可控的,因此可以选取例如晚上或者周末等时间来进行本方案,以充分利用测试时间。
进一步的,所述步骤2,包括:
通过部署在所述测试节点上的踢盘脚本确定所述测试节点中用于进行数据存储的磁盘的数量,以及各所述磁盘的标识。
具体的,所述标识为磁盘设备名称或其他可以唯一确定对应的磁盘的信息,并不限于磁盘设备名称。
具体的,将分布式存储设备中一个节点作为测试节点,在测试节点上确定共有多少块磁盘(disk_num)用于数据存储及进行数据存储的磁盘的磁盘设备名称(disk_name)。
所述步骤3,包括:
基于踢盘命令每隔预设时间从所述测试节点剩余的所述磁盘中选择一个或多个进行踢出。
每半小时(时间可自行设定),在测试节点下踢出一块磁盘,直到该节点上所有数据盘踢出完成。具体的,踢出与物理拔出有所不同,是在软件层次中断与测试节点中该磁盘的数据连接即可,因此效率高,且几乎没有成本。
具体的,例如踢盘命令:echo 1>/sys/block/sdg/device/delete(在实际执行时,命令中的sdg用disk_name代替,例如当替换为disk_name1时,则代表踢出磁盘设备名称为disk_name1的磁盘)。
在一个具体的实施例中,所述预设时间为用户自定义的。预设时间是可以用户自定义的,以此可以适用于更大的范围,满足各种不同的测试需要,例如不同测试速度的需要。
在一个具体的实施例中,所述步骤4,包括:判断所述分布式存储设备运行是否正常,以及所述客户端输入输出所述分布式存储设备的数据是否正常;
若都为正常,则确定所述分布式存储设备正常;
若不都为正常,则确定所述分布式存储设备异常。
具体的,检测分布式存储设备运行是否正常、以及客户端与分布式存储设备之间的IO是否正常,只有都正常,才确定分布式存储设备正常。
本方案在测试人力有限情况下,可以自由增加分布式存储***对于掉盘场景的测试力度,以此可以增强分布式存储***的高可用性。且测试可以安排在每天晚上或周末执行,充分利用测试时间。全部脚本实现,成本很低。
实施例2
本发明实施例2还公开了一种终端,如图3所述,包括存储器与处理器,其中,所述处理器在运行所述存储器中的程序时执行实施例1中任意一项所述的方法。
该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意移动终端设备。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***;存储数据区可存储根据所创建的数据。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。可选的,处理器可包括一个或多个处理单元;优选的,处理器可集成应用处理器,应用处理器主要处理操作***、用户界面和应用程序等。
具体所述处理器在运行所述存储器中的程序时执行实施例1中任意一项所述的方法的相关细节,请参见实施例1中的记载,在此不再进行赘述。
实施例3
本发明实施例3还公开了一种计算机存储介质,如图4所示,所述计算机存储介质中存储有用于执行实施例1中任意一项所述方法的程序。
计算机存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。计算机存储介质具有存储用于执行实施例1中的任何方法步骤的程序代码的存储空间。例如,存储程序代码的存储空间可以包括分别用于实现实施例1中的方法中的各种步骤的各个程序代码。这些程序代码可以从一个或者多个计算机存储介质中读出或者写入到这一个或者多个计算机存储介质中。这些计算机存储介质包括诸如硬盘、紧致盘(CD)、存储卡或者软盘之类的程序代码载体。本实施例3还公开有其他相关的技术特征,具体的其他相关的技术特征请参见实施例1中的记载。
以此,本发明实施例提出了一种踢盘测试方法、终端及计算机存储介质,应用于为客户端提供存储服务的分布式存储设备,所述分布式存储设备中包括多个存储节点,该方法包括:步骤1、通过控制所述客户端与所述分布式存储设备进行数据交互,并选择所述分布式存储设备中的一个所述存储节点作为测试节点;步骤2、确定所述测试节点中用于进行数据存储的各磁盘;步骤3、基于踢盘命令从所述测试节点剩余的所述磁盘中选择一个或多个进行踢出;步骤4、判断所述分布式存储设备是否正常;步骤5、若判断结果为是,则执行步骤3,直到所述测试节点中剩余的所述磁盘数量为0。本申请的方案,以脚本的方式,通过在软件层次中断与硬盘连接的方式实现踢盘,不需要物理拔出,进而检测分布式存储设备是否正常的方式,实现了踢盘的自动化,提高了效率,不需要额外的设备,成本很低,且测试的时机可控,从而提高了测试的灵活性,也不会对分布式存储设备的存储服务造成干扰。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种踢盘测试方法,其特征在于,应用于为客户端提供存储服务的分布式存储设备,所述分布式存储设备中包括多个存储节点,该方法包括:
步骤1、通过控制所述客户端与所述分布式存储设备进行数据交互,并选择所述分布式存储设备中的一个所述存储节点作为测试节点;
步骤2、确定所述测试节点中用于进行数据存储的各磁盘;
步骤3、基于踢盘命令从所述测试节点剩余的所述磁盘中选择一个或多个进行踢出;
步骤4、判断所述分布式存储设备是否正常;
步骤5、若判断结果为是,则执行步骤3,直到所述测试节点中剩余的所述磁盘数量为0。
2.如权利要求1所述的方法,其特征在于,还包括:
步骤6、若判断结果为否,则停止踢盘测试。
3.如权利要求1所述的方法,其特征在于,所述步骤1,包括:
在通过控制所述客户端与所述分布式存储设备进行数据交互时,随机选择所述分布式存储设备中的一个所述存储节点作为测试节点。
4.如权利要求1所述的方法,其特征在于,所述步骤2,包括:
通过部署在所述测试节点上的踢盘脚本确定所述测试节点中用于进行数据存储的磁盘的数量,以及各所述磁盘的标识。
5.如权利要求4所述的方法,其特征在于,所述标识为磁盘设备名称。
6.如权利要求1或4所述的方法,其特征在于,所述步骤3,包括:
基于踢盘命令每隔预设时间从所述测试节点剩余的所述磁盘中选择一个或多个进行踢出。
7.如权利要求6所述的方法,其特征在于,所述预设时间为用户自定义的。
8.如权利要求5所述的方法,其特征在于,所述步骤4,包括:判断所述分布式存储设备运行是否正常,以及所述客户端输入输出所述分布式存储设备的数据是否正常;
若都为正常,则确定所述分布式存储设备正常;
若不都为正常,则确定所述分布式存储设备异常。
9.一种终端,其特征在于,包括存储器与处理器,其中,所述处理器在运行所述存储器中的程序时执行权利要求1-8中任意一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有用于执行权利要求1-8中任意一项所述方法的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011566109.3A CN112667453A (zh) | 2020-12-25 | 2020-12-25 | 一种踢盘测试方法、终端及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011566109.3A CN112667453A (zh) | 2020-12-25 | 2020-12-25 | 一种踢盘测试方法、终端及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112667453A true CN112667453A (zh) | 2021-04-16 |
Family
ID=75409434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011566109.3A Pending CN112667453A (zh) | 2020-12-25 | 2020-12-25 | 一种踢盘测试方法、终端及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667453A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260982A1 (en) * | 2003-06-19 | 2004-12-23 | Sun Microsystems, Inc. | System and method for scenario generation in a distributed system |
CN107391333A (zh) * | 2017-08-14 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种osd磁盘故障测试方法及*** |
CN109446006A (zh) * | 2018-10-24 | 2019-03-08 | 郑州云海信息技术有限公司 | 分布式Raid特性测试方法、装置、设备及存储介质 |
CN110442306A (zh) * | 2019-06-28 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种分布式存储***的故障处理方法、设备以及存储介质 |
CN111124724A (zh) * | 2019-11-15 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种分布式块存储***的节点故障测试方法及装置 |
-
2020
- 2020-12-25 CN CN202011566109.3A patent/CN112667453A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260982A1 (en) * | 2003-06-19 | 2004-12-23 | Sun Microsystems, Inc. | System and method for scenario generation in a distributed system |
CN107391333A (zh) * | 2017-08-14 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种osd磁盘故障测试方法及*** |
CN109446006A (zh) * | 2018-10-24 | 2019-03-08 | 郑州云海信息技术有限公司 | 分布式Raid特性测试方法、装置、设备及存储介质 |
CN110442306A (zh) * | 2019-06-28 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种分布式存储***的故障处理方法、设备以及存储介质 |
CN111124724A (zh) * | 2019-11-15 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种分布式块存储***的节点故障测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101368991B (zh) | 电子装置测试装置及方法 | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN106155596B (zh) | 数据写入方法及装置 | |
US20110119662A1 (en) | Method for updating firmware of embedded system | |
CN103294530A (zh) | 一种终端设备应用程序管理方法及终端设备 | |
CN107402870B (zh) | 一种元数据服务器中日志段的处理方法及装置 | |
CN105975289A (zh) | 获取硬件版本信息的方法与装置 | |
CN113704117A (zh) | 一种算法测试***、方法及装置 | |
CN112182010B (zh) | 脏页刷新方法和装置、存储介质和电子设备 | |
CN105573872A (zh) | 数据存储***的硬盘维护方法和装置 | |
CN101017496A (zh) | 基于最佳匹配测试结果类型自动格式化数据的方法和装置 | |
CN114153669A (zh) | 一种可视化地测试磁盘稳定性的方法、装置及存储介质 | |
CN104239112B (zh) | 一种设备驱动程序安装方法及装置 | |
CN112133357B (zh) | 一种eMMC的测试方法及装置 | |
CN112667453A (zh) | 一种踢盘测试方法、终端及计算机存储介质 | |
CN113272785B (zh) | 一种挂载文件***的方法、终端设备及存储介质 | |
CN108287761A (zh) | 内存回收方法及装置、终端设备及计算机可读存储介质 | |
US20120054548A1 (en) | Data processing device and method for controlling test process of electronic device using the same | |
CN114598731B (zh) | 集群日志采集方法、装置、设备及存储介质 | |
CN109164987A (zh) | 一种磁盘阵列卡的控制方法、装置及电子设备 | |
CN101706745A (zh) | 大型储存***的储存设备的测试方法 | |
CN107291483B (zh) | 智能删除应用程序的方法及电子设备 | |
CN113986747A (zh) | 一种数据生成方法、装置、电子设备及存储介质 | |
CN107656702A (zh) | 加速硬盘读写的方法及其***、以及电子设备 | |
CN113051105A (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 |