本发明涉及通用服务器技术领域,具体地说是一种基于Linux系统下测试Expander背板硬盘指示灯的方法。

背景技术:

在通用服务器领域,Expander背板上的硬盘指示灯通常有Locate、Fault和Rebuild等状态,每种状态分别对应的指示灯不同颜色。硬盘指示灯测试通常通过手动从存储控制器配置界面或手动发送命令行命令方式点亮指示灯,或者将硬盘手动设置为某种状态,例如Rebuild等来测试指示灯状态。针对不同厂家的存储控制器,配置界面和命令行工具也不尽相同,测试方法不统一,影响测试效率。

技术实现要素:

本发明的技术任务是提供一种基于Linux系统下测试Expander背板硬盘指示灯的方法及系统。

本发明的技术任务是按以下方式实现的,该基于Linux系统下测试Expander背板硬盘指示灯的方法,包括,

基于SES理论基础,利用工具包对Expander背板硬盘指示灯进行状态设置和状态检查,并获取相应状态数据;

将Expander背板硬盘指示灯至少一种状态的测试过程集成在一个shell脚本中;

检测Expander背板硬盘指示灯相应状态并生成测试结果,记录测试结果,测试结束。

所述的工具包为sg3_utils工具包;

所述的sg3_utils工具包包括sg3_utils-libs-1.41-1.x86_64.rpm安装包和sg3_utils-1.41-1.x86_64.rpm安装包。

所述的利用工具包对Expander背板硬盘指示灯的进行状态设置和状态检查,包括,

利用shell脚本语言调用sg3_utils工具包中sg_scan命令获取Expander背板设备名、sg_ses命令设置或获取硬盘指示灯状态位。

所述的将Expander背板硬盘指示灯不同状态的测试过程集成在一个shell脚本中,包括,

通过shell命令提取工具包输出中的关注点信息或基于工具包输出生成关注点信息,通过对关键信息的判断梳理出测试结果。

所述的Expander背板硬盘指示灯为Locate LED,Fault和Rebuild LED。

所述的自动检测Expander背板硬盘指示灯相应状态并生成测试结果,包括,

将测试结果通过存储子系统导入到测试log中。

所述的存储子系统包括存储控制器,所述的存储控制器通过线缆与Expander相连接,Expander上连接其可支持的最大硬盘数。

基于Linux系统下测试Expander背板硬盘指示灯的方法,包括如下步骤:

步骤1)检测是否已经安装了sg3_utils工具包,若没有安装,则安装sg3_utils工具包;

步骤2)输入Expander背板支持的最大slot号;

步骤3)获取系统下Expander设备名称;

步骤4)循环点亮Expander背板所有slot的指示灯;

步骤5)获取每个slot号的指示灯标志位,判断是否为1?是,则测试PASS的slot号,记录于result_pass.txt中;否,则测试FALL的slot号,记录于result_fail.txt中;

步骤6)循环熄灭Expander背板所有slot的指示灯;

步骤7)获取每个slot号的指示灯标志位,判断是否为0?是,则测试PASS的slot号,记录于result_pass.txt中;否,则测试FASS的slot号,记录于result_pass.txt中;

步骤8)测试结束。

所述的检测是否已经安装了sg3_utils工具包,包括,

查询是否安装sg3_utils-libs-1.41-1.x86_64.rpm安装包,否,则安装sg3_utils-libs-1.41-1.x86_64.rpm;

查询是否安装sg3_utils-1.41-1.x86_64.rpm安装包,否,则安装sg3_utils-1.41-1.x86_64.rpm;

检测所述的sg3_utils-libs-1.41-1.x86_64安装包和sg3_utils-1.41-1.x86_64安装包是否安装成功,否,则退出程序;是,则进入后续测试环节。

一种基于Linux系统下测试Expander背板硬盘指示灯的系统,包括,Expander背板、存储控制器和硬盘;以及检测模块、数据获取模块和判断模块;

所述的检测模块用于检测系统是否已经安装了sg3_utils工具包;检测Expander背板硬盘指示灯相应状态;

所述的数据获取模块用于获取以下信息:获取系统下Expander设备名称;获取每个slot号的指示灯标志位;

所述的判断模块用于判断每个slot号的指示灯标志位是否为1或0。

