选择

选择

我刚刚在带有 NVMe 驱动器的服务器上设置了 CentOS 7,但很惊讶无法smartctl在它们上运行:

# smartctl -a /dev/nvme0
/dev/nvme0: Unable to detect device type
Please specify device type with the -d option.

# smartctl -a /dev/nvme0 -d nvme
/dev/nvme0: Unknown device type 'nvme'

然后我注意到 CentOS 附带了 Smartmontools 版本 6.2,而Smartmontools从6.5版本开始支持NVMe

如何在 CentOS 7 上将 Smartmontools 升级到版本 6.5?

他们的下载页面仅提供适用于 CentOS 7 的 Smartmontools 6.2。

理想情况下,我不想从源代码进行编译,我更喜欢 RPM,或者更好的第三方存储库,其中包含最新的 Smartmontools,以获得定期更新。

选择

如果您知道另一个工具(最好包含在 CentOS 7 中),它可以让我从 NVMe 驱动器获取 SMART 信息,我也愿意接受建议。

答案1

好的,我找到了 2 个替代方案。

获取可在 CentOS 7 上运行的预编译二进制文件

尽管他们的页面仅提供适用于 CentOS 7 的 Smartmontools 6.2,他们的SVN 构建页面提供了在 CentOS 上运行的二进制文件。

正确的存档有一个.linux后缀,例如我选择:

smartmontools-6.6-0-20170503-r4430.linux-x86_64.tar.gz

该档案包含smartctl一个像魅力一样工作的二进制文件。

使用 nvme 命令行工具

CentOS 7 附带一个nvme命令(yum 包名为nvme-cli)。

它可以列出 NVMe 驱动器:

# nvme list

并且可以读取SMART信息:

# nvme smart-log /dev/nvme0

额外的SMART信息(不知道为什么分开):

# nvme smart-log-add /dev/nvme0

相关内容