在 Linux 主机上为 E-Series 中的 NVMe over FC 设置故障转移
要为存储阵列提供冗余路径,您可以将主机配置为运行故障转移。
您必须在系统上安装所需的软件包。
-
对于 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 组件。
-
将 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 } } -
将
multipathd配置为在系统启动时启动。# systemctl enable multipathd
-
如果当前未运行,请启动
multipathd。# systemctl start multipathd
-
验证
multipathd的状态,以确保其处于活动状态且正在运行:# systemctl status multipathd
为RHEL 8设置原生 NVMe多路径
默认情况下,原生 NVMe 多路径在 RHEL 8 中处于禁用状态,必须使用以下步骤启用。
-
设置
modprobe规则以启用原生 NVMe 多路径。# echo "options nvme_core multipath=y" >> /etc/modprobe.d/50-nvme_core.conf
-
使用新的 modprobe 参数 remake
initramfs。# dracut -f
-
重新启动服务器以在启用原生 NVMe 多路径的情况下启动它
# reboot
-
确认主机重新启动后已启用原生 NVMe 多路径。
# cat /sys/module/nvme_core/parameters/multipath
-
如果命令输出为
N,则原生 NVMe 多路径仍处于禁用状态。 -
如果命令输出为
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。
-
验证当前 NVMe I/O 策略:
# cat /sys/module/nvme_core/parameters/iopolicy numa
-
使用以下方法之一设置
round-robinI/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
此设置在重启后不会保留。
-