Repository navigation
See also Troubleshooting.
A controller is hot-unplugged or the host reboots. Why does a block device
such as /dev/nvme3n1 still appear in nvme list after the controller
nvme3 is gone? Why do the controller numbers in nvme list and nvme list-subsys change?
This is the expected behavior of the Linux NVMe driver.
-
Controller numbers are not persistent. The kernel does not keep the instance numbers of controllers (
nvme0,nvme1, ...) or the names of block devices (/dev/nvmeXnY) across a reboot or a hotplug (PCIe hotplug, DLPAR). A controller that comes back gets the next free number. For example,nvme3becomesnvme4. -
Multipath namespaces belong to the subsystem, not to a controller. With native NVMe multipath, the block devices in
nvme list(/dev/nvmeSnN) and the generic character devices (/dev/ngSnN) are multipath namespace heads. Their number is the number of the subsystem (nvme-subsysS), not of a controller:-
/dev/nvme3n1belongs tonvme-subsys3. -
/dev/nvme2n1belongs tonvme-subsys2.
A subsystem can have several controllers (paths). If one controller goes away, for example
nvme3, the other controllers stay, for examplenvme1. While at least one path tonvme-subsys3is live, the subsystem and its namespace heads stay, and their device nodes do not disappear. -
- Do not use the names
/dev/nvmeXor/dev/nvmeXnYin scripts, automation or tests. - Run
nvme list -vornvme list-subsys -vto see the subsystems, the controllers and the namespaces together. - Use persistent names to find and mount devices:
- the links in
/dev/disk/by-id/, for examplenvme-eui.*andnvme-nvme.* - the subsystem NQN (
nvme-subsysX - NQN=...)
- the links in
Getting Started
Connecting to NVMe-oF Targets
- How to connect to a target
- How to connect to a target over Fibre Channel
- How to configure NVMe-oF connections (nvme-fabrics.conf)
- Using
--host-traddrand--host-iface - How to set up inband authentication
- How to set up TLS for NVMe-TCP
- How to set up NVMe-oF autoconnect
- NVMe-oF Persistent Discovery Controllers (PDC)
- NVMe-oF Multipath and ANA
- nvme-discoverd
- Ownership registry and exclusion list
- Booting from NVMe-oF with NBFT
Security & Encryption
- The
nvme keysPlugin - How to securely erase an NVMe device
- TCG Opal with nvme-cli and cryptsetup
- nvme-keysd
- Privilege Separation
Monitoring
Reference
Contributing / Development