CN107329914A - 一种基于Linux系统检测硬盘乱序的方法及装置 - Google Patents

一种基于Linux系统检测硬盘乱序的方法及装置 Download PDF

Info

Publication number
CN107329914A
CN107329914A CN201710514645.0A CN201710514645A CN107329914A CN 107329914 A CN107329914 A CN 107329914A CN 201710514645 A CN201710514645 A CN 201710514645A CN 107329914 A CN107329914 A CN 107329914A
Authority
CN
China
Prior art keywords
hard disk
measured
order
module
disk
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
CN201710514645.0A
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.)
Zhengzhou Yunhai Information 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 CN201710514645.0A priority Critical patent/CN107329914A/zh
Publication of CN107329914A publication Critical patent/CN107329914A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/2247Verification or detection of system hardware configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration

Abstract

本发明提供了一种基于Linux系统检测硬盘乱序的方法及装置,检测硬盘乱序的方法包括:针对每一个待测硬盘,建立待测硬盘的总线ID与待测硬盘的硬盘盘符的标准对应关系;A1,启动待测硬盘接入的服务器;A2,触发获取硬盘盘符顺序脚本,针对每一个待测硬盘,获取待测硬盘的总线ID与待测硬盘的当前硬盘盘符的当前对应关系;A3,选择总线ID相同的标准对应关系与当前对应关系进行比较,如果存在至少两个当前对应关系与标准对应关系不同,则记录本次测试结果为乱序;A4,记录乱序次数和测试总次数,并返回A1,直至接收到外部的停止指令后,结束当前流程并显示乱序次数和测试总次数。本发明能够检测出服务器中的硬盘是否会出现硬盘盘符乱序。

Description

