Fidus med NVMe på Linux

God eftermiddag.

Jeg vil gerne henlede fællesskabets opmærksomhed på en karakteristisk egenskab ved Linux, når man arbejder med flere NVMe SSD'er i samme system. Det vil være særlig relevant for dem, der kan lide at lave software RAID-arrays fra NVMe.

Jeg håber, at oplysningerne nedenfor vil hjælpe med at beskytte dine data og spare dig for irriterende fejl.

Vi er alle vant til den følgende logik i Linux, når vi arbejder med blok-enheder:
Hvis enheden hedder /dev/sda, så vil partitionerne på den være /dev/sda1, /dev/sda2 osv.
For at se SMART-attributterne bruger vi noget som smartctl -a /dev/sda, og når vi formaterer, tilsætter vi allerede partitionerne i arrays, som /dev/sda1.

Vi er alle vant til aksiomet, at /dev/sda1 ligger på /dev/sda. Og, hvis SMART en dag viser, at /dev/sda næsten er død, — vil det netop være /dev/sda1, vi vil fjerne fra RAID-arrayet til udskiftning.

Det viser sig, at denne regel ikke gælder, når man arbejder med NVMe Namespaces. 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
Serienummer:                      S466NX0K72XX06M
Serienummer:                      S466NX0K72XX01A
Serienummer:                      S466NX0K43XX48W

Den opmærksomme læser vil bemærke ved sammenligningen af serienumrene, at /dev/nvme1n1 faktisk ligger på /dev/nvme2, og omvendt.

P.S.

Jeg ønsker, at du aldrig skal fjerne den sidste fungerende NVMe SSD fra RAID-arrayet.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster