14.2. 在 NVMe 设备中启用 DM 多路径
nvme_core.multipath 选项的默认内核设置被设置为 Y,这意味着启用了原生 Non-volatile Memory Express™(NVMe™)多路径。您可以通过禁用原生 NVMe 多路径在连接的 NVMe 设备上启用 DM 多路径。
先决条件
- NVMe 设备连接到您的系统。如需更多信息,请参阅 光纤设备上 NVMe 的概述。
流程
检查是否启用了原生 NVMe 多路径:
# cat /sys/module/nvme_core/parameters/multipath这个命令显示以下之一:
N- 禁用原生 NVMe 多路径。
Y- 启用原生 NVMe 多路径。
如果启用了原生 NVMe 多路径,使用以下方法之一禁用它:
使用内核选项:
在命令行中添加
nvme_core.multipath=N选项:# grubby --update-kernel=ALL --args="nvme_core.multipath=N"在 64 位 IBM Z 构架中更新引导菜单:
# zipl- 重启系统:
使用内核模块配置文件:
使用以下内容创建
/etc/modprobe.d/nvme_core.conf配置文件:options nvme_core multipath=N备份
initramfs文件:# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m%d-%H%M%S).img重建
initramfs:# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img # dracut --force --verbose- 重启系统:
启用 DM 多路径:
# systemctl enable --now multipathd.service在所有可用路径中分发 I/O。在
/etc/multipath.conf文件中添加以下内容:devices { device { vendor "NVME" product ".*" path_grouping_policy group_by_prio } }注意当 DM 多路径管理 NVMe 设备时,
/sys/class/nvme-subsys0/iopolicy配置文件不会影响 I/O 分发。重新载入
multipathd服务以应用配置更改:# multipath -r
验证
验证是否已禁用了原生 NVMe 多路径:
# cat /sys/module/nvme_core/parameters/multipath N验证 DM 多路径是否可以识别 nvme 设备:
# multipath -l eui.00007a8962ab241100a0980000d851c8 dm-6 NVME,NetApp E-Series size=20G features='0' hwhandler='0' wp=rw `-+- policy='service-time 0' prio=0 status=active |- 0:10:2:2 nvme0n2 259:3 active undef running `-+- policy='service-time 0' prio=0 status=enabled |- 4:11:2:2 nvme4n2 259:28 active undef running `-+- policy='service-time 0' prio=0 status=enabled |- 5:32778:2:2 nvme5n2 259:38 active undef running `-+- policy='service-time 0' prio=0 status=enabled |- 6:32779:2:2 nvme6n2 259:44 active undef running