Linux 系统 SCSI 磁盘扫描机制解析及命令实例
介绍
Linux 系统扫描 SCSI 磁盘有几种方式?Linux 新增 LUN 之后,能否不重启主
机就认出设备?如果安装了 PowerPath,动态添加/删除 LUN 的命令是什么?
本文总结了 Linux 主机对磁盘设备进行重新配置的方式,并附加命令实例。
更多信息
Linux 系统提供多重机制以重新扫描 SCSI 总线并重认系统中加入的 SCSI 设备。
在 2.4 内核方案中,由于动态 LUN 扫描机制不具备一致性,往往需要中断 I/O。
2.6 内核里,LUN 扫描有了显著改进并添加了动态 LUN 扫描机制。Linux 目前
缺乏像 drvconfig 或 ioscan 那样允许动态 SCSI 通道重配的命令。
Linux 主机对磁盘设备进行重新配置的方式包括:
重启系统
卸载并重新加载 HBA 驱动模块
Echo /proc 下的 SCSI 设备列表
通过/sys 下的属性设置运行 SCSI 扫描
通过 HBA 厂商脚本运行 SCSI 扫描
系统重启
重启主机是检测新添加磁盘设备的可靠方式。在所有 I/O 停止之后方可重启主
机,同时静态或以模块方式连接磁盘驱动。系统初始化时会扫描 PCI 总线,因此
挂载其上的 SCSI host adapter 会被扫描到,并生成一个 PCI device。之后扫描
软件会为该 PCI device 加载相应的驱动程序。加载 SCSI host 驱动时,其探测函
数会初始化 SCSI host,注册中断处理函数,最后调用 scsi_scan_host 函数扫描
scsi host adapter 所管理的所有 scsi 总线。
重新加载 HBA 驱动
通常情况下,HBA 驱动在系统中以模块形式加载。从而允许模块被卸载并重新
加载,在该过程中 SCSI 扫描函数得以调用。通常,在卸载 HBA 驱动之前,SCSI
设备的所有 I/O 都应该停止,卸载文件系统,多路径服务应用也需停止。如果有
代理或 HBA 应用帮助模块,也应当中止。
命令示例:
例如,rac 节点上某台服务器执行 fdisk –l 命令看不到共享磁盘,可尝试执行如
下命令:
评论0