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