日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
NVMECONTROL(8) FreeBSD システム管理者マニュアル NVMECONTROL(8)
名称
nvmecontrol -- NVM Express 制御ユーティリティ
書式
nvmecontrol devlist
nvmecontrol identify [-v] [-x] [-n nsid] <device-id | namespace-id>
nvmecontrol perftest <-n num_threads> <-o read|write> [-p]
<-s size_in_bytes> <-t time_in_sec> <namespace-id>
nvmecontrol reset <device-id>
nvmecontrol logpage <-p page_id> [-x] [-v vendor-string] [-b] [-f LSP]
[-i LSI] [-r] <device-id | namespace-id>
nvmecontrol ns active <device-id>
nvmecontrol ns allocated <device-id>
nvmecontrol ns attach <-n nsid> <-c cntid> <device-id>
nvmecontrol ns attached <-n nsid> <device-id>
nvmecontrol ns controllers <device-id>
nvmecontrol ns create <-s nsze> [-c ncap] [-f lbaf] [-m mset] [-n nmic]
[-p pi] [-l pil] [-L flbas] [-d dps] <device-id>
nvmecontrol ns delete <-n nsid> <device-id>
nvmecontrol ns detach <-n nsid> <-c cntid> <device-id>
nvmecontrol ns identify [-v] [-x] <-n nsid> <device-id>
nvmecontrol nsid <device-id | namespace-id>
nvmecontrol resv acquire <-c crkey> [-p prkey] <-t rtype> <-a racqa>
<namespace-id>
nvmecontrol resv register [-c crkey] <-k nrkey> <-r rrega> [-i iekey]
[-p cptpl] <namespace-id>
nvmecontrol resv release <-c crkey> <-t rtype> <-a rrela> <namespace-id>
nvmecontrol resv report [-e] [-v] [-x] <namespace-id>
nvmecontrol firmware [-s slot] [-f path_to_firmware] [-a] <device-id>
nvmecontrol format [-f fmt] [-m mset] [-o pi] [-l pil] [-E] [-C] <device-
id | namespace-id>
nvmecontrol sanitize <-a sanact> [-c owpass] [-d] [-p ovrpat] [-r] [-I]
[-U] <device-id>
nvmecontrol power [-l] [-p -power_state] [-w -workload_hint]
nvmecontrol selftest <-c code> <device-id | namespace-id>
nvmecontrol wdc cap-diag [-o -path_template] <device-id>
nvmecontrol wdc drive-log [-o -path_template] <device-id>
nvmecontrol wdc get-crash-dump [-o -path_template] <device-id>
nvmecontrol admin-passthru [args] <device-id>
nvmecontrol io-passthru [args] <namespace-id>
解説
NVM Express (NVMe) は、PCI Express 上の SSD と他の高速記憶デバイスのため
の、記憶プロトコルの標準です。
identify
識別コマンドは、device-id が指定されなら、ドライブの IDENTIFY_CONTROLLER
からの情報を報告します namespace-id が指定されるなら、IDENTIFY_NAMESPACE
データを報告します。ディスク名で使用されるとき、データは、namespace の
nsid が -n フラグで上書きされないなら、IDENTIFY_NAMESPACE が報告されま
す。次に、その namespace のデータは、それが存在するなら、報告されます。コ
マンドは、次のパラメータを受け付けます:
-n デバイスと関連する namespace の代わりに使用される namespace
<nsid>。``0'' の nsid は、そのドライブと関連する
IDENTIFY_CONTROLLER データを検索して取り出すために使用されます。
logpage
logpage コマンドは、様々なタイプのログページをどのようにを印刷 (表示) す
るかを知っています。また、それは、hgst/wdc と intel から、ベンダ特有のロ
グページに関して知っています。いくつかのベンダは、異なったデータに対して
同じログページ番号を使用することに注意してください。
ページ 0x01
エラーログを駆動します
ページ 0x02
ヘルス/スマートデータ
ページ 0x03
ファームウェア情報
ページ 0x04
変更された名前空間のリスト
ページ 0x05
サポートされたコマンドと効果
ページ 0x06
デバイス自己テスト
ページ 0x80
予約通知
ページ 0x81
健全性の状態
ページ 0xc1
高度なスマート情報 (WDC/HGST)
ページ 0xc1
読み込み待ち時間の状態 (Intel)
ページ 0xc2
書き込み待ち時間の状態 (Intel)
ページ 0xc5
温度状態 (Intel);
ページ 0xca
高度なスマート情報 (Intel)
-v help を指定することは、すべての有効なベンダとページをリストします。-x
は、16 進数としてページを印刷 (表示) します。-b は、ページのためのバイナ
リのデータを印刷 (表示) します。-s は、ログ特有フィールドを設定します。-i
は、ログ特有識別子を設定します。-r は、保持する非同期イベントを設定しま
す。
ns
様々な名前空間の管理コマンド。名前空間の管理がデバイスによってサポートさ
れているなら、名前空間のリスト、作成と削除を許可し、名前空間のコントロー
ラをリスト、アタッチ、デタッチを許可します。
nsid
<namespace-id> または <device-id> 引数と関連する namespace id とコント
ローラデバイスを報告します。
resv 取得
指定されたパラメータを使用して、名前空間の予約を取得するか、または先取り
します:
-a 取得するアクションは、次の通りです:
0 Acquire (取得)
1 Preempt (先取り)
2 preempt (先取りし)、アボートします
-c 現在の予約キー。
-p 先取り予約キー。
-t 予約タイプ:
1 排他的な書き込み
2 排他的なアクセス
3 排他的な書き込み - 登録者のみ
4 排他的なアクセス - 登録者のみ
5 排他的な書き込み - すべての登録者
6 排他的なアクセス - すべての登録者
resv レジスタ
指定されたパラメータを使用して、予約キーを登録する、登録解除、または置き
換えます:
-c 現在の予約キー。
-k 新しい予約キー。
-r アクションを登録します:
0 Register (登録)
1 Unregister (登録解除)
2 Replace (置き換え)
-i 既存のキーを無視します
-p 電源喪失状態を通して主張を変更します:
0 PTPL 状態に変更しません
2 PTPL 状態を 0 に設定します。予約は、解放され、登録者は、
電源オンでクリアされます。
3 PTPL 状態を 1 に設定します。予約と登録者は、電源喪失をに
渡って主張します。
resv 解放
指定されたパラメータを使用して予約を解放またはクリアします:
-c 現在の予約キー。
-t 予約タイプ。
-a 解放アクション:
0 Release (解放)
1 Clean (クリア)
resv 報告
指定されたパラメータを使用して予約状態を印刷 (表示) します:
-x 16 進数で予約状態を印刷 (表示) します。
-e 拡張されたデータ構造を使用します。
形式
指定されたパラメータを使用して、指定された名前空間、または指定されたコン
トローラのすべての名前空間を書式化します。fmt LBA 形式、mset メタデータ設
定、pi 保護情報、pil 保護情報の位置。特有の名前空間を書式化するとき、既存
の値は、デフォルトとして使用されます。すべての名前空間を書式化するとき、
すべてのパラメータが、指定されるべきです。いくつかのコントローラは、特有
のまたはすべての名前空間の書式化または消去をサポートしていません。オプ
ション -E は、書式化の間にユーザデータ消去 (User Data Erase) を有効にしま
す。オプション -C は、書式化の間に、暗号化消去 (Cryptographic Erase) を有
効にします。
サニタイズ (sanitize)
指定されたパラメータを使用して、指定されたコントローラの NVM サブシステム
をサニタイズします: 訳注: サニタイズは、秘密にするべき情報を除去するこ
と。
-a operation
実行するサニタイズ操作を指定します。
overwrite ユーザ供給データパターンをデバイスに 1 回以上書
き込むことによって上書き操作を実行します。パ
ターンは、-p 引数によって与えられます。回数は、
-c 引数によって与えられます。
block ブロック消去操作を実行します。すべてのデバイス
のブロックは、ベンダの定義された値、通常 0、に
設定されます。
crypto 暗号化消去操作を実行します。暗号化キーは、デー
タの暗号解読を防止するために変更されます。
exitfailure 以前に失敗したサニタイズ操作を終了します。失敗
したサニタイズ操作は、-U 引数によって提供される
ように、無制限の完了モードで実行されていた場合
のみ、終了することができます。
-c passes
`overwrite' (上書き) 操作を実行する時のパスの数。有効な値は、1 か
ら 16 までの間です。デフォルトは、1 です。
-d サニタイズの後に割り付け解除しません。
-I `overwrite' (上書き) 操作を実行するとき、パターンは、連続的なパス
の間で逆にされます。
-p pattern
`overwrite' (上書き) 操作を実行するとき、使用する 32 ビットのパ
ターン。パターンは、各ブロックを満たすことが必要であるように繰り
返されます。
-U 無制限の完了モードでサニタイズを実行します。操作が失敗するなら、
それは、後で `exitfailure' 操作で終了することができます。
-r ``report only'' (リポートのみ) モードで実行します。これは、ドライ
ブですでに実行しているサニタイズで状態を報告します。
power
NVMe コントローラの電源モードを管理します。
-l サポートされているすべての電源モードをリストします。
-p mode
電源モードを mode に設定します。これは、
nvmecontrol power -l
コマンドでリストされたモードでなければなりません。
-w hint
自動電源モード制御のための作業負荷のヒントを設定します。
0 作業負荷のヒントは、提供されません。
1 拡張アイドル期間の作業負荷。デバイスは、同時に数分間、し
ばしばアイドル状態になります。数秒の間に書き込みコマンド
のバーストは、送られて来ます。つぎに、デバイスは、アイド
ル状態に戻ります。
2 重いシーケンシャルな書き込み。膨大な数のシーケンシャルな
書き込みは、送信され、送信キューを満たします。
Other すべての他の値は、予約されていて、標準的な意味がありませ
ん。
詳細については、関連する NVM Express Base Standard の ``NVM Sub
system Workloads'' セクションを参照してください。
selftest
指定されたデバイスの自己テストを開始します:
-c code
デバイスの自己テストのコマンドコードを指定します。共通のコード
は、次の通りです:
0x1 ショートデバイスの自己テストを開始します。
0x2 拡張デバイスの自己フテストを開始します。
0xe ベンダ固有のデバイスの自己テストを開始します。
0xf デバイスの自己テスト操作を中止します。
wdc
様々な wdc コマンドは、wdc/hgst ドライブからログデータ検索して取り出しま
す。-o フラグは、ファイルを出力するために使用するパステンプレートを指定し
ます。各ファイルは、パステンプレート (何もないデフォルト) を取り、.bin が
続くドライブのシリアル番号とダンプのタイプを付け加えます。これらのログ
は、解析のためのベンダに送られなければなりません。このツールは、それらを
抽出する方法だけを提供しています。
passthru
``admin-passthru'' と ``io-passthru'' コマンドは、NVMe コマンドをデバイス
の管理またはデータ部分に送信します。これらのコマンドは、nvme-cli と互換性
があると期待されています。詳細については、「NVM Express Base Standard;
NVM Express 基本標準」を参照してください。
-o --opcode opcode
送信する操作コード (opcode)。
-2 --cdw2 value CDW2 のための 32 ビット値。
-3 --cdw3 value CDW3 のための 32 ビット値。
-4 --cdw10 value CDW10 のための 32 ビット値。
-5 --cdw11 value CDW11 のための 32 ビット値。
-6 --cdw12 value CDW12 のための 32 ビット値。
-7 --cdw13 value CDW13 のための 32 ビット値。
-8 --cdw14 value CDW14 のための 32 ビット値。
-9 --cdw15 value CDW15 のための 32 ビット値。
-l --data-len I/O (バイト) のためのデータの長さ。
-m --metadata-len
コマンド (バイト) のためのメタデータセグメントの長さ。
これは、nvme(4) で無視され、実装されていません。
-f --flags Nvme コマンドフラグ。
-n --namespace-id
コマンド (無視) のための namespace ID。
-p --prefill プリフィル (prefill) ペイロードの値。
-b --raw-binary バイナリ形式の出力 (そうでなければ、16 進数のダンプが生
成されます)。
-d --dry-run 実際、コマンドを実行しませんが、それの判断が正しいかど
うか (sanity) のチェックを実行します。
-r --read コマンドは、デバイスからデータを読み込みます。
-s --show-command
標準出力にすべてのコマンド値を表示します。
-w --write コマンドは、データをデバイスに書き込みます。
任意のコマンドをデバイスに送信します。ベンダ特有のログを抽出するために使
用することができます。可能なデバイスに/デバイスから、転送しますが、
MAXPHYS バイトに制限されます。コマンドは、データを読み込むか、またはそれ
を書き込みますが、両方ではありません。。メタデータを必要とするコマンド
は、nvme(4) ドライブによってサポートされません。
デバイス名
<namespace-id> が必要なところで、利用者は、ndaZ または nvdZ のような
nvmeXnsY デバイス、またはディスクデバイスのいずれかを使用することができま
す。先導する /dev/ は、省略されます。<device-id> が必要なところで、利用者
は、nda Z または nvdZ のような nvmeX デバイス、またはディスクデバイスを使
用することができます。オプション <nsid> を取るコマンドについて、利用者
は、他の namespaces またはドライブそれ自体を問い合わせるために、情報を取
得するためにそれを使用することができます。``0'' の <nsid> は、ドライブそ
れ自体を問い合わせることを意味しています。
使用例
nvmecontrol devlist
それらのデバイスノードと共に NVMe コントローラと名前空間のリストを表示し
ます。
nvmecontrol identify nvme0
nvmecontrol identify -n 0 nvd0
nvme0 IDENTIFY_CONTROLLER データの人間に読み込み可能な要約を表示します。
この例で、nvd0 は、nvme0 に接続されます。
nvmecontrol identify -x -v nvme0ns1
nvmecontrol identify -x -v -n 1 nvme0
名前空間 1 のための nvme0 IDENTIFY_NAMESPACE データの 16 進数のダンプを表
示します。
nvmecontrol perftest -n 32 -o read -s 512 -t 30 nvme0ns1
30 秒の間 32 のカーネルスレッドを使用して nvme0ns1 の性能テストを実行しま
す。各スレッドは、単一の 512 バイトの読み込みコマンドを発行します。結果
は、30 秒の期限が切れると、標準出力 (stdout) に印刷 (表示) されます。
nvmecontrol reset nvme0
nvmecontrol reset nda4
nvme0 コントローラのコントローラレベルのリセットを実行します。この例で、
nda4 は、nvme0 に接続されます。
nvmecontrol logpage -p 1 nvme0
nvme0 コントローラのエラー情報ログの人間に読み込み可能な要約を表示しま
す。NVMe 仕様によって定義されたログページは、Error Information Log (エ
ラー情報ログ) (ID=1)、SMART/Health Information Log (SMART/Health 情報ロ
グ) (ID=2) と Firmware Slot Log (ファームウェアのスロットログ) (ID=3) を
含んでいます。
nvmecontrol logpage -p 0xc1 -v wdc nvme0
nvme0 の wdc 特有の高度な SMART データの人間に読み込み可能な要約を表示し
ます。
nvmecontrol logpage -p 1 -x nvme0
nvme0 コントローラのエラー情報ログの16進数のダンプを表示します。
nvmecontrol logpage -p 0xcb -b nvme0 > /tmp/page-cb.bin
標準出力のバイナリのデータとしてベンダ特有ページ 0xcb の内容を印刷 (表示)
します。テンポラリファイルにそれをリダイレクトします。
nvmecontrol firmware -s 2 -f /tmp/nvme_firmware nvme0
"/tmp/nvme_firmware" に含まれるファームウェアイメージを nvme0 コントロー
ラのスロット 2 にダウンロードしますが、イメージを活性化しません。
nvmecontrol firmware -s 4 -a nvme0
次のリセットで nvme0 コントローラのスロット 4 のファームウェアを活性化し
ます。
nvmecontrol firmware -s 7 -f /tmp/nvme_firmware -a nvme0
"/tmp/nvme_firmware" に含まれるファームウェアイメージを nvme0 コントロー
ラのスロット 7 にダウンロードしますが、次のリセットでそれを活性化します。
nvmecontrol power -l nvme0
すべての現在の電源 (power) モードをリストします。
nvmecontrol power -p 3 nvme0
現在の電源 (power) モードを設定します。
nvmecontrol power nvme0
現在の電源 (power) モードを取得します。
nvmecontrol identify -n 0 nda0
nda0 デバイスに関連するドライブデータを識別します。対応する nvmeX デバイ
スは、自動的に使用されます。
nvmecontrol identify nda0
nda0 デバイスと関連する namespace パラメータを取得します。対応する
nvmeXnsY デバイスは、自動的に使用されます。
動的なロード
ディレクトリ /lib/nvmecontrol と /usr/local/lib/nvmecontrol は、あらゆる
.so ファイルのためにスキャンされます。これらのファイルは、ロードされま
す。top リンカセットのメンバは、トップレベルのコマンドに追加されます。
logpage リンカセットのメンバは、logpage パーサに追加されます。
関連項目
The NVM Express Base Specification, June 10, 2019,
https://nvmexpress.org/wp-content/uploads/NVM
Express-1_4-2019.06.10-Ratified.pdf.
歴史
nvmecontrol ユーティリティは、FreeBSD 9.2 で登場しました。
作者
nvmecontrol は、Intel によって開発され、最初に Jim Harris
<jimharris@FreeBSD.org> によって書かれました。
このマニュアルページは、Jim Harris <jimharris@FreeBSD.org> によって書かれ
ました。
FreeBSD 13.2 December 19, 2020 FreeBSD 13.2