第 6 章 防止设备多路径

您可以将 DM 多路径配置为在配置多路径设备时忽略所选设备。DM 多路径不会将这些忽略的设备分组到多路径设备中。

6.1. DM 多路径为路径创建多路径设备的条件

DM 多路径有一组默认规则,用于决定是否为路径创建多路径设备还是忽略路径。您可以配置行为。

如果将 find_multipaths 配置参数设定为 off,则多路径总是会尝试为每个未明确禁用的路径创建一个多路径设备。如果 find_multipaths 配置参数被设置为 on,则只在满足以下条件之一时,多路径会创建一个设备:

  • 至少有两个路径有相同的全局-Wide Identification(WWID)没有禁用。
  • 您可以使用 multipath 命令指定设备来手动强制创建设备。
  • 一个路径的 WWID 与之前创建的多路径设备相同,即使那个多路径设备目前还不存在。每当创建多路径设备时,多路径都会记住设备的 WWID,以便在看到该 WWID 的路径时立即自动创建该设备。这可让您让多路径自动选择到多路径设备的正确路径,而无需在其它设备中禁用多路径。

如果您之前使用 find_multipaths 参数创建了多路径设备,然后稍后将 参数设置为 on,您可能需要从 /etc/multipath/wwids 文件中删除您不想作为多路径设备创建的 WWID。以下示例显示了示例 /etc/multipath/wwids 文件。WWID 用斜杠(/)括起:

# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/3600d0230000000000e13955cc3757802/
/3600d0230000000000e13955cc3757801/
/3600d0230000000000e13955cc3757800/
/3600d02300069c9ce09d41c31f29d4c00/
/SWINSYS  SF2372         0E13955CC3757802/
/3600d0230000000000e13955cc3757803/

除了 onoff 之外,您还可以将 find_multipaths 设置为以下值:

strict
多路径永远不会接受之前没有多路径的路径,因此不在 /etc/multipath/wwids 文件中。
smart
多路径会在出现时立即接受 udev 中的非禁用设备。如果 multipathd 没有在使用 find_multipaths_timeout 参数设置的超时中创建设备,它将在该设备中释放其声明。

find_multipaths 的内置默认值为 off。但是,mpathconf 创建的默认 multipath.conf 文件会将 find_multipaths 的值设置为 on

find_multipaths 参数设置为 on 时,仅在带有您不想使用多路径的设备中禁用多路径。因此,通常不需要在设备中禁用多路径。

如果您将之前创建的多路径设备添加到 黑名单 中,通过使用 -w 选项从 /etc/multipath/wwids 文件中删除该设备的 WWID 有助于避免与其他程序出现问题。例如,要从 /etc/multipath/wwids 文件中删除 WWID 为3600d0230000000000e13954ed5f89300 的设备 /dev/sdb

  • 使用设备名称删除多路径设备。

    # multipath -w /dev/sdb
    wwid '3600d0230000000000e13954ed5f89300' removed
  • 使用设备的 WWID 删除多路径设备。

    # multipath -w 3600d0230000000000e13954ed5f89300
    wwid '3600d0230000000000e13954ed5f89300' removed

您也可以使用 -W 选项来更新 /etc/multipath/wwids 文件。这会将 /etc/multipath/wwids 文件重置为仅包含当前多路径设备的 WWID。要重置文件,请运行以下命令:

# multipath -W
successfully reset wwids

其他资源

  • multipath.conf(5) 手册页