4.5. 配置文件设备


表 4.3 “设备属性” 显示您可以为 multipath.conf 配置文件 devices 部分的每个独立存储设备设定的属性。这些属性可由 DM-Multipath 使用,除非使用 multipath.conf 文件 multipaths 部分为包含该设备的路径指定的属性覆盖这个值。这些属性覆盖了在 multipath.conf 文件 defaults 部分设定的属性。
默认情况下,在多路径配置中包括很多支持多路径的设备。这些设备默认支持值列在 multipath.conf.defaults 文件中。您可能不需要为这些设备修改默认值,但如果您想要修改默认值,您可以通过在想要更改默认值的设备的配置文件中添加一个条目来更改默认值。您可以为该设备复制 multipath.conf.defaults 文件中的设备配置默认值,并覆盖那些您想要更改的值。
要在配置文件的这个部分添加没有默认自动配置的设备,您需要设定 vendorproduct 参数。您可在 /sys/block/device_name/device/vendor/sys/block/device_name/device/model 文件中找到这些值,其中 device_name 是要进行多路径操作的设备,示例如下:
# cat /sys/block/sda/device/vendor
WINSYS  
# cat /sys/block/sda/device/model
SF2372
要指定的附加参数要视具体设备而定。如果设备是主动/主动模式,您通常不需要设置附加参数。您可能想要将 path_grouping_policy 设为 multibus。其它您可能需要设定的参数有 no_path_retryrr_min_io,详见 表 4.3 “设备属性”
如果设备是主动/被动模式,但它会自动将路径切换到被动路径,那么您需要将检查器功能改为不需向路径发送 I/O 来测试其是否工作(否则,您的设备将一直进行出错冗余)的功能。这几乎意味着您将 path_checker 设为 tur。这对所有支持 Test Unit Ready 命令的 SCSI 设备都适用。
如果该设备需要一个特殊的命令切换路径,那么为多路径配置此设备需要硬件处理器内核模块。当前的硬件处理器是 emc。如果这样还不能满足您的设备,则您可能无法为多路径配置该设备。
表 4.3. 设备属性
属性 描述
vendor 指定 device 采用的存储设备的零售商名称,例如 COMPAQ
product 指定 device 属性使用的存储设备产品名,比如 HSV110 (C) COMPAQ
revision 指定存储设备的产品修订识别程序。
product_blacklist 根据产品指定用来将设备列入黑名单的正则表达式。
hardware_handler
指定将在切换路径组群或者处理 I/O 错误时用来执行硬件具体动作的模块。可能的值包括:
1 emc:EMC 存储阵列的硬件处理程序。
1 alua:SCSI-3 ALUA 阵列的硬件处理程序。
1 hp_sw:Compaq/HP 控制器的硬件处理程序。
1 rdac:LSI/Engenio RDAC 控制器的硬件处理程序。
path_grouping_policy
指定用于未指定路径的默认路径分组策略,可能的值包括:
failover = 每个优先组群有一个路径
multibus = 所有有效路径在一个优先组群中
group_by_serial = 每个检测到的系列号有一个优先组群
group_by_prio = 每个路径优先值有一个优先组群
group_by_node_name = 每个目标节点名有一个优先组群
getuid_callout 指定默认程序和参数调用获得唯一路基功能识别程序。需要绝对路径。
path_selector
指定用来决定下一个 I/O 操作所使用路径的默认算法。可能的值包括:
round-robin 0:在路径组中循环每个路径,向每个路径发送同样数量的 I/O。
queue-length 0:将下一组 I/O 发送到具有最少未处理 I/O 请求的路径。
service-time 0:将下一组 I/O 发送到具有最短预计服务时间的路径,这是由未处理 I/O 的总量除以每个路径的相对流量决定的。
path_checker
指定用于决定路径状态的默认方法,可能的值包括:
readsector0:读取该设备的第一扇区。
tur:在该设备中执行 TEST UNIT READY
emc_clariion:查询 EMC Clariion 具体 EVPD 页面 0xCO 以便决定路径。
hp_sw:为使用 Active/Standby 固件的 HP 存储阵列检查路径状态。
rdac:为 LSI/Engenio RDAC 存储控制器检查路径状态。
directio:使用直接 I/O 读取第一个扇区。
features 多路径设备的额外功能。现有的唯一功能是 queue_if_no_path,它与将 no_path_retry 设为 queue 一致。有关使用这个功能可能出现问题的详情,请参考 第 5.6 节 “有 queue_if_no_path 功能的问题”
prio
指定要获得路径优先值所需调用的默认程序及参数。例如:SPC-3 中的 ALUA 字节提供了一个可改变的 prio 值。可能的值包括:
const:为所有路径设定优先权 1。
emc:为 EMC 阵列生成路径优先权。
alua:根据 SCSI-3 ALUA 设置生成路径优先权。
tpg_pref:根据 SCSI-3 ALUA 设置生成路径优先权,使用首选端口字节。
ontap:为 NetApp 阵列生成路径优先权。
rdac:为 LSI/Engenio RDAC 控制程序生成路径优先权。
hp_sw:为 Compaq/HP 控制程序在激活/等待模式中生成路径优先权。
hds:为 Hitachi HDS Modular 存储阵列生成路径优先权。
failback
管理路径组群出错切换。
immediate 值指定立即恢复到包含活跃路径的最高级别路径组群。
manual 值指定不需要立即恢复,只有在操作者干预的情况下会发生恢复。
followover 值指定当路径组的第一个路径成为活跃路径时应执行自动恢复。这可让节点在另一个节点请求故障修复时不会自动恢复。
大于 0 的数字值指定推迟出错切换,以秒表示。
rr_weight 如果将其设为 priorities,就不会在调用 selector 选择下一个路径前向路径发送 rr_min_io 请求,而是由 rr_min_io 乘以路径优先权决定发送的请求数,即由 prio 功能决定。如果将其设定为 uniform,则所有路径都有相同的加权。
no_path_retry
这个属性的数字值指定系统在禁用队列前应该试图使用失败的路径的次数。
fail 值说明立即失败,无需排队。
queue 表示固定路径前排队不会停止。
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。
fast_io_fail_tmo 在 FC 远程端口发现问题后,无法在那个远程端口设备中执行 I/O 前 SCSI 层要等待的时间。默认值应小于 dev_loss_tmo 值。将其设定为 off 则会禁用超时。
dev_loss_tmo 在 FC 远程端口发现问题后,到从该系统中删除它之前 SCSI 层要等待的时间。将其设定为无限,则会将其设定为 2147483647 秒,或者 68 年。
flush_on_last_del 如果将其设定为 yesmultipathd 守护进程将在删除了最后一个到某个设备的路径时禁用排队。
user_friendly_names 如果将其设为 yes,即指定该系统应该使用文件 /etc/multipath/bindings 为该多路径分配一个持久且唯一的别名,格式为 mpathn。如果设定为 no,即指定该系统应使用 WWID 作为该多路径的别名。在这两种情况下,您在这里指定的数值将被您在配置文件 multipaths 部分指定的具体设备别名覆盖。默认值为 no
retain_attached_hw_handler (红帽企业版 Linux 6.4 及之后的版本)如果将这个参数设定为 yes,且 scsi 层已为该路径设备附加可硬件句柄,multipath 将不会强制该设备使用 mutipath.conf 文件指定的 hardware_handler。如果该 scsi 层没有附加硬件句柄,multipath 将继续使用其配置的硬件句柄。
detect_prio (红帽企业版 Linux 6.4 及之后的版本)如果将这个参数设定为 yes,multipath 将首先检查该设备是否支持 ALUA,如果支持,则自动为该设备分配 alua 排序器。如果该设备不支持 ALUA,则按管用方法确定排序器。
以下示例显示了多路径配置文件的 device 条目。
#	}
#	device {
#		vendor			"COMPAQ  "
#		product			"MSA1000         "
#		path_grouping_policy	multibus
#		path_checker		tur
#		rr_weight		priorities
#	}
#}
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.