NVMe-oF
NVMe-oF
服务端配置
# 提权
sudo -i
# 创建 nvmet-rdma 子系统:
modprobe nvme_fabrics
modprobe nvme_core
# modprobe nvme_tcp
modprobe nvmet-rdma
mkdir /sys/kernel/config/nvmet/subsystems/testnqn
cd /sys/kernel/config/nvmet/subsystems/testnqn
# 允许任何主机连接到此控制器:
echo 1 > attr_allow_any_host
# 配置命名空间:
mkdir namespaces/10
cd namespaces/10
# 设置 NVMe 设备的路径:
echo -n /dev/nvme1n1 > device_path
# 启用命名空间:
echo 1 > enable
# 创建带有 NVMe 端口的目录:
mkdir /sys/kernel/config/nvmet/ports/1
cd /sys/kernel/config/nvmet/ports/1
# 为控制器设置传输地址:
echo -n 192.168.50.111 > addr_traddr
# 将 RDMA 设置为传输类型:
echo rdma > addr_trtype
# 将 tcp 设置为传输类型:
#echo tcp > addr_trtype
echo 4420 > addr_trsvcid
# 为端口设置地址:
echo ipv4 > addr_adrfam
# 创建软链接
dmesg | tail -1
ln -s /sys/kernel/config/nvmet/subsystems/testnqn /sys/kernel/config/nvmet/ports/1/subsystems/testnqn
dmesg | tail -1
客户端配置
# 列出当前连接的 NVMe 设备:
sudo nvme list
# 在 NVMe 控制器中发现可用的子系统
sudo nvme discover -t tcp -a 192.168.50.111 -s 4420
# 连接子系统
sudo nvme connect -t tcp -a 192.168.50.111 -s 4420 -n testnqn
# 从控制器断开连接:
sudo nvme disconnect -n testnqn
参考
Configuring NVMe over fabrics using NVMe/TCP什么是NVMe over Fabrics?