CN106909484B - 一种用于存储环境下模拟坏盘测试的***及方法 - Google Patents
一种用于存储环境下模拟坏盘测试的***及方法 Download PDFInfo
- Publication number
- CN106909484B CN106909484B CN201710128628.3A CN201710128628A CN106909484B CN 106909484 B CN106909484 B CN 106909484B CN 201710128628 A CN201710128628 A CN 201710128628A CN 106909484 B CN106909484 B CN 106909484B
- Authority
- CN
- China
- Prior art keywords
- file
- read
- disk
- write
- test
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种用于存储环境下模拟坏盘测试的***及方法,通过发明的方案可以在测试当中需要模拟各种硬盘故障情况,从而单独靠拔硬盘并不能全面的复现用户实际使用中遇到的各种问题的情况得以解决,这种测试方法可以模拟用户使用当中硬盘出现读写错误的环境,能更全面的测试存储产品。
Description
技术领域
本发明涉及存储领域,具体涉及用于存储环境下模拟坏盘测试的***及方法。
背景技术
信息化时代计算领域发生了很大的变化,无论如何变化,计算机处理和产生数据的重要性却没有改变,数据一旦丢失,所有的计算能力变得毫无价值。我们必须看到,数据逐步成为一个自有存储的、不属于任何特定***的实体,就像资本或智力财产一样,数据也成为一种可以共同享用的财富,需要加以存储和保护。
信息的储存是信息***的重要方面,如果没有信息储存,就不能充分利用已收集、加工所得信息,同时还要耗资、耗人、耗物来组织信息的重新收集、加工。有了信息储存,就可以保证随用随取,为单位信息的多功能利用创造条件,从而大大降低了费用。
信息的储存最终保存在了硬盘里面,当这些硬盘运行了几千个小时之后,很多物理参数都会发生变化,硬盘的损坏有很大的几率损坏,而用户很在使用当中可能出现大量磁盘读写错误,单靠插拔硬盘并不能复现用户使用过程中遇到的问题,因此模拟磁盘损坏现象从而测试磁盘的性能,以确保在这种环境下储存数据不会出现错误就成了亟需解决的问题。
发明内容
为解决上述技术问题,本发明的技术方案如下:
本发明提供一种用于存储环境下模拟坏盘测试的方法,步骤包括:
SS1、建立磁盘阵列和逻辑卷初始化;
SS2、生成一个大容量文件以确保文件不会被完全缓存在内存中;
SS3、注入坏块;
SS4、异常重构及输出测试结果。
进一步的,步骤SS1包括:
SS11、构建磁盘阵列环境;
SS12、注入坏块并添加io压力,其中io压力由同时使用一个dd读线程和一个dd写线程模拟;
SS13、查看磁盘阵列以及热备盘状态。
进一步的,步骤SS12中的dd读线程和dd写线程的读写区域在设置的坏块的范围内。
进一步的,步骤SS4包括:
SS41、将dd写线程的数据源改为大容量文件;
SS42、通过磁盘阵列容量和重构进度计算,在磁盘阵列重构大容量空间之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件;
SS43、对比写入和读出文件的md5值是否发生变化;
SS44、输出测试结果。
进一步的,通过以下命令进行dd写操作:dd if=/mnt/bkos/bsfi/sde/test.fileof=/dev/vg-$RAID_NAME/lv-$RAID_NAME bs=64k count=100000&。
进一步的,通过以下命令进行dd读操作:ddif=/dev/vg-$RAID_NAME/lv-$RAID_NAME of=/mnt/bkos/bsfi/sde/test.readbs=64k count=100000&。
进一步的,步骤SS2中大容量文件为大小为7G的文件。
此外本发明提供一种用于存储环境下模拟坏盘测试的***,包括中控模块以及与中控模块分别连接的随机文件生成模块、坏块注入模块、读/写控制模块、测试结果输出模块,中控模块用于控制与其连接的各功能模块的工作,同时比对写入的文件以及在磁盘阵列重构大容量文件之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件的md5值;随机文件生成模块用于大容量文件以确保文件不会被完全缓存在内存中;坏块注入模块用于向成员盘注入坏块,坏块范围为成员盘的1M-20G范围,间隔一秒清除坏块并重新设置,以模拟磁盘不稳定或反应不正常的现象;读/写控制模块用于在建立磁盘阵列和逻辑卷初始化过程中,在注入坏块的同时使用一个dd读线程和一个dd写线程模拟现场io压力以及在异常重构阶段,将dd写线程的数据源改为固定的大容量文件,在该文件写入完成后,通过磁盘阵列容量和重构进度计算,在磁盘阵列重构大容量空间之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件;测试结果输出模块用于根据中控模块比对的md5值输出测试结果。
进一步的,大容量文件为大小为7G的文件。
进一步的,dd读线程和dd写线程的读写区域在设置的坏块的范围内。
本发明的方案可以在测试当中需要模拟各种硬盘故障情况,从而单独靠拔硬盘并不能全面的复现用户实际使用中遇到的各种问题的情况得以解决,这种测试方法可以模拟用户使用当中硬盘出现读写错误的环境,能更全面的测试存储产品。
附图说明
图1示出本发明用于存储环境下模拟坏盘测试的方法流程图。
图2示出本发明用于存储环境下模拟坏盘测试的***结构框图。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为本发明一个实施例的用于存储环境下模拟坏盘测试的方法流程图。
本发明提供一种用于存储环境下模拟坏盘测试的方法,步骤如下:
SS1、建立磁盘阵列和逻辑卷初始化;
SS2、生成一个容量足够大的文件以确保文件不会被完全缓存在内存中;
SS3、注入坏块;
SS4、异常重构及输出测试结果。
其中步骤1具体包括以下步骤:
SS11、构建磁盘阵列环境;
SS12、注入坏块并添加io压力,其中io压力由同时使用一个dd读线程和一个dd写线程模拟;
SS13、查看磁盘阵列以及热备盘状态。
其中步骤2中容量足够大的文件优选为大小为7G的文件。
其中步骤4具体包括以下步骤:
SS41、将dd写线程的数据源改为固定的大容量数据文件;
SS42、通过raid容量和重构进度计算,在raid重构7G空间之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件;
SS43、对比写入和读出文件的md5值是否发生变化;
SS44、输出测试结果。
其具体实现过程为:
构建raid环境:建立3块成员盘加1块热备盘的raid(磁盘阵列),并在raid上建立逻辑卷,等待raid同步完成。
注入坏块并添加io压力:通过bsfi模块向其中一块vdisk成员盘注入坏块,坏块范围为vdisk盘的1M-20G范围,间隔一秒清除坏块并重新设置(模拟磁盘不稳定或反应不正常的现象)。同时使用一个dd读线程和一个dd写线程模拟现场io压力,并确保读写区域在设置的坏块的范围内。
代码如下:
查看结果:等待dd执行大约5秒后,
查看日志中:不会出现wamning,error,fail等字节。
raid状态为重构状态,原热备盘显示为replacement状态。
在此基础上,将dd写线程的数据源改为固定的数据文件,文件大小为7G(使用足够大的文件确保文件不会被完全缓存在内存中)。等待该文件写入完成。
通过raid容量和重构进度计算,在raid重构7G空间之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件。
对比写入和读出文件的md5值,若一致则该异常重构不导致文件数据丢失。
下面参考说明书附图2描述根据本发明用于存储环境下模拟坏盘测试的***。
图2为本发明一个实施例的用于存储环境下模拟坏盘测试的***的结构框图。
如图2所示,根据本发明实施例的用于存储环境下模拟坏盘测试的***,包括中控模块以及与中控模块分别连接的随机文件生成模块、坏块注入模块、读/写控制模块、测试结果输出模块。
具体的,中控模块用于控制与其连接的各功能模块的工作,同时比对写入的文件以及在raid重构7G空间之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件的md5值。
随机文件生成模块用于容量足够大的文件以确保文件不会被完全缓存在内存中,优选生成的文件大小为7G。
坏块注入模块用于向vdisk成员盘注入坏块,坏块范围为vdisk盘的1M-20G范围,间隔一秒清除坏块并重新设置,从而模拟磁盘不稳定或反应不正常的现象。
读/写控制模块用于在建立磁盘阵列和逻辑卷初始化过程中,在注入坏块的同时使用一个dd读线程和一个dd写线程模拟现场io压力,并确保读写区域在设置的坏块的范围内。
读/写控制模块还用于在异常重构阶段,将dd写线程的数据源改为固定的数据文件,文件大小为7G,等待该文件写入完成,通过raid容量和重构进度计算,在raid重构7G空间之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件。
测试结果输出模块用于根据中控模块比对的写入的文件以及在raid重构7G空间之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件的md5值输出测试结果,若一致则表示该异常重构不导致文件数据丢失,测试通过。
在本发明的一个实施例中,中控模块采用英特尔第7代Kaby Lake处理器,处理快捷,效率高。
通过上述的方案就可以在测试当中需要模拟各种硬盘故障情况,从而单独靠拔硬盘并不能全面的复现用户实际使用中遇到的各种问题的情况得以解决,这种测试方法可以模拟用户使用当中硬盘出现读写错误的环境,能更全面的测试存储产品。
尽管在装置的上下文中已描述了一些方面,但明显的是这些方面也表示对应方法的描述,其中块或设备与方法步骤或方法步骤的特征相对应。类似地,在方法步骤的上下文中所描述的各方面也表示对应的块或项目或者对应装置的特征的描述。可以通过(或使用)如微处理器、可编程计算机、或电子电路之类的硬件装置来执行方法步骤中的一些或所有。可以通过此类装置来执行最重要的方法步骤中的某一个或多个。
所述实现可以采用硬件或采用软件或可以使用例如软盘、DVD、蓝光、CD、ROM、PROM、EPROM、EEPROM、或闪存之类的具有被存储在其上的电子可读控制信号的数字存储介质来执行,所述电子可读控制信号与可编程计算机***配合(或能够与其配合)以使得执行相应的方法。可以提供具有电子可读控制信号的数据载体,所述电子可读控制信号能够与可编程计算机***配合以使得执行本文所描述的方法。
所述实现还可以采用具有程序代码的计算机程序产品的形式,当计算机程序产品在计算机上运行时,程序代码进行操作以执行该方法。可以在机器可读载体上存储程序代码。
以上所描述的仅是说明性,并且要理解的是,本文所描述的布置和细节的修改和变化对于本领域技术人员而言将是明显的。因此,意在仅由所附权利要求的范围而不是由通过以上描述和解释的方式所呈现的特定细节来限制。
Claims (7)
1.一种用于存储环境下模拟坏盘测试的方法,其特征在于,步骤包括:
SS1、建立磁盘阵列和逻辑卷初始化;
SS2、生成一个大容量文件以确保文件不会被完全缓存在内存中;
SS3、注入坏块;
SS4、异常重构及输出测试结果;
步骤SS1包括:
SS11、构建磁盘阵列环境;
SS12、注入坏块并添加io压力,其中io压力由同时使用一个dd读线程和一个dd写线程模拟;
SS13、查看磁盘阵列以及热备盘状态;
步骤SS12中的dd读线程和dd写线程的读写区域在设置的坏块的范围内;
步骤SS4包括:
SS41、将dd写线程的数据源改为大容量文件;
SS42、通过磁盘阵列容量和重构进度计算,在磁盘阵列重构大容量空间之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件;
SS43、对比写入和读出文件的md5值是否发生变化;
SS44、输出测试结果。
2.根据权利要求1所述的方法,其特征在于,通过以下命令进行dd写操作:dd if=/mnt/bkos/bsfi/sde/test.file of=/dev/vg-$RAID_NAME/lv-$RAID_NAME bs=64kcount=100000&。
3.根据权利要求1所述的方法,其特征在于,通过以下命令进行dd读操作:dd if=/dev/vg-$RAID_NAME/lv-$RAID_NAME of=/mnt/bkos/bsfi/sde/test.read bs=64kcount=100000&。
4.根据权利要求1所述的方法,其特征在于,步骤SS2中大容量文件为大小为7G的文件。
5.一种用于存储环境下模拟坏盘测试的***,其特征在于,包括中控模块以及与中控模块分别连接的随机文件生成模块、坏块注入模块、读/写控制模块、 测 试结果输出模块,中控模块用于控制与其连接的各功能模块的工作,同时比对写入的文件以及在磁盘阵列重构大容量文件之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件的md5值;随机文件生成模块用于大容量文件以确保文件不会被完全缓存在内存中;坏块注入模块用于向成员盘注入坏块,坏块范围为成员盘的1M-20G范围,间隔一秒清除坏块并重新设置,以模拟磁盘不稳定或反应不正常的现象;读/写控制模块用于在建立磁盘阵列和逻辑卷初始化过程中,在注入坏块的同时使用一个dd读线程和一个dd写线程模拟现场io压力以及在异常重构阶段,将dd写线程的数据源改为固定的大容量文件,在该文件写入完成后,通过磁盘阵列容量和重构进度计算,在磁盘阵列重构大容量空间之前、之后和完全重构完成的三个时间点通过dd读出写入的测试文件;测试结果输出模块用于根据中控模块比对的md5值输出测试结果。
6.根据权利要求5所述的***,其特征在于,大容量文件为大小为7G的文件。
7.根据权利要求5所述的***,其特征在于,dd读线程和dd写线程的读写区域在设置的坏块的范围内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710128628.3A CN106909484B (zh) | 2017-03-06 | 2017-03-06 | 一种用于存储环境下模拟坏盘测试的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710128628.3A CN106909484B (zh) | 2017-03-06 | 2017-03-06 | 一种用于存储环境下模拟坏盘测试的***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106909484A CN106909484A (zh) | 2017-06-30 |
CN106909484B true CN106909484B (zh) | 2019-12-17 |
Family
ID=59186203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710128628.3A Active CN106909484B (zh) | 2017-03-06 | 2017-03-06 | 一种用于存储环境下模拟坏盘测试的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106909484B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356679B (zh) * | 2022-03-18 | 2022-06-07 | 北京得瑞领新科技有限公司 | 实现坏块设置的方法、装置、存储介质及电子设备 |
CN116701088B (zh) * | 2023-06-28 | 2024-02-27 | 成都电科星拓科技有限公司 | 一种针对eeprom空间内容丢失的模拟方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595537A (zh) * | 2004-07-13 | 2005-03-16 | 海信集团有限公司 | 一种对NAND flash存储器进行物理损坏模拟的***及其方法 |
CN101833493A (zh) * | 2010-03-24 | 2010-09-15 | 浪潮电子信息产业股份有限公司 | 一种基于linux***下服务器稳定性可靠性的测试方法 |
CN102044278A (zh) * | 2009-10-12 | 2011-05-04 | 英业达股份有限公司 | 利用一坏扇区记录表来模拟测试逻辑硬盘的方法及装置 |
CN104199748A (zh) * | 2014-08-25 | 2014-12-10 | 浪潮电子信息产业股份有限公司 | 一种基于错误注入测试存储***容忍坏扇区能力的方法 |
CN104360919A (zh) * | 2014-10-24 | 2015-02-18 | 浪潮电子信息产业股份有限公司 | 一种自动进行ssd性能、功能及稳定性测试的方法 |
-
2017
- 2017-03-06 CN CN201710128628.3A patent/CN106909484B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595537A (zh) * | 2004-07-13 | 2005-03-16 | 海信集团有限公司 | 一种对NAND flash存储器进行物理损坏模拟的***及其方法 |
CN102044278A (zh) * | 2009-10-12 | 2011-05-04 | 英业达股份有限公司 | 利用一坏扇区记录表来模拟测试逻辑硬盘的方法及装置 |
CN101833493A (zh) * | 2010-03-24 | 2010-09-15 | 浪潮电子信息产业股份有限公司 | 一种基于linux***下服务器稳定性可靠性的测试方法 |
CN104199748A (zh) * | 2014-08-25 | 2014-12-10 | 浪潮电子信息产业股份有限公司 | 一种基于错误注入测试存储***容忍坏扇区能力的方法 |
CN104360919A (zh) * | 2014-10-24 | 2015-02-18 | 浪潮电子信息产业股份有限公司 | 一种自动进行ssd性能、功能及稳定性测试的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106909484A (zh) | 2017-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160320451A1 (en) | Simulation verification method for fpga function modules and system thereof | |
CN109684150B (zh) | 存储颗粒控制器的性能测试***、测试方法及仿真平台 | |
US20060224874A1 (en) | Method for updating system management basic input output system (SMBIOS) data | |
US8572436B2 (en) | Computing device and method for managing motherboard test | |
CN106909484B (zh) | 一种用于存储环境下模拟坏盘测试的***及方法 | |
CN107818029A (zh) | 一种云硬盘数据恢复一致性的自动化测试方法 | |
CN104021058A (zh) | 一种测试板卡快速启动的方法 | |
JP2005528692A (ja) | 非同期システムエラーに対する応答をテストするシステムおよび方法 | |
CN113190241B (zh) | 数据分区的容量扩充方法、装置、电子设备、存储介质 | |
CN104598328A (zh) | 一种文件***修复方法、装置及*** | |
CN104978241B (zh) | 一种cow类型文件***的数据恢复方法及装置 | |
CN111367710A (zh) | 一种eMMC问题还原方法和装置 | |
CN109375869A (zh) | 实现数据可靠读写的方法以及***、存储介质 | |
CN106611138B (zh) | 一种ghost文件保密检查方法及装置 | |
CN115543720A (zh) | 文件***读写正确性测试方法、装置及存储介质 | |
CN113470728B (zh) | 纠错能力测试方法、装置、可读存储介质及电子设备 | |
CN113470723A (zh) | 读重试测试方法、装置、可读存储介质及电子设备 | |
CN110688071A (zh) | 一种减少数据同步量的数据同步方法及*** | |
US9990382B1 (en) | Secure erasure and repair of non-mechanical storage media | |
CN109584943B (zh) | 一种评估存储介质的方法及装置 | |
TWI401566B (zh) | 磁碟陣列設定檔更新方法 | |
CN112162699A (zh) | 一种数据读写方法、装置、设备及计算机可读存储介质 | |
US20120210061A1 (en) | Computer and method for testing redundant array of independent disks of the computer | |
CN109460316A (zh) | 基于温差均衡的数据恢复方法以及***、存储介质 | |
King et al. | Csi kernel: Finding a needle in a multiterabyte haystack |
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: 20191113 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: Suzhou Wave Intelligent Technology Co., Ltd. Address before: 450000 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 |