stands for NVMe Qualified Name.It’s a unique identifier string used in NVMe-over-Fabrics (NVMe-oF). NQN Format (defined by NVMe spec): nqn.yyyy-mm.domain:unique-name
config server
create pool
1 2 3
ceph osd pool create nvmeof_csi rbd pool init nvmeof_csi ceph orch apply nvmeof nvmeof_csi --placement="dingo-dongwei-1,dingo-dongwei-2"
podman run -it --rm quay.io/ceph/nvmeof-cli:latest --server-address 10.225.10.50 --server-port 5500 host list --subsystem nqn.2025-11.io.ceph:dongwei-nvme
create the RBD image
In NVMe terms: • A subsystem is like a container (it groups one or more namespaces). • A namespace is the actual block device (e.g. /dev/nvme0n1) that the client will see. • Each namespace typically maps to an RBD image in Ceph.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# Create the RBD image rbd create nvmeof_csi/dongwei-rbd1 --size 10G # Register it as an NVMe namespace podman run -it --rm quay.io/ceph/nvmeof-cli:latest \ --server-address 10.225.10.50 \ --server-port 5500 \ namespace add \ --subsystem nqn.2025-11.io.ceph:dongwei-nvme \ --rbd-pool nvmeof_csi \ --rbd-image dongwei-rbd1 # verify podman run -it --rm quay.io/ceph/nvmeof-cli:latest \ --server-address 10.225.10.50 \ --server-port 5500 \ namespace list --subsystem nqn.2025-11.io.ceph:dongwei-nvme