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