Buona giornata.
Vorrei attirare l'attenzione della comunità su una caratteristica particolare di Linux quando si lavora con più SSD NVMe all'interno di un sistema. Questo è particolarmente rilevante per coloro che amano creare array RAID software utilizzando NVMe.
Spero che le informazioni fornite qui sotto aiutino a proteggere i vostri dati e a evitare noiose errori.
Tutti noi ci siamo abituati alla seguente logica di Linux nel trattamento dei dispositivi a blocchi:
Se un dispositivo è chiamato /dev/sda, le sue partizioni saranno /dev/sda1, /dev/sda2, e così via.
Per visualizzare gli attributi SMART, usiamo qualcosa come smartctl -a /dev/sda, e formattiamo e aggiungiamo le partizioni, come /dev/sda1, agli array.
Siamo tutti abituati all'assioma che /dev/sda1 risiede su /dev/sda. E, se un giorno SMART ci mostra che /dev/sda è quasi guasto, proprio /dev/sda1 sarà quello che scarteremo dall'array RAID per la sostituzione.
Si scopre che, nel lavoro con i Namespace NVMe, questa regola non vale. Prova:
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
Il lettore attento noterà confrontando i numeri di serie che /dev/nvme1n1 si trova in realtà su /dev/nvme2, e viceversa.
P.S.
Ti auguro di non dover mai rimuovere l'ultimo NVMe SSD funzionante dal tuo array RAID.
Fonte: habr.com
