Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.6. 有 queue_if_no_path 功能的问题

如果在 /etc/multipath.conf 文件中指定 features "1 queue_if_no_path",那么所有采用 I/O 操作的进程都将被挂起直到恢复了一个或者多个路径。要避免这种情况,请在 /etc/multipath.conf 文件中设定 no_path_retry N 参数(其中 N 是该系统应该重试某个路径的次数)。
当您设定 no_path_retry 参数时,还要从 /etc/multipath.conf 文件中删除 features "1 queue_if_no_path" 选项。但如果您使用默认编译为 features "1 queue_if_no_path" 选项的多路径设备(很多 SAN 设备都是如此),则您必须添加 features "0" 覆盖这个默认设置。您可以将 /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults 中您设备的现有 devices 部分复制到 /etc/multipath.conf 并进行编辑以便适应您的需要。
如果您需要使用 features "1 queue_if_no_path" 选项,且您遇到过这里提到的问题,请使用 dmsetup 命令为特定 LUN 编辑运行时策略(就是说对该特定 LUN 来说所有路径都不可用)。例如:如果您想要将多路径设备 mpath2 的策略从 "queue_if_no_path" 改为 "fail_if_no_path",请执行以下命令。
dmsetup message mpathc 0 "fail_if_no_path"
请注意:您必须指定 mpathn 别名而不是该路径。