Добър ден.
Искам да обърна внимание на характерна особеност на 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
Сериен номер: S466NX0K72XX06M
Сериен номер: S466NX0K72XX01A
Сериен номер: S466NX0K43XX48W
Внимателният читател по съпоставяне на сериен номер ще забележи, че \/dev\/nvme1n1 всъщност се намира на \/dev\/nvme2, и обратно.
P.S.
Пожелавам ви никога да не изтривате последния жив NVMe SSD от RAID масива.
Източник: habr.com
