Unity:当 Unity LUN 处于非活动状态时,带 DM-MPIO 的 BFS RHEL8.3 服务器无法启动
摘要: 当 Unity LUN 处于非活动状态时,使用 DM-MPIO 从 SAN 启动的 Red Hat 服务器 (BFS) 无法启动。在 Red Hat 服务器(BFS 和本地启动)上,当 LUN 设置为非活动时,“fdisk -l”命令(EMCGRAB 和 SOSREPORT)未完成。(用户可纠正)
症状
当 Unity LUN 处于非活动状态时,无法启动 Red Hat 服务器从 SAN 启动 (BFS)。
在 Red Hat 服务器(BFS 和本地启动)上, fdisk -l 当 LUN 设置为非活动时,命令未完成。
在 Red Hat 服务器(BFS 和本地启动)上, emcgrab以及 sosreport 当 LUN 设置为非活动时,命令未完成。
Red Hat 服务器在控制台屏幕和消息中报告非活动 LUN 的 I/O 错误,如下所示:
blk_update_request: I/O error, dev sdh, sector 20971392 op 0x0:(READ) flags 0x4200 phys_seg 1 prio class 0 Buffer I/O error on sdh, logical block 2621424, async page read
而 multipath -ll 命令显示路径未正确配置,如下所示:
mpathb (360xxxxxxxxxxxxxxxxxxxxxxxxx) dm-1 DGC,VRAID size=10G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=23 status=enabled | |- 6:0:0:1 sdb 8:16 failed ready running | |- 7:0:0:1 sdf 8:80 failed ready running | `- 7:0:1:1 sdh 8:112 failed ready running `-+- policy='service-time 0' prio=50 status=enabled `- 6:0:1:1 sdd 8:48 failed ready running
原因
Red Hat Enterprise Linux 7.4 引入了 detect_checker 作为缺省值为 yes 的节参数。多路径 I/O (MPIO) 检测设备是否支持非对称逻辑单元访问 (ALUA)。如果它支持 ALUA 并且 detect_checker 值为“是”,MPIO 会覆盖配置的 path_checker 并使用 TUR checker 而是用户定义的 path_checker emc_clariion 被忽略。而 TUR checker 未正确处理来自 Unity 非活动 LUN 的 SCSI 感知。DM-MPIO 会反复还原路径。
如果 Red Hat 服务器是从 SAN 引导的, multipathd 在 initramfs 阶段未完成,因此作系统无法进入装载真实 rootFS阶段。
如果本地启动 Red Hat 服务器,则 fdisk -l 命令停止响应,因为到非活动 LUN 的 I/O 未完成。
解决方案
使 DM-MPIO 使用 emc_clariion_checker 因为它可以正确处理非活动 LUN 状态。
备份原始 /etc/multpath.conf 文件并修改它,如下所示。
请参阅最新的 《Linux 主机连接指南 》和 Red Hat Enterprise Linux 7.4 及更高版本 部分 /etc/multpath.conf。
defaults {
user_friendly_names yes
}
devices {
device {
vendor "DGC"
product ".*"
product_blacklist "LUNZ"
path_grouping_policy "group_by_prio"
path_checker "emc_clariion"
features "1 queue_if_no_path"
hardware_handler "1 emc"
prio "emc"
failback immediate
rr_weight "uniform"
no_path_retry 60
retain_attached_hw_handler yes
detect_prio yes
detect_checker no
}
}
下面是仅从 SAN (BFS) Red Hat 服务器启动。
如果您的 BFS Red Hat 服务器遇到启动问题,请将服务器的 LUN 状态从非活动状态更改为活动状态。然后,作系统完成启动过程。作系统启动后,修改 /etc/multpath.conf 如上所述的文件。编辑 /etc/multpath.conf 文件、重建 initramfs multipath 使用 dracut 命令为您的组织配置主要和次要 IT 联系人。建议创建原始 initramfs 重建之前的文件 initramfs。
dracut --force --add multipath
有关重建的更多详细信息 initramfs,请咨询 Red Hat 支持。