发现并从主机连接到存储
必须先发现主机中的目标控制器端口,随后建立 NVMe 连接,才能定义 ThinkSystem System Manager 中的每个主机。
- 请使用以下命令在 NVMe-oF 目标上为所有路径发现可用子系统:
nvme discover -t rdma -a target_ip_address
在此命令中,target_ip_address 是目标端口的 IP 地址。
注nvme discover 命令发现子系统中的所有控制器端口,不受主机访问权限的影响。# nvme discover -t rdma -a 192.168.1.77
Discovery Log Number of Records 2, Generation counter 0
=====Discovery Log Entry 0======
trtype: rdma
adrfam: ipv4
subtype: nvme subsystem
treq: not specified
portid: 0
trsvcid: 4420
subnqn: nqn.1992-08.com.netapp:5700.600a098000a527a7000000005ab3af94
traddr: 192.168.1.77
rdma_prtype: roce
rdma_qptype: connected
rdma_cms: rdma-cm
rdma_pkey: 0x0000
=====Discovery Log Entry 1======
trtype: rdma
adrfam: ipv4
subtype: nvme subsystem
treq: not specified
portid: 1
trsvcid: 4420
subnqn: nqn.1992-08.com.netapp:5700.600a098000a527a7000000005ab3af94
traddr: 192.168.2.77
rdma_prtype: roce
rdma_qptype: connected
rdma_cms: rdma-cm
rdma_pkey: 0x0000 - 对其他所有连接重复步骤 1。
- 使用以下命令连接到第一个路径中发现的子系统:nvme connect -t rdma -n discovered_sub_nqn -a target_ip_address -Q queue_depth_setting -l controller_loss_timeout_period注重新启动后,nvme connect -t rdma -n discovered_sub_nqn -a target_ip_address -Q queue_depth_setting -l controller_loss_timeout_period 命令将中断。每次重新启动后,都需要执行 NVMe 连接命令以重新建立 NVMe 连接。重要不会为主机不可访问的任何已发现端口建立连接。重要如果使用此命令指定端口号,连接将失败。默认端口是为连接设置的唯一端口。重要推荐的队列深度设置为 1024。请使用
-Q 1024 命令选项将默认设置 128 替换为 1024,如以下示例中所示。 重要推荐的控制器丢失超时时间段(以秒为单位)为 60 分钟(即 3600 秒)。请使用-l 3600 命令选项将默认设置 600 替换为 3600,如以下示例中所示 # nvme connect -t rdma -a 192.168.1.77 -n nqn.1992-08.com.netapp:5700.
600a098000a527a7000000005ab3af94 -Q 1024 -l 3600
# nvme connect -t rdma -a 192.168.2.77 -n nqn.1992-08.com.netapp:5700.
600a098000a527a7000000005ab3af94 -Q 1024 -l 3600 - 重复步骤 3 以连接到第一个路径中发现的子系统。
- 设置系统重新启动后自动连接。
- 如果文件不存在,则在 /usr/lib/systemd/system 下创建文件 nvmf-autoconnect.service。
- 完成以下服务内容:
[Unit]
Description=Connect NVMe-oF subsystems automatically during boot
ConditionPathExists=/etc/nvme/discovery.conf
After=network.target
Before=remote-fs-pre.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/nvme connect-all
[Install]
WantedBy=default.target
提供反馈