一种基于Linux系统检测硬盘乱序的方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种基于Linux系统检测硬盘乱序的方法及装置。
背景技术
在Linux系统中,为了区分接入系统的硬盘,给每一个接入的硬盘分配总线ID和硬盘盘符。其中,系统给硬盘分配的总线ID是不变的,系统给硬盘分配的盘符会由于硬盘的启动顺序不同而发生变化。
硬盘盘符的这种分配方式会导致硬盘对应的硬盘盘符发生变化,从而导致硬盘盘符乱序。硬盘盘符乱序将给服务器的性能带来负面影响。例如,硬盘A对应的盘符为sda,硬盘B对应的的盘符为sdb,但在下次启动系统时,由于硬盘B更新的原因,硬盘B先于盘A启动,此时硬盘B对应的盘符为sda,硬盘A对应的盘符为sdb。这会导致运维人员及相关应用程序无法根据盘符辨别硬盘A和硬盘B,从而妨碍服务器正常工作。
因此,如果能提前检测出接入系统的硬盘会发生硬盘盘符乱序,并用其他硬盘替代可以减少硬盘盘符乱序对服务器性能的影响。目前还没有明确的方法用以检测服务器中的硬盘是否会出现硬盘盘符乱序,因此需要开发出一套方法,该方法能够检测出服务器中的硬盘是否会出现硬盘盘符乱序。
发明内容
本发明实施例提供了一种基于Linux系统检测硬盘乱序的方法及装置,能够检测出服务器中的硬盘是否会出现硬盘盘符乱序。
第一方面,本发明提供了一种基于Linux系统检测硬盘乱序的方法,针对每一个待测硬盘,建立待测硬盘的总线ID与所述待测硬盘的硬盘盘符的标准对应关系,还包括:
A1,启动所述待测硬盘接入的服务器;
A2,触发获取硬盘盘符顺序脚本,针对每一个所述待测硬盘,获取所述待测硬盘的总线ID与所述待测硬盘的当前硬盘盘符的当前对应关系;
A3,针对每一个所述当前对应关系,选择所述总线ID相同的所述标准对应关系与之进行比较,如果存在至少两个所述当前对应关系与所述标准对应关系不同,则记录本次测试结果为乱序;
A4,记录乱序次数和测试总次数,并返回A1,直至接收到外部的停止指令后,结束当前流程并显示所述乱序次数和所述测试总次数。
优选地,在所述A1之前,进一步包括:
指定启动所述服务器的用户名并删除所述用户名登录所述系统的密码;
则,所述A1,包括:利用所述用户名,登录并启动所述服务器。
优选地,在所述A1之前,进一步包括:
在所述获取硬盘盘符顺序脚本中,配置每一个所述待测硬盘的所述总线ID号;
则,所述A2,包括:
根据所述待测硬盘的所述总线ID号,触发获取硬盘盘符顺序脚本获取所述总线ID号对应的所述当前硬盘盘符,以得到所述当前对应关系。
优选地,在所述A4之前,进一步包括:设置返回A1的时间阈值;
则,在所述A4中,在所述返回A1之前,进一步包括:判断启动所述服务器的时间长度与所述时间阈值是否相同,如果相同,则执行所述返回A1。
优选地,在所述A1之前,进一步包括:
将所述获取硬盘盘符顺序脚本存储到指定的路径上;
则,所述触发获取硬盘盘符顺序脚本,包括:根据所述指定的路径,确定所述获取硬盘盘符顺序脚本并触发。
第二方面,本发明实施例提供了一种基于Linux系统检测硬盘乱序的装置,其特征在于,包括:创建模块、启动模块、触发模块、对比模块、数据处理模块;
所述创建模块,用于针对每一个待测硬盘,建立待测硬盘的总线ID与所述待测硬盘的硬盘盘符的标准对应关系;
所述启动模块,用于启动所述待测硬盘接入的服务器;
所述触发模块,用于触发获取硬盘盘符顺序脚本,针对每一个所述待测硬盘,获取所述待测硬盘的总线ID与所述待测硬盘的当前硬盘盘符的当前对应关系;
所述对比模块,用于针对每一个所述当前对应关系,选择所述总线ID相同的所述创建模块创建的所述标准对应关系与之进行比较,如果存在至少两个所述当前对应关系与所述标准对应关系不同,则记录本次测试结果为乱序;
所述数据处理模块,用于记录乱序次数和测试总次数,并触发所述启动模块,直至接收到外部的停止指令后,结束当前流程并显示所述乱序次数和所述测试总次数。
优选地,进一步包括:指定模块;
所述指定模块,用于指定启动所述服务器的用户名并删除所述用户名登录所述系统的密码;
所述启动模块,进一步用于利用所述指定模块指定的所述用户名登录并启动所述服务器。
优选地,进一步包括:配置模块;
所述配置模块,用于在所述获取硬盘盘符顺序脚本中,配置每一个所述待测硬盘的所述总线ID号;
所述触发模块,进一步用于根据所述配置模块配置的所述待测硬盘的所述总线ID号,触发获取硬盘盘符顺序脚本获取所述总线ID号对应的所述当前硬盘盘符,以得到所述当前对应关系。
优选地,进一步包括:设置模块;
所述设置模块,用于设置触发所述启动模块的时间阈值;
所述数据处理模块,进一步用于判断启动所述服务器的时间长度与所述设置模块设置的所述时间阈值是否相同,如果是,触发所述启动模块。
优选地,进一步包括:存储模块;
所述存储模块,用于将所述获取硬盘盘符顺序脚本存储到指定的路径上;
所述触发模块,进一步用于根据所述存储模块存储所述获取硬盘盘符顺序脚本的所述指定的路径,确定所述获取硬盘盘符顺序脚本并触发。
本发明实施例提供了一种基于Linux系统检测硬盘乱序的方法及装置,通过不断地重启服务器,利用获取硬盘盘符顺序脚本获取每一次重启时待测硬盘的总线ID与待测硬盘的当前硬盘盘符的当前对应关系,再与预设的待测硬盘的总线ID与待测硬盘的硬盘盘符的标准对应关系对比来确定待测硬盘的硬盘盘符是否会出现乱序,并记录乱序次数和测试总次数。当接收到外部的停止指令时,结束当前流程并显示乱序次数和测试总次数。由此可见,本发明能够检测到待测硬盘是否乱序,并计算乱序次数和测试总次数,运维人员可以根据乱序次数和测试总次数计算出待测硬盘出现硬盘盘符乱序的概率,这样能够方便运维人员对待测硬盘出现硬盘盘符乱序的可能性进行定量评估。因此,本发明能够检测出服务器中的硬盘是否会出现硬盘盘符乱序。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种基于Linux系统检测硬盘乱序的方法流程图;
图2是本发明一个实施例提供的另一种基于Linux系统检测硬盘乱序的方法流程图;
图3是本发明一个实施例提供的一种基于Linux系统检测硬盘乱序的装置的结构示意图;
图4是本发明一个实施例提供的另一种基于Linux系统检测硬盘乱序的装置的结构示意图;
图5是本发明一个实施例提供的又一种基于Linux系统检测硬盘乱序的装置的结构示意图;
图6是本发明一个实施例提供的再一种基于Linux系统检测硬盘乱序的装置的结构示意图;
图7是本发明一个实施例提供的还一种基于Linux系统检测硬盘乱序的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于Linux系统检测硬盘乱序的方法,包括以下步骤:
步骤101,针对每一个待测硬盘,建立待测硬盘的总线ID与所述待测硬盘的硬盘盘符的标准对应关系。
步骤102,启动所述待测硬盘接入的服务器。
步骤103,触发获取硬盘盘符顺序脚本,针对每一个所述待测硬盘,获取所述待测硬盘的总线ID与所述待测硬盘的当前硬盘盘符的当前对应关系。
步骤104,针对每一个所述当前对应关系,选择所述总线ID相同的所述标准对应关系与之进行比较,如果存在至少两个所述当前对应关系与所述标准对应关系不同,则记录本次测试结果为乱序。
步骤105,记录乱序次数和测试总次数,并返回步骤102,直至接收到外部的停止指令后,结束当前流程并显示所述乱序次数和所述测试总次数。
本发明实施例提供了一种基于Linux系统检测硬盘乱序的方法,通过不断地重启服务器,利用获取硬盘盘符顺序脚本获取每一次重启时待测硬盘的总线ID与待测硬盘的当前硬盘盘符的当前对应关系,再与预设的待测硬盘的总线ID与待测硬盘的硬盘盘符的标准对应关系对比来确定待测硬盘的硬盘盘符是否会出现乱序,并记录乱序次数和测试总次数。当接收到外部的停止指令时,结束当前流程并显示乱序次数和测试总次数。由此可见,本发明能够检测到待测硬盘是否乱序,并计算乱序次数和测试总次数,运维人员可以根据乱序次数和测试总次数计算出待测硬盘出现硬盘盘符乱序的概率,这样能够方便运维人员对待测硬盘出现硬盘盘符乱序的可能性进行定量评估。因此,本发明能够检测出服务器中的硬盘是否会出现硬盘盘符乱序。
为了保证检测过程中,能够自动启动待测硬盘接入的服务器,在本发明的一个实施例中,在测试之前,设置服务器的登录用户名,并设置该用户名登录服务器时不需要密码。在之后的测试过程中,测试程序自动应用已设置的登录用户名自动登录并启动服务器。例如,服务器初始用户名为abc,密码为123456,如果以初始用户名运行测试程序,测试程序不能自动登录,因此将用户名改为123,并不设置密码,以保证测试程序能够自动登录并启动服务器。
为了使获取硬盘盘符顺序脚本能够获取每一个待测硬盘的总线ID号与当前硬盘盘符的当前对应关系,在本发明的一个实施例中,在获取硬盘盘符顺序脚本中,配置每一个待测硬盘的总线ID号,使得获取硬盘盘符顺序脚本能够根据待测硬盘的总线ID号获取待测硬盘的总线ID号与当前硬盘盘符的当前对应关系。
例如,待测硬盘A、B的总线ID号分别为1、2,则在获取硬盘盘符顺序脚本中配置“1,2”,获取硬盘盘符顺序脚本根据“1,2”来获取待测硬盘A、B对应的硬盘盘符。
为了能够使运维人员有足够的时间输入停止命令,以及保证获取硬盘盘符顺序脚本的正常运行,在本发明的一个实施例中,设置再次启动待测硬盘接入的服务器的时间阈值,当启动所述服务器的时间长度与时间阈值相同时,再次启动待测硬盘接入的服务器的时间阈值。
在本发明的一个实施例中,将获取硬盘盘符顺序脚本存储到指定的路径上,启动服务器后,测试程序根据指定的路径,确定获取硬盘盘符顺序脚本并触发。
在本发明的一个实施例中,每次启动服务器时,只保留一个控制终端,保证测试时,只获取一次待测硬盘的总线ID号与当前硬盘盘符的当前对应关系。由于每个控制终端都会存储待测硬盘与当前硬盘盘符的当前对应关系,如果是两个或两个以上的控制终端,则测试时,测试程序会重复获取待测硬盘的总线ID号与当前硬盘盘符的当前对应关系,这样会增加数据处理量。
例如,启动时有5个控制终端,则测试程序要获取5次待测硬盘的当前对应关系。
为了更好地说明本发明的实施例,如图2所示,本发明一个实施例提供了基于Linux系统检测硬盘乱序的方法,包括以下步骤:
步骤201,设置登录系统用户名,并删除该用户名登录系统的密码。
在本发明实施例中,将用户名设置为“root”,通过以下方法来实现:
将"/etc/inittab"文件的代码"id:5:initdefault:"改为"id:3:initdefault:";将"/etc/init/tty.conf"文件的代码"exec/sbin/mingetty$TTY"改为"exec/sbin/mingetty--autologin=root$TTY"。
删除“root”登录服务器的密码,通过以下方法来实现;
将“/etc/passwd”文件的第一行:root:X:0:0:root:/root:/bin/bash,(只需要把第二个字段X删除就可以)改为:root::0:0:root:/root:/bin/bash;将“/etc/shadow”文件的第一行:root:********:16828:0:99999:7:::(把前两个冒号之间的所有字符删除即可)改为:root::16828:0:99999:7:::。
步骤202,在已创建的获取硬盘盘符顺序脚本中配置每一个待测硬盘的总线ID号。
步骤203,根据每一个待测硬盘的总线ID号,建立待测硬盘的总线ID与待测硬盘的硬盘盘符的标准对应关系。
在本发明实施例中,在已创建的获取硬盘盘符顺序脚本中,添加如下代码:#!/bin/bash
#print current system time
date>>/home/hdd-drive-letter-check-test.log
#print system kernel version
uname–r>>/home/hdd-drive-letter-check-test.log
#print HDDs drive letter info
lsscsi>>/home/hdd-drive-letter-check-test.log
通过上述代码,能够实现步骤202到步骤203的操作。
步骤204,将获取硬盘盘符顺序脚本存储到指定的路径上。
步骤205,设置每次启动服务器的时间阈值。
在本发明实施例中,每次启动服务器的时间阈值为15秒,可以通过以下代码实现:
/home/hdd-drive-letter-check.sh
sleep 15
reboot
步骤206,根据已设置的用户名登录并启动系统。
在本发明实施例中,为了保证每次开机时,只开启一个控制端,将“/etc/init/start-ttys.conf”文件的env ACTIVE_CONSOLES=/dev/tty[1-6]改为env ACTIVE_CONSOLES=/dev/tty[1];将“/etc/sysconfig/init”文件的ACTIVE_CONSOLES=/dev/tty[1-6]改为ACTIVE_CONSOLES=/dev/tty[1]。
步骤207,在指定的路径上确定并触发获取硬盘盘符顺序脚本,针对每一个待测硬盘,获取待测硬盘的总线ID与待测硬盘的当前硬盘盘符的当前对应关系。
在本发明实施例中,触发的获取硬盘盘符顺序脚本为步骤203中的代码。
步骤208,针对每一个当前对应关系,选择总线ID相同的标准对应关系与之进行比较,如果存在至少两个当前对应关系与标准对应关系不同,则记录本次测试结果为乱序。
在本发明实施例中,待测硬盘的总数一定,因此,每次启动分配的硬盘盘符的总数也是一定的。又因为系统分配硬盘盘符时,每次都是按着sda、sdb、sdc…的顺序分配,因此在待测硬盘的总数一定的情况下,每次启动分配的硬盘盘符是固定的,例如,如果有3个硬盘,那么每次重启就只会分配sda到sdc作为硬盘盘符;如果有4个硬盘,那么每次重启就只会分配sda到sdd作为硬盘盘符。在这种情况下,一旦发生硬盘盘符乱序,一定是至少两个硬盘发生硬盘盘符乱序。例如标准对应关系为:“A,sda”、“B,sdb”、“C,sdc”,发生硬盘盘符乱序后,当前对应关系为,“A,sda”、“B,sdc”、“C,sdb”。
步骤209,记录乱序次数和测试总次数。
步骤210,判断启动服务器的时间长度与设定的时间阈值是否相同,如果相同,则执行步骤206;否则,执行步骤211。
步骤211,当接收到外部的停止指令后,结束当前流程并显示乱序次数和测试总次数。
在本发实施例中,测试程序能够计算乱序次数和测试总次数的比值,实现计算乱序次数和测试总次数的比值的程序代码可以采用如下代码:
在本发明实施例中,停止指令为“Ctrl+c”,按下停止指令后,测试程序结束自动重启系统。
如图3所示,本发明实施例提供了一种基于Linux系统检测硬盘乱序的装置,包括:创建模块301、启动模块302、触发模块303、对比模块304、数据处理模块305;
创建模块301,用于针对每一个待测硬盘,建立待测硬盘的总线ID与所述待测硬盘的硬盘盘符的标准对应关系;
启动模块302,用于启动所述待测硬盘接入的服务器;
触发模块303,用于触发获取硬盘盘符顺序脚本,针对每一个所述待测硬盘,获取所述待测硬盘的总线ID与所述待测硬盘的当前硬盘盘符的当前对应关系;
对比模块304,用于针对每一个所述当前对应关系,选择所述总线ID相同的创建模块301创建的所述标准对应关系与之进行比较,如果存在至少两个所述当前对应关系与所述标准对应关系不同,则记录本次测试结果为乱序;
数据处理模块305,用于记录乱序次数和测试总次数,并触发启动模块302,直至接收到外部的停止指令后,结束当前流程并显示所述乱序次数和所述测试总次数。
如图4所示,本发明实施例提供了另一种基于Linux系统检测硬盘乱序的装置,进一步包括:指定模块401;
指定模块401,用于指定启动所述服务器的用户名并删除所述用户名登录所述系统的密码;
启动模块302,进一步用于利用指定模块401指定的所述用户名登录并启动所述服务器。
如图5所示,本发明实施例提供了又一种基于Linux系统检测硬盘乱序的装置,进一步包括:配置模块501;
配置模块501,用于在所述获取硬盘盘符顺序脚本中,配置每一个所述待测硬盘的所述总线ID号;
触发模块303,进一步用于根据配置模块501配置的所述待测硬盘的所述总线ID号,触发获取硬盘盘符顺序脚本获取所述总线ID号对应的所述当前硬盘盘符,以得到所述当前对应关系。
如图6所示,本发明实施例提供了再一种基于Linux系统检测硬盘乱序的装置,进一步包括:设置模块601;
设置模块601,用于设置触发启动模块302的时间阈值;
数据处理模块305,进一步用于判断启动所述服务器的时间长度与设置模块601设置的所述时间阈值是否相同,如果是,触发启动模块302。
如图7所示,本发明实施例提供了还一种基于Linux系统检测硬盘乱序的装置,进一步包括:存储模块701;
存储模块701,用于将所述获取硬盘盘符顺序脚本存储到指定的路径上;
触发模块303,进一步用于根据存储模块701存储所述获取硬盘盘符顺序脚本的所述指定的路径,确定所述获取硬盘盘符顺序脚本并触发。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明任意一个实施例中提供的一种基于Linux系统检测硬盘乱序的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明任意一个实施例中提供的一种基于Linux系统检测硬盘乱序的方法。
综上所述,本发明各个实施例至少具有如下有益效果:
1、本发明一个实施例中,通过不断地重启服务器,利用获取硬盘盘符顺序脚本获取每一次重启时待测硬盘的总线ID与待测硬盘的当前硬盘盘符的当前对应关系,再与预设的待测硬盘的总线ID与待测硬盘的硬盘盘符的标准对应关系对比来确定待测硬盘的硬盘盘符是否会出现乱序,并记录乱序次数和测试总次数。当接收到外部的停止指令时,结束当前流程并显示乱序次数和测试总次数。由此可见,本发明能够检测到待测硬盘是否乱序,并计算乱序次数和测试总次数,运维人员可以根据乱序次数和测试总次数计算出待测硬盘出现硬盘盘符乱序的概率,这样能够方便运维人员对待测硬盘出现硬盘盘符乱序的可能性进行定量评估。因此,本发明能够检测出服务器中的硬盘是否会出现硬盘盘符乱序。
2、本发明一个实施例中,通过指定启动服务器的用户名并删除用户名登录系统的密码,使得测试程序能够自动登录并启用服务器,测试过程中不需要人工重启服务器,节省了大量时间,从而提高了测试的效率。
3、本发明一个实施例中,通过建立待测硬盘的总线ID与待测硬盘的硬盘盘符的标准对应关系,使得测试程序能够自动待测硬盘的总线ID与硬盘盘符的当前对应关系,避免人工检测可能出现的误检和漏检,从而进一步提高了测试的效率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种基于Linux系统检测硬盘乱序的方法,其特征在于,
针对每一个待测硬盘,建立待测硬盘的总线ID与所述待测硬盘的硬盘盘符的标准对应关系,还包括:
A1,启动所述待测硬盘接入的服务器;
A2,触发获取硬盘盘符顺序脚本,针对每一个所述待测硬盘,获取所述待测硬盘的总线ID与所述待测硬盘的当前硬盘盘符的当前对应关系;
A3,针对每一个所述当前对应关系,选择所述总线ID相同的所述标准对应关系与之进行比较,如果存在至少两个所述当前对应关系与所述标准对应关系不同,则记录本次测试结果为乱序;
A4,记录乱序次数和测试总次数,并返回A1,直至接收到外部的停止指令后,结束当前流程并显示所述乱序次数和所述测试总次数。
2.根据权利要求1中所述的方法,其特征在于,
在所述A1之前,进一步包括:
指定启动所述服务器的用户名并删除所述用户名登录所述系统的密码;
则,所述A1,包括:利用所述用户名登录并启动所述服务器。
3.根据权利要求1中所述的方法,其特征在于,
在所述A1之前,进一步包括:
在所述获取硬盘盘符顺序脚本中,配置每一个所述待测硬盘的所述总线ID号;
则,所述A2,包括:
根据所述待测硬盘的所述总线ID号,触发获取硬盘盘符顺序脚本获取所述总线ID号对应的所述当前硬盘盘符,以得到所述当前对应关系。
4.根据权利要求1中所述的方法,其特征在于,
在所述A4之前,进一步包括:设置返回A1的时间阈值;
则,在所述A4中,在所述返回A1之前,进一步包括:判断启动所述服务器的时间长度与所述时间阈值是否相同,如果是,则执行所述返回A1。
5.根据权利要求1中所述的方法,其特征在于,
在所述A1之前,进一步包括:
将所述获取硬盘盘符顺序脚本存储到指定的路径上;
则,所述触发获取硬盘盘符顺序脚本,包括:根据所述指定的路径,确定所述获取硬盘盘符顺序脚本并触发。
6.一种基于Linux系统检测硬盘乱序的装置,其特征在于,包括:创建模块、启动模块、触发模块、对比模块、数据处理模块;
所述创建模块,用于针对每一个待测硬盘,建立待测硬盘的总线ID与所述待测硬盘的硬盘盘符的标准对应关系;
所述启动模块,用于启动所述待测硬盘接入的服务器;
所述触发模块,用于触发获取硬盘盘符顺序脚本,针对每一个所述待测硬盘,获取所述待测硬盘的总线ID与所述待测硬盘的当前硬盘盘符的当前对应关系;
所述对比模块,用于针对每一个所述当前对应关系,选择所述总线ID相同的所述创建模块创建的所述标准对应关系与之进行比较,如果存在至少两个所述当前对应关系与所述标准对应关系不同,则记录本次测试结果为乱序;
所述数据处理模块,用于记录乱序次数和测试总次数,并触发所述启动模块,直至接收到外部的停止指令后,结束当前流程并显示所述乱序次数和所述测试总次数。
7.根据权利要求6中所述的装置,其特征在于,
进一步包括:指定模块;
所述指定模块,用于指定启动所述服务器的用户名并删除所述用户名登录所述系统的密码;
所述启动模块,进一步用于利用所述指定模块指定的所述用户名登录并启动所述服务器。
8.根据权利要求6中所述的装置,其特征在于,
进一步包括:配置模块;
所述配置模块,用于在所述获取硬盘盘符顺序脚本中,配置每一个所述待测硬盘的所述总线ID号;
所述触发模块,进一步用于根据所述配置模块配置的所述待测硬盘的所述总线ID号,触发获取硬盘盘符顺序脚本获取所述总线ID号对应的所述当前硬盘盘符,以得到所述当前对应关系。
9.根据权利要求6中所述的装置,其特征在于,
进一步包括:设置模块;
所述设置模块,用于设置触发所述启动模块的时间阈值;
所述数据处理模块,进一步用于判断启动所述服务器的时间长度与所述设置模块设置的所述时间阈值是否相同,如果是,触发所述启动模块。
10.根据权利要求6中所述的装置,其特征在于,
进一步包括:存储模块;
所述存储模块,用于将所述获取硬盘盘符顺序脚本存储到指定的路径上;
所述触发模块,进一步用于根据所述存储模块存储所述获取硬盘盘符顺序脚本的所述指定的路径,确定所述获取硬盘盘符顺序脚本并触发。
CN201710514645.0A 2017-06-29 2017-06-29 一种基于Linux系统检测硬盘乱序的方法及装置 Pending CN107329914A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710514645.0A CN107329914A (zh) 2017-06-29 2017-06-29 一种基于Linux系统检测硬盘乱序的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710514645.0A CN107329914A (zh) 2017-06-29 2017-06-29 一种基于Linux系统检测硬盘乱序的方法及装置

