Linux 上的 NVMe 設定

今天好。

我想讓社群專注於 Linux 在一個系統中使用多個 NVMe SSD 時的一個特徵。 對於那些喜歡從 NVMe 製作軟體 RAID 陣列的人來說,它尤其重要。

我希望以下資訊將有助於保護您的資料並消除惱人的錯誤。

在使用區塊設備時,我們都習慣以下 Linux 邏輯:
如果裝置名為 /dev/sda,則其上的分割區將為 /dev/sda1、/dev/sda2 等。
要查看 SMART 屬性,我們使用 smartctl -a /dev/sda 之類的命令,對其進行格式化並向陣列添加分區,例如 /dev/sda1。

我們都習慣了這樣一個公理:/dev/sda1 位於/dev/sda 上。 而且,如果有一天 SMART 顯示 /dev/sda 幾乎失效,我們將從 RAID 陣列中扔掉 /dev/sda1 進行替換。

事實證明,此規則在使用 NVMe 命名空間時不起作用。 證明:

nvme list && ( smartctl -a /dev/nvme0 && smartctl -a /dev/nvme1  && smartctl -a /dev/nvme2 ) | grep Serial
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev  
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     S466NX0K72XX06M      Samsung SSD 970 EVO 500GB                1          96.92  GB / 500.11  GB    512   B +  0 B   1B2QEXE7
/dev/nvme1n1     S466NX0K43XX48W      Samsung SSD 970 EVO 500GB                1          91.00  GB / 500.11  GB    512   B +  0 B   1B2QEXE7
/dev/nvme2n1     S466NX0K72XX01A      Samsung SSD 970 EVO 500GB                1           0.00   B / 500.11  GB    512   B +  0 B   1B2QEXE7
Serial Number:                      S466NX0K72XX06M
Serial Number:                      S466NX0K72XX01A
Serial Number:                      S466NX0K43XX48W

精明的序號比較讀者會注意到 /dev/nvme1n1 實際上位於 /dev/nvme2 上,反之亦然。

附言

我希望你永遠不要從 RAID 陣列中刪除最後一個活著的 NVMe SSD。

來源: www.habr.com

添加評論