介绍 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命令看不到共享磁盘,可尝试执行如下命令: # modprobe -r lpfc(卸载驱动) # modprobe lpfc(加载驱动) /proc下SCSI扫描 2.4内核中,/proc文件系统提供了可用SCSI设备的列表。如果系统中SCSI设备重新配置,那么所有这些改变通过echo /proc接口反映到SCSI设备中。添加一个设备,主机,channel,target ID,以及磁盘设备的LUN编号会被添加到/proc/scsi/,需指定scsi编号。 命令示例: # echo "scsi add-single-device 0 1 2 3" > /proc/scsi/scsi 0:主机ID 1:channel ID 2:target ID 3:LUN编号 该命令会将新磁盘设备添加到/proc/scsi/scsi文件中。如果没有找到相应文件,需为/dev路径下新增磁盘设备创建设备文件名。 如果要删除一个磁盘设备,使用适当的主机,channel,target ID及LUN编号运行如下格式命令: # echo "scsi remove-single-device 0 1 2 3" > /proc/scsi/scsi 0:主机ID 1:channel ID 2:target ID 3:LUN编号 /sys下SCSI扫描 2.6内核中,HBA驱动将SCAN功能导出至/sys目录下,可用来重新扫描该接口下的SCSI磁盘设备。命令如下: # cd /sys/class/scsi_host/host4/ # ls -al scan # echo ‘- - -’ > scan ‘- - -’代表channel,target和LUN编号。以上命令会导致hba4下所有channel,target以及可见LUN被扫描。 RHEL5 或SUSE: echo ‘- - -’ > /sys/class/scsi_host/host0/scan /sys/class/scsi_host/ 下面有几个host 就扫描几次 RHEL4 或SUSE9: echo 1 >> /sys/class/scsi_host/host0/issue_lip 同样是/sys/class/scsi_host/ 下面有几个host 就执行几次 echo ‘- - -’ >> /sys/class/scsi_host/host0/scan
推荐整理分享Linux系统SCSI磁盘扫描机制解析及命令详细介绍,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
linux oracle 乱码 Linux环境Oracle显示乱码解决犯法 故障现象:所有出现汉字的地方,都以?替代,或者是直接乱码。有时候报错提示也出现乱码。解决方法:一、临时解决方法切换到Oracle用户,执行expor
linux下安装apache详解 下载httpd-2.2.6.tar.bz2把httpd-2.2.6.tar.bz2放到/soft下[root@localhost~]#cd/soft[root@localhostsoft]#tarjxvfhttpd-2.2.6.tar.bz2//解压apache的压缩包[root@localhostsoft]#cdhttpd-2.2.6//定
BSD是什么系统 BSD简介 历史上,BSD曾经被认为是UNIX的一支BSDUNIX,因为它和ATTUNIX操作系统共享基础代码和设计。在世纪年代,衍生出了许多变形的UNIX授权软件。比较著名的