Publications (1)

Publication Number Publication Date
CN107329914A true CN107329914A (zh) 2017-11-07

Family

ID=60197286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710514645.0A Pending CN107329914A (zh) 2017-06-29 2017-06-29 一种基于Linux系统检测硬盘乱序的方法及装置

Country Status (1)

Country Link
CN (1) CN107329914A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304292A (zh) * 2018-01-17 2018-07-20 郑州云海信息技术有限公司 一种节点检测硬盘盘序的方法及系统
CN109945968A (zh) * 2019-03-19 2019-06-28 苏州浪潮智能科技有限公司 一种检测硬盘多部位受噪音冲击大小的装置、方法及系统
CN110335637A (zh) * 2019-04-18 2019-10-15 深圳市德名利电子有限公司 一种对存储设备进行测试的方法和装置以及设备
CN110413196A (zh) * 2018-04-27 2019-11-05 北京京东尚科信息技术有限公司 外接存储设备的盘符分配方法、系统、电子设备和介质
CN110556155A (zh) * 2018-06-04 2019-12-10 记忆科技(深圳)有限公司 无盘启动的ssd产品测试方法、装置及计算机设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819547A (zh) * 2010-03-25 2010-09-01 浪潮电子信息产业股份有限公司 一种针对存储子系统稳定性和可靠性的测试方法
CN103473158A (zh) * 2013-09-18 2013-12-25 浪潮电子信息产业股份有限公司 一种Linux服务器的磁盘压力测试方法
CN104133749A (zh) * 2014-07-23 2014-11-05 浪潮电子信息产业股份有限公司 一种服务器的硬盘掉盘及硬盘乱序的验证方法
CN104536860A (zh) * 2015-01-16 2015-04-22 浪潮电子信息产业股份有限公司 一种实时监测jbod模式下硬盘排列顺序的方法
CN104932922A (zh) * 2015-06-18 2015-09-23 浪潮电子信息产业股份有限公司 一种调整sas卡硬盘启动顺序的方法及装置
CN105528269A (zh) * 2016-01-29 2016-04-27 浪潮电子信息产业股份有限公司 一种基于安腾平台检测硬盘乱序的设计方法
CN105843720A (zh) * 2016-05-12 2016-08-10 浪潮电子信息产业股份有限公司 一种测试硬盘热插拔稳定性的方法及装置
CN106095633A (zh) * 2016-06-23 2016-11-09 浪潮电子信息产业股份有限公司 一种整机柜稳定性测试中检测磁盘乱序或掉盘的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819547A (zh) * 2010-03-25 2010-09-01 浪潮电子信息产业股份有限公司 一种针对存储子系统稳定性和可靠性的测试方法
CN103473158A (zh) * 2013-09-18 2013-12-25 浪潮电子信息产业股份有限公司 一种Linux服务器的磁盘压力测试方法
CN104133749A (zh) * 2014-07-23 2014-11-05 浪潮电子信息产业股份有限公司 一种服务器的硬盘掉盘及硬盘乱序的验证方法
CN104536860A (zh) * 2015-01-16 2015-04-22 浪潮电子信息产业股份有限公司 一种实时监测jbod模式下硬盘排列顺序的方法
CN104932922A (zh) * 2015-06-18 2015-09-23 浪潮电子信息产业股份有限公司 一种调整sas卡硬盘启动顺序的方法及装置
CN105528269A (zh) * 2016-01-29 2016-04-27 浪潮电子信息产业股份有限公司 一种基于安腾平台检测硬盘乱序的设计方法
CN105843720A (zh) * 2016-05-12 2016-08-10 浪潮电子信息产业股份有限公司 一种测试硬盘热插拔稳定性的方法及装置
CN106095633A (zh) * 2016-06-23 2016-11-09 浪潮电子信息产业股份有限公司 一种整机柜稳定性测试中检测磁盘乱序或掉盘的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304292A (zh) * 2018-01-17 2018-07-20 郑州云海信息技术有限公司 一种节点检测硬盘盘序的方法及系统
CN110413196A (zh) * 2018-04-27 2019-11-05 北京京东尚科信息技术有限公司 外接存储设备的盘符分配方法、系统、电子设备和介质
CN110556155A (zh) * 2018-06-04 2019-12-10 记忆科技(深圳)有限公司 无盘启动的ssd产品测试方法、装置及计算机设备
CN109945968A (zh) * 2019-03-19 2019-06-28 苏州浪潮智能科技有限公司 一种检测硬盘多部位受噪音冲击大小的装置、方法及系统
CN110335637A (zh) * 2019-04-18 2019-10-15 深圳市德名利电子有限公司 一种对存储设备进行测试的方法和装置以及设备