本发明的一种基于Linux系统下测试Expander背板硬盘指示灯的方法和现有技术相比,不仅可以自动测试Expander背板硬盘指示灯,同时也可以将测试结果导入到测试log中,便于后期查看;该方法适用于多款RAID卡或SAS卡,方便测试人员搭配测试环境,节省测试时间,同时又提高了测试的可靠性。通过修改expander支持的slot号可将脚本应用于多款Expander,体现测试脚本的通用性和灵活性。

附图说明

附图1为一种基于Linux系统下测试Expander背板硬盘指示灯的方法的流程示意图。

附图2为检测是否已经安装了sg3_utils工具包的流程示意图。

附图3为存储子系统的架构示意图。

具体实施方式

实施例1:

一种基于Linux系统下测试Expander背板硬盘指示灯的系统,包括,Expander背板、存储控制器和硬盘;以及检测模块、数据获取模块和判断模块;

所述的检测模块用于检测系统是否已经安装了sg3_utils工具包;检测Expander背板硬盘指示灯相应状态;

所述的数据获取模块用于获取以下信息:获取系统下Expander设备名称;获取每个slot号的指示灯标志位;

所述的判断模块用于判断每个slot号的指示灯标志位是否为1或0。

该基于Linux系统下测试Expander背板硬盘指示灯的方法,包括,基于SES理论基础,利用工具包对Expander背板硬盘指示灯进行状态设置和状态检查;所述的工具包为sg3_utils工具包,所述的sg3_utils工具包包括sg3_utils-libs-1.41-1.x86_64.rpm安装包和sg3_utils-1.41-1.x86_64.rpm安装包;

还包括,利用shell脚本语言调用sg3_utils工具包中sg_scan命令获取Expander背板设备名、sg_ses命令设置或获取硬盘指示灯状态位。

将Expander背板硬盘指示灯不同状态的测试过程集成在一个shell脚本中;包括,通过shell命令提取工具包输出中的关注点信息或基于工具包输出生成关注点信息,通过对关键信息的判断梳理出测试结果。

自动检测Expander背板硬盘指示灯相应状态并生成测试结果;包括,将测试结果通过存储子系统导入到测试log中;所述的存储子系统包括存储控制器,所述的存储控制器通过线缆与Expander相连接,Expander上连接其可支持的最大硬盘数。

所述的Expander背板硬盘指示灯为Locate LED,Fault和Rebuild LED。

基于Linux系统下测试Expander背板硬盘指示灯的方法的具体步骤如下:

步骤1)检测是否已经安装了sg3_utils工具包,若没有安装,则安装sg3_utils工具包;包括,

查询是否安装sg3_utils-libs-1.41-1.x86_64安装包,否,则安装sg3_utils-libs-1.41-1.x86_64.rpm;

查询是否安装sg3_utils-1.41-1.x86_64安装包,否,则安装sg3_utils-1.41-1.x86_64.rpm;

检测所述的sg3_utils-libs-1.41-1.x86_64安装包和sg3_utils-1.41-1.x86_64安装包是否安装成功,否,则退出程序;是,则进入后续测试环节。

步骤2)输入Expander背板支持的最大slot号;

步骤3)获取系统下Expander设备名称;

步骤4)循环点亮Expander背板所有slot的指示灯;

步骤5)获取每个slot号的指示灯标志位,判断是否为1?是,则测试PASS的slot号,记录于result_pass.txt中;否,则测试FALL的slot号,记录于result_fail.txt中;

步骤6)循环熄灭Expander背板所有slot的指示灯;

步骤7)获取每个slot号的指示灯标志位,判断是否为0?是,则测试PASS的slot号,记录于result_pass.txt中;否,则测试FASS的slot号,记录于result_pass.txt中;

步骤8)测试结束。

实施例2:

以Locate LED测试为例

1)搭建测试环境:

主板Sata接口安装Linux操作系统,存储子系统硬盘满配,系统下安装存储控制器驱动;

2)定义文件目录:

3)在进行测试之前,先安装sg3_utils工具包:

rpm-qa|grep sg3_utils-libs-1.41-1.x86_64>$FILE_DIR/sg3_utils_lib_package.txt

rpm-qa|grep sg3_utils-1.41-1.x86_64>$FILE_DIR/sg3_utils_package.txt

