Linux NVMe装备

美好的一天。

当在一个系统中使用多个NVMe SSD时,我想引起社区的注意Linux的特性。对于那些喜欢从NVMe制造软件RAID阵列的人来说,这一点尤其重要。

希望以下信息有助于保护您的数据,并避免出现令人讨厌的错误。

当使用块设备时,我们都习惯于以下Linux逻辑:
如果设备名为/ dev / sda,则其分区将为/ dev / sda1,/ dev / sda2等。
要查看SMART属性,我们使用诸如smartctl -a / dev / sda之类的东西,但是我们对其进行格式化并将分区添加到/ dev / sda1之类的数组中。

我们都习惯了/ dev / sda1位于/ dev / sda上的公理。而且,如果有一天SMART显示/ dev / sda快要用完了,那么我们将把/ dev / sda1从RAID阵列中丢弃以进行更换。

事实证明,在使用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。

All Articles