Centos

在 CentOS 7 上支持 NVMe 的 Smartmontools

  • May 5, 2017

我剛剛在帶有 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 資訊。

好的,我找到了 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

引用自:https://unix.stackexchange.com/questions/363212