Dzień dobry.
Chciałem zwrócić uwagę społeczności na charakterystyczną cechę systemu Linux przy pracy z wieloma dyskami NVMe SSD w jednym systemie. Szczególnie istotne będzie to dla tych, którzy lubią tworzyć programowe macierze RAID z NVMe.
Mam nadzieję, że poniższe informacje pomogą zabezpieczyć Twoje dane i uchronią od kłopotliwych błędów.
Wszyscy przyzwyczailiśmy się do następującej logiki w systemie Linux przy pracy z urządzeniami blokowymi:
Jeśli urządzenie nazywa się /dev/sda, to jego partycje będą wynosić /dev/sda1, /dev/sda2 itd.
Aby wyświetlić atrybuty SMART, używamy czegoś w rodzaju smartctl -a /dev/sda, a partycje formatujemy i dodajemy już do macierzy, takie jak /dev/sda1.
Wszyscy przyzwyczailiśmy się do aksjomatu, że /dev/sda1 znajduje się na /dev/sda. I jeśli pewnego dnia SMART pokaże, że /dev/sda prawie umarł, to właśnie /dev/sda1 będziemy wymieniać w macierzy RAID na nowy.
Okazuje się, że przy pracy z przestrzeniami nazw NVMe ta zasada nie obowiązuje. Dowód:
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
Numer seryjny: S466NX0K72XX06M
Numer seryjny: S466NX0K72XX01A
Numer seryjny: S466NX0K43XX48W
Uważny czytelnik po porównaniu numerów seryjnych zauważy, że /dev/nvme1n1 w rzeczywistości znajduje się na /dev/nvme2, i odwrotnie.
P.S.
Życzę Wam, abyście nigdy nie musieli usuwać ostatniego działającego dysku NVMe SSD z macierzy RAID.
Źródło: habr.com
