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