Similar Documents

Publication Publication Date Title
CN107329914A (zh) 一种基于Linux系统检测硬盘乱序的方法及装置
WO2018120721A1 (zh) 用户界面的测试方法、系统、电子装置及计算机可读存储介质
US10013330B2 (en) Automated mobile application verification
RU2571726C2 (ru) Система и способ проверки целесообразности установки обновлений
US7805630B2 (en) Detection and mitigation of disk failures
US20120254662A1 (en) Automated test system and automated test method
CN103268448B (zh) 动态检测移动应用的安全性的方法和系统
US20190079854A1 (en) Systems and methods for executing tests
CN107818028A (zh) 一种计算机数据备份与还原方法
CN104346279A (zh) 一种软件测试方法及装置
CN106649020A (zh) 一种存储器机箱烧录信息的检测方法及装置
US9842044B2 (en) Commit sensitive tests
CN113792341A (zh) 应用程序的隐私合规自动化检测方法、装置、设备及介质
CN108170550A (zh) 异常处理的方法、装置及设备
US9148353B1 (en) Systems and methods for correlating computing problems referenced in social-network communications with events potentially responsible for the same
US20230066698A1 (en) Compute instance warmup operations
US20230088318A1 (en) Remotely healing crashed processes
CN114817010A (zh) 一种基于Python的Redfish自动化测试方法及装置
US20070016761A1 (en) Method, apparatus, and computer program product for implementing enhanced system behavior control
US10255128B2 (en) Root cause candidate determination in multiple process systems
CN114416451A (zh) 服务器测试方法、装置、计算机设备和存储介质
US20170154142A1 (en) Method and apparatus for simulating slow storage disk
CN110806981B (zh) 一种应用程序测试方法、装置、设备和存储介质
CN109800114B (zh) 一种bmc可视化测试方法、装置、终端及存储介质
CN110365627B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171107

RJ01 Rejection of invention patent application after publication