Een opstelling met NVMe op Linux

Goedendag.

Ik wilde de aandacht van de gemeenschap vestigen op een karakteristiek kenmerk van Linux bij het werken met meerdere NVMe SSD's in één systeem. Het zal vooral relevant zijn voor degenen die graag software-RAID-arrays van NVMe maken.

Ik hoop dat de onderstaande informatie zal helpen uw gegevens te beschermen en vervelende fouten te elimineren.

We zijn allemaal gewend aan de volgende Linux-logica bij het werken met blokapparaten:
Als het apparaat /dev/sda heet, zijn de partities erop /dev/sda1, /dev/sda2, enz.
Om SMART-attributen te bekijken, gebruiken we zoiets als smartctl -a /dev/sda, formatteren we het en voegen we partities toe aan de arrays, zoals /dev/sda1.

We zijn allemaal gewend aan het axioma dat /dev/sda1 zich op /dev/sda bevindt. En als SMART op een dag aantoont dat /dev/sda bijna dood is, is het /dev/sda1 dat we uit de RAID-array zullen gooien ter vervanging.

Het blijkt dat deze regel niet werkt bij het werken met NVMe-naamruimten. Bewijs:

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

Een scherpzinnige lezer van serienummervergelijking zal merken dat /dev/nvme1n1 zich feitelijk op /dev/nvme2 bevindt, en omgekeerd.

P.S.

Ik zou willen dat je nooit de laatste levende NVMe SSD uit de RAID-array verwijdert.

Bron: www.habr.com

Voeg een reactie