Devices

NVMe 儲存設備的持久設備命名

  • June 27, 2018

Linux 核心對儲存設備的簡單命名(例如/dev/sda、/dev/sdb)可以在引導過程中隨機更改。NVMe 儲存設備也是如此嗎?它們的名稱例如 /dev/nvme0n1p1 和 /dev/nvme0n1p2 等。

簡短:不。您不能依賴描述符的名稱。你很可能永遠不會。

NVMe 命名標準描述:

  • nvme0:第一個註冊設備的設備控制器
  • nvme0n1:第一個註冊設備的第一個命名空間
  • nvme0n1p1:第一個註冊設備的第一個命名空間的第一個分區

所以整體命名取決於你的物理佈局。通過添加/刪除塊設備、驅動器故障等,這可能會根據您的案例而改變。

基本上與 sd_ 描述符相同。

您可以依賴的是每個設備列出的分區的順序,因為這些分區被儲存在塊設備的分區表中並從中讀取。只要您不更改分區佈局,順序保持不變。

最後,參考設備 UUID 或 PARTUUID 仍然是最佳實踐,即使使用 NVMe 也是如此。根據案例,引用 LABEL 可能更方便。

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