CN116719668A - 一种NVMe固态硬盘组RAID的自动化测试方法及测试系统 - Google Patents

一种NVMe固态硬盘组RAID的自动化测试方法及测试系统 Download PDF

Info

Publication number
CN116719668A
CN116719668A CN202310983032.7A CN202310983032A CN116719668A CN 116719668 A CN116719668 A CN 116719668A CN 202310983032 A CN202310983032 A CN 202310983032A CN 116719668 A CN116719668 A CN 116719668A
Authority
CN
China
Prior art keywords
test
raid
solid state
state disk
environment
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
Application number
CN202310983032.7A
Other languages
English (en)
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.)
Jiangsu Huacun Electronic Technology Co Ltd
Original Assignee
Jiangsu Huacun Electronic 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 Jiangsu Huacun Electronic Technology Co Ltd filed Critical Jiangsu Huacun Electronic Technology Co Ltd
Priority to CN202310983032.7A priority Critical patent/CN116719668A/zh
Publication of CN116719668A publication Critical patent/CN116719668A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供了一种NVMe固态硬盘组RAID的自动化测试方法及测试系统,其搭建测试的硬件环境和软件环境,实现通过脚本的自动化测试,能够进行RAID组建测试、功能测试、性能测试和可靠性测试,实现全面的测试,提高了测试的效率、可靠性和准确性,其特征在于:包括以下步骤:步骤1、搭建测试环境,包括硬件环境和软件环境;步骤2、运行脚本查询是否存在全局测试记录文件,如果不存在,则新建全局测试记录文件、进行测试参数设置、执行步骤3;如果存在,则直接进行可靠性测试、不执行步骤3;步骤3、运行脚本进行记录测试环境、记录固态硬盘信息、执行测试项目,所述测试项目包括:RAID组建测试、功能测试、性能测试和可靠性测试。

Description

