
在 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 驱动器所有者,它对我来说一直是一个很棒的 工具。亲自尝试一下吧!