总结
当需要在生产环境中真正执行 rescan-scsi-bus.sh -i 时,请停止所有应用程序/数据库实例,然后执行 rescan-scsi-bus.sh -i。
最安全的方法是计划服务器重启,因为服务器启动 LIP 重置会自动执行。
还请记住,当多路径路径丢失时不需要执行 rescan-scsi-bus.sh -i,它会在后端存储路径恢复时恢复(这是通过多路径中的 path_checker 选项完成的) .conf)。
何时使用 issu_lip
请使用不带 -i FLAG 的标准 rescan-scsi-bus.sh 命令,rescan-scsi-bus.sh 只会“扫描”新的 LUN。
在实时/生产环境中执行 rescan-scsi-bus.sh -i 时请格外注意,这可能会导致严重的问题。
当在实际 RAC 节点或者任何使用驱逐进程的集群软件上执行 rescan-scsi-bus.sh 时,问题可能会更糟,这是由于 I/O 活动将在 rescan-scsi-bus 的节点上被阻塞。
执行 sh -i 导致磁盘心跳无法写入“心跳信息”。
LIP 重置也可以在不使用 rescan-scsi-bus.sh -i 的情况下实现,使用命令:
# echo "1" > /sys/class/fc_host/host/issue_lip
不推荐这种方法。
LIP 命令是异步的,因此该命令可能会在 LIP 操作完成之前返回。
我们必须监视 /var/log/messages 系统日志以确定 LIP 操作何时完成。
这本质上是总线重置,因此任何进行中的 I/O 操作都可能会中断。
请改用 rescan-scsi-bus.sh 脚本。
当需要发现新的LUN时,可以执行:
# echo "1" > /sys/class/fc_host/host/issue_lip
这应该有助于让新的 LUN 出现在系统上,而无需执行 rescan-scsi-bus.sh -i 命令。
不推荐这种方法。
LIP 命令是异步的,因此该命令可能会在 LIP 操作完成之前返回。
我们必须监视 /var/log/messages 系统日志以确定 LIP 操作何时完成。
这本质上是总线重置,因此任何进行中的 I/O 操作都可能会中断。
请改用 rescan-scsi-bug.sh 脚本。
“rescan-scsi-bus.sh”可用于扫描 CentOS/RHEL 机器中的新 LUN。
运行“rescan-scsi-bus.sh -i”时,脚本还会执行 LIP_RESET (ISSUE_LIP),这可能会导致服务器上的 I/O 中断,甚至在系统负载过重的情况下导致中断.
LIP 重置可能会导致什么?
如果 HBA/设备正在使用中,则扫描 HBA 的循环初始化协议方法可能会导致延迟和 I/O 超时,也可能会意外删除设备。
因此,不建议在已配置使用中的 SAN 设备的任何生产服务器上使用此方法执行扫描。
建议在新建的服务器上进行此类扫描,以扫描所有 LUN/设备。
LIP 通常在服务器启动时执行。
什么是 LIP(循环初始化协议)?
LIP 扫描互连并使 SCSI 层更新以反映当前总线上的设备。
LIP 本质上是总线复位,会导致设备添加和移除。
要在光纤通道互连上配置新的 SCSI 目标,必须执行此过程。
请记住, issue_lip 是一个异步操作。
该命令可能会在整个扫描完成之前完成。