我有我的同事之前准备的 smartctl 查询。
smartctl -d ata -a {disk_name} | awk '/Reallocated_Sector_Ct/{print $10}'
我正在尝试使用该查询,但它什么也没打印。查询smartctl -d ata -a {disk_name}
输出没有Reallocated_Sector_Ct
字段。如何知道该字段是否不存在,因为磁盘不应该有该字段,或者我做了错误的查询?
我有我的同事之前准备的 smartctl 查询。
smartctl -d ata -a {disk_name} | awk '/Reallocated_Sector_Ct/{print $10}'
我正在尝试使用该查询,但它什么也没打印。查询smartctl -d ata -a {disk_name}
输出没有Reallocated_Sector_Ct
字段。如何知道该字段是否不存在,因为磁盘不应该有该字段,或者我做了错误的查询?
如果不知道您正在尝试监视哪种“磁盘”,就很难知道您是否进行了错误的查询。
有几种常见的场景:
该磁盘根本不支持SMART 。
在这种情况下,我希望
smartctl
给您提供适当的警告和/或错误消息。“磁盘”不支持 SMART 的几个常见原因:
您的主机是虚拟机,“磁盘”是虚拟机管理程序提供的虚拟磁盘,并且虚拟驱动程序不模拟(不相关的)SMART数据
该磁盘不是真实磁盘,而是由(适当硬件)RAID 控制器管理的逻辑驱动器(这需要使用供应商特定的方法来监视构成虚拟驱动器的底层真实磁盘的运行状况)
该磁盘确实支持SMART:
但
Reallocated_Sector_Ct
磁盘固件根本不提供此信息。例如,NVME 驱动器具有用于跟踪备用容量的特定 SMART 属性,这相当于但又不同于 Reallated_Sector_Ct
smartctl
未正确检测设备类型,您需要提示它使用带有标志的正确“驱动程序”-d TYPE, --device=TYPE
。可能还有其他人。
根据您正在使用的评论
smartctl -d cciss,0 /dev/sda
:看一下
smartctl
说明书如果这不起作用,我认为您可能混合了两件事:您正在寻址
/dev/sda
可能是逻辑驱动器,而不是连接到 HP 智能阵列控制器的特定磁盘。寻址特定驱动器的正确语法取决于您的系统使用的驱动程序:cciss
或hpsa
我得到的正确查询是
smartctl -a /dev/sda -d cciss,0
仍在尝试了解它是如何工作的,但确实如此。
所以最终版本是
smartctl -a /dev/sda -d cciss,0 | awk '/Reallocated_Sector_Ct/{print $10}'