MountainX Asked: 2018-06-27 15:51:36 +0800 CST2018-06-27 15:51:36 +0800 CST 2018-06-27 15:51:36 +0800 CST NVMe 存储设备的持久设备命名 772 Linux 内核对存储设备的简单命名(例如/dev/sda、/dev/sdb)可以在引导过程中随机更改。NVMe 存储设备也是如此吗?它们的名称例如 /dev/nvme0n1p1 和 /dev/nvme0n1p2 等。 devices block-device 1 个回答 Voted Best Answer rohr 2018-06-27T20:45:39+08:002018-06-27T20:45:39+08:00 简短:不。您不能依赖描述符的名称。你很可能永远不会。 NVMe 命名标准描述: nvme0:第一个注册设备的设备控制器 nvme0n1:第一个注册设备的第一个命名空间 nvme0n1p1:第一个注册设备的第一个命名空间的第一个分区 所以整体命名取决于你的物理布局。通过添加/删除块设备、驱动器故障等,这可能会根据您的用例而改变。 基本上与 sd_ 描述符相同。 您可以依赖的是每个设备列出的分区的顺序,因为这些分区被存储在块设备的分区表中并从中读取。只要您不更改分区布局,顺序保持不变。 最后,参考设备 UUID 或 PARTUUID 仍然是最佳实践,即使使用 NVMe 也是如此。根据用例,引用 LABEL 可能更方便。
简短:不。您不能依赖描述符的名称。你很可能永远不会。
NVMe 命名标准描述:
所以整体命名取决于你的物理布局。通过添加/删除块设备、驱动器故障等,这可能会根据您的用例而改变。
基本上与 sd_ 描述符相同。
您可以依赖的是每个设备列出的分区的顺序,因为这些分区被存储在块设备的分区表中并从中读取。只要您不更改分区布局,顺序保持不变。
最后,参考设备 UUID 或 PARTUUID 仍然是最佳实践,即使使用 NVMe 也是如此。根据用例,引用 LABEL 可能更方便。