一种NVMe固态硬盘组RAID的自动化测试方法及测试系统
技术领域
本发明涉及NVMe固态硬盘测试相关技术领域,具体涉及一种NVMe固态硬盘组RAID的自动化测试方法及测试系统。
背景技术
RAID(Redundant Array of Independent Disks,即独立磁盘冗余阵列)是通过捆绑2个或多个硬盘组成一个单独的逻辑盘,用于提高容量、读写性能以及数据的安全性。而RAID卡就是提供RAID功能的硬件。
目前存储市场,固态硬盘主要分为SATA固态硬盘和NVMe固态硬盘。其中SATA固态硬盘由于接口协议的限制,读带宽速度最高在550MB/s;而NVMe固态硬盘采用PCI-E协议,PCIe3.0 x 4的固态硬盘读带宽最高可达3500MB/s,是SATA硬盘的6-7倍。
NVMe盘组建RAID后,可以提高性能,并通过数据冗余功能提升安全性。但现在都是基于SATA固态硬盘组RAID的测试系统和方法,缺少NVMe固态硬盘组RAID的测试方法和系统,尤其是缺少NVMe固态硬盘RAID组建的硬件测试环境、RAID功能测试和进行AC断电的RAID可靠性测试。
有鉴于上述的缺陷,当前亟需设计一种NVMe固态硬盘组RAID的自动化测试方法及测试系统,来满足产业化的需求。
发明内容
为了解决上述内容中提到的问题,本发明提供了一种NVMe固态硬盘组RAID的自动化测试方法及测试系统,其搭建测试的硬件环境和软件环境,实现通过脚本的自动化测试,能够进行RAID组建测试、功能测试、性能测试和可靠性测试,实现全面的测试,提高了测试的效率、可靠性和准确性。
其技术方案是这样的:
一种NVMe固态硬盘组RAID的自动化测试方法,其特征在于:所述方法包括以下步骤:
步骤1、搭建测试环境,包括硬件环境和软件环境;
步骤2、运行脚本查询是否存在全局测试记录文件,如果不存在,则新建全局测试记录文件、进行测试参数设置、执行步骤3;如果存在,则直接进行可靠性测试、不执行步骤3;
步骤3、运行脚本进行记录测试环境、记录固态硬盘信息、执行测试项目,所述测试项目包括:RAID组建测试、功能测试、性能测试和可靠性测试。
进一步的,所述步骤2中测试参数设置包括:选择被测试固态硬盘、选择测试项目。
进一步的,所述步骤3中执行测试项目时,根据测试参数设置进行RAID组建测试、功能测试、性能测试和可靠性测试中的一种或多种。
进一步的,所述功能测试包括:擦除功能测试、重建功能测试、一致性功能测试。
进一步的,所述可靠性测试具体为带有AC断电的RAID可靠性测试。
进一步的,所述可靠性测试分为RAID卡电池有电和无电两种情况。
进一步的,执行测试项目时,固态硬盘的组建模式包括:JBOD、RAID0、RAID1、RAID5。
进一步的,所述进行测试参数设置、记录测试环境、记录固态硬盘信息、执行测试项目均将完成信息和完成时间记录在全局测试记录文件中;
所述记录测试环境所得的环境信息和记录固态硬盘信息所得的硬盘信息均记录在环境记录文件中;
所述执行测试项目所得的测试结果信息均记录在测试结果文件中。
基于上述的测试方法,本发明还提供了一种NVMe固态硬盘组RAID的自动化测试系统,其特征在于:所述测试系统包括:硬件部分和软件部分;
所述硬件部分包括:被测NVMe固态硬盘、服务器、AC断电装置、RAID卡、硬盘盒、PC;
所述软件部分包括:服务器软件环境和PC软件环境;服务器软件环境包括:操作系统、脚本、storcli工具;所述PC软件环境包括:AC断电装置配套软件。
进一步的,所述脚本包括:功能模块、测试模块、结果模块;
所述功能模块包括:交互功能、环境自检功能、硬盘自检功能、日志功能;
所述测试模块包括:RAID组建测试、RAID功能测试、RAID性能测试、RAID可靠性测试;
所述结果模块用于测试数据的抓取、记录与处理。
本发明的有益效果为:
1、本发明通过脚本进行自动化测试,提高了测试的效率和准确性,节省了时间成本和人力成本,同时可以通过全局测试记录文件在测试过程中实时监控测试以及在测试结束后进行复盘,便于管理和调试。
2、本发明包括了一系列的功能模块和测试模块,覆盖了不同方面的测试需求,包括RAID组建测试、功能测试、性能测试和可靠性测试,可靠性测试还分为RAID卡电池有电和无电两种情况,因此能够进行全面的测试,提高了测试的可靠性和准确性,同时本发明还具有极高的灵活性,可以通过交互模块,对某一项测试模块进行针对性的测试。
附图说明
图1为本发明实施例的整体流程示意图。
图2为本发明实施例的测试系统结构示意图。
图3为本发明测试脚本的结构示意图。
图4为本发明实施例的测试脚本流程示意图。
图5为本发明实施例的可靠性测试流程示意图。
实施方式
下面结合实施例对本发明做进一步的描述。
以下实施例用于说明本发明,但不能用来限制本发明的保护范围。实施例中的条件可以根据具体条件做进一步的调整,在本发明的构思前提下对本发明的方法简单改进都属于本发明要求保护的范围。
如图1所示,本发明提供的一种NVMe固态硬盘组RAID的自动化测试方法,具体测试步骤如下:
步骤S1:“搭建环境”包括搭建硬件环境和软件环境。
所述步骤S1中搭建硬件环境包括步骤S101-S102:
步骤S101:准备4块固态硬盘(PCIE3.0),1台服务器(支持PCIE4.0),1台AC断电装置(配套开关接口线、串口线),1个RAID卡(9560-16i,配套电池),1个硬盘盒(配套2个SFF-8654 8i接口),2根SFF-8654 8i线材,1台PC。
步骤S102:如图2所示:将4块(不限于4块,可根据实际情况设置)固态盘插入硬盘盒,将RAID卡插入服务器PCIE4.0接口,硬盘盒通过2根SFF-8654 8i线材与RAID卡连接,并将RAID卡与电池连接;将与AC断电装置连接的开关接口线接入服务器内部的开关模块,并将服务器的电源线插在AC断电装置上,AC断电装置通过串口线与PC连接。
所述步骤S1中搭建软件环境包括搭建服务器软件环境和PC软件环境,具体包括步骤S103-S104。
步骤S103:搭建服务器软件环境包括打开BIOS中的上电自动开机功能,给服务器安装Linux系统,进入系统打开终端,创建新的文件夹并上传脚本和storcli工具rpm包,安装storcli工具。
步骤S104:搭建PC软件环境包括安装AC断电装置配套软件并将该软件AC断电功能打开,设为30s后自动AC上电。
步骤S2:如图3所示,所述步骤S1中脚本包括功能模块、测试模块、结果模块,具体内容包括步骤S201-步骤S203。
步骤S201:功能模块包括交互功能、环境自检功能、硬盘自检功能、日志功能。
步骤S202:测试模块包括RAID组建测试、RAID功能测试、RAID性能测试、RAID可靠性测试。
步骤S203:结果模块主要负责测试数据的抓取、记录与处理。
以下包含实施例1和实施例2。
实施例
步骤S3:运行步骤S2所述脚本,如图4所示,脚本包括步骤S301-步骤S309。
步骤S301:脚本通过查询所在目录是否存在global_test.log文件(全局测试记录文件),若不存在则进入步骤S302,若存在则进入步骤S308所述测试模块的RAID可靠性测试。
步骤S302:脚本调用功能模块的交互功能,测试人员输入测试参数,包括步骤S302a-S302c。
步骤S302a:通过storcli工具在终端列出所有连接RAID卡的固态硬盘,测试人员输入要测的固态硬盘(默认全选,本实施例为全选)。
步骤S302b:终端列出所有的可测试项,测试人员输入要测的测试项目(默认全选,本实施例为全选)。
步骤S302c:脚本调用日志功能将步骤S302a和S302b的内容以及完成的时间点记录到global_test.log文件。
步骤S303:脚本调用功能模块的环境记录功能,包括步骤S303a-S303f。
步骤S303a:检查nvme-cli、lscpu、lspci、fio、smartmontool是否安装,若未安装则自动安装。
步骤S303b:查看storcli版本并记录到envir文件(环境记录文件)。
步骤S303c:查看nvme-cli、lscpu、lspci、fio、smartmontool版本并记录到envir文件。
步骤S303d:用“cat /etc/system-release”查看OS信息并记录到envir文件。
步骤S303e:用lspci工具查询RAID卡的pcie速率以及与其连接的服务器pcie接口速率,记录到envir文件。
步骤S303f:用storcli查询RAID卡的信息(包含但不限于RAID卡型号、RAID卡缓存容量、RAID卡电池容量、支持RAID模式)并记录到envir文件。
步骤S303g:脚本调用日志功能将“测试环境信息记录已完成”和完成的时间点记录进global_test.log文件。
步骤S304:脚本调用功能模块的硬盘记录功能,通过storcli查询被测固态硬盘的信息并记录到envir文件;脚本调用日志功能将“硬盘信息记录已完成”和完成的时间点记录进global_test.log文件。
步骤S305:脚本调用测试模块的RAID组建测试,包含步骤S305a-S305e。
步骤S305a:JBOD模式测试,通过storcli将1个固态硬盘设为JBOD模式,并用storcli查询是否组建成功;若成功则将“Test-RAID_buid:JBOD sucess”记录进result文件(测试结果文件),若失败则将“Test-RAID_buid:JBOD failed”记录进result文件。
步骤S305b:RAID0模式测试,通过storcli将2个固态硬盘组建为RAID0模式,并用storcli查询是否组建成功;若成功则将“Test-RAID_buid:RAID 0 sucess”记录进result文件,若失败则将“Test-RAID_buid:RAID 0 failed”记录进result文件。
步骤S305c:RAID1模式测试,通过storcli将2个固态硬盘组建为RAID1模式,并用storcli查询是否组建成功;若成功则将“Test-RAID_buid:RAID 1 sucess”记录进result文件,若失败则将“Test-RAID_buid:RAID 1 failed”记录进result文件。
步骤S305d:RAID5模式测试,通过storcli将3个固态硬盘组建为RAID5模式,并用storcli查询是否组建成功;若成功则将“Test-RAID_buid:RAID 5 sucess”记录进result文件,若失败则将“Test-RAID_buid:RAID 5 failed”记录进result文件。
步骤S305e:脚本调用日志功能将“RAID组建测试已完成”和完成的时间点记录进global_test.log文件。
步骤S306:脚本调用测试模块的RAID功能测试,包含步骤S306a-S306d。
步骤S306a:擦除功能测试,通过storcli将固态硬盘设为good状态,并用sanitize擦除;若成功则将“Test-RAID_feature:sanitize sucess”记录进result文件,若失败则将“Test-RAID_feature:sanitize failed”记录进result文件。
步骤S306b:重建功能测试,通过storcli将2块固态硬盘组为RAID1模式,再将1块固态硬盘设为该RAID的专属备用盘,将RAID1其中1块固态硬盘通过storcli设为offline状态,,查看专属备用盘是否替换进RAID1并查看是否自动进行Rbuild,若成功则将“Test-RAID_feature:RAID 1 rebuild sucess”记录进result文件,若失败则将“Test-RAID_feature:RAID 1 rebuild failed”记录进result文件;通过storcli将3块固态硬盘组为RAID5模式,再将1块固态硬盘设为该RAID的专属备用盘,将RAID5其中1块固态硬盘通过storcli设为offline状态,,查看专属备用盘是否替换进RAID 5并查看是否自动进行Rbuild,若成功则将“Test-RAID_feature:RAID 5 rebuild sucess”记录进result文件,若失败则将“Test-RAID_feature:RAID 5 rebuild failed”记录进result文件。
步骤S306c:一致性功能测试,通过storcli分别在RAID1和RAID5模式下进行一致性检查,若成功则将“Test-RAID_feature:cc sucess”记录进result文件,若失败则将“Test-RAID_feature:cc failed”记录进result文件。
步骤S306d:脚本调用日志功能将“RAID功能测试已完成”和完成的时间点记录进global_test.log文件。
步骤S307:脚本调用测试模块的RAID性能测试,包含步骤S307a-S307k。
步骤S307a:以下步骤S307b-步骤S307g通过fio进行性能测试,其中顺序读写测试参数为bs设为1024k,numjobs设为1,iodepth遍历1、4、16、32、64、128,rw遍历write、read,direct设为1,ioengine设为libaio,runtime在读的时候为60s,写的时候为600s;随机读写参数为bs设为4k,numjobs遍历1、4、8、16、32、64、128,iodepth遍历1、4、16、32、64、128,rw遍历randwrite、randread,direct设为1,ioengine设为libaio,runtime在随机读的时候为60s,随机写的时候为600s。
步骤S307b:JBOD性能测试,将1块固态硬盘擦除并设为JBOD模式,先进行顺序预处理(顺序写全盘2遍),再进行步骤S307a所述的顺序读写测试,通过步骤S203所述的结果模块抓取顺序读写的带宽数据并记录进data_result文件(数据测试结果文件);最后随机写预处理(4线程随机写全盘1遍)后进行步骤S307a所述的随机读写测试,通过结果模块抓取随机读写的带宽数据,并记录进data_result文件。
步骤S307c:RAID0性能测试,将2块固态硬盘擦除并组建为RAID0模式,先进行顺序预处理(顺序写全盘2遍),再进行步骤S307a所述的顺序读写测试,通过步骤S203所述的结果模块抓取顺序读写的带宽数据并记录进data_result文件;最后随机写预处理(4线程随机写全盘1遍)后进行步骤S307a所述的随机读写测试,通过结果模块抓取随机读写的带宽数据,并记录进data_result文件。
步骤S307d:RAID1性能测试,将2块固态硬盘擦除并组建为RAID1模式,先进行顺序预处理(顺序写全盘2遍),再进行步骤S307a所述的顺序读写测试,通过步骤S203所述的结果模块抓取顺序读写的带宽数据并记录进data_result文件;最后随机写预处理(4线程随机写全盘1遍)后进行步骤S307a所述的随机读写测试,通过结果模块抓取随机读写的带宽数据,并记录进data_result文件。
步骤S307e:RAID1性能测试(rebuild状态),将2块固态硬盘擦除并组建为RAID1模式,再添加1块盘作为该RAID的专属备用盘,先进行顺序预处理(顺序写全盘2遍),将RAID1中的1块盘设为offline状态,随即专属备用盘会替换进RAID1并进行rebuild,在此状态下再进行步骤S307a所述的顺序读写测试,通过步骤S203所述的结果模块抓取顺序读写的带宽数据并记录进data_result文件;最后随机写预处理(4线程随机写全盘1遍)后进行步骤S307a所述的随机读写测试,通过结果模块抓取随机读写的带宽数据,并记录进data_result文件。
步骤S307f:RAID5性能测试,将3块固态硬盘擦除并组建为RAID5模式,先进行顺序预处理(顺序写全盘2遍),再进行步骤S307a所述的顺序读写测试,通过步骤S203所述的结果模块抓取顺序读写的带宽数据并记录进data_result文件;最后随机写预处理(4线程随机写全盘1遍)后进行步骤S307a所述的随机读写测试,通过结果模块抓取随机读写的带宽数据,并记录进data_result文件。
步骤S307g:RAID5性能测试(rebuild状态),将3块固态硬盘擦除并组建为RAID1模式,再添加1块盘作为该RAID的专属备用盘,先进行顺序预处理(顺序写全盘2遍),将RAID5中的1块盘设为offline状态,随即专属备用盘会替换进RAID5并进行rebuild,在此状态下再进行步骤S307a所述的顺序读写测试,通过步骤S203所述的结果模块抓取顺序读写的带宽数据并记录进data_result文件;最后随机写预处理(4线程随机写全盘1遍)后进行步骤S307a所述的随机读写测试,通过结果模块抓取随机读写的带宽数据,并记录进data_result文件。
步骤S307h:抓取data_result文件中步骤S307c所述RAID0性能测试32QD下的顺序读带宽和写带宽是否均为步骤S307b所述JBOD性能测试32QD下的顺序读写带宽的2倍左右(1.9倍JBOD≤RIAD 0≤2.1倍JBOD);若符合则将“Test-RAID_performance:RAID 0 seq rwsucess”记录进result文件,若出现不符合则将“Test-RAID_feature:RAID 0 seq rwfailed”记录进result文件。
步骤S307i:抓取data_result文件中步骤S307d所述RAID1性能测试32QD下的顺序读带宽是否为步骤S307b所述JBOD性能测试32QD下的顺序读带宽的2倍左右(1.9倍JBOD≤RIAD 1≤2.1倍JBOD),RAID1性能测试32QD下的顺序写带宽是否为步骤S307b所述JBOD性能测试32QD下的顺序写带宽的1倍左右(0.9倍JBOD≤RIAD 1≤1.1倍JBOD);若均符合则将“Test-RAID_performance:RAID 1 seq rw sucess”记录进result文件,若出现不符合则将“Test-RAID_feature:RAID 1 seq rw failed”记录进result文件。
步骤S307j:抓取data_result文件中步骤S307f所述RAID5性能测试32QD下的顺序读带宽是否为步骤S307b所述JBOD性能测试32QD下的顺序读带宽的2倍左右(1.9倍JBOD≤RIAD 0≤2.1倍JBOD),RAID5性能测试32QD下的顺序写带宽是否为步骤S307b所述JBOD性能测试32QD下的顺序写带宽的3倍左右(2.9倍JBOD≤RIAD 1≤3.1倍JBOD);若均符合则将“Test-RAID_performance:RAID 5 seq rw sucess”记录进result文件,若出现不符合则将“Test-RAID_feature:RAID 5 seq rw failed”记录进result文件。
步骤S307k:脚本调用日志功能将“RAID性能测试已完成”和完成的时间点记录进global_test.log文件。
步骤S308:脚本调用测试模块的RAID可靠性测试,如图5所示,包含步骤S308a-S308k。
步骤S308a:后续步骤中fio的写校验(触发关机)测试,具体参数为bs设为大块(取128-1024中的整数,单位为k),numjobs和iodepth均设为1,verify设为md5,rw设为write,trigger设为poweroff,trigger-timeout每次取60-500中的随机整数(单位为s)。
步骤S308b:后续步骤中fio的读校验测试,具体参数为bs、numjobs、iodepth、verify均与步骤S308a一致,rw设为read,verify_state_load设为1。
步骤S308c:查看etc目录下的开机自启配置文件是否将本脚本设为开机自动运行,若无则设为开机自动运行,若有则忽略。
步骤S308d:查看global_test.log文件,按顺序依次查询“RAID可靠性测试JBOD测试”、“RAID可靠性测试RAID 0测试”、“RAID可靠性测试RAID 1测试”、“RAID可靠性测试RAID5测试”并查询这四个字段后对应的测试次数。
步骤S308e:①若文件中不存在“RAID可靠性测试JBOD测试”则通过storcli将1块固态硬盘擦除并设为JBOD模式并进行步骤S308f-步骤S308h;②文件中存在“RAID可靠性测试JBOD测试”并且次数<200(一般为100-500次)则进行步骤S308i-步骤S308k;③文件中存在“RAID可靠性测试JBOD测试”并且次数不是<200则将本步骤①②中JBOD依次替换为RAID0(两块固态硬盘)、RAID1(两块固态硬盘)、RAID5(三块固态硬盘),并且重复本步骤①②;④文件中存在“RAID可靠性测试RAID5测试”并且次数不是<200时RAID可靠性测试结束。
步骤S308f:脚本调用日志功能将“RAID可靠性测试‘RAID模式’(步骤S308e所述RAID模式)测试次数1”和完成的时间点记录进global_test.log文件并进行步骤S308a所述的fio写校验。
步骤S308g:当达到S308a所述写校验中trigger-timeout设定的时间,服务器自动poweroff,AC断电装置识别到服务器poweroff,对服务器进行断AC操作(切断服务器与AC断电装置连接的电源),并在30s后自动进行AC上电(步骤S104所述),服务器自动开机(步骤S103已在BIOS打开上电自动开机功能)。
步骤S308h:服务器开机后自动运行本脚本,并如图4所示,脚本检测到global_test.log文件后,直接进入步骤S308并逐步进入步骤S308e进行判断。
步骤S308i:进行步骤S308a所述的fio读校验,完成后若fio输出报告无error,则将“Test-RAID_verify:JBOD verify sucess”记录进result文件,若出现不符合则将“Test-RAID_verify:JBOD verify failed”记录进result文件。
步骤S308j:重复步骤S308f,将步骤S308f中的次数进行+1处理。
步骤S308k:重复步骤S308h。
步骤S309:退出脚本。
步骤S4:测试人员查看result文件是否有failed项,若无则固态硬盘合格;若有则固态硬盘有缺陷。
实施例
步骤S5:本实施例为针对RAID卡电池无电后的可靠性针对测试。
步骤S6:断开步骤S102所述RAID卡与电池的连接。
步骤S7:在服务器终端创建新的文件夹并上传步骤S103所述的脚本。
步骤S8:运行步骤S7所述的脚本,包含步骤S801-S804.
步骤S801:脚本通过查询所在目录是否存在global_test.log文件,不存在进入步骤S802,若存在则进入步骤S803。
步骤S802:脚本调用功能模块的交互功能,测试人员输入测试参数,包括步骤S802a-S802c。
步骤S802a:通过storcli工具在终端列出所有连接RAID卡的固态硬盘,测试人员输入要测的固态硬盘(默认全选,本实施例全选)。
步骤S802b:终端列出所有的可测试项,测试人员输入要测的项目(默认全选,本实施例选择RAID可靠性测试)。
步骤S802c:脚本调用日志功能将步骤S802a和S802b的内容以及完成的时间点记录到global_test.log文件。
步骤S803:与步骤S308一致。
步骤S804:退出脚本。
步骤S9:测试人员查看result文件是否有failed项,若无则固态硬盘合格;若有则固态硬盘有缺陷。
本发明中的RAID模式包括JBOD、RAID 0、RAID 1、RAID5但不限于以上4种,可根据实际情况进行添加或删减。
本发明本发明步骤S307h-S307j所述的性能判断标准可根据实际情况进行修改。
尽管已经出示和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种NVMe固态硬盘组RAID的自动化测试方法,其特征在于:所述方法包括以下步骤:
步骤1、搭建测试环境,包括硬件环境和软件环境;
步骤2、运行脚本查询是否存在全局测试记录文件,如果不存在,则新建全局测试记录文件、进行测试参数设置、执行步骤3;如果存在,则直接进行可靠性测试、不执行步骤3;
步骤3、运行脚本进行记录测试环境、记录固态硬盘信息、执行测试项目,所述测试项目包括:RAID组建测试、功能测试、性能测试和可靠性测试。
2.根据权利要求1所述的一种NVMe固态硬盘组RAID的自动化测试方法,其特征在于:所述步骤2中测试参数设置包括:选择被测试固态硬盘、选择测试项目。
3.根据权利要求2所述的一种NVMe固态硬盘组RAID的自动化测试方法,其特征在于:所述步骤3中执行测试项目时,根据测试参数设置进行RAID组建测试、功能测试、性能测试和可靠性测试中的一种或多种。
4.根据权利要求1所述的一种NVMe固态硬盘组RAID的自动化测试方法,其特征在于:所述功能测试包括:擦除功能测试、重建功能测试、一致性功能测试。
5.根据权利要求1所述的一种NVMe固态硬盘组RAID的自动化测试方法,其特征在于:所述可靠性测试具体为带有AC断电的RAID可靠性测试。
6.根据权利要求1所述的一种NVMe固态硬盘组RAID的自动化测试方法,其特征在于:所述可靠性测试分为RAID卡电池有电和无电两种情况。
7.根据权利要求1所述的一种NVMe固态硬盘组RAID的自动化测试方法,其特征在于:执行测试项目时,固态硬盘的组建模式包括:JBOD、RAID0、RAID1、RAID5。
8.根据权利要求1所述的一种NVMe固态硬盘组RAID的自动化测试方法,其特征在于:所述进行测试参数设置、记录测试环境、记录固态硬盘信息、执行测试项目均将完成信息和完成时间记录在全局测试记录文件中;
所述记录测试环境所得的环境信息和记录固态硬盘信息所得的硬盘信息均记录在环境记录文件中;
所述执行测试项目所得的测试结果信息均记录在测试结果文件中。
9.基于权利要求1-8任意一项所述方法的一种NVMe固态硬盘组RAID的自动化测试系统,其特征在于:所述测试系统包括:硬件部分和软件部分;
所述硬件部分包括:被测NVMe固态硬盘、服务器、AC断电装置、RAID卡、硬盘盒、PC;
所述软件部分包括:服务器软件环境和PC软件环境;服务器软件环境包括:操作系统、脚本、storcli工具;所述PC软件环境包括:AC断电装置配套软件。
10.根据权利要求9所述的一种NVMe固态硬盘组RAID的自动化测试系统,其特征在于:所述脚本包括:功能模块、测试模块、结果模块;
所述功能模块包括:交互功能、环境自检功能、硬盘自检功能、日志功能;
所述测试模块包括:RAID组建测试、RAID功能测试、RAID性能测试、RAID可靠性测试;
所述结果模块用于测试数据的抓取、记录与处理。
CN202310983032.7A 2023-08-07 2023-08-07 一种NVMe固态硬盘组RAID的自动化测试方法及测试系统 Pending CN116719668A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310983032.7A CN116719668A (zh) 2023-08-07 2023-08-07 一种NVMe固态硬盘组RAID的自动化测试方法及测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310983032.7A CN116719668A (zh) 2023-08-07 2023-08-07 一种NVMe固态硬盘组RAID的自动化测试方法及测试系统

