一种NVME硬盘状态指示灯的控制方法、系统及设备技术方案

技术编号:23287889 阅读:94 留言:0更新日期:2020-02-08 18:00
本发明专利技术提出的一种NVME硬盘状态指示灯的控制方法,包括:通过循环遍历所有NVME硬盘,获取NVME硬盘的指示灯状态;设置NVME硬盘的指示灯状态,并返回当前所有NVME硬盘的指示灯状态。本发明专利技术通过编写shell脚本,使用简单的命令给NVME硬盘设置指示灯的状态,并将NVME的亮灯状态信息返回给使用者,并用给文字加上颜色,让使用者一目了然。便于工作人员获取异常硬盘的信息,从而可以正确的更换硬盘。

Control method, system and equipment of nvme hard disk status indicator

【技术实现步骤摘要】
一种NVME硬盘状态指示灯的控制方法、系统及设备
本专利技术涉及计算机硬盘
,更具体的说是涉及一种NVME硬盘状态指示灯的控制方法、系统及设备。
技术介绍
NVME的硬盘安装在服务器上,服务器平时在机房,工作人员平时无法接触到,如遇到突发状况例如硬盘损坏、硬盘性能突然降低,则可能需要到机房找到这块硬盘进行更换。工作人员直接去服务器上找可能会找错硬盘,导致更换错硬盘,造成更大的影响。这时可以从系统下给出现问题的NVME硬盘进行点灯,工作人员通过观察异常硬盘的点灯状况,从而可以正确的更换硬盘。NVME硬盘状态指示灯通常在硬盘背板上,指示灯的状态代表当前NVME硬盘处于何种状态,一般有locate(蓝色灯),rebuild(粉色灯),failure(红色灯),normal(熄灭)这几种状态。在现有技术中,通常使用ledctl命令给NVME硬盘点亮指示灯,可以给硬盘状态指示灯设置locate、failure、rebuild、off几种状态,如点亮第一块NVME硬盘的locate灯时使用命令ledctllocate=/dev/nvme0n1。该命令执行后没有任何返回信息,当需要测试多块硬盘时需要反复查看硬盘点灯状态,确认当前硬盘对应的槽位指示灯是否亮起。使用ledctl测试多块硬盘时,由于该命令没有返回信息,需要记录操作时点亮的硬盘,且记录硬盘处于什么样的亮灯状态,测试多块硬盘时记录起来会更加麻烦。在机器的开发阶段,由于硬盘背板的点灯功能不完善,硬盘之间的指示灯可能会相互影响,如点亮了第一块硬盘的指示灯,再点亮第二块时,第一块的指示灯自动熄灭了,使用ledctl命令有时候就很难发现硬盘背板上的指示灯发生了什么变化。
技术实现思路
针对以上问题,本专利技术的目的在于提供一种NVME硬盘状态指示灯的控制方法、系统及设备,能够设置或输出NVME硬盘的指示灯状态,便于工作人员获取异常硬盘的信息,从而可以正确的更换硬盘。本专利技术为实现上述目的,通过以下技术方案实现:一种NVME硬盘状态指示灯的控制方法,包括:通过循环遍历所有NVME硬盘,获取NVME硬盘的指示灯状态;设置NVME硬盘的指示灯状态,并返回当前所有NVME硬盘的指示灯状态。进一步,所述通过循环遍历所有NVME硬盘,获取NVME硬盘的指示灯状态包括:将所有NVME硬盘的名称,存放到nvme_arr变量里;使用for循环遍历nvme_arr变量,将每个NVME硬盘的名称保存到disk变量里、并将指示灯状态保存到ledstate变量里;遍历disk变量和ledstate变量,将每个NVME硬盘的名称和对应的NVME硬盘指示灯状态输出。进一步,所述将每个NVME硬盘的名称保存到disk变量里、并将指示灯状态保存到ledstate变量里包括:通过readlink命令读取当前NVME硬盘的BUSID;通过当前NVME硬盘的BUSID获取当前NVME硬盘的slot编号,并保存到nvme_slotid变量里;通过nvme_slotid变量查看当前NVME硬盘的attention文件,得到当前NVME硬盘的指示灯状态数值;将当前NVME硬盘的指示灯状态数值转换为NVME硬盘的指示灯状态,并保存到ledstate变量里;将当前NVME硬盘的名称保存到disk变量里。进一步,若NVME硬盘的指示灯状态数值为15,NVME硬盘的指示灯状态为normal;若NVME硬盘的指示灯状态数值为7,NVME硬盘的指示灯状态为locate;若NVME硬盘的指示灯状态数值为13,NVME硬盘的指示灯状态为Fault;若NVME硬盘的指示灯状态数值为5,NVME硬盘的指示灯状态为rebuild。进一步,若NVME硬盘的指示灯状态输出为locate,locate采用蓝色字体显示;若NVME硬盘的指示灯状态输出为Fault,Fault采用红色字体显示;若NVME硬盘的指示灯状态输出为rebuild,rebuild采用粉色字体显示。进一步,所述设置NVME硬盘的指示灯状态,并返回当前所有NVME硬盘的指示灯状态包括:输入要设置的NVME硬盘名称参数和NVME硬盘指示灯状态参数;进行输入参数判断;根据NVME硬盘名称参数获取NVME硬盘的slot编号;根据NVME硬盘指示灯状态参数,在NVME硬盘的attention文件里写入与NVME硬盘指示灯状态参数相应的指示灯状态数值;将要设置的NVME硬盘、NVME硬盘指示灯的状态传入预设脚本中,完成点灯;遍历disk变量和ledstate变量,将每个NVME硬盘的名称和对应的NVME硬盘指示灯状态输出。进一步,所述输入参数判断包括:判断输入的参数数量是否为2,若否,输出所有硬盘的指示灯状态并提示脚本使用方法;若是,判断NVME硬盘名称参数是否是系统下存在的硬盘,如果是,转到下一步,如果否,提示参数错误并提升脚本使用方法。相应的,本专利技术还公开了一种NVME硬盘状态指示灯的控制系统,包括:获取单元,用于通过循环遍历所有NVME硬盘,获取NVME硬盘的指示灯状态;设置单元,用于设置NVME硬盘的指示灯状态,并返回当前所有NVME硬盘的指示灯状态。相应的,本专利技术还公开了一种NVME硬盘状态指示灯的控制设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上文任一项所述关于关于NVME硬盘状态指示灯的控制方法步骤。对比现有技术,本专利技术有益效果在于:本专利技术提供了一种NVME硬盘状态指示灯的控制方法、系统及设备,使用Shell脚本给NVME硬盘点亮指示灯和查看指示灯状态的方法,可以方便的获取查看当前硬盘的指示灯状态,而且可以设置硬盘的指示灯状态。本专利技术通过编写shell脚本,使用简单的命令给NVME硬盘设置指示灯的状态,并将NVME的亮灯状态信息返回给使用者,并用给文字加上颜色,让使用者一目了然。便于工作人员获取异常硬盘的信息,从而可以正确的更换硬盘。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。附图1是本专利技术的方法流程图。附图2是本专利技术的系统结构图。具体实施方式下面结合附图对本专利技术的具体实施方式做出说明。如图1所示的一种NVME硬盘状态指示灯的控制方法,包括:将所有NVME硬盘的名称,存放到nvme_arr变量里。使用for循环遍历nvme_arr变量,将每个NVME硬盘的名称保存到dis本文档来自技高网
...

