一种Linux系统下通过RAID卡抓取硬盘SMART日志的方法及
系统技术领域
本发明涉及服务器系统的技术领域,特别涉及一种Linux系统下通过RAID卡抓取
硬盘SMART日志的方法及系统。
背景技术
随着浪潮服务器产业的不断发展和壮大,作为国内最大的服务器供应商,服务器
市场已经囊括各个领域,尤其是金融、互联网等主流领域,互联网的高速发展,信息的高安
全性和系统的高可靠性越来越成为公司、企业、政府最为关注的事情,而硬盘作为数据存储
的主要载体,其稳定性和可靠性也越来越受到重视,因此对于硬盘在我们服务器上使用,必
须全面监控硬盘的健康状态,从而确保客户数据的安全性和确保产品的质量。
硬盘作为一个极其重要的服务器部件,其健康状态与硬盘可靠性息息相关,当前
在直连模式或者SAS卡模式下,硬盘的健康状态可以直接用命令读出,但是RAID卡模式下,
不能用命令实时进行监控,所以能实现RAID卡模式下,用命令对硬盘健康状态进行实时监
控是非常有必要的,尤其是在处理客诉问题时,在判断硬盘好坏上显得尤为重要。基于现有
技术中存在的问题,需要一种方法能直接透过RAID卡,直接在系统下用命令实时的监控硬
盘的健康状态。
发明内容
本发明提出了一种Linux系统下通过RAID卡抓取硬盘SMART日志的方法及系统,通
过软件的方式实现,在Linux系统下用RAID卡工具读出阵列的DID,然后通过系统命令直接
访问硬盘的smart日志,通过对硬盘健康状态实时监控,从而达到健康预警的作用。
一种Linux系统下通过RAID卡抓取硬盘SMART日志的方法,其特征在于,包括以下
步骤:步骤一,搭建测试环境;步骤二,安装Linux系统,安装Avago工具包;步骤三,进行RAID
卡配置,获取RAID阵列的参数;步骤四,根据所述参数,运行smartctl命令获取硬盘的smart
日志。
其中,在所述步骤二安装Linux系统前,选用HGST的SATA3.5硬盘进行验证。
其中,所述RAID阵列的参数是DID,且通过运行命令获取,所述命令为./
storcli64/c0show。
其中,所述smartctl命令为:smartctl–all–divice=sat+megaraid,DID/dev/sdb
或smartctl–all–divice=megaraid,DID/dev/sda;所述DID为RAID阵列的DID参数。
一种Linux系统下通过RAID卡抓取硬盘SMART日志的系统,其特征在于:包括环境
搭建模块,搭建测试环境;安装模块,安装Linux系统,安装Avago工具包;参数获取模块,进
行RAID卡配置,获取RAID阵列的参数;日志获取模块,根据所述参数,运行smartctl命令获
取硬盘的smart日志。
其中,所述安装模块,在安装Linux系统前,选用HGST的SATA 3.5硬盘进行验证。
其中,所述RAID阵列的参数是DID,且通过运行命令获取,所述命令为./
storcli64/c0show。
其中,所述smartctl命令为:smartctl–all–divice=sat+megaraid,DID/dev/sdb
或smartctl–all–divice=megaraid,DID/dev/sda;所述DID为RAID阵列的DID参数。
由以上可知,本发明公开了一种Linux系统下通过RAID卡抓取硬盘SMART日志的方
法及系统,在linux系统下用RAID卡工具读出阵列的DID,然后通过系统命令直接访问硬盘
的smart日志,通过对硬盘健康状态实时监控,从而达到健康预警的作用,本发明的方法方
便快捷,简单有效的方法。
附图说明
图1是本发明的方法流程图;
图2是本发明的系统框图。
图3是本发明的获取RAID阵列DID的界面图。
图4是本发明的获取smart日志界面图。
具体实施例
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的
附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领
域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附
图。
一种Linux系统下通过RAID卡抓取硬盘SMART日志的方法,方法流程如附图1所示。
步骤101,搭建测试环境;
搭建测试环境是获取smart的基础,本发明中可以以需要进行批量升级的服务器
机组为基础来搭建该测试环境,其具体所包括的硬件基础设备属于本领域技术人员的公知
常识,在此不再赘述;
步骤102,安装Linux系统,安装Avago工具包;
如果选用的硬盘是SATA,则在安装Linux系统前,选用HGST的SATA 3.5硬盘进行验
证,安装完成Linux系统之后,再进行Avago工具包安装,安装Avago工具包使用命令安装:
rpm–ivh storcli-1.19.04-1.noarch.rpm。
步骤103,进行RAID卡配置,获取RAID阵列的参数;
RAID阵列的参数是DID,该DID是通过运行命令获取,所述命令为./storcli64/
c0show,如附图3所示,是运行所述命令之后获得的RAID阵列的DID,获取的DID分别为87、
89、86、88、90、85、107、92、91。
步骤104,根据所述参数,运行smartctl命令获取硬盘的smart日志。
当硬盘为SATA时,smartctl命令为:smartctl–all–divice=sat+megaraid,DID/
dev/sdb,当硬盘为SAS时,smartctl命令为:smartctl–all–divice=megaraid,DID/dev/
sda;其中,DID为RAID阵列的DID参数,获取smart日志界面如附图4所示。
一种Linux系统下通过RAID卡抓取硬盘SMART日志的系统,系统功能结构图如附图
2所示,所述系统包括环境搭建模块、安装模块、参数获取模块以及日志获取模块。
环境搭建模块201,搭建测试环境;
搭建测试环境是获取smart的基础,环境搭建模块201其主要功能在于搭建获取
smart日志的测试环境,本发明中可以以需要进行批量升级的服务器机组为基础来搭建该
测试环境,其具体所包括的硬件基础设备属于本领域技术人员的公知常识,在此不再赘述;
安装模块202,安装Linux系统,安装Avago工具包;
如果选用的硬盘是SATA,则在安装Linux系统前,选用HGST的SATA 3.5硬盘进行验
证,安装完成Linux系统之后,再进行Avago工具包安装,安装Avago工具包使用命令安装:
rpm–ivh storcli-1.19.04-1.noarch.rpm。
参数获取模块203,进行RAID卡配置,获取RAID阵列的参数;
RAID阵列的参数是DID,该DID是通过运行命令获取,所述命令为./storcli64/
c0show,如附图3所示,是运行所述命令之后获得的RAID阵列的DID参数,获取的DID分别为
87、89、86、88、90、85、107、92、91。
日志获取模块204,根据所述参数,运行smartctl命令获取硬盘的smart日志。
当硬盘为SATA时,smartctl命令为:smartctl–all–divice=sat+megaraid,DID/
dev/sdb,当硬盘为SAS时,smartctl命令为:smartctl–all–divice=megaraid,DID/dev/
sda;其中,DID为RAID阵列的DID参数,获取smart日志界面如附图4所示。
硬盘的健康状态直接关系着硬盘能否正常工作,从而关系着数据存储的可靠性,
确保硬盘能正常工作的前提是实时检测硬盘的健康状态。但服务器在有RAID卡的配置下工
作时,无法对硬盘健康状态进行实时监控,所以系统下使用命令来实时监控硬盘健康状态,
是方便快捷,简单有效的方法。本发明的一种Linux系统下通过RAID卡抓取硬盘SMART日志
的方法及系统,在linux系统下用RAID卡工具读出阵列的DID,然后通过系统命令直接访问
硬盘的smart日志,通过对硬盘健康状态实时监控,从而达到健康预警的作用,本发明操作
简单方便,可以实时监控硬盘的健康状态,并对硬盘进行健康预警,节约测试和问题分析定
位的时间,减少人力投入,提升产品质量,节约成本。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这
些实施例的多种修改对本领域技术人员来说将是显而易见的,本发明中所定义的一般原理
可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被
限制于本文所示的这些实施例,而是符合与本文所公开的原理和新颖特点相一致的最宽的
范围。