文章目录

  • 1.lsscsi 与 cat /proc/scsi/scsi
  • 2.处于运行中的服务器,因业务要求也许不允许重启机器,而新添加的SCSI设备(主要是硬盘)如何实现热插拔呢?

1.lsscsi 与 cat /proc/scsi/scsi

[root@localhost ~]# lsscsi
[0:0:0:0]    disk    SEAGATE  ST300MM0048      N001  /dev/sda
[0:0:2:0]    disk    ATA      INTEL SSDSC2BB80 0112  /dev/sdc
[0:0:3:0]    disk    ATA      HGST HUS726060AL T7JM  /dev/sdd
[0:0:4:0]    disk    ATA      HGST HUS726060AL T7JM  /dev/sde
[0:0:5:0]    disk    ATA      HGST HUS726060AL TAF0  /dev/sdf
[0:0:6:0]    disk    ATA      HGST HUS726060AL TAF0  /dev/sdg
[0:0:7:0]    disk    ATA      HGST HUS726060AL TAF0  /dev/sdh
[0:0:8:0]    disk    ATA      HGST HUS726060AL TAF0  /dev/sdi
[0:0:9:0]    disk    ATA      HGST HUS726060AL TAF0  /dev/sdj
[0:0:10:0]   disk    ATA      HGST HUS726060AL TAF0  /dev/sdk
[0:0:11:0]   disk    ATA      HGST HUS726060AL TAF0  /dev/sdl
[0:0:12:0]   disk    ATA      HGST HUS726060AL TAF0  /dev/sdm
[0:0:13:0]   enclosu CHENBRO  80H10323607      0611  -
[0:0:14:0]   disk    ATA      INTEL SSDSC2BB80 0112  /dev/sdn
[11:65535:1:0]disk    Huawei   VBS fileIO       1.0   /dev/sdb
[11:65535:2:0]disk    Huawei   VBS fileIO       1.0   /dev/sdo第一列:SCSI设备id:host, channel,id,lun。
第二列:设备类型。
第3,4,5列:设备厂商,型号,版本信息。
最后一列:设备主节点名。
lsscsi -s显示容量大小。
-c 用全称显示默认的信息。
-d 显示设备主,次设备号。
-g 显示对应的sg设备名。
-H 显示主机控制器列表,-Hl,-Hlv。-l 显示相关属性,-ll,-lll=-L。-v 显示设备属性所在目录。
-x 以16进制显示lun号。
-p 输出DIF,DIX 保护类型。
-P 输出有效的保护模式信息。
-i 显示udev相关的属性-w 显示WWN
-t显示相应传输信息(ATA,FC,SBP,ISCSI,SPI,SAS,SATA,USB),-Ht,-tl.(包括sas地址)[root@localhost ~]# cat /proc/scsi/scsi
Host: scsi0 Channel: 00 Id: 12 Lun: 00Vendor: ATA      Model: HGST HUS726060AL Rev: TAF0Type:   Direct-Access                    ANSI  SCSI revision: 06
Host: scsi0 Channel: 00 Id: 13 Lun: 00Vendor: CHENBRO  Model: 80H10323607      Rev: 0611Type:   Enclosure                        ANSI  SCSI revision: 05
Host: scsi0 Channel: 00 Id: 14 Lun: 00Vendor: ATA      Model: INTEL SSDSC2BB80 Rev: 0112Type:   Direct-Access                    ANSI  SCSI revision: 06
Host: scsi11 Channel: 65535 Id: 01 Lun: 00Vendor: Huawei   Model: VBS fileIO       Rev: 1.0Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi11 Channel: 65535 Id: 02 Lun: 00Vendor: Huawei   Model: VBS fileIO       Rev: 1.0Type:   Direct-Access                    ANSI  SCSI revision: 05
  • lsscsi显示的第一列是scsi设备在内核中展示的各级编号,根据编号可以唯一确定一个设备,
    如果使用 cat /proc/scsi/scsi 来查看会显得好理解一些:
  • 从编号可以看出,第一级是host,第二级是channel,第三级是target编号,第四级是LUN号
h == hostadapter id (first one being 0)
c == SCSI channel on hostadapter (first one being 0)
t == ID
l == LUN (first one being 0)各个数字之间的关系是什么?
一个主板可能接多个host,比如上面的服务器,在有多个sas芯片的情况下,肯定就有多个host。
一个sas芯片又可以分割为多个通道,也就是channel,也叫bus。
一个通道下多个target,一个target下多个lun。如果一个硬盘支持双通道,输入multipath -ll,会出现1个硬盘出现两个盘符的情况就是双通道

