FreeBSDでNVMeデバイスを操作するnvmecontrolコマンドは、2020-10-17現在ドキュメントが不完全な状態で、
NVMeデバイス一覧を表示。デバイスだけではなく名前空間も表示されるようだ。
# nvmecontrol devlist nvme0: SAMSUNG MZQLB960HAJR-00007 nvme0ns1 (915715MB) nvme1: SAMSUNG MZQLB960HAJR-00007 nvme1ns1 (915715MB)
指定NVMeデバイスの詳細表示。
NVMeデバイスを指定した場合はIDENTIFY_CONTROLLERの、名前空間を指定した場合はIDENTIFY_NAMESPACEのデータを人間が読める形で表示する。
-xオプションで各データの先頭1024バイトの16進ダンプを表示、-vを付けると4096バイト(全ダンプ?)になる。
# nvmecontrol identify nvme1 Controller Capabilities/Features ================================ Vendor ID: 144d Subsystem Vendor ID: 144d Serial Number: S437NY0KC00562 Model Number: SAMSUNG MZQLB960HAJR-00007 Firmware Version: EDA5202Q Recommended Arb Burst: 2 IEEE OUI Identifier: 38 25 00 Multi-Path I/O Capabilities: Not Supported Max Data Transfer Size: 2097152 bytes Controller ID: 0x0004 Version: 1.2.0 Admin Command Set Attributes ============================ Security Send/Receive: Supported Format NVM: Supported Firmware Activate/Download: Supported Namespace Managment: Supported Device Self-test: Not Supported Directives: Not Supported NVMe-MI Send/Receive: Not Supported Virtualization Management: Not Supported Doorbell Buffer Config: Not Supported Get LBA Status: Not Supported Sanitize: Not Supported Abort Command Limit: 8 Async Event Request Limit: 4 Number of Firmware Slots: 3 Firmware Slot 1 Read-Only: Yes Per-Namespace SMART Log: Yes Error Log Page Entries: 64 Number of Power States: 1 Total NVM Capacity: 960197124096 bytes Unallocated NVM Capacity: 0 bytes NVM Command Set Attributes ========================== Submission Queue Entry Size Max: 64 Min: 64 Completion Queue Entry Size Max: 16 Min: 16 Number of Namespaces: 1 Compare Command: Supported Write Uncorrectable Command: Supported Dataset Management Command: Supported Write Zeroes Command: Supported Save Features: Supported Reservations: Not Supported Timestamp feature: Not Supported Verify feature: Not Supported Fused Operation Support: Not Supported Format NVM Attributes: Crypto Erase, Per-NS Erase, Per-NS Format Volatile Write Cache: Not Present
# nvmecontrol identify -v nvme1 Controller Capabilities/Features ================================ Vendor ID: 144d Subsystem Vendor ID: 144d Serial Number: S437NY0KC00562 Model Number: SAMSUNG MZQLB960HAJR-00007 Firmware Version: EDA5202Q Recommended Arb Burst: 2 IEEE OUI Identifier: 38 25 00 Multi-Path I/O Capabilities: Not Supported Max Data Transfer Size: 2097152 bytes Controller ID: 0x0004 Version: 1.2.0 Admin Command Set Attributes ============================ Security Send/Receive: Supported Format NVM: Supported Firmware Activate/Download: Supported Namespace Managment: Supported Device Self-test: Not Supported Directives: Not Supported NVMe-MI Send/Receive: Not Supported Virtualization Management: Not Supported Doorbell Buffer Config: Not Supported Get LBA Status: Not Supported Sanitize: Not Supported Abort Command Limit: 8 Async Event Request Limit: 4 Number of Firmware Slots: 3 Firmware Slot 1 Read-Only: Yes Per-Namespace SMART Log: Yes Error Log Page Entries: 64 Number of Power States: 1 Total NVM Capacity: 960197124096 bytes Unallocated NVM Capacity: 0 bytes NVM Command Set Attributes ========================== Submission Queue Entry Size Max: 64 Min: 64 Completion Queue Entry Size Max: 16 Min: 16 Number of Namespaces: 1 Compare Command: Supported Write Uncorrectable Command: Supported Dataset Management Command: Supported Write Zeroes Command: Supported Save Features: Supported Reservations: Not Supported Timestamp feature: Not Supported Verify feature: Not Supported Fused Operation Support: Not Supported Format NVM Attributes: Crypto Erase, Per-NS Erase, Per-NS Format Volatile Write Cache: Not Present
名前空間を指定したパターン。
# nvmecontrol identify nvme1ns1 パスワード: Size: 234423126 blocks Capacity: 234423126 blocks Utilization: 49172754 blocks Thin Provisioning: Not Supported Number of LBA Formats: 2 Current LBA Format: LBA Format #01 Data Protection Caps: Not Supported Data Protection Settings: Not Enabled Multi-Path I/O Capabilities: Not Supported Reservation Capabilities: Not Supported Format Progress Indicator: 0% remains Deallocate Logical Block: Read Not Reported Optimal I/O Boundary: 0 blocks NVM Capacity: 960197124096 bytes Globally Unique Identifier: 343337304bc005620025385900000001 IEEE EUI64: 0000000000000000 LBA Format #00: Data Size: 512 Metadata Size: 0 Performance: Best LBA Format #01: Data Size: 4096 Metadata Size: 0 Performance: Best
NVMe namespaceに関する操作。
NVMeデバイスの有効な名前空間を一覧表示する。
# nvmecontrol ns active nvme1 Active namespaces: 1
NVMシステム内のコントローラを一覧表示する。
# nvmecontrol ns controllers nvme1 NVM subsystem includes 1 controller(s): 0x0004
指定のNVMe namespaceを削除する。
-nには名前空間ID (nvmecontrol nsidで取得した数値)を指定する。
# nvmecontrol ns delete -n 1 nvme1 namespace 1 deleted
指定コントローラ、名前空間IDの名前空間の詳細を表示する。nvmecontrol identifyに名前空間デバイスを指定したものと等価。
# nvmecontrol ns identify -n 1 nvme1
指定名前空間デバイスからコントローラと名前空間IDを取得する。
# nvmecontrol nsid nvme1ns1 nvme1 1