Difference between revisions of "ESXi - 6.7 nvme"

From Da Nerd Mage Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
= nvme =
VMware NVMe driver esxcli extensions
VMware NVMe driver esxcli extensions


Line 233: Line 232:


==== wa ====
==== wa ====
get          
* '''get'''
Get NVMe device feature write atomicity information
: Get NVMe device feature write atomicity information
  set          
:* <code>esxcli nvme device feature wa get '''ADAPTER''' '''OPTIONS'''</code>
Set NVMe device feature write atomicity information
  '''OPTIONS'''
  -S|--select=<str>    specify which value of the attributes to return, "current", "default",
                        "saved"
* '''set'''
: Set NVMe device feature write atomicity information
:* <code>esxcli nvme device feature wa set '''ADAPTER''' '''OPTIONS'''</code>
'''OPTIONS'''
  -S|--save            save the attribute
  -v|--value=<long>    Disable Normal value to be set, 0 for false (enable), 1 for true (disable)
                        (required)


=== firmware ===
=== firmware ===
activate     Commit downloaded firmware image to a specific slot
* '''activate'''
  download     Download firmware image to the device
: Commit downloaded firmware image to a specific slot
:* <code>esxcli nvme device firmware activate '''ADAPTER''' '''OPTIONS'''</code>
  '''OPTIONS'''
  -a|--action=<long>    Activate action (required)
                          0: Downloaded image replaces the image indicated by the
                              firmware slot field. This image is not activated.
                          1: Downloaded image replaces the image indicated by the
                              firmware slot field. This image is activated at the next reset.
                          2: The image specified by the firmware slot field is
                              activated at the next reset.
                          3: The image specified by the firmware slot field is
                              requested to be activated immediately without reset.
  -s|--slot=<long>      Slot number. If the value specified is 0, then the controller shall choose
                        the firmware slot. (required)
* '''download'''
: Download firmware image to the device
:* <code>esxcli nvme device firmware download '''ADAPTER''' '''OPTIONS'''</code>
'''OPTIONS'''
  -f|--firmware=<str>  Firmware image path (required)


=== log ===
=== log ===
==== error ====
==== error ====
get           Get NVMe device error log information
* '''get'''
: Get NVMe device error log information
:* <code>esxcli nvme device log error get '''ADAPTER''' '''OPTIONS'''</code>
'''OPTIONS'''
  -e|--elpe=<long>      Error log page entries. This value indicates the number of log entries you
                        wish to get. The maximum number of entries supported is device-specific.
                        (required)
 
==== fwslot ====
==== fwslot ====
get           Get NVMe device firmware slot log information
* '''get'''
: Get NVMe device firmware slot log information
:* <code>esxcli nvme device log fwslot get '''ADAPTER'''</code>
 
==== smart ====
==== smart ====
get           Get NVMe device SMART log information
* '''get'''
: Get NVMe device SMART log information
:* <code>esxcli nvme device log smart get '''ADAPTER''' '''OPTIONS'''</code>
'''OPTIONS'''
  -n|--namespace=<long> Namespace ID. If log page is supported on a per namespace basis this value
                        indicates the ID of namespace you wish to get log from. This parameter can
                        be omitted to request global log page.


=== namespace ===
=== namespace ===
attach        Attach namespace on NVMe device
* '''list'''
  create       Create namespace on NVMe device
: List namespace on NVMe device
  delete       Delete namespace on NVMe device
:* <code>esxcli nvme device namespace list '''ADAPTER'''</code>
  detach       Detach namespace on NVMe device
 
  format       Change namespace format
 
get          Get nvme namespace information
* '''get'''
  list          List namespace on NVMe device
: Get nvme namespace information
:* <code>esxcli nvme device namespace get '''ADAPTER''' '''OPTIONS'''</code>
  '''OPTIONS'''
  -n|--namespace=<str>  ID of namespace to get information from. ID starts from 1 (required)
 
* '''create'''
: Create namespace on NVMe device
:* <code>esxcli nvme device namespace create '''ADAPTER''' '''OPTIONS'''</code>
'''OPTIONS'''
  -c|--capacity=<long> Namespace Capacity (required)
  -p|--dps=<long>      End-to-End Data Protection Type Settings (required)
  -f|--flbas=<long>    Formatted LBA Size (required)
  -m|--nmic=<long>      Namespace Multi-path IO and Namespace Sharing Capabilities (required)
  -s|--size=<long>      Namespace Size (required)
 
