4.2. 配置文件黑名单

多路径配置文件的 blacklist 部分指定在系统配置多路径设备时不能使用的设备。黑名单中的设备将无法分组到多路径设备中。
在旧版 Red Hat Enterprise Linux 中,multipath 总是尝试为每个没有明确列入黑名单的路径创建多路径设备。但在 Red Hat Enterprise Linux 6 中,如果 find_multipaths 配置参数被设定为 yes , multipath 将只在满足以下三个条件之一时创建设备:
  • 至少有两个使用同一 WWID 的路径没有被 列入黑名单。
  • 用户可使用 multipath 命令手动强制创建该设备。
  • 有与之前创建的多路径设备相同 WWID 的路径(即使那个多路径设备目前不存在)。无论何时,创建多路径设备后,多路径会记住该设备的 WWID,以便在它看到有使用那个 WWID 的路径时即自动再次创建该设备。这可允许您让多路径自动选择正确的路径以便创建多路径设备而无需编辑多路径黑名单。
    如果您之前创建了一个 multipath 设备而没有使用 find_multipaths 参数,然后您随后将该参数设定为 yes,您需要删除所有设备的 WWID,您不想从 /etc/multipath/wwids 文件中将其创建为 multipath 设备。以下显示示例 /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/
如将 find_multipaths 参数设定为 yes,则您只需要将那些您不想使其具有多路径功能的多路径设备列入黑名单,通常不需要将设备列入黑名单。
如果您需要将设备列入黑名单,您可以根据以下条件进行选择:
默认情况下,各种设备类型都是列在黑名单中的,即使您将配置文件的初始黑名单部分注释出来也是如此。详情请参考 第 4.2.2 节 “根据设备名称将设备列入黑名单”

4.2.1. 根据 WWID 将设备列入黑名单

您可根据全球识别符将单独的设备列入黑名单,即在配置文件的 blacklist 部分加入 wwid 条目。
以下示例显示了在配置文件中可将 WWID 为 26353900f02796769 的设备列入黑名单的行。
blacklist {
       wwid 26353900f02796769
}

4.2.2. 根据设备名称将设备列入黑名单

您可以根据设备名称将设备类型列入黑名单,以便在配置文件 blacklist 部分的 devnode 条目中指定不要将它们分组到多路径设备中。
以下实例显示该配置文件中的可以将所有 SCSI 设备放入黑名单的行,因为它将所有 sd* 设备放入黑名单。
blacklist {
       devnode "^sd[a-z]"
}
您可以使用配置文件 blacklist 部分的 devnode 条目指定要列入黑名单的每个设备,而不是指定具体类型的所有设备,我们不推荐使用后一种情况。除非根据 udev 规则的静态映射,我们无法保证在重启后每个设备的名称是一样的。例如:重启后,某个设备的名称可能从 /dev/sda 变为 /dev/sdb
默认情况下,以下 devnode 条目将会被列入默认黑名单中;因为这些条目而被列入黑名单的设备通常不支持 DM Multipath。如需在这些设备中启用 multipath,则需要在配置文件的 blacklist_exceptions 部分指定这些设备,详情请参阅〈第 4.2.4 节 “黑名单之外的设备”〉。
blacklist {
       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
       devnode "^(td|ha)d[a-z]"
}

4.2.3. 根据设备类型将其加入黑名单

您可以在配置文件的 blacklist 部分与 device 一同指定具体设备类型。以下实例将所有 IBM DS4200 和 HP 设备放入黑名单。
blacklist {
       device {
               vendor  "IBM"
               product "3S42"       #DS4200 Product 10
       }
       device {
               vendor  "HP"
               product "*"
       }
}

4.2.4. 黑名单之外的设备

您可使用配置文件的 blacklist_exceptions 部分为被默认加入黑名单的设备启用多路径。
例如:如果您有大量设备,但只有一个需要多路径(WWID 为 3600d0230000000000e13955cc3757803),您不需要将您想要使用多路径的设备之外的每个设备单独加入黑名单,您只需要将所有设备都加入黑名单,然后在 /etc/multipath.conf 文件中添加以下行以便只允许您想要使用多路径的设备:
blacklist {
        wwid "*"
}

blacklist_exceptions {
        wwid "3600d0230000000000e13955cc3757803"
}
当在配置文件的 blacklist_exceptions 指定设备时,您必须以指定黑名单的相同方法来指定例外情况。例如:在 devnode 黑名单条目中指定的设备无法使用 WWID 将其指定为例外情况,即使列入黑名单的设备和该 WWID 关联也不行。同样,devnode 例外也只适用于 devnode 条目,而 device 例外只适用于 device 条目。