Boston Terrier inside a vehicle

在 Linux 终端中管理您的 NVMe 驱动器

了解如何使用开源 nvme-cli 从 Linux 终端直接管理 NVMe 驱动器…
首页 » 博客 » 在 Linux 终端中管理您的 NVMe 驱动器

我的两台笔记本电脑都使用非易失性内存高速传输 (NVMe) 驱动器,其速度是毋庸置疑的。更快的启动时间和更流畅的数据操作是明显的优势。为了更好地控制这些驱动器,我很有兴趣探索如何直接通过 Linux 终端管理它们。学习这些命令可以实现性能优化、健康监控,并有可能发现其他功能。这似乎是充分利用 NVMe 驱动器的实用方法。

我决定探索这种极速存储背后的技术。经过一番研究,我发现 NVMe 驱动器不仅提供卓越的速度,而且与使用 SATA 连接的传统 SSD 驱动器相比,功耗也更低。这种效率引起了我的兴趣,但我想更深入地研究我的 NVMe 驱动器的具体细节,并将它们与其他选项进行比较。我对安全擦除驱动器和确保其完整性有疑问。

快速的互联网搜索为我找到了完美的解决方案——一个名为 nvme-cli 的开源项目。这个 工具集合为 NVMe 驱动器提供了全面的管理功能,提供了我正在寻找的功能以及更多。

安装 nvme-cli

您可以从发行版的软件包管理器安装 nvme-cli。例如,在 Fedora、CentOS 或类似系统上

$ sudo dnf install nvme-cli

在 Debian、Mint、Elementary 和类似系统上

$ sudo apt install nvme-cli

获取帮助

为我的发行版安装 nvme-cli 后,我想探索我的驱动器。nvme-cli 没有 man page,但是您可以通过输入 nvme help 获取大量帮助

$ nvme help
nvme-1.16
usage: nvme <command> [<device>] [<args>]

The '<device>' may be either an NVMe character device (ex: /dev/nvme0) or an
nvme block device (ex: /dev/nvme0n1).

sudo nvme list 命令列出您机器上的所有 NVMe 设备和命名空间。我使用了它,并在 /dev/nvme0n1 找到了一个 NVMe 驱动器。

这是输出

$ sudo nvme list
[sudo] password for don: 
Node                  SN                   Model                                    Namespace Usage                      Format           FW Rev  
--------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1          ASB3N553810103J14    SK hynix PC711 HFS001TDE9X073N           1           1.02  TB /   1.02  TB    512   B +  0 B   HPS0    

驱动器信息

您可以使用 id-ctrl 子命令获取有关驱动器及其支持的功能的更多信息

$ sudo nvme id-ctrl /dev/nvme0n1
NVME Identify Controller:
vid       : 0x1c5c
ssvid     : 0x1c5c
sn        : ASB3N553810103J14   
mn        : SK hynix PC711 HFS001TDE9X073N          
fr        : HPS0    
rab       : 3
ieee      : ace42e
cmic      : 0
mdts      : 6

驱动器健康状况

您可以使用 smart-log 子命令查看驱动器的整体健康状况

$ sudo nvme smart-log  /dev/nvme0n1
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning            : 0
temperature                : 29 C (302 Kelvin)
available_spare                : 100%
available_spare_threshold        : 5%
percentage_used                : 0%
endurance group critical warning summary: 0
data_units_read                : 8,524,708
data_units_written            : 5,777,269

格式化您的驱动器

当您使用 nvme-cli format 命令时,请务必小心。此操作会擦除目标驱动器上的所有数据。在继续格式化过程之前备份任何重要数据至关重要,以避免永久性数据丢失。

$ sudo nvme format /dev/nvme0nx

安全擦除您的驱动器

当需要出售或处置 NVMe 驱动器时,您可以擦除和“清理”驱动器,以删除其曾经保存的所有数据痕迹。与格式化过程一样,在启动此命令之前备份任何关键数据至关重要,因为它旨在使数据无法恢复!

$ sudo nvme sanitize /dev/nvme0nx

这些是您的基础知识。我有两台装有 NVMe 驱动器的 Linux 电脑。我 System76 的笔记本电脑配备了三星 SSD 970 EVO 250GB,另一台电脑是 Intel NUC,它配备了 Crucial 1 TB NVMe 驱动器。我通过 'nvme-cli' 实用程序了解了一些关于每个驱动器细微差别的知识。

nvme-cli 是开源的,作为 NVMe 驱动器所有者,它对我来说一直是一个很棒的 工具。亲自尝试一下吧!

作者

  • Don Watkins

    教育家、企业家、开源倡导者、终身学习者、Python 教师。教育心理学硕士,教育领导学硕士,Linux 系统管理员,在 Mastodon 上关注我,https://fosstodon.org/@donwatkins

    查看所有文章

如果您喜欢这篇文章,您可能也会喜欢这些