* '''delete'''
: Delete namespace on NVMe device
:* <code>esxcli nvme device namespace delete '''ADAPTER''' '''OPTIONS'''</code>
'''OPTIONS'''
  -n|--namespace=<str>  ID of namespace to delete, starts from 1 (required)
 
* '''attach'''
: Attach namespace on NVMe device
:* <code>esxcli nvme device namespace attach '''ADAPTER''' '''OPTIONS'''</code>
  '''OPTIONS'''
  -c|--controller=<long>
                        Controller ID to attach. ID starts from 0 (required)
  -n|--namespace=<str>  Namespace ID to attach. ID starts from 1 (required)
 
* '''detach'''
: Detach namespace on NVMe device
:* <code>esxcli nvme device namespace detach '''ADAPTER''' '''OPTIONS'''</code>
  '''OPTIONS'''
  -c|--controller=<long>
                        Controller ID to detach. ID starts from 0 (required)
  -n|--namespace=<str>  ID of namespace to detach. ID starts from 1 (required)
 
* '''format'''
: Change namespace format
:* <code>esxcli nvme device namespace format '''ADAPTER''' '''OPTIONS'''</code>
  '''OPTIONS'''
  -f|--format=<long>    LBA Format(LBAF) (required)
  -m|--ms=<long>        Metadata Settings(MS). 0: Metadata is transferred as part of a separate
                        buffer. 1: Metadata is transferred as part of an extended data LBA.
                        (required)
  -n|--namespace=<long> Namespace ID (required)
  -p|--pi=<long>        Protection Information(PI). 0: Protection information is not enabled. 1:
                        Protection information is enabled, Type 1. 2: Protection information is
                        enabled, Type 2. 3: Protection information is enabled, Type 3. (required)
  -l|--pil=<long>      Protection Information Location(PIL). 0: PI is transferred as the last
                        eight bytes of metadata, if PI is enabled. 1: PI is transferred as the
                        first eight bytes of metadata, if PI is enabled. (required)
  -s|--ses=<long>      Secure Erase Settings(SES). 0: No secure erase operation requested. 1: User
                        Data Erase. 2: Cryptographic Erase. (required)


=== register ===
=== register ===
get           Dump NVMe device registers
* '''get'''
: Dump NVMe device registers
:* <code>esxcli nvme device register get '''ADAPTER'''</code>


=== timeout ===
=== timeout ===
get           Get timeout value of IO timeout checker
* '''get'''
set           Set timeout value for IO timeout checker
: Get timeout value of IO timeout checker
:* <code>esxcli nvme device timeout get '''ADAPTER'''</code>
* '''set'''
: Set timeout value for IO timeout checker
:* <code>esxcli nvme device timeout set '''ADAPTER''' '''OPTIONS'''</code>
'''OPTIONS'''
  -t|--timeout=<long>  IO timeout seconds for internal checker. Maximum timeout value is 40. 0:
                        disable timeout checker. (required)


== driver ==
== driver ==
=== loglevel ===
=== loglevel ===
set           Set NVMe driver log level and debug level
* '''set'''
: Set NVMe driver log level and debug level
:* <code>esxcli nvme driver loglevel set '''OPTIONS'''</code>
'''OPTIONS'''
  -d|--debuglevel=<str> Debug level(hex int format). When log level is 5, this value is used to
                        manupulate NVMe driver parameter: nvme_dbg. This parameter can be omitted
                        to indicate value 0.
                          BIT_0:  Print ctrlr level log
                          BIT_1:  Print namespace level log
                          BIT_2:  Print queue level log
                          BIT_3:  Print IO command level log
                          BIT_4:  Print admin command level log
                          BIT_5:  Print management level log
                          BIT_6:  Print exception handler log
                          BIT_7:  Print split command log
                          BIT_13: Print timeout handler log
                          BIT_14: Print init/cleanup log
                          BIT_15: Print temp log
                          BIT_16: Dump SG array
                          BIT_17: Dump PRP
                          BIT_18: Dump cdb
                          BIT_19: Dump NVM command
                          BIT_20: Dump completion queue entry
                          BIT_21: Dump user passthru data
                          BIT_22: Dump namespace info
                          BIT_23: Dump timeout info
                          BIT_24: Dump smart log info
  -l|--loglevel=<long>  Log level. This value is used to manupulate NVMe driver parameter:
                        nvme_log_level.
                          1: error
                          2: warning
                          3: info
                          4: verbose
                          5: debug
                                        (required)