//查询是否安装sg3_utils-libs-1.41-1.x86_64和grep sg3_utils-1.41-1.x86_64安装包,并把查询结果分别写入sg3_utils_lib_package.txt和sg3_utils_package.txt文件中

if[-s$FILE_DIR/sg3_utils_lib_package.txt];then

echo"sg3_utils_lib package has been installed already!"

else

rpm-ivh--force--nodeps sg3_utils-libs-1.41-1.x86_64.rpm

sleep 5

fi

//通过判断sg3_utils_lib_package.txt文件是否为真,决定是否安装sg3_utils-libs-1.41-1.x86_64包。

if[-s$FILE_DIR/sg3_utils_package.txt];then

echo"sg3_utils package has been installed already!"

else

rpm-ivh--force--nodeps sg3_utils-1.41-1.x86_64.rpm

sleep 5

fi

//通过判断sg3_utils_package.txt文件是否为真,决定是否安装sg3_utils-1.41-1.x86_64包。

read-p"Please check if the sg3_utils packages install successfully!y or n:"input

if["$input"='y'];then

echo"Sg3_utils packages are installed successfully!"

elif["$input"='n'];then

echo"Sg3_utils packages are installed unsuccessfully!Exit testing!"

exit$?

else

echo"Please input"y"or"n"!Exit testing!"

exit$?

fi

//通过echo输出的打印信息判断下一步动作,如果成功安装sg3_utils package,输入“y”;如果未成功安装sg3_utils package,输入“n”退出测试,其他情况表示输入有误,退出。

4)获取Expander在Linux系统下的设备名称:

sg_scan-i|grep-B 1PMCSIERA>$FILE_DIR/expander.txt

