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"
请注意:您必须指定
mpath
n
别名而不是该路径。