Latest revision as of 21:05, 10 February 2022

VMware NVMe driver esxcli extensions

device

  • list
List NVMe devices registered to VMware NVMe driver
  • esxcli nvme device list
  • get
Get NVMe device information
  • esxcli nvme device get OPTIONS
OPTIONS
 -A|--adapter=<str>    Adapter to operate on (required)

controller

  • list
List all controllers on the device if namespace is not specified, otherwise list all controllers the namespace attached
  • esxcli nvme device controller list OPTIONS
OPTIONS
 -A|--adapter=<str>    Adapter to operate on (required)
 -n|--namespace=<str>  Namespace ID attached. ID starts from 1

feature

  • cap
Get NVMe device feature supported capabilities information
  • esxcli nvme device feature cap ADAPTER
ADAPTER
 -A|--adapter=<str>    Adapter to operate on (required)

aec

  • get
Get NVMe device feature async event configuration information
  • esxcli nvme device feature aec get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set NVMe device feature async event configuration information
  • esxcli nvme device feature aec set ADAPTER OPTIONS
OPTIONS
 -w|--fwnotices=<long> an asynchronous event notification is sent to the host for a Firmware
                       Activation Starting event, 0 for false, 1 for true, 0 will be passed as
                       default value, if not set
 -m|--nsnotices=<long> an asynchronous event notification is sent to the host for a Namespace
                       Attribute change, 0 for false, 1 for true, 0 will be passed as default
                       value, if not set
 -S|--save             save the attribute
 -v|--value=<long>     SMART health critical warnings bitmap to be set, refer to Figure 79, NVMe
                       1.2 SPEC (required)

apst

  • apst
Get NVMe device feature autonomous power state transition information
  • esxcli nvme device feature apst get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"

ar

  • get
Get NVMe device feature arbitration information
  • esxcli nvme device feature ar get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set NVMe device feature arbitration information
  • esxcli nvme device feature ar set ADAPTER OPTIONS
OPTIONS
 -S|--save             save the attribute
 -v|--value=<long>     Arbitration Burst value to be set (required)
 -x|--value2=<long>    Low Priority Weight value to be set (required)
 -y|--value3=<long>    Medium Priority Weight value to be set (required)
 -z|--value4=<long>    High Priority Weight value to be set (required)

er

  • get
Get NVMe device feature error recovery information
  • esxcli nvme device feature er get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • Set
Set NVMe device feature error recovery information
  • esxcli nvme device feature er Set ADAPTER OPTIONS
OPTIONS
 -e|--enable=<long>    deallocated or unwritten logical block error enable value to be set, 0 for
                       false (disable), 1 for true (enable), 0 will be passed as default value, if
                       not set
 -n|--namespace=<str>  Namespace to operate on, 0 will be passed as default value, if not set
 -S|--save             save the attribute
 -v|--value=<long>     Time limited error recovery value to be set (required)

hi

  • get
Get NVMe device feature host identifier information
  • esxcli nvme device feature hi get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"

hmb

  • get
Get NVMe device feature host memory buffer information
  • esxcli nvme device feature hmb get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"

ic

  • get
Get NVMe device feature interrupt coalescing information
  • esxcli nvme device feature ic get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set NVMe device feature interrupt coalescing information
  • esxcli nvme device feature ic set ADAPTER OPTIONS
OPTIONS
 -S|--save             save the attribute
 -v|--value=<long>     Aggregation threshold value to be set (required)
 -x|--value2=<long>    Aggregation time value to be set (required)

ivc

  • get
Get NVMe device feature interrupt vector configuration information
  • esxcli nvme device feature ivc get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set NVMe device feature interrupt vector configuration information
  • esxcli nvme device feature ivc set ADAPTER OPTIONS
OPTIONS
 -S|--save             save the attribute
 -v|--value=<long>     Interrupt vector value to be set (required)
 -x|--value2=<long>    Coalescing disable value to be set, 0 for false (enable), 1 for true
                       (disable) (required)

kat

  • get
Get NVMe device feature keep alive timer information
  • esxcli nvme device feature kat get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set NVMe device feature keep alive timer information
  • esxcli nvme device feature kat set ADAPTER OPTIONS
