NVMEツールは情報を保護するためにどのように機能しますか?

NVMEツールは情報を保護するためにどのように機能しますか?

環境:Debian Bullseye、作成時の最新バージョン、nvme-cli 1.12

私はNVMeに初めてアクセスし、現在NVMe SSDを正しく設定しようとしています。私が知っている限り、メタデータは必要ありませんが、T10-PIを使って情報を保護したい。このトピックについては2つの質問があります。

まず、特定のデバイスまたは名前空間に対してこの保護が有効になっていることを確認する方法を知りたいです。デバイスまたは名前空間をフォーマットするときにT10-PIを有効または無効にできることはわかっていますが、現在の状態を取得する方法がわかりません。さまざまなコマンドのマニュアルページのほとんどを読んで、nvmeNVMe仕様をある程度理解しようとしましたが、役に立ちませんでした。見つからないようです。

特定の設定でのみこの問題が発生しました。興味のある他の設定では、現在の状態や値を読み取る方法を理解するのに時間がかかりませんでした。

第二に、この保護を有効にする方法がわかりません。理論的には、man nvme-formatこれは読書から明らかです。-i <n>formatコマンドにパラメータを追加すると、次の結果が表示されます。

nvme format /dev/nvme0 -l 3 -i 1

問題のディスクには6つのLBAモードがあり、これは3私が望むモードです。セクタあたり4096バイト、メタデータがないため、-l 3パラメータはありません。-i 1T10-PIを開きます。

上記のコマンドを実行すると、エラーメッセージなしで実行されます。次に、smartctl -x /dev/nvme0現在のLBAサイズが表示され、4096そのnvme id-ns /dev/nvme0n1モードが3期待どおりに使用されていることを確認します。今まではそんなに良くなった。

しかし、次の内容は非常に疑わしいです。

root@gaia ~/scripts # nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     PHFT640100G7800CGN   INTEL SSDPEDMD800G4                      1         800.17  GB / 800.17  GB      4 KiB +  0 B   8DV10171

Formatのように表示されます4 KiB + 0 B。なぜ?私が知っているのは、T10-PIにはLBAごとに少なくとも8バイトのメタデータが必要です。それで、正確に何が起こっているのかわかりません。

nvme format /dev/nvme0 -l 3 -i 1メタデータがないためスペースがないため、PIを無効にしますか?それともPIが有効になっていますが、nvme list「実際の」メタデータサイズのみが表示されますか(PIに必要な「暗黙的な」バイトを除く)。

with-l 4の代わりに使用する必要がありますか? 4096バイトのLBAサイズ+ 8バイトのメタデータを表します。を使用する必要がある場合、誤ったコマンドライン引数でエラーが発生しないのはなぜですか(メタデータがないとT10-PIを開くことはできません)。-l 3nvme format-l 4-l 4nvme format -l 3 -i 1

関連情報