Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.12. 扫描存储互连

某些命令允许您重置、扫描或重置并扫描一个或多个互连,这些互连可能在一次操作中添加和删除了多个设备。这种类型的扫描可能会造成混乱,因为它可能会在 I/O 操作超时时造成延迟,并意外删除设备。红帽建议 仅在需要时 使用互连扫描。扫描存储互连时,请观察以下限制:
  • 在执行此流程前,必须暂停并刷新受影响的互连上的所有 I/O,并在 I/O 恢复前检查扫描的结果。
  • 与删除设备一样,当系统面临内存压力时,不建议进行互连扫描。要确定内存压力的级别,请运行 vmstat 1 100 命令。如果每 100 个样本中超过 10 个样本的空闲内存小于总内存的 5%,则不建议进行互连扫描。另外,如果交换处于活跃状态( vmstat 输出中的非零 siso 列),则不建议进行互连扫描。free 命令还可以显示总内存。
以下命令可用于扫描存储互连:
echo "1" > /sys/class/fc_host/hostN/issue_lip
(用主机号替换 N。)
此操作执行 循环初始化协议 (LIP),扫描互连,并导致更新 SCSI 层以反映总线上当前的设备。基本上,LIP 是总线重置,导致设备添加和删除。为了在光纤通道互连上配置新的 SCSI 目标,这个流程是必需的。
请注意,issue_lip 是异步操作。该命令可以在整个扫描完成之前完成。您必须监控 /var/log/messages,以确定 issue_lip 何时完成。
lpfcqla2xxxbnx2fc 驱动程序支持 issue_lip。有关 Red Hat Enterprise Linux 中每个驱动程序支持的 API 功能的更多信息,请参阅 表 25.1 “Fibre Channel API 功能”
/usr/bin/rescan-scsi-bus.sh
Red Hat Enterprise Linux 5.4 中引入了 /usr/bin/rescan-scsi-bus.sh 脚本。默认情况下,此脚本会扫描系统上的所有 SCSI 总线,并更新 SCSI 层以反映总线上的新设备。脚本提供了允许移除设备和发布 LIP 的附加选项。有关此脚本的详情,包括已知问题,请参阅 第 25.18 节 “通过 rescan-scsi-bus.sh 添加/删除逻辑单元”
echo "- - -" > /sys/class/scsi_host/hosth/scan
这与 第 25.11 节 “添加存储设备或路径” 中所述的添加存储设备或路径的命令相同。然而,在这种情况下,通道号、SCSI 目标 ID 和 LUN 值会被通配符替代。允许标识符和通配符的任意组合,以便您可以根据需要将命令设置为特定的或广泛的。这个流程添加了 LUN,但不会删除它们。
modprobe --remove driver-name, modprobe driver-name
运行 modprobe --remove driver-name 命令,后跟 modprobe driver-name 命令完全重新初始化由驱动程序控制的所有互连的状态。尽管非常极端,但在某些情况下,使用上述命令可能是合适的。例如,命令可用于使用不同的模块参数值重新启动驱动程序。