OPTIONS
 -S|--save             save the attribute
 -t|--timeout=<long>   timeout value for the keep alive feature to be set (required)

lba

* get
Get NVMe device feature LBA range type information
  • esxcli nvme device feature lba get ADAPTER OPTIONS
OPTIONS
 -n|--namespace=<str>  Namespace to operate on (required)
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"

nq

  • get
Get NVMe device feature number of queue information
  • esxcli nvme device feature nq get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"

pm

  • get
Get NVMe device feature power management information
  • esxcli nvme device feature pm get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set NVMe device feature power management information
  • esxcli nvme device feature pm set ADAPTER OPTIONS
OPTIONS
 -S|--save             save the attribute
 -v|--value=<long>     Power state value to be set (required)
 -w|--workload=<long>  Workload Hint to be set, 0 will be passed as default value, if not set

spm

  • get
Get NVMe device feature software progress marker information
  • esxcli nvme device feature spm get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set software progress marker feature information, will clear Pre-boot Software Load Count (PBSLC) to 0
  • esxcli nvme device feature spm set ADAPTER OPTIONS
OPTIONS
 -S|--save             save the attribute

tt

  • get
Get NVMe device feature temperature threshold information
  • esxcli nvme device feature tt get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set NVMe device feature temperature threshold information
  • esxcli nvme device feature tt set ADAPTER OPTIONS
OPTIONS
 -S|--save             save the attribute
 -s|--sensor=<long>    Threshold temperature select value to be set, 0 will be passed as default
                       value, if not set
 -u|--under            Set under temperature threshold
 -v|--value=<long>     Temperature threshold value to be set (required)

vwc

  • get
Get NVMe device feature volatile write cache information
  • esxcli nvme device feature vwc get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set NVMe device feature volatile write cache information
  • esxcli nvme device feature vwc set ADAPTER OPTIONS
OPTIONS
 -S|--save             save the attribute
 -v|--value=<long>     Volitale write cache enable value to be set, 0 for false (disable), 1 for
                       true (enable) (required)

wa

  • get
Get NVMe device feature write atomicity information
  • esxcli nvme device feature wa get ADAPTER OPTIONS
OPTIONS
 -S|--select=<str>     specify which value of the attributes to return, "current", "default",
                       "saved"
  • set
Set NVMe device feature write atomicity information
  • esxcli nvme device feature wa set ADAPTER OPTIONS
OPTIONS
 -S|--save             save the attribute
 -v|--value=<long>     Disable Normal value to be set, 0 for false (enable), 1 for true (disable)
                       (required)

firmware

  • activate
Commit downloaded firmware image to a specific slot
  • esxcli nvme device firmware activate ADAPTER OPTIONS
OPTIONS
 -a|--action=<long>    Activate action (required)
                          0: Downloaded image replaces the image indicated by the
                             firmware slot field. This image is not activated.
                          1: Downloaded image replaces the image indicated by the
                             firmware slot field. This image is activated at the next reset.
                          2: The image specified by the firmware slot field is
                             activated at the next reset.
                          3: The image specified by the firmware slot field is
                             requested to be activated immediately without reset.
 -s|--slot=<long>      Slot number. If the value specified is 0, then the controller shall choose
                       the firmware slot. (required)
  • download
Download firmware image to the device
  • esxcli nvme device firmware download ADAPTER OPTIONS
OPTIONS
 -f|--firmware=<str>   Firmware image path (required)

log

error

  • get
Get NVMe device error log information
  • esxcli nvme device log error get ADAPTER OPTIONS
OPTIONS
 -e|--elpe=<long>      Error log page entries. This value indicates the number of log entries you
                       wish to get. The maximum number of entries supported is device-specific.
                       (required)

fwslot

  • get
Get NVMe device firmware slot log information
  • esxcli nvme device log fwslot get ADAPTER

smart

  • get
Get NVMe device SMART log information
  • esxcli nvme device log smart get ADAPTER OPTIONS
OPTIONS
 -n|--namespace=<long> Namespace ID. If log page is supported on a per namespace basis this value
                       indicates the ID of namespace you wish to get log from. This parameter can
                       be omitted to request global log page.

namespace

  • list
List namespace on NVMe device
  • esxcli nvme device namespace list ADAPTER


  • get
Get nvme namespace information
  • esxcli nvme device namespace get ADAPTER OPTIONS
