Linux での NVMe のセットアップ

今日は。

XNUMX つのシステムで複数の NVMe SSD を使用する場合の Linux の特徴的な機能にコミュニティの注目を集めたいと思いました。これは、NVMe からソフトウェア RAID アレイを作成したい人にとって特に重要です。

以下の情報がデータを保護し、迷惑なエラーを排除するのに役立つことを願っています。

私たちは皆、ブロック デバイスを操作するときに次の Linux ロジックに慣れています。
デバイスの名前が /dev/sda の場合、そのデバイス上のパーティションは /dev/sda1、/dev/sda2 などになります。
SMART 属性を表示するには、smartctl -a /dev/sda のようなものを使用し、それをフォーマットして、/dev/sda1 などのパーティションを配列に追加します。

私たちは皆、/dev/sda1 は /dev/sda にあるという公理に慣れています。そして、ある日、SMART が /dev/sda がほぼ停止していることを示した場合、交換のために RAID アレイから除外するのは /dev/sda1 です。

NVMe 名前空間を使用する場合、このルールは機能しないことが判明しました。証拠:

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 アレイから削除しないでいただきたいと思います。

出所: habr.com

コメントを追加します