Skip to main content
E-Series storage systems
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

在 Linux 主机上为 E-Series 中的 NVMe over FC 设置故障转移

贡献者 netapp-driley netapp-jsnyder netapp-jolieg NetAppZacharyWambold Jack-Patters

要为存储阵列提供冗余路径,您可以将主机配置为运行故障转移。

开始之前

您必须在系统上安装所需的软件包。

  • 对于 Red Hat ( RHEL )主机,运行 rpm -q device-mapper-multipath 验证软件包是否已安装

  • 对于 SLES 主机,请运行 rpm -q multipath-tools 来验证软件包是否已安装

    SLES 12 use Device Mapper Multipath (DMMP) for multipathing when using NVMe over Fibre Channel. RHEL 8, RHEL 9, RHEL 10, SLES 15 and SLES 16 use a built-in Native NVMe Failover. Depending on which OS you are running, some additional configuration of multipath is required to get it running properly.

为 SLES 12 启用设备映射器多路径 (DMMP)

默认情况下,SLES 中禁用 DM-MP。完成以下步骤以在主机上启用 DM-MP 组件。

步骤
  1. 将 NVMe E 系列设备条目添加到 /etc/multipath.conf 文件的 devices 部分,如以下示例所示:

    devices {
            device {
                    vendor "NVME"
                    product "NetApp E-Series*"
                    path_grouping_policy group_by_prio
                    failback immediate
                    no_path_retry 30
            }
    }
  2. 将 multipathd 配置为在系统启动时启动。

    # systemctl enable multipathd
  3. 如果当前未运行,请启动 multipathd 。

    # systemctl start multipathd
  4. 验证 multipathd 的状态,以确保其处于活动状态且正在运行:

    # systemctl status multipathd

为RHEL 8设置原生 NVMe多路径

关于此任务

默认情况下,原生 NVMe 多路径在 RHEL 8 中处于禁用状态,必须使用以下步骤启用。

步骤
  1. 设置 modprobe 规则以启用原生 NVMe 多路径。

    # echo "options nvme_core multipath=y" >> /etc/modprobe.d/50-nvme_core.conf
  2. 使用新的 modprobe 参数 remake initramfs 。

    # dracut -f
  3. 重新启动服务器以在启用原生 NVMe 多路径的情况下启动它

    # reboot
  4. 确认主机重新启动后已启用原生 NVMe 多路径。

    # cat /sys/module/nvme_core/parameters/multipath
    1. 如果命令输出为 N ,则原生 NVMe 多路径仍处于禁用状态。

    2. 如果命令输出为 Y ,则原生 NVMe 多路径将处于启用状态,您发现的任何 NVMe 设备将使用该功能。

备注 对于 RHEL 9 和 SLES 15,默认情况下,本机 NVMe 多路径处于启用状态,无需额外配置。

配置 NVMe I/O 策略

关于此任务

Linux NVMe 本机多路径可能默认为 numa I/O 策略。对于 E 系列/EF 系列 NVMe-over-Fabrics 配置,建议的 I/O 策略是 round-robin,它在所有可用路径上均匀分配 I/O。

步骤
  1. 验证当前 NVMe I/O 策略:

    # cat /sys/module/nvme_core/parameters/iopolicy
    numa
  2. 使用以下方法之一设置 round-robin I/O 策略:

    • 持久(推荐) — 创建 udev 规则文件:

      <code>/etc/udev/rules.d/71-nvme-io-policy.rules</code>
      ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"

      然后重新加载并应用规则:

    udevadm control --reload
    udevadm trigger --subsystem-match=nvme-subsystem
    • 引导时的全局设置 — 将以下内核参数添加到引导加载程序配置中:

      nvme_core.iopolicy=round-robin
    • 非持久性(在线,无 I/O 中断) — 立即应用,无需重新启动:

      echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys0/iopolicy
      备注 此设置在重启后不会保留。