With latest SPDK release most of the old RPC calls has been deprecated and soon will be obsolete. This patch updates relevant calls to the latest version. Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: I615e34f2f8df60eaea09e32b15437deb36f441c0
2.2 KiB
Storage Performance Development Kit driver
Storage Performance Development Kit (SPDK) is a user space, polled-mode, asynchronous, lockless NVMe driver. It provides zero-copy, highly parallel access directly to an SSD from a user space application. SPDK provides NVMe-oF target that is capable of serving disks over the network or to other processes.
Preparation
SPDK NVMe-oF target installation
Follow instructions available on https://spdk.io/doc/nvmf.html to install and configure environment with SPDK NVMe-oF target application. Starting from Ussuri release SPDK release v19.10 or higher is required.
Storage pools configuration
SPDK Cinder driver requires storage pools to be configured upfront in
SPDK NVMe-oF target application. SPDK driver uses Logical Volume Stores
(LVS) as storage pools. Details on configuring LVS are available on https://spdk.io/doc/logical_volumes.html.
After storage pools are configured remote access has to be enabled.
Launch scripts/rpc_http_proxy.py
script from SPDK directory
to start an http server that will manage requests from volume
driver.
Supported operations
- Create, delete, attach, and detach volumes.
- Create, list, and delete volume snapshots.
- Create a volume from a snapshot.
- Copy an image to a volume.
- Copy a volume to an image.
- Clone a volume.
- Extend a volume.
- Get volume statistics.
Configuration
Use the following options to configure for the SPDK NVMe-oF transport:
volume_driver = cinder.volume.drivers.spdk.SPDKDriver
target_protocol = nvmet_rdma # SPDK driver supports only nvmet_rdma target protocol
target_helper = spdk-nvmeof # SPDK volume driver requires SPDK NVMe-oF target driver
target_ip_address = 192.168.0.1 # NVMe-oF target IP address
target_port = 4260 # NVMe-oF target port
target_prefix = nqn.2014-08.org.spdk # NVMe-oF target nqn prefix
cinder.volume.targets.spdknvmf