Dzień dobry.
Chciałem zwrócić uwagę społeczności na charakterystyczną cechę Linuksa podczas pracy z wieloma dyskami SSD NVMe w jednym systemie. Będzie to szczególnie istotne dla tych, którzy lubią tworzyć programowe macierze RAID z NVMe.
Mam nadzieję, że poniższe informacje pomogą chronić Twoje dane i wyeliminować irytujące błędy.
Wszyscy jesteśmy przyzwyczajeni do następującej logiki Linuksa podczas pracy z urządzeniami blokowymi:
Jeśli urządzenie nazywa się /dev/sda, to będą na nim partycje /dev/sda1, /dev/sda2 itd.
Aby wyświetlić atrybuty SMART, używamy czegoś takiego jak smartctl -a /dev/sda, formatujemy go i dodajemy partycje do tablic, np. /dev/sda1.
Wszyscy jesteśmy przyzwyczajeni do aksjomatu, że /dev/sda1 znajduje się w /dev/sda. A jeśli pewnego dnia SMART pokaże, że /dev/sda jest prawie martwy, to właśnie /dev/sda1 wyrzucimy z macierzy RAID w celu wymiany.
Okazuje się, że ta reguła nie działa podczas pracy z przestrzeniami nazw NVMe. 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
Serial Number: S466NX0K72XX06M
Serial Number: S466NX0K72XX01A
Serial Number: S466NX0K43XX48W
Wnikliwy czytelnik porównania numerów seryjnych zauważy, że /dev/nvme1n1 faktycznie znajduje się w /dev/nvme2 i odwrotnie.
R.S.
Życzę Ci, abyś nigdy nie usuwał ostatniego działającego dysku SSD NVMe z macierzy RAID.
Źródło: www.habr.com