要确保在故障转移时恢复路径,建议使用某些设备映射器多路径 (DMMP) 设置以及将 Linux 主机连接至系统的 udev 规则。 这些设置对 IBMSystem x、所有基于 Intel 或 AMD 的服务器及 Power 平台有效。
对于每个 Linux 分发版以及分发版中的发行版,针对 Red Hat 请参阅 [/usr/share/doc/device-mapper-multipath.*] 下的缺省设置,针对 Novell SuSE 则参阅 [/usr/share/doc/packages/multipath-tools] 下的缺省设置。 确保添加到 multipath.conf 的条目与所需的 Linux 分发版的格式和语法相匹配。 仅使用相关分发版和发行版中的 multipath.conf。 请不要在不同分发版或发行版之间复制 multipath.conf 文件。
对于某些操作系统级别,polling_interval 必需在 defaults 下,而不是在设备设置下。 如果设备部分存在 polling_interval,请使用 # 键注释掉 polling_interval。
Under Device Section # polling_interval 30, Under Defaults Section defaults { user_friendly_names yes polling_interval 30 }
multipathd -k multipathd> show config
vendor "IBM" product "2145" path_grouping_policy "group_by_prio" path_selector "round-robin 0" prio_callout "/sbin/mpath_prio_alua /dev/%n" #Used by Red Hat 5.x prio "alua" path_checker "tur" failback "immediate" no_path_retry 5 rr_weight uniform rr_min_io 1000 dev_loss_tmo 120
vendor "IBM" product "2145" path_grouping_policy "group_by_prio" path_selector "round-robin 0" # Used by Red Hat 6.2 prio "alua" path_checker "tur" failback "immediate" no_path_retry 5 rr_weight uniform rr_min_io_rq "1" dev_loss_tmo 120
vendor "IBM" product "2145" path_grouping_policy "group_by_prio" path_selector "service-time 0" # Used by Red Hat 7.x prio "alua" path_checker "tur" failback "immediate" no_path_retry 5 rr_weight uniform rr_min_io_rq "1" dev_loss_tmo 120
vendor "IBM" product "2145" path_grouping_policy "group_by_prio" path_selector "round-robin 0" prio "alua" path_checker "tur" failback "immediate" no_path_retry 5 rr_weight uniform rr_min_io 1000 dev_loss_tmo 120
vendor "IBM" product "2145" path_grouping_policy "group_by_prio" path_selector "round-robin 0" # Used by SLES 11 SP2 prio "alua" path_checker "tur" failback "immediate" no_path_retry 5 rr_weight uniform rr_min_io_rq "1" dev_loss_tmo 120
vendor "IBM" product "2145" path_grouping_policy "group_by_prio" path_selector "service-time 0" # Used by SLES 11 SP3+ prio "alua" path_checker "tur" failback "immediate" no_path_retry 5 rr_weight uniform rr_min_io_rq "1" dev_loss_tmo 120
vendor "IBM" product "2145" path_grouping_policy "group_by_prio" path_selector "service-time 0" prio "alua" path_checker "tur" failback "immediate" retain_attached_hw_handler "yes" no_path_retry "queue" fast_io_fail_tmo 5 rr_min_io 1000 rr_min_io_rq 1 rr_weight "uniform"
vendor "IBM" product "2145" path_grouping_policy "group_by_prio" path_selector "service-time 0" prio "alua" path_checker "tur" failback "immediate" no_path_retry "queue" retain_attached_hw_handler "yes" fast_io_fail_tmo 5 rr_min_io 1000 rr_min_io_rq 1 rr_weight "uniform"
设置 SCSI 命令超时的 udev 规则。
将 SCSI 命令超时设置为 120 秒。 这是针对所有 Linux 版本的建议设置。
udev rules file cat /etc/udev/rules.d/99-ibm-2145.rules # Set SCSI command timeout to 120s (default == 30 or 60) for IBM 2145 devices SUBSYSTEM=="block", ACTION=="add", ENV{ID_VENDOR}=="IBM",ENV{ID_MODEL}=="2145", RUN+="/bin/sh -c 'echo 120 >/sys/block/%k/device/timeout'"
在设置卷之后,确认为其设置了 120 秒。 通过从命令行运行 multipath -ll | grep sd 来查找块设备路径。 然后,运行 cat /sys/block/sdX/device/timeout(其中 X 是每个 2145 块设备路径)。