God dag.
Jeg ønsket å trekke fellesskapets oppmerksomhet til et karakteristisk trekk ved Linux når jeg jobber med flere NVMe SSD-er i ett system. Det vil være spesielt relevant for de som liker å lage programvare RAID-matriser fra NVMe.
Jeg håper at informasjonen nedenfor vil bidra til å beskytte dataene dine og eliminere irriterende feil.
Vi er alle vant til følgende Linux-logikk når vi jobber med blokkenheter:
Hvis enheten heter /dev/sda, vil partisjonene på den være /dev/sda1, /dev/sda2, etc.
For å se SMART-attributter bruker vi noe som smartctl -a /dev/sda, og formaterer det og legger til partisjoner til arrayene, som /dev/sda1.
Vi er alle vant til aksiomet om at /dev/sda1 er plassert på /dev/sda. Og hvis SMART en dag viser at /dev/sda nesten er død, er det /dev/sda1 vi vil kaste ut av RAID-arrayet for erstatning.
Det viser seg at denne regelen ikke fungerer når du arbeider med NVMe-navneområder. Bevis:
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
En skarpsinnet leser av serienummersammenligningen vil legge merke til at /dev/nvme1n1 faktisk er plassert på /dev/nvme2, og omvendt.
P.S.
Jeg skulle ønske du aldri fjerner den siste levende NVMe SSD-en fra RAID-arrayen.
Kilde: www.habr.com