Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
4.3. 配置文件默认设置
/etc/multipath.conf
配置文件包括 defaults
部分,在该部分中将 user_friendly_names
参数设为 yes
,如下。
defaults { user_friendly_names yes }
这可覆盖
user_friendly_names
参数的默认值。
该配置文件包括配置默认模板。这部分要被注释出来,如下。
#defaults { # udev_dir /dev # polling_interval 5 # path_selector "round-robin 0" # path_grouping_policy failover # getuid_callout "/lib/dev/scsi_id --whitelisted --device=/dev/%n" # prio const # path_checker directio # rr_min_io 1000 # rr_weight uniform # failback manual # no_path_retry fail # user_friendly_names no #}
要覆盖任意配置参数的默认值,您可将这个模板中相关的行复制到
defaults
部分并取消其注释。例如:要覆盖 path_grouping_policy
参数以便用 multibus
覆盖默认的 failover
,请将模板中正确的行复制到配置文件的 defaults
部分并取消对它的注释,如下。
defaults { user_friendly_names yes path_grouping_policy multibus }
表 4.1 “多路径配置默认设置” 描述了在
multipath.conf
配置文件 defaults
部分设置的属性。这些值会被 DM-Multipath 使用,除非用 multipath.conf
配置文件的 devices
和 multipaths
部分指定的属性将其覆盖。
注意
从红帽企业版 Linux 6.0 开始弃用
mode
、uid
和 gid
参数。device-mapper 设备的权限(包括 multipath 映射)由 udev
规则设定。/usr/share/doc/device-mapper-version
中有一个模板文件,名为 12-dm-permissions.rules
,您可以使用它并将其放在 /etc/udev/rules.d
目录中使其生效。
表 4.1. 多路径配置默认设置
属性 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
polling_interval | 以秒为单位指定两次路径检查之间的间隔。对正常工作的路径,两次检查间的间隔会逐渐增加到 polling_interval 的四倍。默认值为 5。 | ||||||||||
udev_dir | 生成 udev 设备节点的目录,默认值为 /dev 。 | ||||||||||
multipath_dir | 保存动态共享对象的目录。默认值依系统而定,通常为 /lib/multipath 。 | ||||||||||
find_multipaths |
| ||||||||||
verbosity | 默认详情。数值越高则详细程度越高。有效等级在 0 - 6 之间。默认值为 2 。 | ||||||||||
path_selector |
| ||||||||||
path_grouping_policy |
| ||||||||||
getuid_callout |
| ||||||||||
prio |
| ||||||||||
features | 多路径设备的默认额外功能。现有的唯一功能是 queue_if_no_path ,其功能与将 no_path_retry 设为 queue 一致。有关使用这个功能可能出现问题的详情,请参考 第 5.6 节 “有 queue_if_no_path 功能的问题”。 | ||||||||||
path_checker |
| ||||||||||
failback |
| ||||||||||
rr_min_io | 指定切换到当前路径组的下一个路径前路由到该路径的 I/O 请求数。这个设置值用于运行内核为 2.6.31 之前的系统。使用新版本的系统应使用 rr_min_io_rq 。默认值为 1000。 | ||||||||||
rr_min_io_rq | 使用 request-based device-mapper-multipath 指定切换到当前路径组的下一个路径前路由到该路径的 I/O 请求数。这个设置值用于运行当前内核的系统。在使用内核 2.6.31 版本之前的系统应使用 rr_min_io 。默认值为 1。 | ||||||||||
rr_weight | 如果将其设为 priorities ,就不会在调用 selector 选择下一个路径前向路径发送 rr_min_io 请求,而是由 rr_min_io 乘以路径优先权决定发送的请求数,即由 prio 功能决定。如果将其设定为 uniform ,则所有路径都有相同的加权。默认值为 uniform 。 | ||||||||||
no_path_retry |
| ||||||||||
user_friendly_names | 如果将其设为 yes ,即指定该系统应该使用文件 /etc/multipath/bindings 为该多路径分配一个持久且唯一的别名,格式为 mpath n 。如果设定为 no ,即指定该系统应使用 WWID 作为该多路径的别名。在这两种情况下,您在这里指定的数值将被您在配置文件 multipaths 部分指定的具体设备别名覆盖。默认值为 no 。 | ||||||||||
queue_without_daemon | 如果将其设定为 no ,multipathd 守护进程将在其关闭时禁用所有设备排队。默认值为 no 。 | ||||||||||
flush_on_last_del | 如果将其设定为 yes ,multipathd 守护进程将在删除了最后一个到某个设备的路径时禁用查询。默认值为 no 。 | ||||||||||
max_fds | 设定 multipath 可以打开的文件提示符以及 multipathd 守护进程的最大值。这与 ulimit -n 命令效果一致。从红帽企业版 Linux 6.3 开始,默认值为 max ,该值将该系统限制到 /proc/sys/fs/nr_open 。对其较早的版本,如果没有设定这个值,则使用调用进程作为打开文件提示符的最大值,通常为 1024。安全起见,如果该数值大于 1024,应将其设定为路径最大值+32。 | ||||||||||
checker_timeout | 执行带明确超时设定的 SCSI 命令的路径检查程序的超时时间。默认值采用 sys/block/sdx/device/timeout 中指定的值。 | ||||||||||
fast_io_fail_tmo | 在 FC 远程端口发现问题后,无法在那个远程端口设备中执行 I/O 前 SCSI 层要等待的时间。默认值应小于 dev_loss_tmo 值。将其设定为 off 则会禁用超时。默认值由该操作系统决定。 | ||||||||||
dev_loss_tmo | 在 FC 远程端口发现问题后,到从该系统中删除它之前 SCSI 层要等待的时间。将其设定为无限,则会将其设定为 2147483647 秒,或者 68 年。默认值由该操作系统决定。 | ||||||||||
hwtable_regex_match |
| ||||||||||
retain_attached_hw_handler | (红帽企业版 Linux 6.4 及之后的版本)如果将这个参数设定为 yes ,且 scsi 层已为该路径设备附加可硬件句柄,multipath 将不会强制该设备使用 mutipath.conf 文件指定的 hardware_handler 。如果该 scsi 层没有附加硬件句柄,multipath 将继续使用其配置的硬件句柄。默认值为 no 。 | ||||||||||
detect_prio | (红帽企业版 Linux 6.4 及之后的版本)如果将这个参数设定为 yes ,multipath 将首先检查该设备是否支持 ALUA,如果支持,则自动为该设备分配 alua 排序器。如果该设备不支持 ALUA,则按管用方法确定排序器。默认值为 no 。 |