EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

输入文件格式

smartctl指令工具将会采集出硬盘当前的SMART信息,将SMART信息按下表收集成csv数据文件。

经过对业界常用SMART数据的选择,提取以下这些SMART信息作为随机森林模型训练和预测的输入数据:

SMART ID

CSV文件列名

英文名

说明

1

hddSmart.smart_1(_raw)_value

Raw_Read_Error_Rate

存储器从一个硬盘表面读取数据时发生的错误率。原始值由于不同厂商的不同计算方法而有所不同,其十进制值通常是无意义的。

5

hddSmart.smart_5(_raw)_value

Reallocated_Sector_Ct

记录由于损坏而被映射到无损的后备区的扇区计数。当硬盘出现损坏扇区时,可以通过将其物理空间指向到特定的无损区域进行重映射修复,从而出现坏扇区的硬盘仍可使用。但当高过一定数值后,后扇区消耗殆尽而无法再重映射修复时,这些坏扇区就会显现出来且无法自行修复。

7

hddSmart.smart_7(_raw)_value

Seek_Error_Rate

磁头寻找磁道由于机械问题而出错几率,有多种原因可能引致出错,如:磁头伺服构件、盘体过热或损坏。原始值由于不同厂商的不同计算方法而有所不同,其十进制值通常是无意义的。

193

hddSmart.smart_193(_raw)_value

Load_Cycle_Count

计量磁头在加电时移至停泊区和移至盘片循环的值。

197

hddSmart.smart_197(_raw)_value

Current_Pending_Sector

记录了不稳定的扇区的数量。

198

hddSmart.smart_198(_raw)_value

Offline_Uncorrectable

记录肯定出错的扇区数量。

199

hddSmart.smart_199(_raw)_value

UDMA_CRC_Error_Count

记录硬盘通讯时发生的CRC(Cyclic Redundancy Check)错误。

188

hddSmart.smart_188(_raw)_value

Command_Timeout

由于无法连接至硬盘而终止操作的统计数,一般为0,如果远超过0,则可能电源问题,数据线接口氧化或更严重的问题。

187

hddSmart.smart_187(_raw)_value

Reported_Uncorrect

硬件ECC(Error Checking and Correction)无法恢复的错误计数。

每一个SMART列都有value和raw_value两个值,例如hddSmart.smart_1_value和hddSmart.smart_1_raw_value。

  1. raw_value(原始值):

    制造商定义的原始值,从VALUE派生。

    数据值是硬盘运行时各项参数的实测值,大部分SMART工具以十进制显示数据。 数据值代表的意义随参数而定,大致可以分为三类:

    • 数据值并不直接反映硬盘状态,必须经过硬盘内置的计算公式换算成当前值才能得出结果。
    • 数据值是直接累计的,如Start/Stop Count(启动/停止计数)的数据是50,即表示该硬盘从出厂到现在累计启停了50次。
    • 有些参数的数据是即时数,如Temperature(温度)的数据值是44,表示硬盘的当前温度是44℃。

      因此,有些参数直接查看数据也能大致了解硬盘目前的工作状态。

  2. value (当前值):

    当前值是各SMART ID项在硬盘运行时根据实测原始数据(raw value)通过公式计算的结果,结果取值范围1到253之间,253意味着最好的情况,1意味着最坏的情况。计算公式由硬盘厂家自定。

    硬盘出厂时各ID项目都有一个预设的最大正常值,即出厂值,这个预设的依据及计算方法为硬盘厂家保密,不同型号的硬盘都不同,最大正常值通常为100或200或253,新硬盘刚开始使用时显示的当前值可以认为是预设的最大正常值(有些SMART ID项如温度等除外)。随着使用损耗或出现错误,当前值会根据实测数据而不断刷新并逐渐减小。因此,当前值接近临界值就意味着硬盘寿命的减少,发生故障的可能性增大,所以当前值也是判定硬盘健康状态或推测寿命的依据之一。

表1 输入CSV文件格式

disk_sn

timestamp

fault

hddSmart.smart_1_value

hddSmart.smart_1_raw_value

hddSmart.smart_5_value

hddSmart.smart_5_raw_value

......

ZHZ3TFBD

2021-7-9

0

84

926673

100

0

......

......

......

......

......

......

......

......

......

以采集/dev/sda这块盘的SMART数据为例。
smartctl -a /dev/sda
图1 示例图(1)
图2 示例图(2)

第一列为硬盘序列号,从图1中可得。

第二列为当前时间戳。

第三列为是否为故障盘(fault_predict接口不需要该列)。

第四列hddSmart.smart_1_value对应图2中的框1。

第五列hddSmart.smart_1_raw_value对应图2中的框2。

第六列hddSmart.smart_5_value对应图2中的框3。

第七列hddSmart.smart_5_raw_value对应图2中的框4。

......(以此类推)

采集时,需注意的事项如下。

  • 对于SMART信息,各个厂商的实现并不相同,采集时须注意过滤。

    例如:Seagate Enterprise Capacity 3.5 HDD ST4000NM0035-1V4107 硬盘采集到的SMART信息如图3

    图3 Seagate Enterprise Capacity 3.5 HDD ST4000NM0035-1V4107 硬盘SMART信息

    由于算法需要采集SMART 188,而该列的值为"0 0 0"因此要对该列的值进行过滤保,留第一个"0"即可,过滤掉后面两个数字,保证最后输入文件中的类型为数值类型。

  • 由于SMART信息各个厂商的实现并不相同,可能有些厂家的SMART信息会有所缺失。

    例如:某厂商的HUH728080ALE600硬盘采集到的SMART信息如图4

    图4 HUH728080ALE600硬盘采集到的SMART信息

    如果所需的SMART信息值有缺失的话,程序会报错退出。

    例如:如果输入数据中hddSmart.smart_1_value列缺失,则会报错。

    KeyError: "['hddSmart.smart_1_value'] not in index"

    如果想要继续训练,在数据文件内补充所缺的列并全部补0,补0后可进行正常训练,但信息缺失会影响模型预测的准确率。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词