存储性能开发工具包驱动¶
存储性能开发工具包 (SPDK) 是一个用户空间、轮询模式、异步、无锁 NVMe 驱动程序。它提供从用户空间应用程序到 SSD 的零拷贝、高度并行访问。SPDK 提供 NVMe-oF 目标,能够通过网络或到其他进程提供磁盘。
准备工作¶
SPDK NVMe-oF 目标安装¶
请按照 https://spdk.io/doc/nvmf.html 上的说明安装和配置带有 SPDK NVMe-oF 目标应用程序的环境。从 Ussuri 版本开始,需要 SPDK v19.10 或更高版本。
存储池配置¶
SPDK Cinder 驱动程序要求在 SPDK NVMe-oF 目标应用程序中预先配置存储池。SPDK 驱动程序使用逻辑卷存储 (LVS) 作为存储池。有关配置 LVS 的详细信息,请参见 https://spdk.io/doc/logical_volumes.html。配置存储池后,必须启用远程访问。从 SPDK 目录启动 scripts/rpc_http_proxy.py 脚本以启动一个 http 服务器,该服务器将管理来自卷驱动程序的请求。
支持的操作¶
创建、删除、附加和分离卷。
创建、列出和删除卷快照。
从快照创建卷。
将镜像复制到卷。
将卷复制到镜像。
克隆卷。
扩展卷。
获取卷统计信息。
配置¶
使用以下选项配置 SPDK NVMe-oF 传输
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
配置选项 = 默认值 |
描述 |
|---|---|
|
(整数(最小值=1, 最大值=128)) rdma 传输的队列深度。 |
|
(字符串) NVMe 目标远程配置 IP 地址。 |
|
(字符串) NVMe 目标远程配置密码。 |
|
(端口(最小值=0, 最大值=65535)) NVMe 目标远程配置端口。 |
|
(字符串(选项=[‘http’, ‘https’])) 与 SPDK RPC 代理一起使用的协议 |
|
(字符串) NVMe 目标远程配置用户名。 |