【技术保护点】
1.一种NVME硬盘状态指示灯的控制方法,其特征在于,包括:/n通过循环遍历所有NVME硬盘,获取NVME硬盘的指示灯状态;/n设置NVME硬盘的指示灯状态,并返回当前所有NVME硬盘的指示灯状态。/n

【技术特征摘要】
1.一种NVME硬盘状态指示灯的控制方法,其特征在于,包括:
通过循环遍历所有NVME硬盘,获取NVME硬盘的指示灯状态;
设置NVME硬盘的指示灯状态,并返回当前所有NVME硬盘的指示灯状态。


2.根据权利要求1所述的NVME硬盘状态指示灯的控制方法,其特征在于,所述通过循环遍历所有NVME硬盘,获取NVME硬盘的指示灯状态包括:
将所有NVME硬盘的名称,存放到nvme_arr变量里;
使用for循环遍历nvme_arr变量,将每个NVME硬盘的名称保存到disk变量里、并将指示灯状态保存到ledstate变量里;
遍历disk变量和ledstate变量,将每个NVME硬盘的名称和对应的NVME硬盘指示灯状态输出。


3.根据权利要求2所述的NVME硬盘状态指示灯的控制方法,其特征在于,所述将每个NVME硬盘的名称保存到disk变量里、并将指示灯状态保存到ledstate变量里包括:
通过readlink命令读取当前NVME硬盘的BUSID;
通过当前NVME硬盘的BUSID获取当前NVME硬盘的slot编号,并保存到nvme_slotid变量里;
通过nvme_slotid变量查看当前NVME硬盘的attention文件,得到当前NVME硬盘的指示灯状态数值;
将当前NVME硬盘的指示灯状态数值转换为NVME硬盘的指示灯状态,并保存到ledstate变量里;
将当前NVME硬盘的名称保存到disk变量里。


4.根据权利要求3所述的NVME硬盘状态指示灯的控制方法,其特征在于:
若NVME硬盘的指示灯状态数值为15,NVME硬盘的指示灯状态为normal;
若NVME硬盘的指示灯状态数值为7,NVME硬盘的指示灯状态为locate;
若NVME硬盘的指示灯状态数值为13,NVME硬盘的指示灯状态为Fault;
若NVME硬盘的指示灯状态数值为5,NVME硬盘的指示灯状态为rebuild。

...

【专利技术属性】
技术研发人员:刘茂峰张文珂
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1