Dev_name=`cat$CURRENT_DIR/expander.txt|grep/dev|awk-F:'{print$1}'

用sg_scan命令获得系统下所有SCSI设备名称。

5)Locate LED测试:

变量i的初始值为0,SLOT_NUMBER是该expander所支持的SLOT数目,运行程序时可根据expander支持的slot号手动输入,用sg_ses命令循环将SLOT号为i的LED点亮,将Locate状态位置1。

用sg_ses命令循环将SLOT号为i的LED熄灭,将Locate状态位清0。

6)查看result目录下的log信息。

测试进行中,如果测试人员在机器旁的话可观察背板硬盘指示灯的颜色与设置状态是否一致,如果不在机器旁边的话可后期查看位于result目录下的result_pass.txt和result_fail.txt文件查看测试结果记录。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

linux怎么点亮硬盘灯_一种基于Linux系统下测试Expander背板硬盘指示灯的方法及系统与流程...相关推荐

  1. linux usb 批量传输文件,一种Linux系统下提升usb批量传输速度的方法及系统与流程...

    本发明涉及通信传输技术领域,具体地说是一种linux系统下提升usb批量传输速度的方法及系统. 背景技术: linux系统访问usb设备有两种方式:编写内核驱动模块ko和在用户空间编写程序,通过内核提 ...

  2. flash写保护原理_一种基于flash写保护的防止flash被意外篡改的方法与流程

    本发明属linux嵌入式芯片安全技术领域于领域,尤其是涉及一种nandflash写保护应用方法. 背景技术: 目前很多公司都纷纷尝试智能设备(sd,smartdevice)领域,sd设备功能越来越多, ...

  3. 基于python的分布式扫描器_一种基于python的大数据分布式任务处理装置的制作方法...

    本发明涉及数据处理技术,具体是一种基于python的大数据分布式任务处理装置. 背景技术: 本发明提供一种分布式队列任务处理方案和装置,该方法可以提供分布式处理python任务,任务类型包括爬虫及其他 ...

  4. 云计算 码率适配限速_一种基于云计算的应用于用户终端的测速方法

    一种基于云计算的应用于用户终端的测速方法 [专利摘要]本发明提供一种基于云计算的应用于用户终端的测速方法,包括:建立测速机制,定义相关参数,测速方法,输出测速结果:具体包括:建立测速机制,定义相关参数 ...

  5. 属性与意图识别_一种基于多任务学习的意图与槽位联合识别方法与流程

    本发明属于人机交互领域,涉及自然语言处理.垂直对话系统等,特别涉及一种基于多任务学习的意图与槽位联合识别方法. 背景技术: 意图识别和槽位识别可以将垂直对话系统中用户输入文本转化为语义表示,为系统采取 ...

  6. python登录系统账号检测_一种基于python的惠普打印机默认用户名密码检测方法与流程...

    本发明涉及打印机检测技术领域,特别是一种基于python的惠普打印机默认用户名密码检测方法. 背景技术: 网络打印机是当前各大中小型企业正常办公比不可少的办公网络设备,但对于大中型企业而言,不同部门或 ...

  7. Linux断点方法,一种基于Linux问题断点的定位方法及系统与流程

    本发明属于Linux断点解决技术领域,涉及一种基于Linux问题断点的定位方法及系统. 背景技术: 在Linux的日常测试过程中,经常会遇见一些未知的原因下系统启动过程中突然出现的宕机,黑屏等现象.导 ...

  8. 61-20210407华为海思Hi3516DV300的linux系统下控制GPIO口(标准linux模式点亮LED灯)

    61-20210407华为海思Hi3516DV300的linux系统下控制GPIO口(标准linux模式点亮LED灯) 2021/4/7 15:13 https://xueqiu.com/797071 ...

  9. linux 修改bios信息,一种基于Linux系统通过IPMI工具修改BIOS选项的测试方法及系统_2017103901253_权利要求书_专利查询_专利网_钻瓜专利网...

    1.一种基于Linux系统通过IPMI工具修改BIOS选项的测试方法,其特征在于: 步骤101,启用IPMI服务: 步骤102,BIOS Setup选项使能设置: 步骤103,修改BIOS选项当前值与 ...

  10. linux测试自动化,一种基于Linux系统下自动化测试RoCE性能的方法及系统与流程

    本发明涉及自动化测试的技术领域,特别涉及一种基于Linux系统下自动化测试roce性能的方法及其系统. 背景技术: 现在迅速发展的服务器行业,对网络服务性能提出了越来越高的要求.特别是在互联网行业以及 ...

最新文章

  1. 作为产品经理,你需要了解的基本算法知识和实操
  2. memcached客户端_对比Memcached和Redis,谁才是适合你的缓存?
  3. ORA-01555 snapshot too old
  4. 【模板】割点(割顶)
  5. 内置装饰器一:@classmethod、@staticmathod
  6. 拼音开头有什么字_语文基础 孩子刚上一年级学习拼音太难了?家长在家这样教真不比老师差!...
  7. html5 canvas(小树姐的牛掰到爆了的作品)
  8. MySQL Binlog Mixed模式记录成Row格式
  9. 怎么更好练习数位板_如何设计更好的仪表板
  10. Node js npm 包管理工具的基本使用
  11. 国内最强算法推荐系统,这波稳了!
  12. c# printDialog不显示问题
  13. week7-学习写技术交底书的所得
  14. 全球及中国粮食加工行业产量需求规模与投资产值预测报告2022版
  15. 华为鸿蒙会没有广告,为什么华为会选择不做任何预告突然发布鸿蒙系统?
  16. Java23种设计模式——19.行为型模式之中介者模式
  17. 安装moodle的方法及遇到的问题
  18. ​2 万字超详细的 Linux 总结,带你实现命令自由(至尊典藏版)
  19. 平台联合卖会员、用户拆着挂闲鱼,巨头联名会员卡命宿何方?
  20. 数字电路基础与Quartus入门

热门文章

  1. 关于《Delphi源代码分析》的讨论
  2. 2020-11-30 OpenCV人工智能图像处理学习笔记 第4章 计算机视觉加强之图像特效
  3. 中科大图形学暑期课程资料
  4. Atitit btree 搜索原理 目录 第一节 左边小右边大 的有序树 1 第二节 平衡算法 1 第三节 层次高度一般3--4层 3 第四节 类似索引 3 第二章 Ref 5 第一节 左边小右
  5. Atitit  记录方法调用参数上下文arguments
  6. Atitit 控制中心快速启动面板quick launcher
  7. Atitit.eclipse comment  template注释模板
  8. paip.python错误解决13
  9. paip.软件开发之COOKIE调试
  10. 30多套API接口,还怕满足不了你的量化交易需求?