Publications (1)

Publication Number Publication Date
CN116719668A true CN116719668A (zh) 2023-09-08

Family

ID=87871911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310983032.7A Pending CN116719668A (zh) 2023-08-07 2023-08-07 一种NVMe固态硬盘组RAID的自动化测试方法及测试系统

Country Status (1)

Country Link
CN (1) CN116719668A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116994629A (zh) * 2023-09-22 2023-11-03 江苏华存电子科技有限公司 一种硬盘性能测试及测试数据采集、分析的方法
CN117672333A (zh) * 2024-02-01 2024-03-08 江苏华存电子科技有限公司 一种自动化抓取及校验固态硬盘信息的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193700A (zh) * 2017-05-22 2017-09-22 郑州云海信息技术有限公司 一种通过模拟故障硬盘来测试RAID卡rebuild和热备功能的方法
CN107273251A (zh) * 2017-06-02 2017-10-20 郑州云海信息技术有限公司 一种在生产环境下Rack机柜JBOD存储的测试方法
CN109256173A (zh) * 2018-08-13 2019-01-22 中国航空无线电电子研究所 机载存储设备测试系统
CN113760623A (zh) * 2021-09-10 2021-12-07 深圳忆联信息系统有限公司 固态硬盘tcg协议功能测试方法、装置及计算机设备
CN114116422A (zh) * 2021-11-19 2022-03-01 苏州浪潮智能科技有限公司 一种硬盘日志分析方法、硬盘日志分析装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193700A (zh) * 2017-05-22 2017-09-22 郑州云海信息技术有限公司 一种通过模拟故障硬盘来测试RAID卡rebuild和热备功能的方法
CN107273251A (zh) * 2017-06-02 2017-10-20 郑州云海信息技术有限公司 一种在生产环境下Rack机柜JBOD存储的测试方法
CN109256173A (zh) * 2018-08-13 2019-01-22 中国航空无线电电子研究所 机载存储设备测试系统
CN113760623A (zh) * 2021-09-10 2021-12-07 深圳忆联信息系统有限公司 固态硬盘tcg协议功能测试方法、装置及计算机设备
CN114116422A (zh) * 2021-11-19 2022-03-01 苏州浪潮智能科技有限公司 一种硬盘日志分析方法、硬盘日志分析装置及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116994629A (zh) * 2023-09-22 2023-11-03 江苏华存电子科技有限公司 一种硬盘性能测试及测试数据采集、分析的方法
CN117672333A (zh) * 2024-02-01 2024-03-08 江苏华存电子科技有限公司 一种自动化抓取及校验固态硬盘信息的方法

