CN107273257A - 一种Linux系统下自动进行硬盘乱序检验的方法 - Google Patents
一种Linux系统下自动进行硬盘乱序检验的方法 Download PDFInfo
- Publication number
- CN107273257A CN107273257A CN201710487227.7A CN201710487227A CN107273257A CN 107273257 A CN107273257 A CN 107273257A CN 201710487227 A CN201710487227 A CN 201710487227A CN 107273257 A CN107273257 A CN 107273257A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- order
- disk
- script
- carrying
- 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
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/2205—Detection 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
-
- 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/2273—Test methods
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)
- Debugging And Monitoring (AREA)
Abstract
一种Linux系统下自动进行硬盘乱序检验的方法,首先将硬盘乱序检验脚本导入服务器并运行脚本;然后生产含有硬盘盘符SN信息的基准文件,并判断是否正确;将硬盘乱序检验脚本的执行命令写入服务器系统开机自动调用执行文件内;重启服务器进行测试,并判断次数是否满足设定的检测次数,当次数满足,停止reboot命令,并show出result内有多少次fail,从而获得盘飘次数;当次数不满足,执行下一步;将重启后硬盘乱序检验脚本生成的硬盘盘符SN信息与基准文件中硬盘盘符SN信息做对比,判断是否相同。通过本发明能有效判断出硬盘盘符是否存在乱序问题,因而能方便服务器对硬盘进行管理,提高系统和数据存储的稳定性。
Description
技术领域
本发明涉及一种硬盘检测方法,属于计算机技术领域,具体涉及一种Linux系统下自动进行硬盘乱序检验的方法。
背景技术
随着现代信息技术和互联网的高速发展,大容量存储服务器的市场需求不断增加,目前大容量存储服务器很多会涉及到多硬盘控制器。在系统加载过程中由于加载控制器驱动的顺序差异,很容易导致多个控制器下的硬盘盘符变动,容易发生系统死机、数据灭失等操作风险。
就不同控制器间产生硬盘乱序的原因分析,以BIOS对CPU0、CPU1下PCIE设备的识别规则为例说明,在Intel双路X86服务器中PCIE设备的Bus number范围是0–255,其中CPU0上的范围是0-127,CPU1上的范围是128-255,因此按照Intel的定义,CPU0上的PCIE RootPort的Bus/Dev/Func编号分别是Bus0_Dev1/2/3_Func0/1/2/3;CPU1上的PCIE Root Port分别是Bus80_Dev1/2/3_Func0/1/2/3;PCH上的SATA Controller和sSATA controller的Bus/Dev/Func number分别是Bus0/Dev31/Func2和Bus0/Dev17/Func4。在BIOS POST过程中PCI Scan时,BIOS按照Bus/Dev/Func号码从小到大的顺序依次扫描,那么就会先扫描到CPU0上的PCIE Root Port,然后是PCH SATA/sSATA Controller,然后是CPU1上的PCIERoot Port。
依据操作系统对设备磁盘的识别规则,哪个控制器先完成初始化就先赋予哪个控制器磁盘符sda的原则,以此类推,一旦某个控制器响应错误,会多次尝试类似动作或操作,导致操作系统对其驱动初始化Device的完成时间增长,就可能会引起操作系统下的磁盘盘符识别顺序混乱。
如中国专利(申请公布号CN 105302687A)公开了了“一种基于linux下的硬盘盘序检测方法”,适用于LINUX测试平台,该方法包括,根据需求搭建测试平台,将测试脚本拷贝到测试平台,启动测试脚本自动开始测试,检测操作系统,检测系统盘并分区,获取磁盘分区,调用检测盘序脚本与初始磁盘SN对比处理log,输出脚本处理日志;能够检测服务器在压力重启时出现磁盘排序紊乱的情况,自动化完成不断重启服务器情况下的硬盘稳定性测试工作,并且该测试方法操作简单,可以大大减少人力物力,以及人工检测操作及干预的时间,丰富了测试手段,提高了测试效率,并且可以灵活的根据测试需要进行测试,大大节约了时间成本。虽然该方法能够提高在测试平台下,对硬盘乱序的检测手段和效率,但无法用于已有的服务器硬盘管理,因而存在不足。
发明内容
本发明提供一种Linux系统下自动进行硬盘乱序检验的方法,用以解决现有的服务器硬盘管理中容易出现硬盘盘符乱序的问题,提高系统和数据存储的稳定性。
本发明通过以下技术方案予以实现:
一种Linux系统下自动进行硬盘乱序检验的方法,包括以下步骤:
S1.将硬盘乱序检验脚本导入服务器并手动运行脚本;
S2.生成含有硬盘盘符SN信息的基准文件,并判断是否正确;
S3.将硬盘乱序检验脚本的执行命令写入服务器系统开机自动调用执行文件内,以实现脚本的自动执行;
S4.重启服务器进行测试,并判断次数是否满足设定的检测次数,当次数满足,停止reboot命令,并show出result内有多少次fail,从而获得盘飘次数;当次数不满足,执行下一步;
S5.将重启后所述硬盘乱序检验脚本生成的硬盘盘符SN信息与所述基准文件中硬盘盘符SN信息做对比,判断是否相同,当相同时,在result文件内记录pass一次,然后返回步骤S4;当不同时,在result文件内记录fail一次,然后返回步骤S4。
如上所述的一种Linux系统下自动进行硬盘乱序检验的方法,所述步骤S4是在不同的操作系统执行相应的Linux下reboot命令。
如上所述的一种Linux系统下自动进行硬盘乱序检验的方法,所述步骤S4中服务器重启后会扫描系统中的所有磁盘,同时会对所有设备进行资源分配、初始化动作和自检动作。
如上所述的一种Linux系统下自动进行硬盘乱序检验的方法,所述服务器在BIOSPOST过程中PCI Scan时,BIOS按照Bus/Dev/Func号码从小到大的顺序依次扫描。
如上所述的一种Linux系统下自动进行硬盘乱序检验的方法,所述BIOS依次扫描PCIE Root Port、PCH SATA/sSATA Controller、PCH sSATA Controllert。
如上所述的一种Linux系统下自动进行硬盘乱序检验的方法,所述步骤S4中设定的检测次数范围为10~50之间。
与现有技术相比,本发明的优点是:
本发明在开始测试前导出硬盘各盘符对应的SN信息,进而获得硬盘乱序检测基准信息,并将脚本命令导入现有的服务器中实现系统对硬盘盘符信息的自动管理;然后对服务器进行重启测试,在服务器重启后会扫描连接在系统中的所有设备,同时会对所有设备进行资源分配并尝试对所有设备进行初始化动作和自检动作;每次进系统后提取各盘符对应的硬盘SN信息与第一次导出的SN基准做对比,以判断是否存在乱序现象,因而能方便服务器对硬盘进行管理,提高系统和数据存储的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍。
图1是本发明的流程图
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,本实施例一种Linux系统下自动进行硬盘乱序检验的方法,包括以下步骤:首先将硬盘乱序检验脚本导入服务器中,并手动运行该脚本一次;以获得含有硬盘盘符SN信息的基准文件,并通过人工识别盘符SN信息是否正确;将硬盘乱序检验脚本的执行命令写入服务器系统开机自动调用执行文件内,以实现脚本的自动执行,同时在硬盘乱序检验脚本中设定检测的次数为20次;再进行服务器重启测试,并判断是否满足设定的检测次数,当次数满足,服务器停止reboot命令,并show出result内有多少次fail,从而获得盘飘次数;当次数不满足时,接着将重启后硬盘乱序检验脚本生成的硬盘盘符SN信息与基准文件中硬盘盘符SN信息做对比,判断两者的硬盘盘符SN信息是否相同,当相同时,在result文件内记录pass一次;当不同时,在result文件内记录fail一次;当进行完硬盘乱序检验脚本与基准文件的对比操作后,返回并重启服务器进行循环,直至设定的检测次数,然后通过读取result内的fail次数,从而获得盘飘次数,实现服务器硬盘盘符的自动管理和操作。
具体而言,本发明中的硬盘盘符乱序检验脚本可采用C语言编写后导入服务器。在服务器中第一次手动运行硬盘乱序检验的测试脚本后,会生产一个文件,假设命名为A,在文件A里就会有第一次生成的硬盘盘符SN信息并作为后续自动核对的基准文件。同时会在服务器屏幕上show出来并询问该信息是否正确,手动输入pass进行确认正确后,会另外生产一个文件,假设命名为B,在文件B里就含有pass/fail的结果。再将硬盘乱序检验脚本的执行命令写入服务器系统开机自动调用执行文件内,在Linux系统中自动调用执行文件是写在/etc/rc.local文件中,也就是将硬盘乱序检验脚本的执行命令写入/etc/rc.local文件内,因此,服务器在每次重启开机后会自动执行脚本,而每次硬盘盘符经过扫描检测后的导出的SN信息也会写入到文件A中,留做以后查看fail的原因,同时会跟第一次生成的基准文件中的SN信息做对比判断,如果相同则在文件B中记录一次pass,如果不同则在文件B中记录一次fail。
本发明通过在测试前导出硬盘各盘符对应硬盘的SN作为基准,进而获得硬盘盘符信息的检测基准,并将脚本命令导入现有的服务器中进行硬盘管理自动执行;然后进行服务器重启测试,在服务器重启后会扫描连接在系统中的所有设备,同时会对所有设备进行资源分配并尝试对所有设备进行初始化动作和自检动作;每次进系统后提取各盘符对应的硬盘盘符SN信息与第一次导出的硬盘盘符SN基准做对比,以判读是否存在乱序问题,因而能方便服务器对硬盘进行管理,提高系统和数据存储的稳定性。
本发明未详尽描述的技术内容均为公知技术。
Claims (6)
1.一种Linux系统下自动进行硬盘乱序检验的方法,其特征在于,包括以下步骤:
S1.将硬盘乱序检验脚本导入服务器并手动运行脚本;
S2.生成含有硬盘盘符SN信息的基准文件,并判断是否正确;
S3.将硬盘乱序检验脚本的执行命令写入服务器系统开机自动调用执行文件内,以实现脚本的自动执行;
S4.重启服务器进行测试,并判断次数是否满足设定的检测次数,设定的检测次数为2次以上,当次数满足,停止reboot命令,并show出result内有多少次fail,从而获得盘飘次数;当次数不满足,执行下一步;
S5.将重启后所述硬盘乱序检验脚本生成的硬盘盘符SN信息与所述基准文件中硬盘盘符SN信息做对比,判断是否相同,当相同时,在result文件内记录pass一次,然后返回步骤S4;当不同时,在result文件内记录fail一次,然后返回步骤S4。
2.根据权利要求1所述的一种Linux系统下自动进行硬盘乱序检验的方法,其特征在于,所述步骤S4是在不同的操作系统执行相应的Linux下reboot命令。
3.根据权利要求1所述的一种Linux系统下自动进行硬盘乱序检验的方法,其特征在于,所述步骤S4中服务器重启后会扫描系统中的所有磁盘,同时会对所有设备进行资源分配、初始化动作和自检动作。
4.根据权利要求3所述的一种Linux系统下自动进行硬盘乱序检验的方法,其特征在于,所述服务器在BIOS POST过程PCI Scan时,BIOS按照Bus/Dev/Func号码从小到大的顺序依次扫描。
5.根据权利要求4所述的一种Linux系统下自动进行硬盘乱序检验的方法,其特征在于,所述BIOS依次扫描PCIE Root Port、PCH SATA/sSATA Controller、PCH sSATAControllert。
6.根据权利要求1所述的一种Linux系统下自动进行硬盘乱序检验的方法,其特征在于,所述步骤S4设定的检测次数范围为10~50之间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710487227.7A CN107273257A (zh) | 2017-06-23 | 2017-06-23 | 一种Linux系统下自动进行硬盘乱序检验的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710487227.7A CN107273257A (zh) | 2017-06-23 | 2017-06-23 | 一种Linux系统下自动进行硬盘乱序检验的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273257A true CN107273257A (zh) | 2017-10-20 |
Family
ID=60068442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710487227.7A Pending CN107273257A (zh) | 2017-06-23 | 2017-06-23 | 一种Linux系统下自动进行硬盘乱序检验的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273257A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908490A (zh) * | 2017-11-09 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种服务器dc测试中gpu寄存器可靠性验证方法与系统 |
CN108304292A (zh) * | 2018-01-17 | 2018-07-20 | 郑州云海信息技术有限公司 | 一种节点检测硬盘盘序的方法及系统 |
CN108920297A (zh) * | 2018-07-13 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种诊断黑盒日志中pcie报错信息的方法和系统 |
CN109032901A (zh) * | 2018-06-28 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种远程带外ssd的监控方法、装置及受控终端 |
CN109815074A (zh) * | 2019-01-22 | 2019-05-28 | 郑州云海信息技术有限公司 | 一种在磁盘插拔测试过程中检查硬盘排序的方法及系统 |
CN110095711A (zh) * | 2019-05-06 | 2019-08-06 | 盛科网络(苏州)有限公司 | 一种基于测试向量乱序和丢弃行为的验证方法 |
CN111930707A (zh) * | 2020-07-10 | 2020-11-13 | 江苏安超云软件有限公司 | 一种windows云迁移的盘符修正方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317712A (zh) * | 2014-10-23 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种基于linux的存储服务器疲劳测试方法 |
CN104536860A (zh) * | 2015-01-16 | 2015-04-22 | 浪潮电子信息产业股份有限公司 | 一种实时监测jbod模式下硬盘排列顺序的方法 |
CN105302687A (zh) * | 2015-12-10 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种基于linux下的硬盘盘序检测方法 |
CN106095680A (zh) * | 2016-06-12 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种应用于Linux的验证磁盘乱序自动化测试方法 |
-
2017
- 2017-06-23 CN CN201710487227.7A patent/CN107273257A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317712A (zh) * | 2014-10-23 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种基于linux的存储服务器疲劳测试方法 |
CN104536860A (zh) * | 2015-01-16 | 2015-04-22 | 浪潮电子信息产业股份有限公司 | 一种实时监测jbod模式下硬盘排列顺序的方法 |
CN105302687A (zh) * | 2015-12-10 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种基于linux下的硬盘盘序检测方法 |
CN106095680A (zh) * | 2016-06-12 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种应用于Linux的验证磁盘乱序自动化测试方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908490A (zh) * | 2017-11-09 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种服务器dc测试中gpu寄存器可靠性验证方法与系统 |
CN107908490B (zh) * | 2017-11-09 | 2021-02-05 | 苏州浪潮智能科技有限公司 | 一种服务器dc测试中gpu寄存器可靠性验证方法与系统 |
CN108304292A (zh) * | 2018-01-17 | 2018-07-20 | 郑州云海信息技术有限公司 | 一种节点检测硬盘盘序的方法及系统 |
CN109032901A (zh) * | 2018-06-28 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种远程带外ssd的监控方法、装置及受控终端 |
CN108920297A (zh) * | 2018-07-13 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种诊断黑盒日志中pcie报错信息的方法和系统 |
CN109815074A (zh) * | 2019-01-22 | 2019-05-28 | 郑州云海信息技术有限公司 | 一种在磁盘插拔测试过程中检查硬盘排序的方法及系统 |
CN110095711A (zh) * | 2019-05-06 | 2019-08-06 | 盛科网络(苏州)有限公司 | 一种基于测试向量乱序和丢弃行为的验证方法 |
CN111930707A (zh) * | 2020-07-10 | 2020-11-13 | 江苏安超云软件有限公司 | 一种windows云迁移的盘符修正方法及系统 |
CN111930707B (zh) * | 2020-07-10 | 2022-08-02 | 江苏安超云软件有限公司 | 一种windows云迁移的盘符修正方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273257A (zh) | 一种Linux系统下自动进行硬盘乱序检验的方法 | |
US9411711B2 (en) | Adopting an existing automation script to a new framework | |
WO2018120720A1 (zh) | 客户端程序的测试错误定位方法、电子装置及存储介质 | |
US20120254662A1 (en) | Automated test system and automated test method | |
US9710289B2 (en) | Rapid configuration of software | |
US11030074B2 (en) | Code update based on detection of change in runtime code during debugging | |
CN107329914A (zh) | 一种基于Linux系统检测硬盘乱序的方法及装置 | |
CN112650676A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN111475412B (zh) | 软件测试方法、装置、电子设备和计算机可读存储介质 | |
CN103810423A (zh) | 应用程序的安全处理方法与安全处理系统 | |
CN117914737A (zh) | 一种网络靶场的镜像资源测试方法及装置 | |
CN114443466A (zh) | 用例文件转换可执行脚本的方法、终端设备及存储介质 | |
US20220197783A1 (en) | Software application component testing | |
CN112269697B (zh) | 一种设备存储性能测试方法、系统及相关装置 | |
CN103971052B (zh) | 磁盘引导区病毒识别方法及装置 | |
CN111124774B (zh) | 一种服务器开机过程稳定性的测试方法及相关装置 | |
CN109669828B (zh) | 一种硬盘检测方法和装置 | |
CN105426304A (zh) | 一种重启测试的控制方法及装置 | |
CN116049011A (zh) | 一种测试环境的部署方法、装置、电子设备及存储介质 | |
CN111352828A (zh) | 一种用于黑盒测试的自动测试方法及系统 | |
CN111459507B (zh) | 一种基于硬盘盘符名称的Linux OS灌装方法及装置 | |
CN114064510A (zh) | 功能测试方法、装置、电子设备和存储介质 | |
CN113722203A (zh) | 程序测试方法及装置、电子设备和计算机可读存储介质 | |
US20170220611A1 (en) | Analysis of system information | |
US20230142407A1 (en) | Apparatus for analyzing non-informative firmware and method using the same |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171020 |