OPTIONS
 -n|--namespace=<str>  ID of namespace to get information from. ID starts from 1 (required)
  • create
Create namespace on NVMe device
  • esxcli nvme device namespace create ADAPTER OPTIONS
OPTIONS
 -c|--capacity=<long>  Namespace Capacity (required)
 -p|--dps=<long>       End-to-End Data Protection Type Settings (required)
 -f|--flbas=<long>     Formatted LBA Size (required)
 -m|--nmic=<long>      Namespace Multi-path IO and Namespace Sharing Capabilities (required)
 -s|--size=<long>      Namespace Size (required)
  • delete
Delete namespace on NVMe device
  • esxcli nvme device namespace delete ADAPTER OPTIONS
OPTIONS
 -n|--namespace=<str>  ID of namespace to delete, starts from 1 (required)
  • attach
Attach namespace on NVMe device
  • esxcli nvme device namespace attach ADAPTER OPTIONS
OPTIONS
 -c|--controller=<long>
                       Controller ID to attach. ID starts from 0 (required)
 -n|--namespace=<str>  Namespace ID to attach. ID starts from 1 (required)
  • detach
Detach namespace on NVMe device
  • esxcli nvme device namespace detach ADAPTER OPTIONS
OPTIONS
 -c|--controller=<long>
                       Controller ID to detach. ID starts from 0 (required)
 -n|--namespace=<str>  ID of namespace to detach. ID starts from 1 (required)
  • format
Change namespace format
  • esxcli nvme device namespace format ADAPTER OPTIONS
OPTIONS
 -f|--format=<long>    LBA Format(LBAF) (required)
 -m|--ms=<long>        Metadata Settings(MS). 0: Metadata is transferred as part of a separate
                       buffer. 1: Metadata is transferred as part of an extended data LBA.
                       (required)
 -n|--namespace=<long> Namespace ID (required)
 -p|--pi=<long>        Protection Information(PI). 0: Protection information is not enabled. 1:
                       Protection information is enabled, Type 1. 2: Protection information is
                       enabled, Type 2. 3: Protection information is enabled, Type 3. (required)
 -l|--pil=<long>       Protection Information Location(PIL). 0: PI is transferred as the last
                       eight bytes of metadata, if PI is enabled. 1: PI is transferred as the
                       first eight bytes of metadata, if PI is enabled. (required)
 -s|--ses=<long>       Secure Erase Settings(SES). 0: No secure erase operation requested. 1: User
                       Data Erase. 2: Cryptographic Erase. (required)

register

  • get
Dump NVMe device registers
  • esxcli nvme device register get ADAPTER

timeout

  • get
Get timeout value of IO timeout checker
  • esxcli nvme device timeout get ADAPTER
  • set
Set timeout value for IO timeout checker
  • esxcli nvme device timeout set ADAPTER OPTIONS
OPTIONS
 -t|--timeout=<long>   IO timeout seconds for internal checker. Maximum timeout value is 40. 0:
                       disable timeout checker. (required)

driver

loglevel

  • set
Set NVMe driver log level and debug level
  • esxcli nvme driver loglevel set OPTIONS
OPTIONS
 -d|--debuglevel=<str> Debug level(hex int format). When log level is 5, this value is used to
                       manupulate NVMe driver parameter: nvme_dbg. This parameter can be omitted
                       to indicate value 0.
                          BIT_0:  Print ctrlr level log
                          BIT_1:  Print namespace level log
                          BIT_2:  Print queue level log
                          BIT_3:  Print IO command level log
                          BIT_4:  Print admin command level log
                          BIT_5:  Print management level log
                          BIT_6:  Print exception handler log
                          BIT_7:  Print split command log
                          BIT_13: Print timeout handler log
                          BIT_14: Print init/cleanup log
                          BIT_15: Print temp log
                          BIT_16: Dump SG array
                          BIT_17: Dump PRP
                          BIT_18: Dump cdb
                          BIT_19: Dump NVM command
                          BIT_20: Dump completion queue entry
                          BIT_21: Dump user passthru data
                          BIT_22: Dump namespace info
                          BIT_23: Dump timeout info
                          BIT_24: Dump smart log info
 -l|--loglevel=<long>  Log level. This value is used to manupulate NVMe driver parameter:
                       nvme_log_level.
                          1: error
                          2: warning
                          3: info
                          4: verbose
                          5: debug
                                       (required)