2.处于运行中的服务器,因业务要求也许不允许重启机器,而新添加的SCSI设备(主要是硬盘)如何实现热插拔呢?

(1)eg1

  • 首先需要查看一下设备:
#cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00Vendor: VMware,  Model: VMware Virtual S Rev: 1.0 Type:   Direct-Access                    ANSI  SCSI revision: 02可以看到有两种设备:CD-ROM 和 Direct-Access 。
  • 清楚SCSI设备后,将新硬盘或者磁带机做好物理连接,就可以重新扫描新的设备了(例子是添加SCSI硬盘):
添加硬盘并查看
# echo "scsi add-single-device w x y z" > /proc/scsi/scsi
为使该命令正常运行,必须指定正确的参数值 w、x、y 和 z,如下所示:
w 是主机适配器标识,第一个适配器为零(0)
x 是主机适配器上的 SCSI 通道,第一个通道为零(0)
y 是设备的 SCSI 标识
z 是 LUN 号,第一个 LUN 为零(0)
如果w x y 参数不正确,系统是不能识别添加的硬盘和磁带机的可以
通过cat /proc/scsi/scsi命令来核实是否添加成功。
此命令将返回系统中识别到的所有SCSI设备的详细信息,报错厂商、型号容量、介质访问类型等;w是硬盘所在SCSI控制器号(一般机器就一个SCSI控制器,所以就是0);
x是硬盘所在SCSI通道的编号(一般单通道的就是0,多通道的要看是哪个通道了);
y是硬盘的SCSI ID号(可以通过具体插入的硬盘插槽来判断);
z是硬盘的lun号(默认情况都是0)删除硬盘并查看
# echo "scsi remove-single-device 0 0 1 0" >/proc/scsi/scsi
  • 查看一下:
# cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00Vendor: VMware,  Model: VMware Virtual S Rev: 1.0 Type:   Direct-Access                    ANSI  SCSI revision: 02
Host: scsi2 Channel: 00 Id: 01 Lun: 00Vendor: VMware,  Model: VMware Virtual S Rev: 1.0 Type:   Direct-Access                    ANSI  SCSI revision: 02
  • 看一下添加的SCSI硬盘:
# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ef79dDevice Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2611    20458496   8e  Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 18.8 GB, 18832424960 bytes
heads, 63 sectors/track, 2289 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 2113 MB, 2113929216 bytes
heads, 63 sectors/track, 257 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb: 10.7 GB, 10737418240 bytes              <---这个就是新添加的硬盘
heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
  • 后面就是sdb的分区了。

(2)eg2

在vmware station虚拟机中,不关机新添加了2块scsi硬盘做而来实验:# echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi
# echo "scsi add-single-device 0 0 2 0" > /proc/scsi/scsi
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware, Model: VMware Virtual S Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: VMware, Model: VMware Virtual S Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: VMware, Model: VMware Virtual S Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02上面的代码表示已经找到了新加的2块硬盘

(3)eg3

  • 增加硬盘
