Schönen Tag.Ich wollte die Community auf ein charakteristisches Merkmal von Linux aufmerksam machen, wenn ich mit mehreren NVMe-SSDs in einem System arbeite. Dies ist besonders wichtig für diejenigen, die Software-RAID-Arrays aus NVMe erstellen möchten.Ich hoffe, dass die folgenden Informationen dazu beitragen, Ihre Daten zu schützen und Sie vor lästigen Fehlern zu bewahren.Wir alle sind an die folgende Linux-Logikgewöhnt, wenn wir mit Blockgeräten arbeiten: Wenn das Gerät / dev / sda heißt, lauten die Partitionen darauf / dev / sda1, / dev / sda2 usw.Um SMART-Attribute anzuzeigen, verwenden wir so etwas wie smartctl -a / dev / sda, formatieren es jedoch und fügen Partitionen zu Arrays wie / dev / sda1 hinzu.Wir sind alle an das Axiom gewöhnt, dass sich / dev / sda1 auf / dev / sda befindet. Und wenn SMART an einem Tag zeigt, dass / dev / sda fast tot ist, werden wir / dev / sda1 aus dem RAID-Array entfernen, um es zu ersetzen.Es stellt sich heraus, dass diese Regel bei der Arbeit mit NVMe-Namespaces nicht funktioniert. Beweis: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 beim Vergleich von Seriennummern wird feststellen, dass sich / dev / nvme1n1 tatsächlich in / dev / nvme2 befindet und umgekehrt.P.S.Ich möchte, dass Sie niemals die letzte Live-NVMe-SSD aus dem RAID-Array entfernen.