3.3. 在生成多路径设备时忽略本地磁盘

有些机器在其内部磁盘中使用本地 SCSI 卡,我们不建议在这些设备中使用 DM 多路径。如果将 find_multipaths 配置参数设置为 yes,则不必在这些设备上禁用多路径。

如果您没有将 find_multipaths 配置参数设置为 yes,则您可以使用以下流程修改 DM 多路径配置文件,以便在配置多路径时忽略本地磁盘。

流程

  1. 使用任何已知参数(如设备的型号、路径或厂商)识别内部磁盘,并使用以下选项之一确定其 WWID:

    • 显示现有的多路径设备:

      # multipath -v2 -l
      
      mpatha (WDC_WD800JD-75MSA3_WD-WMAM9FU71040) dm-2 ATA,WDC WD800JD-75MS
      size=33 GB features="0" hwhandler="0" wp=rw
      `-+- policy='round-robin 0' prio=0 status=active
        |- 0:0:0:0 sda 8:0 active undef running
    • 显示 DM 多路径可能创建的附加多路径设备:

      # multipath -v2 -d
      
      : mpatha (WDC_WD800JD-75MSA3_WD-WMAM9FU71040) dm-2 ATA,WDC WD800JD-75MS
      size=33 GB features="0" hwhandler="0" wp=undef
      `-+- policy='round-robin 0' prio=1 status=undef
        |- 0:0:0:0 sda 8:0  undef ready running
    • 显示设备信息:

      # multipathd show paths raw format "%d %w" | grep sda
      sda WDC_WD800JD-75MSA3_WD-WMAM9FU71040

      在这个示例中,/dev/sda 是内部磁盘,其 WWID 是 WDC_WD800JD-75MSA3_WD-WMAM9FU71040

  2. 编辑 /etc/multipath.conf 文件的 blacklist 部分,以忽略这个设备,使用其 WWID 属性:

    blacklist {
          wwid WDC_WD800JD-75MSA3_WD-WMAM9FU71040
    }
    警告

    虽然您可以使用其 devnode 参数(如 sda )识别设备,但它不能是一个安全的流程,因为无法保证 /dev/sda 在重启时指向同一设备。

  3. 检查 /etc/multipath.conf 文件中的任何配置错误:

    # multipath -t > /dev/null

    要查看完整报告,请不要丢弃命令输出:

    # multipath -t
  4. 如果磁盘包含在 initramfs 中,则重新制作 initramfs。如需更多信息,请参阅在 在 initramfs 中配置多路径
  5. 通过重新配置 multipathd 守护进程来重新载入 /etc/multipath.conf 文件:

    # systemctl reload multipathd
注意

使用时无法删除本地磁盘上面的多路径设备。要忽略这样的设备,请停止设备的所有用户。例如,通过卸载其之上的任何文件系统,并停用使用它的任何逻辑卷。如果无法做到这一点,您可以重启系统来删除多路径设备。

验证

  1. 验证内部磁盘是否被忽略,且不显示在多路径输出中:

    • 列出多路径设备:

      # multipath -v2 -l
    • 列出 DM 多路径可以创建的额外设备:

      # multipath -v2 -d

其他资源

  • multipath.conf(5) 手册页