[root@localhost ~]# lsscsi
[1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0
[2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda[root@localhost ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00Vendor: VMware,  Model: VMware Virtual S Rev: 1.0 Type:   Direct-Access                    ANSI  SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00Type:   CD-ROM                           ANSI  SCSI revision: 05[root@localhost ~]# ls /sys/class/scsi_host/
host0  host1  host2[root@localhost ~]#  echo "scsi add-single-device 2 0 1 0" >/proc/scsi/scsi 也可以发现设备[root@localhost ~]# lsscsi
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[2:0:1:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sdb [root@localhost ~]# lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb    8:16   0   4G  0 disk [root@localhost ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00Vendor: VMware,  Model: VMware Virtual S Rev: 1.0 Type:   Direct-Access                    ANSI  SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi2 Channel: 00 Id: 01 Lun: 00Vendor: VMware,  Model: VMware Virtual S Rev: 1.0 Type:   Direct-Access                    ANSI  SCSI revision: 02
  • 删除硬盘
[root@localhost ~]# echo "scsi remove-single-device 2 0 1 0 " > /proc/scsi/scsi[root@localhost ~]# lsscsi
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda [root@localhost ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00Vendor: VMware,  Model: VMware Virtual S Rev: 1.0 Type:   Direct-Access                    ANSI  SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00Type:   CD-ROM                           ANSI  SCSI revision: 05[root@localhost host2]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3

参考:

https://www.dwhd.org/20150523_191339.html;
https://blog.51cto.com/1012682/2360215?source=dra;
https://www.cnblogs.com/banwhui/p/5075775.html;
https://my.oschina.net/u/2503743/blog/524393;
https://blog.csdn.net/weixin_30883311/article/details/95711891;
https://blog.csdn.net/jiaping0424/article/details/51777043;
https://www.cnblogs.com/ysztcn/p/4323594.html;
https://www.cnblogs.com/longchang/p/11045533.html

SCSI 设备热插拔相关推荐

  1. SCSI设备:SCSI接口图片说明

    Internal Industry Standard 68-pin (female) 工业标准内部68针SCSI接口(母口) 一般用于内部SCSI设备  Internal Industry Stand ...

  2. mfc 实现 设备 热插拔功能

    开发windows MFC 应用程序时,经常会操作一些硬件设备,那么如何实现设备的热插拔功能呢,下面给出具体操作步骤: 1,给要实现设备热插拔的窗体/界面 添加  ON_WM_DEVICECHANGE ...

  3. StratoVirt 中的 PCI 设备热插拔实现

    热插拔即带电插拔,在虚拟化场景下,热插拔就是在虚拟机运行过程中对磁盘网卡等设备进行动态调整. 常见的热插拔机制有 ACPI 机制的热插拔,PCIe-Native 机制的热插拔.ACPI 机制的热插拔依 ...

  4. 什么是SCSI设备?

    今天同事问了我这样一个问题--网上搜索整理了一下答案,记录下来 :)       首先要说的就是计算机所使用的总线,也就是计算机各个设备之间通信用的数据线的类型了,关于这个我找到了下面的一篇文章:   ...

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

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

  6. scsi设备驱动体系架构

    1.6.2 scsi设备驱动体系架构 从这一层开始,整个文件读写的中心将由request转向scsi的命令结构scsi_cmnd.那么这个命令结构到底是怎么一回事呢,这还得从SCSI架构谈起.SCSI ...

  7. ceph存储 scsi设备驱动体系架构

    scsi设备驱动体系架构 从这一层开始,整个文件读写的中心将由request转向scsi的命令结构scsi_cmnd.那么这个命令结构到底是怎么一回事呢,这还得从SCSI架构谈起.SCSI 实现了一种 ...

  8. libvirt-qemu-虚拟机设备热插拔实践

    (文章来自作者维护的社区微信公众号[虚拟化云计算]) (目前有两个微信群<kvm虚拟化>和<openstack>,扫描二维码点击"云-交流",进群交流提问) ...

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

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

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

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

最新文章

  1. oracle dbms refresh,oracle 10g中dbms_mview.refresh()函数
  2. 企业证书系列之数据加密
  3. 【❤️算法系列之二叉树的实现(包含前序、中序、后序遍历以及节点的查找和删除)❤️】
  4. nginx + Lua 实现自定义WAF
  5. Thrall’s Dream HRBUST - 2048【BFS or 强连通分量】
  6. 是银弹吗?业务基线方法论
  7. [Redux/Mobx] 在Redux中怎么发起网络请求?
  8. Python urllib爬取百度首页
  9. oracle系统AP对应的凭证编号,AP主要账户及会计分录
  10. python 显示表格数据匹配_比较两个电子表格文件并提取机器匹配数据的最简单和最快的方法是什么?...
  11. CNN训练Cifar-10技巧
  12. halcon 深度学习英伟达显卡部署
  13. 6大黑科技app合集,绝对让你大开眼界
  14. SAP中物料质检视图中检验设置和QM采购的应用区别
  15. python 余弦值,Python求向量的余弦值操作代码示例
  16. Django笔记09:一招解决使用regroup模板标签出现的重复分组问题
  17. 京东vs淘宝的商业模式,你了解吗?
  18. pg数据库开启远程连接_PostgreSQL 允许远程访问设置的操作
  19. JavaScript的弹出框
  20. iScroll.js快速使用

热门文章

  1. SysCeo_Win7_Classic_V7.8_32位+64位(6in1)纯净经典版
  2. 数据库MDF数据文件数据库恢复
  3. 软件测试中的测试文档
  4. python给函数设置超时时间已到_在 Linux/Mac 下为Python函数添加超时时间
  5. Android apk 加密方式
  6. python实现BP神经网络
  7. 最佳的开源 Kubernetes 工具
  8. @Zabbix配置snmptrap及使用snmptt解析格式化输出
  9. 003:枚举算法(习题)
  10. bpsk调制matlab,matlab BPSK 调制与解调