環境:Debian Bullseye、作成時の最新バージョン、nvme-cli 1.12
私はNVMeに初めてアクセスし、現在NVMe SSDを正しく設定しようとしています。私が知っている限り、メタデータは必要ありませんが、T10-PIを使って情報を保護したい。このトピックについては2つの質問があります。
まず、特定のデバイスまたは名前空間に対してこの保護が有効になっていることを確認する方法を知りたいです。デバイスまたは名前空間をフォーマットするときにT10-PIを有効または無効にできることはわかっていますが、現在の状態を取得する方法がわかりません。さまざまなコマンドのマニュアルページのほとんどを読んで、nvme
NVMe仕様をある程度理解しようとしましたが、役に立ちませんでした。見つからないようです。
特定の設定でのみこの問題が発生しました。興味のある他の設定では、現在の状態や値を読み取る方法を理解するのに時間がかかりませんでした。
第二に、この保護を有効にする方法がわかりません。理論的には、man nvme-format
これは読書から明らかです。-i <n>
formatコマンドにパラメータを追加すると、次の結果が表示されます。
nvme format /dev/nvme0 -l 3 -i 1
問題のディスクには6つのLBAモードがあり、これは3
私が望むモードです。セクタあたり4096バイト、メタデータがないため、-l 3
パラメータはありません。-i 1
T10-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 3
nvme format
-l 4
-l 4
nvme format -l 3 -i 1