跳到主要内容

发现并从主机连接到存储

必须先发现主机中的目标控制器端口,随后建立 NVMe 连接,才能定义 ThinkSystem System Manager 中的每个主机。

  1. 请使用以下命令在 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
  2. 对其他所有连接重复步骤 1。
  3. 使用以下命令连接到第一个路径中发现的子系统: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
  4. 重复步骤 3 以连接到第一个路径中发现的子系统。
  5. 设置系统重新启动后自动连接。
    1. 如果文件不存在,则在 /usr/lib/systemd/system 下创建文件 nvmf-autoconnect.service
    2. 完成以下服务内容:
      [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