第 29 章 NVMe over fabric 设备概述
Non-volatile Memory Express(NVMe)是一个接口,它允许主机软件实用程序与固态驱动器通信。使用以下类型的光纤传输来通过光纤设备配置
NVMe
:
- 使用 Remote Direct Memory Access(RDMA)的 NVMe over fabrics。有关如何配置 NVMe/RDMA 的详情,请参考 第 29.1 节 “使用 RDMA 的 NVMe over fabrics”。
- 使用光纤通道(FC)的 NVMe over fabrics。有关如何配置 FC-NVMe 的详情,请参考 第 29.2 节 “使用 FC 的光纤的 NVMe over fabrics”。
使用 FC 和 RDMA 时,固态驱动器不必是您的系统的本地驱动器;它可以通过 FC 或 RDMA 控制器远程配置。
29.1. 使用 RDMA 的 NVMe over fabrics
以下小节介绍了如何通过 RDMA (NVMe/RDMA)发起程序配置部署 NVMe。
29.1.1. 通过 RDMA 客户端配置 NVMe
使用这个流程使用 NVMe 管理命令行界面(
nvme-cli
)配置 NVMe/RDMA 客户端。
- 安装
nvme-cli
软件包:#
yum install nvme-cli - 如果没有加载,则加载
nvme-rdma
模块:#
modprobe nvme-rdma - 在 NVMe 目标中发现可用子系统:
#
nvme discover -t rdma -a 172.31.0.202 -s 4420 Discovery Log Number of Records 1, Generation counter 2 =====Discovery Log Entry 0====== trtype: rdma adrfam: ipv4 subtype: nvme subsystem treq: not specified, sq flow control disable supported portid: 1 trsvcid: 4420 subnqn: testnqn traddr: 172.31.0.202 rdma_prtype: not specified rdma_qptype: connected rdma_cms: rdma-cm rdma_pkey: 0x0000 - 连接到发现的子系统:
#
nvme connect -t rdma -n testnqn -a 172.31.0.202 -s 4420#
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 464.8G 0 part ├─rhel_rdma--virt--03-root 253:0 0 50G 0 lvm / ├─rhel_rdma--virt--03-swap 253:1 0 4G 0 lvm [SWAP] └─rhel_rdma--virt--03-home 253:2 0 410.8G 0 lvm /home nvme0n1#
cat /sys/class/nvme/nvme0/transport rdma使用 NVMe 子系统名称替换 testnqn。将 172.31.0.202 替换为目标 IP 地址。使用端口号替换 4420。 - 列出当前连接的 NVMe 设备:
#
nvme list - 可选:断开与目标的连接:
#
nvme disconnect -n testnqn NQN:testnqn disconnected 1 controller(s)#
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 464.8G 0 part ├─rhel_rdma--virt--03-root 253:0 0 50G 0 lvm / ├─rhel_rdma--virt--03-swap 253:1 0 4G 0 lvm [SWAP] └─rhel_rdma--virt--03-home 253:2 0 410.8G 0 lvm /home
其他资源
- 如需更多信息,请参阅
nvme
man page 和 NVMe-cli Github 存储库。