介绍

Linux系统提供多重机制以重新扫描SCSI总线并重认系统中加入的SCSI设备。在2.4内核方案中,由于动态LUN扫描机制不具备一致性,往往需要中断I/O。 
2.6内核里,LUN扫描有了显著改进并添加了动态LUN扫描机制。Linux目前缺乏像drvconfig或ioscan那样允许动态SCSI通道重配的命令。

SCSI(Small Computer System Interface 小型计算机系统接口)接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,在服务器中广泛的应用

当然在虚拟化平台支持下,也能模拟出SCSI设备,方便在虚拟机上热添加SCSI设备(一般是硬盘)

但是在热添加SCSI设备之后,需要手动rescan 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编号.

该命令会将新磁盘设备添加到/proc/scsi/scsi文件中,如果没有找到相应文件,需为/dev路径下新增磁盘设备创建设备文件名。# echo "scsi add-single-device 0 1 2 3" > /proc/scsi/scsi
0:主机ID
1:channel ID
2:target ID
3:LUN编号 如果要删除一个磁盘设备,使用适当的主机,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磁盘设备.

运行如下命令,通过重新扫描 SCSI 总线并添加 SCSI 设备:# ls /sys/class/scsi_host/
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan// '- - -' 代表channel,target和LUN编号。以上命令会导致hba012下所有channel
target以及可见LUN被扫描.  /sys/class/scsi_host/ 下面有几个host 就扫描几次.=================================================================================检查 SCSI 设备的名称,然后重新扫描 SCSI 总线:# ls /sys/class/scsi_device/
# echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescanRHEL4 或SUSE9:
echo 1 >> /sys/class/scsi_host/host0/issue_lip
/sys/class/scsi_host/ 下面有几个host 就执行几次
echo '- - -' >> /sys/class/scsi_host/host0/scan

CentOS/RHEL5.9开始(SUSE11/12也有这个工具)提供一个工具包sg3_utils同样可以方便的实现rescan操作.

下载sg3_utils地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=sg3_utilssuse1:~ # rpm sg3_utils-1.35-1.x86_64.rpmsuse1:~ # /usr/bin/rescan-scsi-bus.sh

Linux 在线扫描热添加的SCSI设备相关推荐

  1. Linux在线扫描热添加的SCSI/iSCSI设备

    SCSI接口具有应用范围广.多任务.带宽大.CPU占用率低,以及热插拔等优点,在服务器中广泛的应用. 当然在虚拟化平台支持下,也能模拟出SCSI设备,方便在虚拟机上热添加SCSI设备(一般是硬盘) 但 ...

  2. linux在线扫描新加scsi硬盘以及移除硬盘

    添加scsi硬盘 ls  /sys/class/scsi_host 可以看到里面有几个host,在每个host里面都扫描一次 echo  "- - -"  >  /sys/c ...

  3. vmware linux添加新磁盘后刷新--重新扫描 SCSI 总线,在不重启虚拟机的情况下添加 SCSI 设备

    [root@centos4 scsi_host]# ls host0  host1  host2 有几个host就刷几次 [root@centos4 scsi_host]# echo "- ...

  4. linux 存储映射lun 给_如何在 Linux 上扫描/检测新的 LUN 和 SCSI 磁盘 | Linux 中国

    导读:当 Linux 系统连接到 SAN(存储区域网络)后,你需要重新扫描 iSCSI 服务以发现新的 LUN.本文字数:3394,阅读时长大约:4分钟https://linux.cn/article ...

  5. 为ESXI 添加ISCSI存储设备 Linux服务器系统

    为ESXI 添加ISCSI存储设备 Linux系统 本文使用的LINUX 6系统上一块硬盘制作的ISCSI存储设备其IP地址为:192.168.26.218: 在系统上直接输入:yum -y inst ...

  6. vsphere linux硬盘热添加

    硬盘的热添加: 首先通过vsphere web 端(推荐)给运行中的虚拟机添加一块新的硬盘,当然也可以通过 vsphere client 添加,添加硬盘这里不多做说明,我们直接进入到添加硬盘后linu ...

  7. linux下spi添加设备,Linux Kernl添加spidev的设备节点

    一.spidev介绍 如果在内核中配置spidev,会在/dev目录下产生设备节点,通过此节点可以操作挂载在该SPI总线上的设备.用户空间通过该节点可以访问内核空间. 二.配置spidev设备步骤 在 ...

  8. linux 内核 网卡驱动 移植,linux内核移植步骤添加dm9000网卡驱动(设备树).docx

    linux内核移植步骤添加dm9000网卡驱动(设备树).docx LINUX内核移植步骤2015年05月13日星期三上午1105往设备树中添加网卡驱动1.选平台,指定交叉编译工具链1.在MAKEFI ...

  9. linux可以识别多少lun,Linux上每个SCSI设备的最大LUN数目是多少(by quqi99)

    作者:张华  发表于:2016-04-28 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) SC ...

  10. Linux上每个SCSI设备的最大LUN数目是多少(by quqi99)

    作者:张华  发表于:2016-04-28 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) SC ...

最新文章

  1. Vim的简单实用(存活篇)
  2. Matlab求解混沌系统最大李雅普诺夫指数
  3. reactjs基础:jsx小练习
  4. IDEA開發 java web 初步
  5. jmeter中重定向多个正则表达式_2020年jmeter技术实战续集,最新技术全栈,值得收藏
  6. Java加密与解密的艺术~Provider
  7. opensplice dds v6.3.2_给你看个宝贝,近乎完美的DDS正弦波信号音生成器
  8. linux 访问windows 共享文件
  9. 在线手机号码VCF批量导入工具
  10. dataframe在最后新增一行_【TOOLS】python中对Excel进行写入操作,写入一列或者一行(openpyxl)...
  11. 如何设计并实施CRM与ERP的整合方案?
  12. 百数巡检领域系统能力展示
  13. 服务器设置防火墙网站打不开,部分网站打不开如何处理?
  14. AXI协议(5):AXI协议的burst机制
  15. 检验图片有没有被 P 过
  16. 【导数术】4.三次函数
  17. 绘制花朵Flower
  18. 计算机组成原理(九)
  19. 广州大学数据结构课程设计
  20. 曾仕强经典语录-《易经的奥秘》

热门文章

  1. java同步锁-详细易懂
  2. 发票勾选平台:验证口令失败--加密模块未打开(0x23) (错误代码:35)
  3. ArcMap表格操作
  4. log4cxx OutputDebugString DebugView dbgview
  5. Excel 截取字符串函数
  6. ffmpeg 处理字幕
  7. matlab的开方算法_[转载]数值计算方法中的一些常用算法的Matlab源码
  8. 持久层框架Hibernate和Mybatis对比
  9. 解析卷积神经网络学习笔记——魏秀参
  10. linux课程设计ftp概要设计,Ftp客户端概要设计