Добър ден.
Исках да привлека вниманието на общността към характерна черта на Linux при работа с множество NVMe SSD в една система. Това ще бъде особено подходящо за тези, които обичат да правят софтуерни RAID масиви от NVMe.
Надявам се, че информацията по-долу ще ви помогне да защитите вашите данни и да премахнете досадните грешки.
Всички сме свикнали със следната Linux логика при работа с блокови устройства:
Ако устройството се нарича /dev/sda, тогава дяловете на него ще бъдат /dev/sda1, /dev/sda2 и т.н.
За да видим SMART атрибути, използваме нещо като smartctl -a /dev/sda и го форматираме и добавяме дялове към масивите, като /dev/sda1.
Всички сме свикнали с аксиомата, че /dev/sda1 се намира на /dev/sda. И ако един ден SMART покаже, че /dev/sda е почти мъртъв, това е /dev/sda1, което ще изхвърлим от RAID масива за замяна.
Оказва се, че това правило не работи при работа с NVMe Namespaces. Доказателство:
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
Проницателният читател на сравнението на серийния номер ще забележи, че /dev/nvme1n1 всъщност се намира на /dev/nvme2 и обратно.
R.S.
Пожелавам ви никога да не премахвате последния жив NVMe SSD от RAID масива.
Източник: www.habr.com