Ein Setup mit NVMe unter Linux

Guten Tag.

Ich wollte die Community auf ein charakteristisches Merkmal von Linux bei der Arbeit mit mehreren NVMe-SSDs in einem System aufmerksam machen. Dies wird besonders für diejenigen relevant sein, die Software-RAID-Arrays aus NVMe erstellen möchten.

Ich hoffe, dass die folgenden Informationen dazu beitragen, Ihre Daten zu schützen und lästige Fehler zu vermeiden.

Wir alle sind bei der Arbeit mit Blockgeräten an die folgende Linux-Logik gewöhnt:
Wenn das Gerät /dev/sda heißt, lauten die darauf befindlichen Partitionen /dev/sda1, /dev/sda2 usw.
Um SMART-Attribute anzuzeigen, verwenden wir etwas wie smartctl -a /dev/sda, formatieren es und fügen den Arrays Partitionen hinzu, z. B. /dev/sda1.

Wir sind alle an den Grundsatz gewöhnt, dass sich /dev/sda1 auf /dev/sda befindet. Und wenn SMART eines Tages anzeigt, dass /dev/sda fast tot ist, werden wir /dev/sda1 zum Austausch aus dem RAID-Array entfernen.

Es stellt sich heraus, dass diese Regel bei der Arbeit mit NVMe-Namespaces nicht funktioniert. Nachweisen:

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

Ein aufmerksamer Leser des Seriennummernvergleichs wird feststellen, dass sich /dev/nvme1n1 tatsächlich auf /dev/nvme2 befindet und umgekehrt.

R.S.

Ich wünschte, Sie würden niemals die letzte lebende NVMe-SSD aus dem RAID-Array entfernen.

Source: habr.com

Kommentar hinzufügen