Similar Documents

Publication Publication Date Title
CN116719668A (zh) 一种NVMe固态硬盘组RAID的自动化测试方法及测试系统
CN104658611A (zh) 一种对固态硬盘进行异常掉电测试的方法及系统
US7356744B2 (en) Method and system for optimizing testing of memory stores
CN102760090B (zh) 除错方法及计算机系统
CN102662701A (zh) Cpld在线升级方法、装置及业务单板
CN110618892B (zh) 一种固态硬盘的bug定位方法、装置、电子设备及介质
CN103364650A (zh) 测试系统和测试方法
CN102279757B (zh) 一种系统程序启动的方法及装置
US11221933B2 (en) Holdup self-tests for power loss operations on memory systems
CN102479121A (zh) 独立磁盘冗余阵列实现及测试方法
CN111737051B (zh) 一种SSD固态硬盘的trim数据校验测试方法、装置及系统
CN106502844A (zh) 一种测试RAID存储器IO的sAS端口带宽的方法
CN100570579C (zh) 系统故障定位方法
CN111897685A (zh) 掉电时校验数据的方法、装置、存储介质及电子设备
CN116974961A (zh) 固件变更方法、系统以及装置
CN107357700A (zh) 一种测试nvme硬盘顺序稳定性的方法及系统
CN114822669B (zh) 闪存错误注入系统、固态存储设备及测试系统
CN103294573B (zh) 一种智能终端及其数据备份方法
CN1873623A (zh) 网络附加存储设备测试系统及方法
CN105242880A (zh) 一种自动化创建Raid并执行压力测试的方法
CN110609596B (zh) 数据储存装置的开发系统以及产品化方法
CN112486717A (zh) 一种磁盘数据一致性校验方法、系统、终端及存储介质
CN110118925A (zh) 一种核心板测试方法及系统
CN110716833A (zh) 用于测量ssd单次进入ps4状态时所造成的nand flash写入量的方法
CN116662085A (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